Схема XML: "Обнаружен недопустимый контент"
Итак, у меня есть этот код схемы data.xml:
<?xml version="1.0"?>
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" targetNamespace="http://example.com" elementFormDefault="qualified">
<xs:element name="data">
<xs:complexType>
<xs:sequence>
<xs:element name="item" minOccurs="0" maxOccurs="unbounded">
<xs:complexType>
<xs:sequence>
<xs:element name="title" type="xs:string" minOccurs="0" maxOccurs="1">
</xs:element>
<xs:element name="type" minOccurs="0" maxOccurs="1">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:enumeration value="header"/>
<xs:enumeration value="normal"/>
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element name="backgroundcolor" minOccurs="0" maxOccurs="1">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:pattern value="#[0-9A-Fa-f]+"/>
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element name="fontcolor" minOccurs="0" maxOccurs="1">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:pattern value="#[0-9A-Fa-f]+"/>
</xs:restriction>
</xs:simpleType>
</xs:element>
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:schema>
У меня есть этот файл test.xml:
<?xml version="1.0" encoding="UTF-8"?>
<j:data xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://jeresapp.dk data.xsd" xmlns:j="http://example.com">
<j:item>
<j:title>test title</j:title>
<j:backgroundcolor>#aaf8941e</j:backgroundcolor>
<j:fontcolor>#ffffff</j:fontcolor>
<j:type>header</j:type>
</j:item>
</j:data>
Я хочу 0-бесконечное количество предметов
Каждый элемент может содержать 0-1 каждого дочернего элемента (например, title и fontcolor)
Несмотря на то, что я работал через некоторые rrros (я новичок в схемах, поэтому я продолжаю набирать об этом), я получаю странную ошибку в различных инструментах проверки XSD:
Обнаружено недопустимое содержимое, начиная с элемента 'j:type'. На этом этапе не ожидается дочерний элемент.
1 ответ
Использование <all>
вместо <sequence>
разрешить смешанный порядок дочерних элементов.