本文介绍了cvc-pattern-valid: 值 'A' 对于模式 '^[A-Za-z]?$' 对于类型 'whatever' 不是 facet-valid的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

这是验证失败的特定 XML 标记:

Here's the particular XML tag whose validation is failing:

<MiddleName>A</MiddleName>

该标签的 XSD:

<xsd:element name="MiddleName" type="MiddleInitial" />

<xsd:simpleType name="MiddleInitial">
    <xsd:restriction base="xsd:string">
        <xsd:pattern value="^[A-Za-z]?$" />
    </xsd:restriction>
</xsd:simpleType>

我得到的错误:

cvc-pattern-valid: Value 'A' is not facet-valid with respect to pattern '^[A-Za-z]?$' for type 'MiddleInitial'.

我正在使用的验证器:

http://tools.decisionsoft.com/schemaValidate/

正则表达式看起来不错.^ 匹配开始、$、结束、?是字母 A-Z 或 a-z 的零或一倍.

The regular expression looks good. ^ matches the start, $, the end, ? is for zero or one times the letters A-Z or a-z.

有什么想法吗?

推荐答案

来自 w3 规范 正则表达式(附录D):

...表达式与整个词法表示相匹配而不是用户范围的词汇表示,例如 line 和段落.因此,表达式语言不包含元字符 ^ 和 $,虽然 ^ 用于表示异常,例如[^0-9]x

即取出^$.

这篇关于cvc-pattern-valid: 值 'A' 对于模式 '^[A-Za-z]?$' 对于类型 'whatever' 不是 facet-valid的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!

09-26 00:51