XML Information Set
Julia
- xml
Hallo Forum,
ich habe ein kurzes XML-Dokument gegeben und muss alle Information Items (Infoitem) des Dokuments angeben.
<? 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 >
Wir haben:
Ist es korrekt? Ich bin mit v.a. bei Punkten 4 und 5 nicht ganz sicher.
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?
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?
Schönen Dank im Voraus!
Julia
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:
<?
und xml
UTF -8
http:
und //
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
Hallo Robert,
XML-Namensräume werden durch URLs repräsentiert. Folgendes ginge AFAIK nicht:
<e1> <n1:e2 a="hello" n1:b="world">Uni</n1:e2> </e1>
Namensräume müssen eindeutig sein, also Strings sind ok.
<e1 xmlns:n1="blablub">
<n1:e2 a="hello" n1:b="world">Uni</n1:e2>
</e1>
Sieht man z. B. bei solchen Angaben: urn:schemas-microsoft-com:office:spreadsheet (Workbook-Default-NS einer Excel-Kalkulationstabelle im XML-Format).
Als Konvention werden allerdings häufig URIs verwendet, vor allem bei W3C-Standards.
Grüße,
Thomas
Hallo Julia,
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.
Ja, nur bei 4. sind es drei, da der Default-NS http://www.w3.org/XML/1998/namespace dazu gehört. Die bereits bemängelten Leerzeichen sind natürlich nicht korrekt.
Grüße,
Thomas
Hallo Thomas,
[…] der Default-NS http://www.w3.org/XML/1998/namespace […]
gut zu wissen, Danke!
Viele Grüße
Robert
Hallo Thomas,
vielen Dank für Deine Antwort!
Die Leerzeichen sind bestimmt durch das Kopieren aus PDF entstanden, sorry.
Ok, also muss der Default-Namespace doch rein, obwohl wir den überschrieben haben. Oder haben wir es gar nicht?
Noch mal danke und viele Grüße
Julia
Hallo Julia,
Ok, also muss der Default-Namespace doch rein, obwohl wir den überschrieben haben. Oder haben wir es gar nicht?
Gemeint ist der Default-Namespace für xml:* (also xml:lang, xml:space, xml:base, xml:id).
Grüße,
Thomas