Смешанный и ограниченный элемент не проходит проверку с помощью Xmlbeans
Работая с Xmlbeans, я заметил, что когда элемент определен как ограничение для смешанного типа, если в этом элементе есть какой-то текст, проверка Xmlbeans завершается неудачно. Однако тот же файл XML действителен, если я запускаю его для проверки схемы в XMLSpy. Вот пример (я постарался сделать его максимально простым):
XML-схема:
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" elementFormDefault="qualified" attributeFormDefault="unqualified">
<xs:element name="RootElement">
<xs:annotation>
<xs:documentation>Comment describing your root element</xs:documentation>
</xs:annotation>
<xs:complexType>
<xs:sequence>
<xs:element ref="Child"/>
<xs:element ref="ChildExtended"/>
<xs:element ref="ChildRestricted"/>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="Child" type="MixedType"/>
<xs:element name="ChildRestricted" type="MixedTypeRestricted"/>
<xs:element name="ChildExtended" type="MixedTypeExtended"/>
<xs:complexType name="MixedType" mixed="true"/>
<xs:complexType name="MixedTypeExtended" mixed="true">
<xs:complexContent mixed="true">
<xs:extension base="MixedType"/>
</xs:complexContent>
</xs:complexType>
<xs:complexType name="MixedTypeRestricted" mixed="true">
<xs:complexContent mixed="true">
<xs:restriction base="MixedType"/>
</xs:complexContent>
</xs:complexType>
</xs:schema>
XML-файл:
<RootElement xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<Child>text</Child>
<ChildExtended>text1</ChildExtended>
<ChildRestricted>text2</ChildRestricted>
</RootElement>
Для XmlSpy это действительно. Вот что я получаю при проверке с помощью Xmlbeans:
Message: Element 'ChildRestricted' with empty content type cannot have text or element content.
Location of invalid XML: <xml-fragment xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"/>
Как вы можете видеть, проблема заключается только в дочернем элементе, определенном как ограниченный тип. Мой вопрос: кто прав? XmlSpy (без ошибок) или Xmlbeans?
1 ответ
Решение
Как уже было замечено в выпуске XMLBEANS-457, который вы создали, редакция 1102771 устраняет проблему.