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