Hab ich das richtig verstanden, dass du quasi nur Attribute abfragen kannst, wenn du dir sicher bist, dass das zu untersuchende Objekt das Attribut auch hat?
Es trifft nicht auf alle Attribute zu, aber auf die meisten schon
Wenn ich beispielsweise OBJ1 einlese:
Code:
OBJ1 = {A = 1, B = /, C = 1, D = 3, E = /}
Dann folge ich zuerst dem 1. Element in FilterA und stoße auf einen Filter vom Typ C. Jetzt weiß der Parser hierdurch implizit, dass das Objekt ein Attribut C haben MUSS und liest es aus dem Bytestream.
Also
muss im folgenden Beispiel die Reihenfolge A, C, B sein?
Code:
OBJ1 = {A = 1, B = /, C = 1, D = 3, E = /}
OBJ2 = {A = 1, B = 1, C = 2, D = /, E = /}
OBJ3 = {A = 1, B = 2, C = 3, D = /, E = /}
Nicht zwingend. A sollte immer das erste Element sein. C und D werden "in einem Rutsch" vom Parser ausgelesen. Deren Reihenfolge kann ich also permutieren. Und B kann ich sogar unabhängig direkt zu Beginn auslesen (sogar noch vor A, da ich erkennen kann, ob der Wert zu B gehören kann oder doch ein A-Attribut sein muss).