2010-05-02 2 views
3

w3cschools (http://www.w3schools.com/schema/schema_complex.asp)에서 자습서를 읽었지 만 복잡한 유형에 대한 제한을 추가하는 방법은 언급하지 않았습니다.XML 스키마의 복잡한 유형을 제한하는 방법은 무엇입니까?

예를 들어 나는이 스키마를 가지고 있습니다.

<xs:element name="employee"> 
    <xs:complexType> 
    <xs:sequence> 
     <xs:element name="firstname" type="xs:string"/> 
     <xs:element name="lastname" type="xs:string"/> 
    </xs:sequence> 
    </xs:complexType> 
</xs:element> 

이제 첫 번째 이름의 길이가 10 문자를 넘지 않도록하고 싶습니다. 어떻게해야합니까?

나는 firstname에 대한 간단한 유형을 넣으려고했으나 복잡한 유형을 사용하고 있기 때문에 그렇게 할 수 없다고 말합니다.

그래서 스키마에 부여한 사람들이 firstname을 100 자로 만들지 않도록 파일에 이와 같은 제한을 어떻게 두어야합니까?

이의 당신은 더 이상 10 자 firstName을 원함 가정 해 봅시다 :

답변

5

는 XSD와 함께 할 수 일부 제한이 있습니다. 당신은 같은 것을 사용합니다 : 더 복잡한 제약 조건에 대한

<xs:element name="employee"> 
    <xs:complexType> 
    <xs:sequence> 
     <xs:element name="firstname"> 
     <xs:simpleType> 
      <xs:restriction base="xs:string"> 
      <xs:minLength value="1"/> 
      <xs:maxLength value="10"/> 
      </xs:restriction> 
     </xs:simpleType> 
     </xs:element> 
     <xs:element name="lastname" type="xs:string"/> 
    </xs:sequence> 
    </xs:complexType> 
</xs:element> 

을, 당신은 내가 생각하는 코드 기반 검사를해야 할 것입니다.

+0

필자는 이전 튜토리얼에서 보여준 것처럼 "type ="xs : string ""을 입력하지 않았 음을 알지 못했습니다. 그래서 나는 이것이 나의 문제를 해결했다고 생각한다. – chobo2

3
<xs:element name="employee"> 
    <xs:complexType> 
    <xs:sequence> 
     <xs:element name="firstname"> 
     <xs:simpleType> 
      <xs:restriction base="xs:string"> 
      <xs:maxLength value="10"/> 
      </xs:restriction> 
     </xs:simpleType> 
     </xs:element> 
     <xs:element name="lastname" type="xs:string"/> 
    </xs:sequence> 
    </xs:complexType> 
</xs:element> 

이 문제가 해결 되었습니까?

관련 문제