ѕеревод рекомендации W3C - XML Schema Part 0. ¬ыполнил √.≈. Ѕерман
ѕеревод рекомендации W3C - XML Schema Part 0. ¬ыполнил √.≈. Ѕерман
2.8 √руппы атрибутов
ѕредположим, что мы хотим
обеспечить больше информации о каждом продукте в заказе на покупку, например,
вес каждого продукта и предпочтительный метод отгрузки. ћы можем достигнуть
этого, добав뤤 объ¤влени¤ атрибутов weightKg и shipBy к
(анонимному) определению типа элемента item:
ƒобавление атрибутов к встроенному определению типов
<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Ф/>
<!-- add weightKg and shipBy attributes -->
<xsd:attribute name=ФweightKgФ type=Фxsd:decimalФ/>
<xsd:attribute name=ФshipByФ>
<xsd:simpleType>
<xsd:restriction base=Фxsd:stringФ>
<xsd:enumeration value=ФairФ/>
<xsd:enumeration value=ФlandФ/>
<xsd:enumeration value=ФanyФ/>
</xsd:restriction>
</xsd:simpleType>
</xsd:attribute>
</xsd:complexType>
</xsd:element>
јльтернативно,
мы можем создать именованную группу атрибутов, содержащую все необходимые
атрибуты элемента item, и
ссылатьс¤ на эту группы по имени в объ¤вление элемента item:
ƒобавление атрибутов, использу¤ группу атрибутов
<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>
<!-- attributeGroup replaces individual declarations -->
<xsd:attributeGroup ref=ФItemDeliveryФ/>
</xsd:complexType>
</xsd:element>
<xsd:attributeGroup name=ФItemDeliveryФ>
<xsd:attribute name=ФpartNumФ type=ФSKUФ use=ФrequiredФ/>
<xsd:attribute name=ФweightKgФ type=Фxsd:decimalФ/>
<xsd:attribute name=ФshipByФ>
<xsd:simpleType>
<xsd:restriction base=Фxsd:stringФ>
<xsd:enumeration value=ФairФ/>
<xsd:enumeration value=ФlandФ/>
<xsd:enumeration value=ФanyФ/>
</xsd:restriction>
</xsd:simpleType>
</xsd:attribute>
</xsd:attributeGroup>
»спользу¤,
таким образом, группу атрибутов можно улучшить читаемость схем, и облегчить
изменени¤ схемы, потому что группа атрибутов может быть определена и
отредактирована в одном месте, и на нее могут ссылатьс¤ в нескольких
определени¤х и объ¤влени¤х. Ёти характеристики групп атрибутов делают их
подобными параметрическим объектам в XML 1.0. ќтметим, что группа атрибутов может содержать другие группы
атрибутов. ак объ¤влени¤ атрибутов, так и ссылки группы атрибутов должны
по¤вл¤тьс¤ в конце определений сложных типов.
#bn {display:block;}
#bt {display:block;}
содержание | 2 | деньги
Используются технологии
uCoz