Xml XSD+regex。不正确的规则?
我在XSD文件中写入了XML类型:Xml XSD+regex。不正确的规则?,xml,regex,xsd,Xml,Regex,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:
<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-text开头。但是我得到了字符串:ref title的错误结果。为什么会发生这种情况?该模式应用于整个字符串,而不仅仅是在字符串中查找匹配项,您可能会发现
<xs:pattern value="ref-.*" />
将起作用。在XSD正则表达式方言中,扬抑符^不代表字符串的开头,它代表它自己。因此,您的模式表示ID值必须以^开头,这当然会使它们成为无效ID。XSD模式是隐式锚定的,所以value=ref-.*是您所需要的。您的正则表达式是什么?它与正则表达式有关吗?>你的正则表达式是什么?它与正则表达式有关吗?是的,是正则表达式。我不明白,为什么它不能正常工作。