2012-01-20 3 views
2

스키마의 특성 요소를 3 자에서 20 자 사이로 제한하려고합니다. RegEx가 잘못되었다고 말하는 오류가 발생합니다.지정된 문자열 길이에 대한 정규식 길이 범위 : XSD attribute element

<xs:attribute name="name" use="required"> 
    <xs:simpleType> 
     <xs:restriction base="xs:string"> 
      <xs:pattern value="[A-Za-Z]{3,20}" /> 
     </xs:restriction> 
    </xs:simpleType> 
</xs:attribute> 

내가 여기 잘못하고 있어도 될지 모르겠다. 특정 오류가 "Range end code point is less than the start end code point"

답변

4

a-Z가 잘못된 범위, 당신은 a 아스키 값이 97 Z 90 그래서 당신은 실제로 97에서 간격을 정의했다입니다 z 대신 a-z

<xs:pattern value="[A-Za-z]{3,20}" /> 

하는 것으로 소문자를 사용해야입니다 90 =>end-point code is lower than the start-point code

+0

와우 나는 두 번째 z가 대문자라는 사실조차 알지 못했습니다. 눈을 빌려 주시고 저를 가리켜 주셔서 감사합니다. :) –

1

당신은 또한 사용할 수 xs:maxLengthxs:minLength :

<xsd:restriction base="xsd:string"> 
    <xsd:minLength value="3"/> 
    <xsd:maxLength value="20"/> 
</xsd:restriction>