Schema in DTD konvertieren
Der Befehl Schema in DTD konvertieren ist aktiv, wenn ein XML-Schema das aktive Dokument ist. Mit dem Befehl wird ein XML-Schema-Dokument (XSD) in eine DTD konvertiert.
Bei Aufruf des Befehls wird ein Speichern-Dialogfeld angezeigt, in dem Sie einen Ordner auswählen können, in dem die generierte DTD-Datei gespeichert wird. Klicken Sie auf Speichern, um die Konvertierung durchzuführen. Daraufhin wird die nivellierte DTD-Datei generiert und in XMLSpy geöffnet.
Beachten Sie die folgenden Punkte:
1. | Bei der Konvertierung eines XML-Schemas in eine DTD werden die im XML-Schema verwendeten Namespace-Präfixe - nicht die Namespace URIs oder die Namespace-Deklarationen - in die Namen der entsprechenden Elemente und Attribute in der DTD übernommen. |
2. | Da XML-Parser Namespaces beim Validieren eines Dokuments gegen eine DTD ignorieren, werden die Namespace-Deklarationen selbst nicht konvertiert. |
3. | Die Attribute elementFormDefault und attributeFormDefault des Elements xs:schema bestimmen, von welchen Elementen und Attributen die Präfixe im Konvertierungsvorgang übernommen werden. Ist der Wert auf unqualified gesetzt, werden nur die Präfixe von global deklarierten Elementen bzw. Attributen im Konvertierungsprozess übernommen. Ist der Wert auf qualified gesetzt, werden die Präfixe aller Element- und Attributnamen in den Konvertierungsprozess eingeschlossen. |
4. | Präfixe werden in den entsprechenden Stringwert plus Doppelpunkt konvertiert. Elemente und Attribute in Default Namespaces werden in Elemente und Attribute konvertiert, deren Namen mit: default_NS_X beginnt, wobei X eine Ganzzahl ist (beginnend mit 1 bis zu einem Maximalwert, der der Anzahl der im XML-Schema verwendeten Default Namespaces entspricht). |
5. | In der DTD sind Elementnamen aus Parameter-Entities zusammengesetzt. Auf diese Art können Sie das Präfix in der DTD jederzeit ändern, falls das Präfix im XML-Dokument einmal geändert werden muss. Parameter-Entity-Definitionen können entweder in der DTD selbst oder durch Außerkraftsetzung der Parameter-Entity-Definitionen im internen DTD Subset des XML-Dokuments geändert werden. |
Anmerkung: Namespaces haben keinen semantischen Wert in einer DTD. Namespace-Präfixe, die aus dem XML-Schema übernommen werden, werden einfach nur Teil des Namens des in der DTD definierten Elements oder Attributs.