Wir können sehen, dass die Syntax von DTD recht komplex ist und nicht den Standards von XML-Dateien entspricht und ein eigenes System bildet. Mit anderen Worten, das DTD-Dokument selbst ist kein wohlgeformtes XML-Dokument. Die obige Einführung in DTD ist nur eine Einführung. Der Zweck besteht darin, jedem zu helfen, DTD-Dateien zu verstehen und bei Bedarf einfache DTD-Dateien zu erstellen auf DTD aufgebaut.
Eine weitere Alternative zu DTD ist das vom W3C definierte Schema, das buchstäblich in Muster, Umrisse, Pläne, Pläne usw. übersetzt werden kann. Seine grundlegende Bedeutung besteht darin, ein Schema für XML-Dokumente zu entwickeln.
Der offensichtliche Vorteil von Schema gegenüber DTD besteht darin, dass das XML-Schemadokument selbst auch ein XML-Dokument ist und keine eigenständige Syntax wie DTD verwendet. Dies ist für Benutzer und Entwickler praktisch, da dieselben Tools zum Verarbeiten von XML-Schemas und anderen XML-Informationen verwendet werden können, ohne dass spezielle Tools speziell für Schemas verwendet werden müssen. Schema ist einfach und leicht zu verstehen, und jeder, der XML-Syntax und -Regeln versteht, kann es sofort verstehen. Das Schema-Konzept wurde schon lange vorgeschlagen, der W3C-Standard wurde jedoch erst kürzlich veröffentlicht und die entsprechende Anwendungsunterstützung ist noch nicht vollständig. Die Einführung von Schema ist jedoch zu einem Trend in der XML-Entwicklung geworden.
Beginnen wir zunächst mit dem einfachsten Beispiel, um die grammatikalische Struktur von Schema zu lernen:
Ein einfaches XML-Dokument sieht beispielsweise wie folgt aus:
<书本> <名称>天涯明月刀 <作者>古龙
Wenn die XML-Dokumentstruktur in Form einer DTD definiert ist, kann sie wie folgt aussehen:
<!ELEMENT 书本 (名称, 作者)> <!ELEMENT 名称 (#PCDATA)> <!ELEMENT 作者 (#PCDATA)> 那么用Schema形式如何定义呢?见下面的代码: <element name='书本' type='书本类型'/> <complexType name='书本类型'> <element name='名称' type='string'/> <element name='作者' type='string'/> </complexType>
Zu beachten ist, dass sie in Schema auch durch die Definition erfolgt von Elementen und die Definition von Elementbeziehungen, um die Definition der Art und des Inhalts des gesamten Dokuments zu erreichen. Gleichzeitig ist zu beachten, dass in Schema ein Element durch seinen Namen und sein Inhaltsmodell bestimmt wird. Der Name ist der Name des Elements, den jeder verstehen kann, und das Inhaltsmodell repräsentiert tatsächlich den Typ des Elements. Genau wie in C++ können wir eine Variable nach Belieben definieren, aber der Typ der Variablen muss in vielen Formen definiert werden. Es kann sich um eine einfache Variable handeln (z. B. den in C++ angegebenen Typ). , int, double , char usw.) oder es kann ein sehr komplexer Typ sein (z. B. eine Struktur oder eine Klasse). Dasselbe gilt für Schema One einfacher Typ, der als „einfach“ bezeichnet wird. Für „einfach“ gibt es einen komplexen Typ, der als „komplex“ bezeichnet wird. Einfache Typen können keine Elemente und Attribute enthalten (beachten Sie, dass es in Schema und DTD identische Elemente und Attribute gibt). Komplexe Typen können nicht nur Attribute enthalten, sondern auch andere darin verschachtelte Elemente enthalten oder mit Attributen in anderen Elementen verknüpft sein.
Das Obige ist eine detaillierte Erklärung eines einfachen XML-Schema-Beispielcodes. Weitere verwandte Inhalte finden Sie auf der chinesischen PHP-Website (www.php.cn).