XSD Как использовать?


XML-документы могут ссылаться на DTD или XML Schema.


Простой XML-документ:

Взгляните на этот XML-документ с именем "note.xml":

<?xml version="1.0"?>
<note>
  <to>Tove</to>
  <from>Jani</from>
  <heading>Напоминание</heading>
  <body>Не забудь меня в эти выходные!</body>
</note>


Файл DTD

Следующий пример — это файл DTD с именем "note.dtd", который определяет элементы XML-документа ("note.xml") выше:

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

Строка 1 определяет, что элемент note имеет четыре дочерних элемента: "to, from, heading, body".

Строки 2-5 определяют типы элементов to, from, heading, body как "#PCDATA".


XML Schema

Следующий пример — это файл XML Schema с именем "note.xsd", который определяет элементы XML-документа ("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 является сложным типом, поскольку содержит другие дочерние элементы. Остальные элементы (to, from, heading, body) являются простыми типами, поскольку не содержат других элементов. Вы узнаете больше о сложных типах и простых типах в следующих главах.


Ссылка на DTD

⟦1⟧Этот файл содержит ссылку на DTD:

<?xml version="1.0"?>

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

<note>
  <to>Tove</to>
  <from>Jani</from>
  <heading>Напоминание</heading>
  <body>Не забудь меня в эти выходные!</body>
</note>


Ссылка на XML Schema

Этот файл содержит ссылку на 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>Напоминание</heading>
  <body>Не забудь меня в эти выходные!</body>
</note>
Другие расширения