2011-09-08 3 views
0

subquery이라는 요소를 insert 개의 요소가 0 개 이상 있고 subquery 요소를 0 개 이상 포함 할 수있게하고 싶습니다. 이러한 요소는 어디든있을 수 있습니다. 나는 여러 가지 방법을 시도했지만 유효한 스키마가 동작하지 않습니다0 개 이상의 'x'개 요소와 0 개 또는 1 개의 'y'요소가있을 수있는 유형의 XML 스키마?

<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> 

: 다음은 subquery 요소 유효 할 것이다. 전체 내에서 insert의 유형에 maxOccurs="unbounded"을 사용하면 Liquid XML Studio에서 maxOccurs이 0 또는 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> 
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> 

충분합니까? (I 루트 요소 하위 쿼리를 추가했습니다.)

건배, 빔을

+0

하나 이상의'하위 쿼리를 허용하지 않을 것이라고? :하지 않을까요 '서브 쿼리'안에? – Ahmet

+0

흠. 지금 무슨 뜻인지 알 겠어. 도면 테이블로 돌아 가기 .. – Wivani

관련 문제