我现在正在使用XML和XSD进行验证,并且从验证器收到一条错误消息
S4s-elt-must-match.1:“ Pavedimas”的内容必须匹配 (注释?,(simpleType | ComplexType)?,(唯一| Key | Keyref)*))。 发现一个问题始于:ComplexType。
我只是想从“Sąskaita”中创建一个属性,该属性属于“ Pavedimas”。
这是XML代码:
<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" href="mok.xsl"?>
<Mokėjimai
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:noNamespaceSchemaLocation="mok.xsd">
<Organizacija> KTU Informatikos fakultetas </Organizacija>
<Data>2017-05-25</Data>
<Pavedimas>
<Sąskaita>S009 999</Sąskaita>
<Būsena>Sumokėta</Būsena>
<Gavėjas>
<Pavadinimas>Mokesčių inspekcija</Pavadinimas>
<Bankas>Swedbank</Bankas>
<Sąskaita>9988 7766 55</Sąskaita>
</Gavėjas>
<Suma>
<Dydis>155.99</Dydis>
<Valiuta>EUR</Valiuta>
</Suma>
</Pavedimas>
<Pavedimas>
<Sąskaita>S009 907</Sąskaita>
<Būsena>Sumokėta</Būsena>
<Gavėjas>
<Pavadinimas>Manchester Metropolitan University </Pavadinimas>
<Bankas>Barclays Bank Delaware</Bankas>
<Sąskaita>9988 7766 55</Sąskaita>
</Gavėjas>
<Suma>
<Dydis>212.55</Dydis>
<Valiuta>GBP</Valiuta>
</Suma>
</Pavedimas>
<Pavedimas>
<Sąskaita>S009 966</Sąskaita>
<Būsena>Nesumokėta</Būsena>
<Gavėjas>
<Pavadinimas>Zygimantas Glodenis</Pavadinimas>
<Bankas>SEB</Bankas>
<Sąskaita>LT7045254125638745</Sąskaita>
</Gavėjas>
<Suma>
<Dydis>10000.00</Dydis>
<Valiuta>EUR</Valiuta>
</Suma>
</Pavedimas>
</Mokėjimai>
这是XSD:
答案 0 :(得分:0)
您的属性定义在错误的位置。它就在complexType中,但是在序列之后。
此外,当前在XML中,您有一个元素而不是一个属性,因此您仍然需要修复XML才能进行验证。
尝试以下XSD
<?xml version="1.0" encoding="UTF-8"?>
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema">
<xs:element name="Mokėjimai">
<xs:complexType>
<xs:sequence>
<xs:element name="Organizacija" type="xs:string"/>
<xs:element name="Data" type="xs:string"/>
<xs:element name="Pavedimas" minOccurs="0" maxOccurs="unbounded" >
<xs:complexType>
<xs:sequence >
<xs:element name="Gavėjas">
<xs:complexType>
<xs:sequence >
<xs:element name="Pavadinimas" type="xs:string"/>
<xs:element name="Bankas" type="xs:string"/>
<xs:element name="Sąskaita" type="xs:string" />
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="Suma">
<xs:complexType>
<xs:sequence >
<xs:element name="Dydis" type="xs:decimal" />
<xs:element name="Valiuta" type="xs:string" />
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:sequence>
<xs:attribute name="Sąskaita" type="xs:string" />
</xs:complexType>
</xs:element>
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:schema>