Typische Fehler in XML

  • Hallo an euch Alle,


    in IKT wurden mal typische Fehler in XML besprochen. Lieder bin ich mir nicht mehr sicher was die Fehler waren und wäre froh wenn mir jemand weiterhelfen könnte.
    Hier die vier Beispiele:


    1. (ich meine hier gibt es zwei roots)
    <?xml version="1.0" encoding="UTF-8" standalone="yes"?>
    <Bibliothek name="ULB">
    <Ort> Darmstadt </Ort>
    </Bibliothek>
    <Bibliothek name="Deutsche Nationalbibliothek">
    <Ort> Frankfurt am Main </Ort>
    </Bibliothek>


    2. (hier glaube ich müsste es am ende jeweils </Straße> statt <Straße> heißen)
    <?xml version="1.0" encoding="UTF-8" standalone="yes"?>
    <Bibliotheken>
    <Bibliothek name="ULB">
    <Adresse>
    <Straße> Magdalenenstr. 8 <Straße>
    </Adresse>
    </Bibliothek>
    <Bibliothek name="Deutsche Nationalbibliothek">
    <Adresse>
    <Straße> Adickesallee 1 <Straße>
    </Adresse>
    </Bibliothek>
    </Bibliotheken>


    3. (hier fehlt meines wissens nach der Header (Prolog))
    <Bibliotheken>
    <Bibliothek name="ULB">
    <Adresse>
    <Straße> Magdalenenstr. 8 </Straße>
    </Adresse>
    </Bibliothek>
    <Bibliothek name="Deutsche Nationalbibliothek">
    <Adresse>
    <Straße> Adickesallee 1 </Straße>
    </Adresse>
    </Bibliothek>
    </Bibliotheken>


    4. (hier habe ich keine Ahnung)
    <?xml version="1.0" encoding="UTF-8" standalone="yes"?>
    <Bibliotheken>
    <Bibliothek name="Deutsche Nationalbibliothek">
    <Anzahl der Medien> 26908904 </Anzahl der Medien>
    </Bibliothek>
    </Bibliotheken>


    Schon mal Danke im voraus für die Hilfe.

  • Deine Vermutungen sind alle korrekt, was die ersten drei Fehler angeht. Beim vierten liegt der Fehler in Zeile 4 ("Anzahl der Medien") - ein Tag darf keine Leerzeichen enthalten, da Leerzeichen als Trennzeichen für Argumente verstanden werden. Siehe hierzu auch das erste Beispiel, wo der Bibliothek nach einem Leerzeichen ein zusätzliches Attribut, ein Name, gegeben wurde.


    Falls du dir in Zukunft nicht sicher bist, der XML-Validator von W3Schools ist ganz gut:
    http://www.w3schools.com/xml/xml_validator.asp
    Hier kannst du den XML-Code einfach einfügen und testen lassen, er spuckt dir dann aus wo der Fehler liegt.

    Hinweis: Die verwendeten Bezeichnungen Student, Vertreter, Absolvent, Professor o.ä. sind geschlechtsneutral zu verstehen und für Männer wie Frauen gleichermaßen gültig.
    Forenregeln

  • Vielen Dank für die schnelle Antwort :D


    Wäre es dann möglich im 4. Fall den Code wie folg umzuformen:


    <?xml version="1.0" encoding="UTF-8" standalone="yes"?>
    < Bibliotheken>
    < Bibliothek name="Deutsche Nationalbibliothek">
    < Bibliothek AnzahlderMedien="26908904"> Deutsche Nationalbibliothek </Bibliothek>
    </Bibliothek>
    </Bibliotheken>


    Bzw. wo läge der Unterschied zu dieser Version:


    <?xml version="1.0" encoding="UTF-8" standalone="yes"?>
    < Bibliotheken>
    < Bibliothek name="Deutsche Nationalbibliothek">
    < AnzahlderMedien> 26908904 </AnzahlderMedien>
    </Bibliothek>
    </Bibliotheken>

  • Deine erste Umformung ist zwar von der Syntax her korrekt, macht aber inhaltlich keinen Sinn.
    Ein XML-Element besteht immer aus folgenden Elementen:
    <NAME ATTRIBUT="ATTRIBUTWERT"> WERT </NAME>
    In deinem ersten Vorschlag würdest du also in der Bibliothek "Deutsche Nationalbibliothek" nichts weiter tun als eine zusätzliche Bibliothek mit dem Attribut "AnzahlderMedien" einzufügen, welches den Wert "Deutsche Nationalbibliothek" hat (was inhaltlich natürlich keinen Sinn ergibt). Optisch kann man es sich vielleicht besser so vorstellen:

    XML
    <?xml version="1.0" encoding="UTF-8" standalone="yes"?>
    <Bibliotheken>
       <Bibliothek name="Deutsche Nationalbibliothek">
            <Bibliothek AnzahlderMedien="26908904"> Deutsche Nationalbibliothek </Bibliothek>
       </Bibliothek>
    </Bibliotheken>


    Wie du siehst werden die Elemente ineinander verschachtelt, heißt jedes Element, was zwischen dem Opening- und Closing-Tag eines anderen Elementes steht, ist nichts weiter als ein Unterelement.

    Hinweis: Die verwendeten Bezeichnungen Student, Vertreter, Absolvent, Professor o.ä. sind geschlechtsneutral zu verstehen und für Männer wie Frauen gleichermaßen gültig.
    Forenregeln