Hvordan bruger man XSD?

XML-dokumenter kan referere til DTD eller XML Schema.

Se XML-dokumentet ved navn \

<?xml version="1.0"?>
<note>
<to>George</to>
<from>John</from>
<heading>Reminder</heading>
<body>Don't forget the meeting!</body>
</note>

Følgende eksempel er en DTD-fil ved navn \

<!ELEMENT note (to, from, heading, body)>
<!ELEMENT to (#PCDATA)>
<!ELEMENT from (#PCDATA)>
<!ELEMENT heading (#PCDATA)>
<!ELEMENT body (#PCDATA)>

Første linje definerer note-elementet har fire under-elementer: \

Linje 2-5 definerer typen for to, from, heading, body-elementerne som "#PCDATA".

XML Schema

Her er et eksempel på en XML Schema-fil ved navn "note.xsd", som definerer elementerne i den tidligere XML-dokument:

<?xml version="1.0"?>
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema"
targetNamespace="http://www.codew3c.com"
xmlns="http://www.codew3c.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-elementet er en kompleks type, fordi det indeholder andre underelementer. Andre elementer (to, from, heading, body) er enkle typer, fordi de ikke indeholder andre elementer. Du vil lære mere om komplekse og enkle typer i de følgende kapitler.

Referencer til DTD

Denne fil indeholder referencer til DTD:

<?xml version="1.0"?>
<!DOCTYPE note SYSTEM "http://www.codew3c.com/dtd/note.dtd">
<note>
<to>George</to>
<from>John</from>
<heading>Reminder</heading>
<body>Don't forget the meeting!</body>
</note>

Referencer til XML Schema

Denne fil indeholder referencer til XML Schema:

<?xml version="1.0"?>
<note
xmlns="http://www.codew3c.com"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://www.codew3c.com note.xsd">
<to>George</to>
<from>John</from>
<heading>Reminder</heading>
<body>Don't forget the meeting!</body>
</note>