2012-04-02 3 views
1

Я хочу, чтобы создать * .xsd документ (для простой игры;)), которая имеет эту спецификацию:Рекурсивные структуры XML

The <description> имеет смешанные элементы и имеет дочерние элементы я и б. Они имеют тот же тип, что и элемент описания, поэтому они могут иметь одинаковые элементы i и b.

Так что, я думаю, мне нужно создать рекурсивную структуру? Мой вопрос в том, как создать такую ​​структуру?

ответ

1

Есть некоторые запутывающие утверждения; когда вы говорите «description имеет смешанные элементы и [...]» вы хотите сказать другие элементы, такие как < c /> и < d />, или mixed, как в нем, позволяет также текст (думаю, html разметка здесь)? Когда вы ссылаетесь на содержимое i и b, есть ли у каждого из них только the same i and b Element или вышеперечисленные смешанные элементы?

Для достижения рекурсивной модели контента для вашего случая я рекомендую использовать его с использованием типов, в отличие от групп; первый работает с большинством инструментов, которые я знаю. Вот простой пример XSD, который поддерживает текст (смешанный = «истина»), откуда можно начать изучение:

<?xml version="1.0" encoding="utf-8"?> 
<!--W3C Schema generated by QTAssistant/W3C Schema Refactoring Module (http://www.paschidev.com)--> 
<xsd:schema attributeFormDefault="unqualified" elementFormDefault="qualified" xmlns:xsd="http://www.w3.org/2001/XMLSchema"> 
    <xsd:element name="description" type="descriptionType"/> 
    <xsd:complexType name="descriptionType" mixed="true"> 
     <xsd:choice minOccurs="0" maxOccurs="unbounded"> 
      <xsd:element name="b" type="descriptionType"/> 
      <xsd:element name="i" type="descriptionType"/> 
     </xsd:choice> 
    </xsd:complexType> 
</xsd:schema> 

Я бы параллельно Визуализируйте согласующихся XMLs и начать настройку:

<?xml version="1.0" encoding="utf-8" standalone="yes"?> 
<!-- Sample XML generated by QTAssistant (http://www.paschidev.com) --> 
<description xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">text<b>text<b>text<b>text</b> 
      <i>text</i> 
     </b> 
     <i>text<b>text</b> 
      <i>text</i> 
     </i> 
    </b> 
    <i>text<b>text<b>text</b> 
      <i>text</i> 
     </b> 
     <i>text<b>text</b> 
      <i>text</i> 
     </i> 
    </i> 
</description> 
Смежные вопросы