2013-02-08 4 views
0

내 XML은 다음과 같습니다특성 및 하위 요소가있는 요소의 XSD 표현은 무엇입니까?

<root> 
    <elt att1="bla" att2="ble"> 
    <subelt satt1="bli" satt2="1" /> 
    <subelt satt1="blo" satt2="18" /> 
    <subelt satt1="blu" satt2="4" /> 
    </elt> 
</root> 

가있을 수 있습니다 일을 어떤 ELT에. elt에 의해 어떤 subelt라도 1이 될 수 있습니다. 이 유틸리티에 대해 스키마 유효성 검사를 시도합니다 : http://www.utilities-online.info/xsdvalidation.

<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema"> 
    <xs:element name="root"> 
    <xs:complexType> 
     <xs:sequence> 
     <xs:element name="elt" minOccurs="1" maxOccurs="unbounded"> 
      <xs:complexType> 
      <xs:attribute name="att1" type="xs:string" use="required"/> 
      <xs:attribute name="att2" type="xs:string" use="required"/> 
      <xs:sequence> 
       <xs:element name="subelt" minOccurs="1" maxOccurs="unbounded"> 
       <xs:complexType> 
        <xs:attribute name="subatt1" type="xs:string" use="required"/> 
        <xs:attribute name="subatt2" type="xs:integer"/> 
       </xs:complexType> 
       </xs:element> 
      </xs:sequence> 
      </xs:complexType> 
     </xs:element> 
     </xs:sequence> 
    </xs:complexType> 
    </xs:element> 
</xs:schema> 

문제는 속성과 하위 요소 (순서) 모두 요소에서 온다 : 여기 내 XSD입니다. 나는 시퀀스 주위에 xs : complexType을 넣으려고 시도했지만 여전히 다른 오류를 얻는다. 필자는 XML 스키마의 초보자이므로이 형식을 어떻게 지정해야하는지 이해하는 것은 약간 어렵습니다. 그것에 대해 조언 해 주시겠습니까? 감사. 역사적인 이유로

답변

1

(나는 요소를 변경하고 이름을 속성 때문에, 내 파일에 오타가있을 수 있습니다), XSD 복합 유형은 먼저 속성 요소의 컨텐츠 모델을 지정합니다. 따라서 elt 요소의 복잡한 유형은 다음과 유사해야합니다.

<xs:complexType> 
    <xs:sequence> 
    <xs:element name="subelt" minOccurs="1" maxOccurs="unbounded"> 
     <xs:complexType> 
     <xs:attribute name="subatt1" type="xs:string" use="required"/> 
     <xs:attribute name="subatt2" type="xs:integer"/> 
     </xs:complexType> 
    </xs:element> 
    </xs:sequence> 
    <xs:attribute name="att1" type="xs:string" use="required"/> 
    <xs:attribute name="att2" type="xs:string" use="required"/> 
</xs:complexType> 
+0

나는 결코 추측하지 못했습니다. 감사. – Cyctemic

+0

추측은 일부 언어의 경우 놀랍도록 잘 작동합니다. 일반적으로 XSD에는 그렇게 잘 맞지 않습니다. 나는 너라면 좋은 책과 훌륭한 XSD 편집자를 얻을 것이다. –

관련 문제