Какво е файл със схема на XSD?
XSD файлът е дефиниционен файл, указващ елементите и атрибутите, които могат да бъдат част от XML документ. Това гарантира, че данните се интерпретират правилно и грешките се улавят, което води до подходящо валидиране на XML. XSD файловете гарантират, че въведените данни следват същата структура, както е дефинирана във файла. XSD файловете се съхраняват във файлов формат XML и могат да се отварят или редактират във всеки текстов редактор като Microsoft Notepad, Notepad++ или [Microsoft XML Notepad](https://microsoft.github.io /XmlNotepad/).
XSD файлов формат
XSD файловете се съхраняват на диск във формат на обикновен текстов файл, който е четим от хора. XSD дефинира елементите, които могат да се използват в документите, свързани с действителните данни, с които той трябва да бъде кодиран.
Пример за XSD файл
Прост XSD файл със схема на поръчка за покупка дефинира елементите с помощта на тагове, както е показано в следния XSD пример от Microsoft.
<xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema"
           xmlns:tns="http://tempuri.org/PurchaseOrderSchema.xsd"
           targetNamespace="http://tempuri.org/PurchaseOrderSchema.xsd"
           elementFormDefault="qualified">
 <xsd:element name="PurchaseOrder" type="tns:PurchaseOrderType"/>
 <xsd:complexType name="PurchaseOrderType">
  <xsd:sequence>
   <xsd:element name="ShipTo" type="tns:USAddress" maxOccurs="2"/>
   <xsd:element name="BillTo" type="tns:USAddress"/>
  </xsd:sequence>
  <xsd:attribute name="OrderDate" type="xsd:date"/>
 </xsd:complexType>
 <xsd:complexType name="USAddress">
  <xsd:sequence>
   <xsd:element name="name"   type="xsd:string"/>
   <xsd:element name="street" type="xsd:string"/>
   <xsd:element name="city"   type="xsd:string"/>
   <xsd:element name="state"  type="xsd:string"/>
   <xsd:element name="zip"    type="xsd:integer"/>
  </xsd:sequence>
  <xsd:attribute name="country" type="xsd:NMTOKEN" fixed="US"/>
 </xsd:complexType>
</xsd:schema>
Тук се използват следните тагове.
- xs:element- Дефинира елемент.
- xs:sequence- Означава, че дъщерните елементи се появяват само в посочения ред.
- xs:complexType- Указва, че съдържа други елементи.
- xs:simpleType- Указва, че не съдържат други елементи.
- тип- низ, десетичен, цяло число, булево, дата, час,