—хемы могут конструироватьс¤
посредством определени¤ наборов именованных типов, таких как PurchaseOrderType,
и затем объ¤влени¤
элементов, таких как purchaseOrder, которые ссылаютс¤ на типы, использу¤ выражение type
=конструкци¤. ƒанный стиль конструкции схемы ¤вл¤етс¤ пр¤мым,
но он может быть громоздким, особенно если ¬ы определ¤ете много типов, которые
ссылаютс¤ только один раз и содержат очень мало ограничений. ƒл¤ этих условий,
тип может быть более кратко определен как анонимный тип, который сохран¤ет все
необходимое, чтобы обеспечить именование и точность ссылок.
ќпределение типа Items
в po.xsd
содержит
два объ¤влени¤ элементов, которые используют анонимные типы (item
и quantity
). ¬ общем случае ¬ы можете
идентифицировать анонимные типы тем, что в объ¤влении элемента (или атрибута) отсутствует† type
=, и присутствует определение (простого или сложного) типа,
которое не имеет имени:
<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>
Ёлемент item
представлен как сложный анонимный тип, состо¤щий из элементов productName, quantity
, USPrice, comment,
shipDate и атрибута с именем partNum. Ёлемента quantity
представлен
как
простой анонимный тип, полученный из integer,
чье значение располагаетс¤ между 1 и 99.