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