Hallo Julia,
ich habe ein kurzes XML-Dokument gegeben und muss alle Information Items (Infoitem) des Dokuments angeben.
Kurze Frage vorweg: Was sind Information Items?
<? xml version ="1.0" encoding ="UTF -8"?> <e1 xmlns ="http: //X.de" xmlns:n1 ="http: //Y.de"> <n1:e2 a=" hello " n1:b =" world ">Uni</ n1:e2 > </e1 >
Zweite Frage vorweg: Wo kommen die ganzen Leerzeichen an ungewohnten Stellen her? Ich sehe in dem Beispiel, so wie es da steht, mehrere Probleme:
- Leerzeichen zwischen
<?
undxml
- Eine Kodierung namens
UTF -8
- Ein ungültiges Leerzeichen in der Namensraum-URL zwischen
http:
und//
- Leerzeichen in schließenden Tags
Wir haben:
- 1 Dokument Infoitem
- 1 Element Infoitem mit default-Namespace ("http: //X.de")
- 1 Element Infoitem mit n1-Namespace ("http: //Y.de")
- 2 Namespace Infoterms
- 2 Attribute Infoitems für Namespace-Angaben
- 1 Attribut Infoitem ohne Namespace (a)
- 1 Attribut Infoitem mit n1-Namespace
- 3 Character Infoitems für Uni
Ist es korrekt? Ich bin mit v.a. bei Punkten 4 und 5 nicht ganz sicher.
Keine Ahnung, siehe oben: Was sind Infoitems? Die Definition des Begriffs kann bei Beantwortung deiner Frage helfen.
Bei 4: wir haben explizit 2 Namespace angegeben und das default-Namespace ist hier (wenn ich es richtig verstehe) überschrieben, deswegen nicht mehr Teil von Infoset. Ist es richtig?
Nö, der Default-Namensraum ist angegeben. Wenn du das nicht machst, sind die Elemente im anonymen Namensraum.
Bei 5: Wenn ich es richtig verstanden habe, müssen wir die Namespace nicht nur als Namespace Infoitem, sondern auch noch mal als Attribut angeben. Ist es korrekt?
XML-Namensräume werden durch URLs repräsentiert. Folgendes ginge AFAIK nicht:
<e1>
<n1:e2 a="hello" n1:b="world">Uni</n1:e2>
</e1>
Viele Grüße
Robert