PS Regarding the proposal for the TableIndex definition in my previous email, I forgot to add how it might be used in the complexType definition for Table. This would be something like: <xs:complexType name="Table"> <xs:sequence> ... <xs:element name="index" type="vs:TableIndex" minOccurs="0" maxOccurs="unbounded"/> </xs:sequence>