2012-11-03 2 views
0

레스토랑 기반 시스템 용으로 작은 xsd/xml 파일을 만듭니다.고유 한 XSD 요소를 만들 때 오류가 발생했습니다.

<xs:element name="table_cat"> 
    <xs:complexType> 
     <xs:sequence> 
     <xs:element name="category" maxOccurs="unbounded"> 
      <xs:complexType> 
      <xs:sequence maxOccurs="unbounded"> 
       <xs:element name="category_id" type="CatID" /> 
       <xs:element name="catdescription" type="Length50"/> 
      </xs:sequence> 
      </xs:complexType> 
     </xs:element> 
     </xs:sequence> 
    </xs:complexType> 

    <xs:unique name="unique-catid"> 
     <xs:selector xpath="category" /> 
     <xs:field xpath="category_id"/> 

    </xs:unique> 

    </xs:element> 

하지만 난 XML 파일에 1 개 이상의 CATEGORY_ID 필드가있을 때마다 나는 다음과 같은 오류가 계속 :

The field 'category_id' is expecting at the most one value. 

을 여기

내가 내 XSD 파일을 가지고있는 코드입니다 필자는 다른 솔루션을 시도했지만 제대로 작동하지는 않습니다.

희망 하시겠습니까? 감사합니다!

답변

0

당신이 표현하려고하는 제약 조건을 실제로 말한 것은 아닙니다. 잘못된 코드에서 요구 사항을 리버스 엔지니어링하는 것은 어렵습니다.

어쨌든 나에게 불쾌한 디자인으로 표시됩니다. 쌍 주위에 컨테이너 요소가없는 (ID, 설명) 쌍의 반복 된 시퀀스가 ​​있습니다. 이는 불필요하게 데이터를 처리하는 것을 어렵게 만듭니다.

은 아마 당신은
<xs:unique name="unique-catid"> 
    <xs:selector xpath="category_id" /> 
    <xs:field xpath="."/> 
</xs:unique> 

을 원하지만 그건 당신의 의도가 있다면 난 정말 말할 수 없습니다.

관련 문제