Схима 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"/>