XML Tutorial/XML Schema/AttributeGroup
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>