Cvc-elt.1.a: не удается найти объявление элемента - PullRequest
0 голосов
/ 01 ноября 2018

При проверке XML я получаю сообщение об ошибке:

Cvc-elt.1.a: не удается найти объявление элемента 'ValidaLinea'

Это XML:

 <?xml version="1.0" encoding="UTF-8"?>
<ValidaLinea>
    <cveBanco>40058</cveBanco>
    <importe>0</importe>
    <fechaHoraEnvio>2002-05-30T09:00:00</fechaHoraEnvio>
    <Signature xmlns="http://www.w3.org/2000/09/xmldsig#">  
    </Signature>
</ValidaLinea>

А это XSD:

 <?xml version="1.0" encoding="UTF-8"?>
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema"  
            >
<xs:complexType name="ValidaLinea">
    <xs:sequence>
        <xs:element name="cveBanco">
            <xs:simpleType>
                <xs:restriction base="xs:string">
                    <xs:pattern value="[0-9]{5}" />
                </xs:restriction>
            </xs:simpleType>
        </xs:element>
        <xs:element name="importe">
            <xs:simpleType>
                <xs:restriction base="xs:long">
                    <xs:totalDigits value="14" />
                </xs:restriction>
            </xs:simpleType>
        </xs:element>
        <xs:element name="fechaHoraEnvio">
            <xs:simpleType>
                <xs:restriction base="xs:dateTime">
                </xs:restriction>
            </xs:simpleType>
        </xs:element>
        <xs:element name="Signature" />
    </xs:sequence>
</xs:complexType> 
</xs:schema>

Я получаю сообщение об ошибке при попытке проверить XML с помощью XSD, ошибка в том, что он не распознает элемент ValidaLinea.

1 Ответ

0 голосов
/ 01 ноября 2018

Вы только что объявили тип для ValidaLinea.

Чтобы объявить элемент для ValidaLinea, добавьте к xs:schema:

<xs:element name="ValidaLinea" type="ValidaLinea"/>

Обратите внимание, что вы можете очистить именование и использовать ValidaLineaType для типа.

...