Los atributos en el esquema son definidos como elementos child.

La única diferencia es que los atributos no son incluidos en el alcance de secuencia/opción; más bien ellos son localizados en la complexTypesection inmediatamente.

El elemento puede contener cualquier número de definiciones de atributo:

<?xml version=”1.0″ encoding=”UTF-8″?>

<xs:schema xmlns:xs=”http://www.w3.org/2001/XMLSchema”>

<xs:element name=”purchase-order”>

<xs:complexType>

<xs:element name=”item” maxOccurs=”unbounded”>

<xs:complexType>

////////////// attributes must be locates in complexType definition:

<xs:attribute name=”code” type=”xs:integer”/>

<xs:attribute name=”type”>

<xs:simpleType>

<xs:restriction base=”xs:string”>

<xs:enumeration value=”CD”/>

<xs:enumeration value=”DVD”/>

</xs:restriction>

</xs:simpleType>

</xs:attribute>

<xs:attribute name=”label” type=”xs:string”/>

</xs:complexType>

</xs:element>

</xs:element>

</xs:schema>