2010-07-13 2 views
0
<Item id="[email protected]" type="GROUP"> 
    <Item id="[email protected]" type="BLOCKSEGMENT"/> 
    <Item id="[email protected]" type="SWITCH"/> 
</Item> 

xml-контент, приведенный выше, является примером данных моего xml. Как вы видите, у меня есть элементы, которые могут содержать другие элементы.
Мой первый вопрос - как определить xml-схему в этой ситуации.
Мой второй вопрос: я хочу, чтобы мой атрибут id содержал символ «@».
Как я могу это достичь?Правильный способ определения схемы xsd в моей ситуации

ответ

1

Определение рекурсивных структур в XML-схеме тривиально. Это всего лишь вопрос определения типа, который содержит элемент этого типа:

<xs:complexType name="ItemType"> 
    <xs:sequence minOccurs="0"> 
    <xs:element name="Item" type="ItemType"></xs:element> 
    </xs:sequence> 
</xs:complexType> 

Атрибуты могут содержать @ характер по умолчанию без каких-либо проблем. Если вы хотите, чтобы атрибут содержал этот символ, вы должны прочитать его на XML Schema restrictions. В частности, вы захотите посмотреть на элемент xs:pattern.

Смежные вопросы