Как заметил Уэлбог, вы определили сложный пустой элемент. Предполагая, что вам нужен только текст внутри скрытого тега, вы можете написать схему по этим строкам:
<xs:element name="hidden">
<xs:complexType>
<xs:simpleContent>
<xs:extension base="xs:integer">
<xs:attribute name="datatype" type="xs:string" use="optional"/>
<xs:attribute name="alias" type="xs:string" use="optional"/>
<xs:attribute name="source" type="xs:string" use="optional"/>
<xs:attribute name="name" type="xs:string" use="required"/>
<xs:attribute name="lookup" type="xs:string" use="optional"/>
</xs:extension>
</xs:simpleContent>
</xs:complexType>
</xs:element>
Таким образом, вы можете получить фрагмент XML, подобный этому:
<hidden datatype="foo" name="bar">0</hidden>
То, что здесь происходит, это то, что я определил «скрытый» как расширение из xs:integer
(кстати, вы можете сделать так, чтобы оно расширяло любой тип, который вы хотите), что означает «скрытый» "элементы похожи на элемент целых чисел, но с дополнительными ограничениями или, в данном случае, с дополнительными атрибутами.