为什么我的xsd:pattern无法匹配我的XML?
我的XSD无法验证我的XML 我的XSD中包含以下内容:为什么我的xsd:pattern无法匹配我的XML?,xml,xsd,xsd-validation,xml-validation,Xml,Xsd,Xsd Validation,Xml Validation,我的XSD无法验证我的XML 我的XSD中包含以下内容: <xsd:element name="Phone"> <xsd:simpleType> <xsd:restriction base="xsd:string"> <xsd:pattern value="^\d{0,11}$"/> &
<xsd:element name="Phone">
<xsd:simpleType>
<xsd:restriction base="xsd:string">
<xsd:pattern value="^\d{0,11}$"/>
</xsd:restriction>
</xsd:simpleType>
</xsd:element>
在我的XML文件中,我有以下元素:
<Phone>0653556048</Phone>
0653556048
当我根据XSD文件验证XML文件时,我发现以下错误:
值“0653556048”对于图案无效
类型“#AnonType_PhoneUserForm”的“^\d{0,11}$”
但是,当我在regex网站上测试验证regex时,我的属性是有效的:
我的XML和XSD文件都是UTF-8。
我缺少什么?xsd:pattern中的Regex值隐式地锚定在字符串的开始(
^
)和结束($
)处,因此更改
<xsd:pattern value="^\d{0,11}$"/>
到
您的XSD将成功验证您的XML。如果您的问题得到了令人满意的回答,请给出最有帮助的答案。如果您有其他问题,请在评论中跟进。非常感谢。
<xsd:pattern value="\d{0,11}"/>