
Схима XML обыкновенно как определение схимы XML (XSD). Она использована для того чтобы описать и утвердить структуру и содержание данных по XML. Схима XML определяет элементы, атрибуты и типы данных. Элемент схимы поддерживает пространства имен. Он подобен к схиме базы данных которая описывает данные в базе данных.
Вам нужно объявить схиму в вашем документе XML следующим образом:
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema">
Следующие выставки примера как использовать схиму:
<?xml version="1.0" encoding="UTF-8"?>
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema">
<xs:element name="contact">
<xs:complexType>
<xs:sequence>
<xs:element name="name" type="xs:string" />
<xs:element name="company" type="xs:string" />
<xs:element name="phone" type="xs:int" />
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:schema>
Основная мысль за схимами XML что они описывают правомерный формат который документ XML может принять.
По мере того как мы увидели в XML - элементы глава, элементы строительные блоки документа XML. Элемент можно определить в пределах XSD следующим образом:
<xs:element name="x" type="y"/>
Вы можете определить элементы схимы XML в следующих путях:
Простой тип - простой тип элемент использован только в контексте текста. Некоторые из предопределенных простых типов являются следующими: xs: интежер, xs: булевско, xs: строка, xs: дата. Например:
<xs:element name="phone_number" type="xs:int" />
Сложный тип - сложный тип контейнер для других определений элемента. Это позволяет вам определить которому ребенку элементы элемент могут содержать и обеспечивать некоторую структуру внутри ваши документы XML. Например:
<xs:element name="Address">
<xs:complexType>
<xs:sequence>
<xs:element name="name" type="xs:string" />
<xs:element name="company" type="xs:string" />
<xs:element name="phone" type="xs:int" />
</xs:sequence>
</xs:complexType>
</xs:element>
В вышеуказанном примере, элемент адреса состоит из элементов ребенка. Это контейнер для других <xs: определения element>, то позволяют построить простую иерархию элементов в документе XML.
Глобальные типы - с глобальный типом, вы можете определить одиночную печатаете внутри ваш документ на машинке, могущие понадобиться всеми другими справками. Например, предположите что вы хочет обобщить персону и компанию для различных адресов компании. В такой случай, вы можете определить общий тип как ниже:
<xs:element name="AddressType">
<xs:complexType>
<xs:sequence>
<xs:element name="name" type="xs:string" />
<xs:element name="company" type="xs:string" />
</xs:sequence>
</xs:complexType>
</xs:element>
Теперь препятствуйте нам использовать это напечатайте внутри наш пример на машинке как ниже:
<xs:element name="Address1">
<xs:complexType>
<xs:sequence>
<xs:element name="address" type="AddressType" />
<xs:element name="phone1" type="xs:int" />
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="Address2">
<xs:complexType>
<xs:sequence>
<xs:element name="address" type="AddressType" />
<xs:element name="phone2" type="xs:int" />
</xs:sequence>
</xs:complexType>
</xs:element>
Вместо определять имя и компанию дважды (раз для Address1 и раз для Address2), мы теперь имеем одиночное определение. Это делает обслуживание более простым, т.е., если вы решаете добавить элементы «почтового индекса» к адресу, то вам нужно добавить их на как раз одном месте.
Атрибуты в XSD обеспечивают экстренную информацию внутри элемент. Атрибуты имеют имя и тип свойство как показан ниже:
<xs:attribute name="x" type="y"/>