• Jetzt anmelden. Es dauert nur 2 Minuten und ist kostenlos!

XML wohlgeformt?

physiker

Neues Mitglied
Hallo,

ich habe normalerweise mit Informatik nichts am Hut und muss demnächst trotz allem eine Prüfung in diesem Bereich ablegen. Meine Frage ist deshalb vielleicht ein wenig seltsam für euer Forum. Ich hoffe aber, dass ihr mir trotzdem helft :) Nun bin ich auf folgende Aufgabe gestoßen: "Ist das folgende XML-Dokument wohlgeformt? Falls das Dokument nicht wohlgeformt ist, listen Sie die Fehler auf."

HTML:
<?xml version="1.0" encoding="utf-8"?>
<harbour>
<ship type="cargo">
    <ship_name>Hollister</ship_name>
    <passenger_count />
    <passenger_list />
    <length value="232" />
</ship arrival="31032010">
<ship type="cruise" arrival="22042010">
    <ship_name>Bremen</ship_name>
    <passenger_count>4321</passenger_count>
    <passenger_list>
        <name id=1>Kapitän Blaubär</name>
        <name id=2>Christoph Kolumbus</name>
    <passenger_list>
    <length value="430">
</harbour>

Was ich gefunden habe:
- beim ersten <ship>-Tag steht ein Attribut im schließenden Tag (ist das erlaubt?)
- das zweite <ship>-Tag wird nicht geschlossen
- beim letzten <passenger_list>-Tag fehlt der Slash
- die Werte bei den id-Attributen müssen in Anführungszeichen stehen
- beim letzten <length>-Tag fehlt wieder ein Slash

Ich bin mir nun nicht sicher, ob das <name>-Tag da zwei Mal stehen darf und ob ich noch irgendwas übersehen habe. Eine DTD oder XSD gibt es nicht. Weiterhin bin ich mir nicht sicher, in wie weit Sonderzeichen, Umlaute und Co. erlaubt sind (wegen den "ä"s).


Vielen Dank im Voraus.
 
Willkommen im Forum.

Was du gefunden hast, ist alles korrekt. Zu den name-Tags lässt sich ohne Kenntnis der Dokumentstruktur lediglich sagen, dass es generell nicht verboten ist, mehrere gleiche Elemente als Kindelemente desselben Elternelements zu definieren. Beim Element ship in harbour ist es genau dasselbe. Umlaute sind kein Problem, da als Kodierung UTF-8 angegeben wurde. Die einzigen Zeichen, die gegebenenfalls maskiert werden müssten, sind <, >, ", ' und &.
 
Zurück
Oben