2.4 ќпределени¤ анонимных типов

—хемы могут конструироватьс¤ посредством определени¤ наборов именованных типов, таких как 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.

 

Используются технологии uCoz