2010-11-23 9 views
0

체스 게임에 대한 데이터베이스 형식의 XML 스키마를 작성하고 있습니다. 이동은 정규식을 사용하여 유효성을 검사하는 특정 형식으로되어 있습니다. 다음과 같이 보입니다 : <move>Pe2e4</move>. <move&> 요소는 이동을 확인해야하므로 <variation>' element. The problem is, I can't simply do mixed = "true"`를 포함 할 수도 있습니다.XML 스키마 혼합 콘텐츠

<xs:element name="move"> 
    <xs:complexType> 
     <xs:simpleContent> 
      <xs:extension base="moveType"> 
       <xs:attribute ref="time"/> 
       <xs:attribute ref="comment"/> 
      </xs:extension> 
     </xs:simpleContent> 
     <xs:sequence> 
      <xs:element ref="variation" minOccurs="0" maxOccurs="unbounded"/> 
     </xs:sequence> 
    </xs:complexType> 
</xs:element> 

moveType 검증을 수행 이동의 형태입니다 : 여기에 스키마 파일의 관련 부분이다.

  • <variation> 요소가,

    1. 내 이동 정규식 유효성 검사를 가지고 있고,
    2. timecomment 속성이 있습니다

      그래서 사람이 어떻게 내가 할 수있는 설명 할 수 있습니다.

    BTW, 전체 스키마는

    <xs:sequence> 
        <xs:element ref="variation" minOccurs="0" maxOccurs="unbounded"/> 
    </xs:sequence> 
    

    부분없이 잘 확인합니다.

  • +0

    @ alpha123 : 이것은 일반적인 스키마가 아닙니다. –

    +0

    @Alejandro : 글쎄, 나는 다르게, 사실대로 배열 할 수 있었지만, 나는 어떤 이유가 있는지 정말로 알지 못한다. 나는 단지 텍스트와 선택적인 다른 엘리먼트와 몇몇 선택적 속성을 포함 할 수있는 특별한 타입의 엘리먼트를 원한다. 너무 어렵지는 않지, 그렇지? –

    +0

    @ alpha123 : 혼합 내용 모델은 주로 인라인 의미 체계가있는 텍스트에 사용됩니다. 그것이 모두가 그것을 어떻게 저지 할 것인가입니다. 뭐가 더 읽기 쉽니? 이' Pe2e4 '하거나' Pe2e4'? –

    답변

    0

    Alejandro와 Nic Gibson의 조언 덕분에 스키마가 재구성되었습니다. < 변형 > 요소가 이제 < 이동 > 요소 외부에 있습니다.