Heim  >  Artikel  >  Backend-Entwicklung  >  Detaillierte Einführung in den XML-DTD- und XML-Schema-Beispielcode (Bild und Text)

Detaillierte Einführung in den XML-DTD- und XML-Schema-Beispielcode (Bild und Text)

黄舟
黄舟Original
2017-03-22 16:55:421301Durchsuche

 XML(eXtensible Markup Language) erweiterbare Auszeichnungssprache. XML ist besonders wichtig bei der Webservice-Programmierung. Es kann als Träger zur Übertragung von Daten bei der Netzwerkübertragung verwendet werden. Als Metasprache kann XML zum Markieren von Daten und zum Definieren von Datentypen verwendet werden. Es handelt sich um eine Metasprache, die es Benutzern ermöglicht, ihre eigene Auszeichnungssprache zu definieren. Es ist ideal für den Netzwerktransport geeignet und bietet einen einheitlichen Ansatz zur Beschreibung und zum Austausch strukturierter Daten unabhängig von Anwendungen oder Anbietern. Es kann eine Interaktion zwischen heterogenen Sprachen und heterogenen Plattformen realisiert werden. Zu den XML-Dokumentdefinitionsmethoden gehören: Dokumenttypdefinition (DTD) und XML-Schema. DTD (Document Type Definition) definiert die Gesamtstruktur des Dokuments und die Syntax des Dokuments (zum Verständnis finden Sie unten entsprechende Beispiele). Es ist weit verbreitet und verfügt über umfassende Tool-Unterstützung. XML-Schema ist leistungsfähiger und wird verwendet, um leistungsfähigere und umfangreichere Funktionen wie Verwaltungsinformationen zu definieren. XML kann Inhalte feinkörniger deklarieren, Einschränkungen definieren und eine sinnvollere Übertragung von Inhalten über mehrere Plattformen hinweg ermöglichen. Es bietet ein Format zur Beschreibung strukturierter Daten, vereinfacht den Datenaustausch und die Darstellung im Netzwerk, trennt Code, Daten und Darstellung und dient als Standardformat für den Datenaustausch, weshalb es oft als intelligentes Datendokument bezeichnet wird. DTD kann mit einer Schaufel verglichen werden, während XML Schema als Bagger bezeichnet werden kann, der leistungsfähiger ist. Obwohl XML als Auszeichnungssprache bezeichnet wird, unterscheidet es sich von HTML (Hypertext Markup Language) dadurch, dass sein Format strenger ist, Tags geschlossen werden müssen und Anzeige und Inhalt getrennt sind. XML beschreibt den Inhalt und die Semantik des Dokuments und nicht wie das Dokument angezeigt werden soll. HTML hat feste Tags und Anzeige und Inhalt sind zusammen, und Sie können keine eigenen Tags erstellen, während XML erweiterbar ist und Inhalt und Anzeige getrennt sind. Jedes Element erscheint paarweise und der Anfang und das Ende von XML-Elementen sind eingebettet. Die Verschachtelungsbeziehung muss korrekt gehalten werden (die Tags, die später in der Verschachtelung beginnen, müssen zuerst enden, und die Tags, die zuerst beginnen, müssen zuletzt enden. In jedem XML-Dokument gibt es nur ein Stammelement (Root Element), und zwar das Stammelement enthält alle anderen Elemente. Ein XML-Dokument, das der XML-Syntax entspricht, wird als wohlgeformt bezeichnet, wenn es nicht durch DTD oder XML-Schema überprüft wird. Wenn ein wohlgeformtes XML-Dokument durch DTD oder XML-Schema überprüft wird, wird diese Art von XML-Dokument als gültig bezeichnet (Gültig) von.

Im Folgenden wird die XML-Datei eines Studentenverzeichnisses als Beispiel verwendet.

<?xml version="1.0" encoding="utf-8"?>
<学生名册>
    <学生 学号="A1">
        <姓名>CIACs</姓名>
        <性别>男</性别>
        <年龄>22</年龄>
    </学生>

    <学生 学号="A2">
        <姓名>zhihao</姓名>
        <性别>男</性别>
        <年龄>23</年龄>
    </学生>
</学生名册>

Ein gut formatiertes XML-Dokument. Das Ausgabefenster von XMLSpy gibt die folgenden Ergebnisse aus.

Die erste XML-Zeile muss dc55d8f1b8d0d15e8e0c4fca7640a4b5 Verarbeitungsanweisungen enthalten, und zwischen „<“ darf kein Leerzeichen stehen ;?xml", xml Das Element unterscheidet strikt zwischen Groß- und Kleinschreibung , das Dokumentkodierungsformat ist standardmäßig „UTF-8“ und die Version ist nur 1.0. Das obige XML-Dokument kann nur als wohlgeformtes XML-Dokument und nicht als gültiges (Vaild) XML-Dokument bezeichnet werden. Im Folgenden verwenden wir zwei Methoden, um dies zu überprüfen.

Überprüfen Sie es zunächst über DTD

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE 学生名册 [
<!ELEMENT 学生名册 (学生+)>
<!ELEMENT 学生 (名字,性别,年龄)>
<!ELEMENT 名字 (#PCDATA)>
<!ELEMENT 性别 (#PCDATA)>
<!ELEMENT 年龄 (#PCDATA)>
<!ATTLIST 学生 学号 ID #REQUIRED>
<!ENTITY  sex "男">
]>

<学生名册>
    <学生 学号="A1">
        <名字>CIACs</名字>
        <性别>&sex;</性别>
        <年龄>22</年龄>
    </学生>
    
    <学生 学号="A2">
        <名字>zhihao</名字>
        <性别>&sex;</性别>
        <年龄>23</年龄>
    </学生>
</学生名册>

Wenn die Überprüfung erfolgreich ist, zeigt das XMLSpy-Ausgabefenster die folgenden Ergebnisse an

Sonst Selbst wenn ein zusätzliches Leerzeichen vorhanden ist, wird die Überprüfung nicht bestanden. Hier schreibe ich die DTD-Verifizierung in XML. Sie können sie natürlich auch in eine andere Datei schreiben und sie dann mit dem zu überprüfenden XML-Dokument verknüpfen 🎜>

1 de32e25900060e744288c62ff502470c

Der ID-Wert scheint hier mit einem Zeichen zu beginnen. Wenn es sich nur um eine Zahl handelt, besteht er die Überprüfung nicht.

Geschlecht in Studenteninformationen, ich definiere es als Entität und verweise dann

auf seinen Wert durch Entität . Bitte beachten Sie, dass die Syntax der Entitätsreferenz „&Entitätsname; ". Das Folgende wird zur Überprüfung der XML-Schema-Methode verwendet

Das zu überprüfende XML-Dokument

XML-Schema-Überprüfungsdokument
<?xml version="1.0" encoding="utf-8"?>
<学生名册 xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="学生名册.xsd">
    <学生 学号="A1">
        <姓名>CIACs</姓名>
        <性别>男</性别>
        <年龄>22</年龄>
    </学生>

    <学生 学号="A2">
        <姓名>zhihao</姓名>
        <性别>男</性别>
        <年龄>23</年龄>
    </学生>
</学生名册>

XMLSpy-Ausgabefenster Ausgabeergebnisse
<?xml version="1.0" encoding="UTF-8"?>
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" elementFormDefault="qualified" attributeFormDefault="unqualified">
    <xs:element name="学生名册">
        <xs:complexType>
            <xs:sequence minOccurs="1" maxOccurs="unbounded">
                <xs:element ref="学生"/>
            </xs:sequence>
        </xs:complexType>
    </xs:element>
    <xs:element name="学生">
        <xs:complexType>
            <xs:sequence>
                <xs:element name="姓名" type="xs:string"/>
                <xs:element name="性别">
                    <xs:simpleType>
                        <xs:restriction base="xs:string">
                            <xs:enumeration value="男"/>
                            <xs:enumeration value="女"/>
                        </xs:restriction>
                    </xs:simpleType>
                </xs:element>
                <xs:element name="年龄">
                    <xs:simpleType>
                        <xs:restriction base="xs:integer">
                            <xs:minExclusive value="0"/>
                            <xs:maxExclusive value="120"/>
                        </xs:restriction>
                    </xs:simpleType>
                </xs:element>
            </xs:sequence>
            <xs:attribute name="学号" type="xs:string" use="required"/>
        </xs:complexType>
    </xs:element>
</xs:schema>

Das zu überprüfende XML-Dokument wird mit dem XML-Schemadokument

verknüpft, indem die folgenden Informationen hinzugefügt werden zum Start-Tag des Stammelements

Die oben genannten Dokumente werden alle im selben Pfad platziert, also geben Sie einfach den Dateinamen direkt an.
 1 xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="学生名册.xsd"


Anhand der beiden oben genannten Verifizierungsmethoden können wir den Unterschied zwischen der DTD- und der XML-Schema-Verifizierung deutlich erkennen. Beide Methoden bieten auch leistungsfähigere Funktionen als DTD >Feinkörnigere Datentypen

, und Schema kann auch Datentypen anpassen. Es ist selbst eine XML-Datei, aber die Syntax von dtd unterscheidet sich von der Syntax von XML. Obwohl Schema in Bezug auf die Codegröße größer als DTD ist, werden Sie Schema bevorzugen, sobald Sie Schema kennengelernt haben.

Das gute Erlernen von XML und seinen Überprüfungsmethoden ist sehr wichtig, um später das Programmieren von Webdiensten zu erlernen.

Das obige ist der detaillierte Inhalt vonDetaillierte Einführung in den XML-DTD- und XML-Schema-Beispielcode (Bild und Text). Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn