XML/XML Schema/attributeGroup
Define and use attributeGroup
File: Data.xml
<?xml version="1.0"?>
<employees
xmlns="http://www.wbex.ru/employees"
xmlns:name="http://www.wbex.ru/name"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://www.wbex.ru/employees Schema.xsd"
source="from where"
version="1.0"/>
File: Schema.xsd
<?xml version="1.0"?>
<schema xmlns="http://www.w3.org/2001/XMLSchema"
xmlns:employees="http://www.wbex.ru/employees"
targetNamespace="http://www.wbex.ru/employees"
elementFormDefault="qualified">
<attributeGroup name="employeeAttributes">
<attribute name="version" type="decimal" fixed="1.0" />
<attribute name="source" type="string"/>
</attributeGroup>
<element name="employees">
<complexType>
<attributeGroup ref="employees:employeeAttributes"/>
</complexType>
</element>
</schema>
Reference an attribute group
File: Data.xml
<?xml version="1.0"?>
<addr:address xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://www.wbex.ru Schema.xsd"
xmlns:addr="http://www.wbex.ru"
addr:language="en">
</addr:address>
File: Schema.xsd
<?xml version="1.0"?>
<xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema"
targetNamespace="http://www.wbex.ru"
xmlns:addr="http://www.wbex.ru"
attributeFormDefault="qualified"
elementFormDefault="qualified">
<xsd:element name="address">
<xsd:complexType mixed="true">
<xsd:simpleContent>
<xsd:extension base="xsd:string">
<xsd:attributeGroup ref="addr:nationality"/>
</xsd:extension>
</xsd:simpleContent>
</xsd:complexType>
</xsd:element>
<xsd:attributeGroup name="nationality">
<xsd:attribute name="language" type="xsd:language"/>
</xsd:attributeGroup>
</xsd:schema>