我使用的是XML / XSD文件,但我在验证时遇到了一个问题。
一个字段有此限制:
<xs:pattern value="[A-Za-z0-9 '\-\./]+"/>
但是,当我把这个值:
example with àccented character
验证器说“模式约束失败”
所以基本上,我要问的是:a-z模式中是否包含重音字符?
如果没有,我该怎么办? (考虑到我无法更改.xsd,因为它不是我的,我不被允许。)
答案 0 :(得分:1)
不,重音字符不包含在[A-Za-z]
模式中。
如果您可以更改XSD,并且如果您想要更通用的基于Unicode的模式,则可以指定:
<xs:pattern value="[\p{L}\p{P}\p{N}]+"/>
<强>解释强>:
[...]+
匹配其中包含的一个或多个字符。如果您无法更改XSD,并且您希望文档有效,则应遵守其约束条件。除了忽略XSD排除非ASCII码点之外,还有其他原因。例如,消费应用程序可能会在那里需要甚至需要ASCII。