XSD- Wie geht das?
XML-Dokumente können auf eine DTD oder auf ein XML-Schema verweisen.
Ein einfaches XML-Dokument
Sehen Sie sich dieses einfache XML-Dokument mit dem Namen "note.xml" an:
<?xml version="1.0"?>
<note>
<to>Tove</to>
<from>Jani</from>
<heading>Reminder</heading>
<body>Don't forget me this weekend!</body>
</note>
Eine DTD-Datei
Das folgende Beispiel ist eine DTD-Datei namens „note.dtd“, die die Elemente des obigen XML-Dokuments („note.xml“) definiert:
<!ELEMENT note (to, from, heading, body)>
<!ELEMENT to (#PCDATA)>
<!ELEMENT from (#PCDATA)>
<!ELEMENT heading (#PCDATA)>
<!ELEMENT body (#PCDATA)>
Die erste Zeile definiert das Notizelement so, dass es vier untergeordnete Elemente hat: "to, from, header, body".
Zeile 2-5 definiert die to-, from-, header- und body-Elemente als vom Typ "#PCDATA".
An XML Schema
Das folgende Beispiel ist eine XML-Schemadatei namens „note.xsd“, die die Elemente des obigen XML-Dokuments („note.xml“) definiert:
<?xml version="1.0"?>
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema"
targetNamespace="https://www.w3schools.com"
xmlns="https://www.w3schools.com"
elementFormDefault="qualified">
<xs:element name="note">
<xs:complexType>
<xs:sequence>
<xs:element name="to" type="xs:string"/>
<xs:element name="from" type="xs:string"/>
<xs:element name="heading" type="xs:string"/>
<xs:element name="body" type="xs:string"/>
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:schema>
Das note-Element ist ein komplexer Typ , da es andere Elemente enthält. Die anderen Elemente (to, from, header, body) sind einfache Typen, da sie keine anderen Elemente enthalten. In den folgenden Kapiteln erfahren Sie mehr über einfache und komplexe Typen.
Ein Verweis auf eine DTD
Dieses XML-Dokument hat einen Verweis auf eine DTD:
<?xml version="1.0"?>
<!DOCTYPE note SYSTEM
"https://www.w3schools.com/xml/note.dtd">
<note>
<to>Tove</to>
<from>Jani</from>
<heading>Reminder</heading>
<body>Don't forget me this weekend!</body>
</note>
Ein Verweis auf ein XML-Schema
Dieses XML-Dokument hat einen Verweis auf ein XML-Schema:
<?xml version="1.0"?>
<note
xmlns="https://www.w3schools.com"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="https://www.w3schools.com/xml note.xsd">
<to>Tove</to>
<from>Jani</from>
<heading>Reminder</heading>
<body>Don't forget me this weekend!</body>
</note>