我希望我的名为subquery
的元素能够包含零个或多个insert
元素,以及零个或一个subquery
个元素。这些元素可以在任何地方。这些将是有效的subquery
元素:
<subquery>
<subquery>...</subquery>
</subquery>
<subquery>
<insert />
<insert />
</subquery>
<subquery>
<insert />
<subquery>...</subquery>
<insert />
</subquery>
<subquery>
<subquery>...</subquery>
<insert />
<insert />
</subquery>
<subquery>
<insert />
<insert />
<insert />
<subquery>...</subquery>
</subquery>
我尝试了很多方法,但无法获得有效的架构。当我在一个All中使用maxOccurs="unbounded"
insert
的类型时,Liquid XML Studio告诉我maxOccurs
必须是0或1.不能让它作为序列工作。< / p>
这甚至可能吗?
答案 0 :(得分:0)
<?xml version="1.0" encoding="UTF-8"?>
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" elementFormDefault="qualified">
<xs:element name="subqueries">
<xs:complexType>
<xs:sequence>
<xs:element maxOccurs="unbounded" ref="subquery"/>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="subquery">
<xs:complexType mixed="true">
<xs:choice minOccurs="0" maxOccurs="unbounded">
<xs:element ref="subquery"/>
<xs:element ref="insert"/>
</xs:choice>
</xs:complexType>
</xs:element>
<xs:element name="insert">
<xs:complexType/>
</xs:element>
</xs:schema>
这就够了吗? (我添加了一个根元素子查询。)
干杯, 维姆
答案 1 :(得分:0)
这个模型不会这样做吗?:insert* (subquery, insert*)?
<xs:element name="subquery">
<xs:complexType>
<xs:sequence>
<xs:element ref="insert" minOccurs="0" maxOccurs="unbounded"/>
<xs:sequence minOccurs="0">
<xs:element ref="subquery"/>
<xs:element ref="insert" minOccurs="0" maxOccurs="unbounded"/>
</xs:sequence>
</xs:sequence>
</xs:complexType>
</xs:element>