Example for usefulness of typing for the purposes of ITS

The example demonstrates how subtyping can be used to add ITS specific information to a schema:

<xs:complexType name="paraContent" mixed="true">
 <xs:attribute name="id" type="xs:ID" use="optional"/>
</xs:complexType>
<xs:complexType name="itsParaContent">
 <xs:complexContent>
 <xs:extension base="paraContent">
  <xs:attribute name="locinfo" type="xs:string"/>
 </xs:extension>
</xs:complexContent>
</xs:complexType>
...
<xs:element name="p" type="itsParaContent"/>

For the purposes of ITS, a type itsParaContent is derived from paraContent which provides an additional attribute locinfo. The p element is then defined in terms of this derived type.