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

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

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

Defining Attribute Groups

   <source lang="xml">

<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></source>


Referencing Attribute Groups

   <source lang="xml">

<?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></source>