XSD スキーマに一致する xml が必要ですが、一致しません。XSD スキーマで何が問題になる可能性がありますか? xsi:type="..." に問題があります。私は何かを逃すかもしれません。何が悪いのかお気づきになることを願っています。xsd validate online を使用して修正しようとしましたが、うまくいきません。というわけで諦めてここに書くことにしました。あなたの助けに感謝します。ありがとう!
XML は次のとおりです。
<?xml version="1.0" encoding="utf-8" ?>
<ValidatorList xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" >
<FieldValidator xsi:type="RequiredFieldValidator" PropertyName="BankTransactionNumber">
<Next xsi:type="AsciiValidator" />
</FieldValidator>
<FieldValidator xsi:type="RequiredFieldValidator" PropertyName="CurrencyIndicator">
<Next xsi:type="StringLengthValidator" MaxLength="3" MinLength="3">
<Next xsi:type="AlphaValidator" />
</Next>
</FieldValidator>
</ValidatorList>
この XML の XSD スキーマ:
<xs:schema attributeFormDefault="unqualified" elementFormDefault="qualified" xmlns:xs="http://www.w3.org/2001/XMLSchema">
<xs:element name="ValidatorList">
<xs:complexType>
<xs:sequence>
<xs:element name="FieldValidator" maxOccurs="unbounded" minOccurs="0">
<xs:complexType mixed="true">
<xs:sequence>
<xs:element name="Next" minOccurs="0">
<xs:complexType mixed="true">
<xs:sequence>
<xs:element name="Next" minOccurs="0">
<xs:complexType mixed="true">
<xs:sequence>
<xs:element name="Next" minOccurs="0">
<xs:complexType>
<xs:simpleContent>
<xs:extension base="xs:string">
<xs:attribute type="xs:byte" name="DecimalPlaces"/>
</xs:extension>
</xs:simpleContent>
</xs:complexType>
</xs:element>
</xs:sequence>
<xs:attribute type="xs:byte" name="MaxLength" use="optional"/>
<xs:attribute type="xs:byte" name="MinLength" use="optional"/>
<xs:attribute type="xs:string" name="AllowedValues" use="optional"/>
</xs:complexType>
</xs:element>
</xs:sequence>
<xs:attribute type="xs:byte" name="MaxLength" use="optional"/>
<xs:attribute type="xs:byte" name="MinLength" use="optional"/>
<xs:attribute type="xs:byte" name="DefaultValue" use="optional"/>
</xs:complexType>
</xs:element>
<xs:element type="xs:string" name="RegEx" minOccurs="0"/>
</xs:sequence>
<xs:attribute type="xs:string" name="PropertyName" use="optional"/>
<xs:attribute type="xs:byte" name="DefaultValue" use="optional"/>
<xs:attribute type="xs:string" name="TypeProperty" use="optional"/>
<xs:attribute type="xs:string" name="Regex" use="optional"/>
</xs:complexType>
</xs:element>
</xs:sequence>
</xs:complexType>
次のようなエラー メッセージが表示されました。
Error - Line 4, 39: org.xml.sax.SAXParseException; lineNumber: 4; columnNumber: 39; cvc-elt.4.2: Cannot resolve 'AsciiValidator' to a type definition for element 'Next'.
Error - Line 6, 87: org.xml.sax.SAXParseException; lineNumber: 6; columnNumber: 87; cvc-elt.4.2: Cannot resolve 'RequiredFieldValidator' to a type definition for element 'FieldValidator'.
Error - Line 7, 72: org.xml.sax.SAXParseException; lineNumber: 7; columnNumber: 72; cvc-elt.4.2: Cannot resolve 'StringLengthValidator' to a type definition for element 'Next'.
Error - Line 8, 41: org.xml.sax.SAXParseException; lineNumber: 8; columnNumber: 41; cvc-elt.4.2: Cannot resolve 'AlphaValidator' to a type definition for element 'Next'.