Первая XML-схема «Действительна», но не работает должным образом (cvc-complex-type.2.4.a) - PullRequest
1 голос
/ 28 февраля 2011
<?xml version="1.0" encoding="UTF-8"?>
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" targetNamespace="http://example.com/venue-listing">
    <xs:attribute name="lang" default="en">
        <xs:simpleType>
            <xs:restriction base="xs:string">
                <xs:pattern value="en|zh" />
            </xs:restriction>
        </xs:simpleType>
    </xs:attribute>
    <xs:element name="site">
        <xs:complexType>
            <xs:sequence>
                <xs:element name="venue">
                    <xs:complexType>
                        <xs:sequence>
                            <xs:element name="url" type="xs:string" />
                            <xs:element name="venue_nm" type="xs:string" />
                            <xs:element name="address" type="xs:string"/>
                            <xs:element name="tags">
                                <xs:complexType>
                                    <xs:sequence>
                                        <xs:element name="tag" type="xs:string" />
                                    </xs:sequence>
                                </xs:complexType>
                            </xs:element>
                        </xs:sequence>
                        <xs:attribute name="id" type="xs:string" use="required" />
                    </xs:complexType>
                </xs:element>
            </xs:sequence>
            <xs:attribute name="source" type="xs:integer" use="required" />
        </xs:complexType>
    </xs:element>
</xs:schema>

Теперь проверка просто говорит, что cvc-complex-type.2.4.a: Недопустимый контент был найден, начиная с элемента 'venue'.Ожидается одно из {{место}}.venues.xml

<site source="21" xmlns="http://example.com/venue-listing">
    <venue id="333048">
              ....
    </venue>
    <venue id="323">
              ....
    </venue>
</site>

1 Ответ

4 голосов
/ 01 марта 2011

В соответствии с этой схемой, место размещения элемента должно происходить ровно один раз, следовательно,

[Не более] One of '{venue}' is expected.

Для разрешения нескольких мест используйте

<xs:element name="venue" maxOccurs="unbounded">

Значение по умолчанию maxOccurs равно 1 (см. Спецификация схемы XML ).

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...