Проблема с проверкой XSD XML, S4s-elt-must-match.1 - PullRequest
0 голосов
/ 03 декабря 2018

Я сейчас работаю с проверкой XML и XSD и получаю сообщение об ошибке от валидатора, которое говорит:

S4s-elt-must-match.1: Content of ''Must Match 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:

https://codeshare.io/anlOoX

1 Ответ

0 голосов
/ 03 декабря 2018

Определение вашего атрибута было не в том месте.Это происходит прямо в 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>
...