Robert B.: XML Information Set

Beitrag lesen

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 <? und xml
  • Eine Kodierung namens UTF -8
  • Ein ungültiges Leerzeichen in der Namensraum-URL zwischen http: und //
  • Leerzeichen in schließenden Tags

Wir haben:

  1. 1 Dokument Infoitem
  2. 1 Element Infoitem mit default-Namespace ("http: //X.de")
  3. 1 Element Infoitem mit n1-Namespace ("http: //Y.de")
  4. 2 Namespace Infoterms
  5. 2 Attribute Infoitems für Namespace-Angaben
  6. 1 Attribut Infoitem ohne Namespace (a)
  7. 1 Attribut Infoitem mit n1-Namespace
  8. 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