XML数据对于模式';无效;[A-FH-Z][A-Z]|[A-Z][A-QS-Z]';

XML数据对于模式';无效;[A-FH-Z][A-Z]|[A-Z][A-QS-Z]';,xml,xsd,Xml,Xsd,当使用“34”作为我的值时,我得到以下错误: Cvc模式有效:值“34”对于 “TKodKrajuJPK”类型的图案“[A-FH-Z][A-Z]|[A-Z][A-QS-Z]”,第行 “86”,第“56”列 下面是XSD中类型的模式: <xsd:simpleType name="TKodKraju"> <xsd:union memberTypes="etd:TKodKraju tns:TKodKrajuISO"/> </xsd:simpleTy

当使用“34”作为我的值时,我得到以下错误:

Cvc模式有效:值“34”对于 “TKodKrajuJPK”类型的图案“[A-FH-Z][A-Z]|[A-Z][A-QS-Z]”,第行 “86”,第“56”列

下面是XSD中类型的模式:

<xsd:simpleType name="TKodKraju">
        <xsd:union memberTypes="etd:TKodKraju tns:TKodKrajuISO"/>
    </xsd:simpleType>
    <xsd:simpleType name="TKodKrajuISO">
        <xsd:annotation>
            <xsd:documentation>Uzupełnienie słownika kodów krajów o brakujące kody wg ISO 3166 oraz unijny kod dla Grecji - EL</xsd:documentation>
        </xsd:annotation>
        <xsd:restriction base="xsd:normalizedString">
            <xsd:enumeration value="SX">
                <xsd:annotation>
                    <xsd:documentation>WYSPA SINT MAARTEN (CZĘŚĆ HOLENDERSKA WYSPY)</xsd:documentation>
                </xsd:annotation>
            </xsd:enumeration>
            <xsd:enumeration value="BQ">
                <xsd:annotation>
                    <xsd:documentation>BONAIRE, SINT EUSTATIUS I SABA</xsd:documentation>
                </xsd:annotation>
            </xsd:enumeration>
            <xsd:enumeration value="SS">
                <xsd:annotation>
                    <xsd:documentation>SUDAN POŁUDNIOWY</xsd:documentation>
                </xsd:annotation>
            </xsd:enumeration>
            <xsd:enumeration value="CW">
                <xsd:annotation>
                    <xsd:documentation>CURAÇAO</xsd:documentation>
                </xsd:annotation>
            </xsd:enumeration>
            <xsd:enumeration value="EL">
                <xsd:annotation>
                    <xsd:documentation>GRECJA</xsd:documentation>
                </xsd:annotation>
            </xsd:enumeration>
        </xsd:restriction>
    </xsd:simpleType>
    <xsd:simpleType name="TKodKrajuJPK">
        <xsd:annotation>
            <xsd:documentation>Wyklucznie ze słownika kodów krajów kodu dla Grecji - GR</xsd:documentation>
        </xsd:annotation>
        <xsd:restriction base="tns:TKodKraju">
            <xsd:pattern value="[A-FH-Z][A-Z]"/>
            <xsd:pattern value="[A-Z][A-QS-Z]"/>
        </xsd:restriction>
    </xsd:simpleType>

Uzupełnie słownika kodów krajów o brakujące kody wg ISO 3166 oraz unijny kod dla Grecji-EL
圣马丁WYSPA(捷克霍伦德斯卡WYSPY)
博内尔,圣尤斯特乌斯一世萨巴
苏丹波乌德尼奥伊
库拉索
格雷加
Wyklucznie ze słownika kodów krajów kodu dla Grecji-GR
据我所知,它应该是
a-Z
范围内的大写字母。但是,当我使用“AA”时,它仍然会出错:

Cvc数据类型有效。1.2.3:“AA”不是联合类型的有效值 “TKodKrajuJPK.”,第“86”行,第“56”列

但是当我使用
BB
时,错误就被解决了


有人能澄清什么是有效值以及我应该输入哪种模式吗?

这些是正则表达式。 它们定义了有效大写字母的范围

您的XML似乎包含一个34的数值。这显然是无效的。此外,您需要检查
子句后面的内容。如果没有该条款,
AA
将通过验证

在原始帖子中的最新公开,pieces of XSD,意味着该值需要通过对枚举数“SX”、“BQ”、“SS”等的第一次验证,然后是正则表达式模式

XML


您告诉我们的验证错误似乎有两个

首先,“34”不符合正则表达式,因为它只允许大写字母

第二,“AA”无效的原因更为复杂。类型
TKodKrajuJPK
定义为
TKodKraju
的限制,
TKodKraju
定义为
etd:TKodKraju
tns:TKodKrajuISO
的联合。因此,“AA”必须满足(a)类型
TKodKrajuJPK
(它确实满足)和(b)类型之一
etd:TKodKraju
tns:TKodKrajuISO
的约束

您没有向我们展示类型
etd:TKodKraju
,因此我们不知道它是否对该类型有效(但证据表明不是),并且它对类型
tns:TKodKrajuISO
肯定无效。因为这是5个特定值的枚举


所以我想我们需要看看AA对类型
etd:TKodKraju
是否有效,我怀疑它不是。我修改了它并尝试了
AA
,但它仍然有一个错误。还有,正确的格式是什么?您能否进一步澄清,特别是关于模式
[A-FH-Z][A-Z]
?我在答案中添加了一个小示例。谢谢您,我添加了有关
XSD
的更多信息。如果您能进一步澄清,我将不胜感激。非常感谢。我用额外的解释更新了答案。我从哪里获得
etd:TKodKraju
?在我上面的代码片段中,这是我唯一看到它的地方。它可能位于您没有向我们展示的模式部分的某个地方-可能是一个导入的模块,因为它是一个不同的名称空间。检查
xsd:import
声明。
<?xml version="1.0"?>
<root xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="kod.xsd">
    <kod>AA</kod>
</root>
<?xml version="1.0" encoding="UTF-8"?>
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" elementFormDefault="qualified">
    <xs:element name="root">
        <xs:complexType>
            <xs:sequence>
                <xs:element ref="kod"/>
            </xs:sequence>
        </xs:complexType>
    </xs:element>
    <xs:element name="kod">
        <xs:simpleType>
            <xs:restriction base="xs:string">
                <xs:pattern value="[A-FH-Z][A-Z]"/>
                <xs:pattern value="[A-Z][A-QS-Z]"/>
            </xs:restriction>
        </xs:simpleType>
    </xs:element>
</xs:schema>
Running custom validation engine Saxonica 9.8.0.12 Validator...
SAXON-EE 9.8.0.12J from Saxonica validate complete