Определение рекурсивных структур в XML-схеме тривиально. Это просто вопрос определения типа, который содержит элемент этого типа:
<xs:complexType name="ItemType">
<xs:sequence minOccurs="0">
<xs:element name="Item" type="ItemType"></xs:element>
</xs:sequence>
</xs:complexType>
Атрибуты могут содержать символ @
по умолчанию без каких-либо проблем. Если вы хотите, чтобы атрибут содержал этот символ, вам следует прочитать ограничения XML-схемы В частности, вы захотите взглянуть на элемент xs:pattern
.