2012-04-05 33 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-title」。爲什麼會發生?

問候

+0

你的正則表達式是什麼?它與正則表達式有關嗎? – 2012-04-05 12:31:56

+0

>你的正則表達式是什麼?它與正則表達式有關嗎? 是的,它是正則表達式。我不明白,爲什麼它不能正常工作。 – 2012-04-05 12:48:12

回答

0

該模式適用於整個字符串,而不僅僅是找到字符串中的匹配,你可能會發現,

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

會工作。

0

該旋律^並不代表XSD正則表達式方言中的「字符串的開始」,它代表自身。因此,你的模式說ID值必須以「^」開頭,這當然會使他們無效的ID。 XSD模式被隱式錨定,所以value =「ref - 。*」就是你需要的。

+0

謝謝你的回答! – 2012-04-06 07:07:16