У меня есть XML-файл, который нужно читать, и это выглядит примерно так:ОШИБОК S4S-ATT-не разрешенному: Атрибут «тип» не может появиться в элементе «элемент»
<container time="">
<level1 id="1:0:0" name="Some Name">level1 Description
<level2 id="1:1:0" name="Some Name">level2 Description
<level3 id="1:1:1" name="Some Name">level3 Description</level3>
<level3 id="1:1:2" name="Some Name">level3 Description</level3>
</level2>
</level1>
Во время сборки я использую xjc
для создания своих классов для меня.
<javac includeantruntime="false" srcdir="${build.dir}/configuration_src"
destdir="${build.dir}/generated_jars"
classpathref="example.jars"
debug="on">
<include name="**"/>
</javac>
Проблема Я бегу в тот факт, что <level1>
имеет описание, но он также имеет 0 to many
<level2>
. Как настроить мою схему так, чтобы описание было позабочено?
<xs:schema targetNamespace="http://example.com/container" xmlns="http://example.com/container" xmlns:xs="http://www.w3.org/2001/XMLSchema" elementFormDefault="qualified">
<xs:element name="container">
<xs:complexType>
<xs:sequence>
<xs:element ref="level1" minOccurs="0" maxOccurs="unbounded"/>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="level1">
<xs:complexType>
<xs:sequence>
<xs:element ref="level2" minOccurs="0" maxOccurs="unbounded"/>
</xs:sequence>
<xs:attribute name="id" type="xs:string"></xs:attribute>
<xs:attribute name="name" type="xs:string"></xs:attribute>
</xs:complexType>
</xs:element>
<xs:element name="level2">
<xs:complexType>
<xs:sequence>
<xs:element ref="level3" minOccurs="0" maxOccurs="unbounded"/>
</xs:sequence>
<xs:attribute name="id" type="xs:string"></xs:attribute>
<xs:attribute name="name" type="xs:string"></xs:attribute>
</xs:complexType>
</xs:element>
<xs:element name="level3">
<xs:complexType>
<xs:attribute name="id" type="xs:string"></xs:attribute>
<xs:attribute name="name" type="xs:string"></xs:attribute>
</xs:complexType>
</xs:element>
Когда я пытаюсь добавить type="xs:string"
к любому из моих <xs:element>
, например <xs:element ref="level1" minOccurs="0" maxOccurs="unbounded" type="xs:string"/>
Он жалуется [ERROR] s4s-att-not-allowed: Attribute 'type' cannot appear in element 'element'.
Благодарим за это, уровень 3 работает как шарм. К сожалению, как вы сказали, уровни 1 и 2 беспорядочны. Я заканчиваю «List