On Wednesday 01 October 2003 08:41, Markus Schaaf wrote:
> "Kristian Koehntopp" <[EMAIL PROTECTED]> schrieb:
> > Das Problem sind nie die korrekten Daten, sondern die defekten.
>
> Das Problem ist eine falsche Interpretation von Daten. Wenn Du hier
> Redundanz zum Problem erkl�rst, ist das unsinnig. Die Frage ist nur,
> wie ich mit durch Redundanz erkannten Fehlern umgehe.

Nein, das Problem ist die Redundanz in den Daten. Diese erzeugt eine 
�berspezifikation, und dies ist ein Konflikt. Dieser Konflikt mu� explizit 
gemacht werden, und er mu� von jeder Implementation aufgel�st werden. Damit 
die Implementationen interoperabel sind, mu� er von jeder Implementation 
gleich aufgel�st werden.

Das ist definitv ein Fehler im Datenformat, denn so ermutigt es fehlerhafte 
Implementationen:

a) Es stellt Daten (L�ngenbytes) bereit, die verlockend benutzbar f�r die 
Implementierung aussehen, aber tainted und nicht vertrauensw�rdig sind
b) Es stellt mehr Daten bereit als f�r die Interpretation der Nutzdaten 
notwendig sind, und diese Metadaten k�nnen inkonsistent sein. Die dadurch 
entstehenden Konflikte machen die Implementation unn�tig komplex, und 
zwangsl�ufig fehleranf�lliger.


> > Das geht nur, weil ASN.1 an alles und jedes L�ngen dranschreibt,
> > anstatt L�ngen wie nicht-bin�res XML implizit klar zu machen.
>
> ASN.1 schreibt nirgendwo L�ngen dran (_abstract_ syntax notation).
> Es gibt jedoch zwei etwas geschw�tzige Transportcodierungen.

Ich wei�. Ich habe hier verk�rzt formuliert.

> > Stimmt die L�ngenangabe im Array nicht, k�nnte ein Reader, der
> > den Array-Typ nicht erkennt ("unwissender Reader", der ohne DTD
> > auf wohlgeformten ASN.1 arbeitet), auf der L�ngenangabe oder dem
> > Inhalt des letzten Integer wiederaufsetzen, w�hrend ein Reader,
> > der den Array-Typ kennt, die Integer einzeln parsed.
>
> Aber auch nur, bis er die zu kurze L�nge bemerkt und abbricht.

Das mu� er nicht. Es zumindest theoretisch ist m�glich, zwei valide 
(Codierungen von) ASN.1-Daten so ineinander zu nesten, da� ein wissender 
(einer der in Container hineinsehen kann) und ein unwissender (einer, der 
sich auf die L�ngenangaben des Containers als Skip-Information verl��t) 
Reader die Daten als valid interpretieren und beide unterschiedliche Daten 
"sehen".

Das geht in XML nicht.

Kristian

Antwort per Email an