Схема счета на покупку находится
в файле po.xsd
:
<?xml version=”1.0”?>><xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema"> <xsd:annotation> <xsd:documentation xml:lang="en"> Purchase order schema for Example.com. Copyright 2000 Example.com. All rights reserved. </xsd:documentation> </xsd:annotation> <xsd:element name="purchaseOrder" type="PurchaseOrderType"/> <xsd:element name="comment" type="xsd:string"/> <xsd:complexType name="PurchaseOrderType"> <xsd:sequence> <xsd:element name="shipTo" type="USAddress"/> <xsd:element name="billTo" type="USAddress"/> <xsd:element ref="comment" minOccurs="0"/> <xsd:element name="items" type="Items"/> </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:decimal"/> </xsd:sequence> <xsd:attribute name="country" type="xsd:NMTOKEN" fixed="US"/> </xsd:complexType> <xsd:complexType name="Items"> <xsd:sequence> <xsd:element name="item" minOccurs="0" maxOccurs="unbounded"> <xsd:complexType> <xsd:sequence> <xsd:element name="productName" type="xsd:string"/> <xsd:element name="quantity"> <xsd:simpleType> <xsd:restriction base="xsd:positiveInteger"> <xsd:maxExclusive value="100"/> </xsd:restriction> </xsd:simpleType> </xsd:element> <xsd:element name="USPrice" type="xsd:decimal"/> <xsd:element ref="comment" minOccurs="0"/> <xsd:element name="shipDate" type="xsd:date" minOccurs="0"/> </xsd:sequence> <xsd:attribute name="partNum" type="SKU" use="required"/> </xsd:complexType> </xsd:element> </xsd:sequence> </xsd:complexType> <!-- Stock Keeping Unit, a code for identifying products --> <xsd:simpleType name="SKU"> <xsd:restriction base="xsd:string"> <xsd:pattern value="\d{3}-[A-Z]{2}"/> </xsd:restriction> </xsd:simpleType> </xsd:schema>
Схема счета
на покупку состоит из элемента schema
и ряда подэлементов, наиболее важные element
, complexType и
simpleType,
которые определяют представление
элементов и их содержание в документах примеров.
Каждый из элементов
в схеме имеет префикс xsd:, который связан с пространством имен XML Schema через объявление xmlns:
xsd=”
http://www.w3.org/2001/XMLSchema”
,
которое представлено в элементе schema
. Префикс xsd:
применяется в соответствие с соглашением
для указания пространства имен XML Schema, хотя использоваться может любой префикс.
Тот же самый префикс и, следовательно, та же самая связь представляет имена
простых встроенных типов, например xsd:string
. Назначение связи состоит в том, чтобы
идентифицировать элементы и простые типы, как принадлежащие словарю языка XML Schema, а не словарю автора схемы. Ради ясности
в тексте, мы только упоминаем имена элементов и простых типов (например, simpleType
), и опускаем префикс.