2

Xml ファイルを検証しようとしています

私の xsd スキーマ フラグメント:

<xs:attribute name="PostIndex" use="optional">
                        <xs:annotation>
                            <xs:documentation>Post Index</xs:documentation>
                        </xs:annotation>
                        <xs:simpleType>
                            <xs:restriction base="xs:string">
                                <xs:length value="6"/>
                                <xs:pattern value="\d{0}|\d{6}"/>
                            </xs:restriction>
                        </xs:simpleType>
                    </xs:attribute>

XML ファイルのフラグメント:

<Atr1>
<Atr2 Atr="A9F130BE-3974-4698-B9F9-72037BC0E97F" PostIndex="123456" />
<Atr2 Atr3="123" Atr4="11111" />
</Atr1>

検証コードを実行すると、スキーマ検証に合格し、エラーが発生しました:

'PostIndex' 属性が無効です - 値 '123456' はそのデータ型 'String' によると無効です - 列挙制約が失敗しました。

4

1 に答える 1

1

これが私が使用した XSD と XML です。正常に動作します。XSDとXML全体を投稿してください

<?xml version="1.0" encoding="UTF-8"?>

<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema">
  <xs:element name="computer">
    <xs:annotation>
      <xs:documentation xml:lang="it-IT">Definizione di un computer</xs:documentation>
      <xs:documentation xml:lang="en-US">Definition of a computer</xs:documentation>
    </xs:annotation>
    <xs:complexType>
      <xs:attribute name="PostInt">
        <xs:simpleType>
          <xs:restriction base="xs:string">
           <xs:length value="6"/>
           <xs:pattern value="\d{0}|\d{6}"/>
          </xs:restriction>
        </xs:simpleType>
      </xs:attribute>
    </xs:complexType>
  </xs:element>
</xs:schema>

XML

<computer PostInt="123456" />

次のオンラインバリデーターを使用しました

于 2013-09-02T14:34:14.793 に答える