2012-04-05 6 views
0

내 영어로 죄송합니다. XSD + 정규식 잘못된 규칙?

나는 나의 XSD 파일에 XML 형식을 썼다 :

<xs:simpleType name="refId"> 
    <xs:restriction base="xs:ID"> 
     <xs:maxLength value="30"/> 
     <xs:minLength value="5"/> 
     <xs:pattern value="^ref-"/> 
    </xs:restriction> 
    </xs:simpleType> 

모든 값은 "REF-"텍스트로 시작해야합니다. 하지만 문자열 "ref-title"에 대한 결과가 잘못되었습니다. 왜 그렇게됩니까?

감사

+0

정규식은 무엇입니까? 그것은 정규식과 관련이 있습니까? –

+0

> 정규 표현식이란 무엇입니까? 그것은 정규식과 관련이 있습니까? 예, 정규 표현식입니다. 나는 그것이 왜 제대로 작동하지 않는지 이해하지 못했습니다. –

답변

0

패턴 전체 문자열보다는 문자열 내부의 일치를 찾아 적용, 당신은 아마

<xs:pattern value="ref-.*" /> 

가 작동하는지 확인할 수 있습니다.

0

X는 정규 표현식에서 "문자열 시작"을 나타내지 않으며, 그 자체를 나타냅니다. 그러므로 당신의 패턴은 ID 값이 "^"로 시작해야 함을 나타내며 물론 잘못된 ID로 만듭니다. XSD 패턴은 암시 적으로 고정되어 있으므로 value = "ref -. *"가 필요합니다.

+0

답변 해 주셔서 감사합니다! –

관련 문제