Проверка XML с помощью XSD - PullRequest
       4

Проверка XML с помощью XSD

0 голосов
/ 30 августа 2018

Я пытаюсь проверить XML с помощью XSD,

Но в настоящее время я получаю эту ошибку:

The Content Of 'null' Is Invalid. Element 'element' Is Invalid, Misplaced, Or Occurs Too Often.

Мне нужно проверить каждое поле, если оно не пустое: идентификатор, имя и данные из атрибутов?

XML, который я использую:

<DataEXP>
    <Item>
        <!-- Unique ID for this product - only instance of this ID in whole feed -->
        <ID>
            <![CDATA[DM1054]]>
        </ID>
        <!-- In name included info, that differs this product from other products. Typical order is: BRAND type of product MODEL-->
        <name>
            <![CDATA[Apple iPhone]]>
        </name>
        <attributes>
            <attribute>
                <name>
                    <![CDATA[Functions]]>
                </name>
                <values>
                    <value>
                        <![CDATA[touchscreen]]>
                    </value>
                    <value>
                        <![CDATA[touchID]]>
                    </value>
                </values>
            </attribute>

        </attributes>
    </Item>
</DataEXP>

XSD, который я использую:

<?xml version="1.0"?>
<!-- Created with Liquid Studio 2018 (https://www.liquid-technologies.com) -->
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema">

        <xs:complexType>
            <xs:element name="Item">

                <xs:complexType>

                    <xs:sequence>

                        <xs:element name="ID" type="xs:string" minOccurs="0" maxOccurs="0" />

                    </xs:sequence>

                </xs:complexType>
            </xs:element>
        </xs:complexType>

</xs:schema>

Если кто-то может найти ошибку в XSD Спасибо

1 Ответ

0 голосов
/ 30 августа 2018

Ваш XSD был неверным, и, поскольку он очень строгий, требуется больше полей для правильной проверки вашего XML на соответствие вашему XSD.

Я установил очень минимальную версию XSD, которая будет корректно проверять ваш XML без ошибок. Имейте в виду, что я еще не проверил, сколько раз могут появляться элементы (кроме значений в значениях) и какого они типа.

<?xml version="1.0"?>
<!-- Created with Liquid Studio 2018 (https://www.liquid-technologies.com) -->
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema">
    <xs:element name="DataEXP">
        <xs:complexType>
            <xs:sequence>
                <xs:element name="Item">
                    <xs:complexType>
                        <xs:sequence>
                            <xs:element name="ID"/>
                            <xs:element name="name"/>
                            <xs:element name="attributes">
                                <xs:complexType>
                                    <xs:sequence>
                                        <xs:element name="attribute">
                                            <xs:complexType>
                                                <xs:sequence>
                                                  <xs:element name="name"/>
                                                  <xs:element name="values">
                                                    <xs:complexType>
                                                      <xs:sequence>
                                                        <xs:element maxOccurs="unbounded" name="value"/>
                                                      </xs:sequence>
                                                    </xs:complexType>
                                                  </xs:element>
                                                </xs:sequence>
                                            </xs:complexType>
                                        </xs:element>
                                    </xs:sequence>
                                </xs:complexType>
                            </xs:element>
                        </xs:sequence>
                    </xs:complexType>
                </xs:element>
            </xs:sequence>
        </xs:complexType>
    </xs:element>
</xs:schema>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...