XML Schema Tuto...login
XML Schema Tutorial
author:php.cn  update time:2022-04-20 14:13:02

How to use XML Schemas


XSD How to use?


XML documents can reference DTD or XML Schema.


A simple XML document:

Please look at this XML document named "note.xml":

<?xml version= "1.0"?>
<note>
<to>Tove</to>
<from>Jani</from>
<heading>Reminder</heading>
<body>Don't forget me this weekend!</body>
</note>


##DTD file

The following The example is a DTD file named "note.dtd", which defines the elements of the above XML document ("note.xml"):

<!ELEMENT note (to, from , heading, body)>
<!ELEMENT to (#PCDATA)>
<!ELEMENT from (#PCDATA)>
<!ELEMENT heading (#PCDATA)>
<!ELEMENT body (#PCDATA)>
Line 1 defines that the note element has four sub-elements: "to, from, heading, body".

Lines 2-5 define the type of to, from, heading, body elements as "#PCDATA".


XML Schema

The following example is an XML Schema file named "note.xsd", which defines the elements of the above XML document ("note.xml") :

<?xml version="1.0"?>
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema"
targetNamespace="http://www.w3schools.com"
xmlns="http://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>

note The element is a composite type because it contains other child elements. Other elements (to, from, heading, body) are simple types because they contain no other elements. You'll learn more about compound and simple types in the following chapters.


Reference to DTD

This file contains a reference to the DTD:

<?xml version="1.0"?>

<!DOCTYPE note SYSTEM
"http://www.w3schools.com/dtd/note.dtd">

<note>
<to>Tove</to>
<from>Jani</from>
<heading>Reminder</heading>
<body>Don't forget me this weekend!</body>
</note>


##Reference to XML Schema

This file contains a reference to the XML Schema:

<?xml version="1.0"?>

<note
xmlns="http ://www.w3schools.com"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://www.w3schools.com note.xsd">
<to>Tove</to>
<from>Jani</from>
<heading>Reminder</heading>
<body>Don't forget me this weekend!</body>
</note>