XML Tutorial/XML Schema/AttributeGroup — различия между версиями

Материал из Web эксперт
Перейти к: навигация, поиск
 
м (1 версия)
 
(нет различий)

Текущая версия на 08:26, 26 мая 2010

Defining Attribute Groups

<attributeGroup id="ID"
        name="NCName"
        ref="QName"
        {any attributes with non-schema namespace}
>
  Content: (annotation?,
   ((attribute | attributeGroup)*, anyAttribute?))
</attributeGroup>
An attribute group must be declared globally.
An attribute group can contain references to other attribute groups.
 
<?xml version="1.0"?>
<xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema"
  targetNamespace="http://www.wbex.ru" xmlns="http://www.wbex.ru"
  elementFormDefault="qualified">

  <xsd:attributeGroup name="imageAtts">
    <xsd:attribute name="filename" type="xsd:string" />
    <xsd:attribute name="x" type="xsd:integer" />
    <xsd:attribute name="y" type="xsd:integer" />
  </xsd:attributeGroup>
</xsd:schema>


Referencing Attribute Groups

<?xml version="1.0"?>
<xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema"
  targetNamespace="http://www.wbex.ru" xmlns="http://www.wbex.ru"
  elementFormDefault="qualified">
  <xsd:attributeGroup name="imageAtts">
    <xsd:attribute name="filename" type="xsd:string" />
    <xsd:attribute name="x" type="xsd:integer" />
    <xsd:attribute name="y" type="xsd:integer" />
  </xsd:attributeGroup>
  
  <xsd:element name="picture">
    <xsd:complexType>
      <xsd:complexContent>
        <xsd:extension base="xsd:anyType">
          <xsd:attributeGroup ref="imageAtts" />
        </xsd:extension>
      </xsd:complexContent>
    </xsd:complexType>
  </xsd:element>
  <xsd:element name="video">
    <xsd:complexType>
      <xsd:complexContent>
        <xsd:extension base="xsd:anyType">
          <xsd:attributeGroup ref="imageAtts" />
          <xsd:attribute name="format" type="xsd:string" />
        </xsd:extension>
      </xsd:complexContent>
    </xsd:complexType>
  </xsd:element>

</xsd:schema>