1
我想创建一个*的.xsd文献(为一个简单的游戏;)),其具有说明书中:递归XML结构
的<description>
有混合元件,它有子元素I和B。它们与描述元素具有相同的类型,因此它们可以具有相同的i和b元素。
所以我想我必须创建一个递归结构?我的问题是如何创建这样的结构?
我想创建一个*的.xsd文献(为一个简单的游戏;)),其具有说明书中:递归XML结构
的<description>
有混合元件,它有子元素I和B。它们与描述元素具有相同的类型,因此它们可以具有相同的i和b元素。
所以我想我必须创建一个递归结构?我的问题是如何创建这样的结构?
有一些令人困惑的陈述;当你说“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>
我会在并行可视化符合的个XML,并开始调整:
<?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>