s4s-elt-invalid-content:元素 'attributeGroup' 无效
s4s-elt-invalid-content: Element 'attributeGroup' is invalid
我即将分叉现有的 XSD,但是,在接触它之前,我想要一个可用的工具链。输入 Eclipse。
有问题的 XSD 是:
http://aixm.aero/schema/4.5/index.html
架构 "AIXM-Features.xsd" 是根据 this online tool 以及 xmllint
:
有效的架构
$ xmllint --schema XMLSchema.xsd AIXM-Features.xsd --noout
AIXM-Features.xsd validates
然而,当我使用 Eclipse 对其进行验证时,它出现了 34 次,每次出现以下行错误:
<xsd:attributeGroup ref="Changes"/>
这是第一个验证错误:
Description Resource Path Location Type s4s-elt-invalid-content.1:
The content of 'AircraftClassType' is invalid.
> Element 'attributeGroup' is invalid, misplaced, or occurs too often.
AIXM-Features.xsd /afmx line 919 XML Schema Problem
知道这里发生了什么吗?
顺便说一句:Eclipse 使用基于 Xerces 的模式验证器。
貌似AIXM-Features.xsd不是写出来直接单独使用的。如您所见,它引用了一个 Changes
属性组,但没有定义它或包含它的任何定义。
注意AIXM-Snapshot.xsd定义它没有属性,
<xsd:attributeGroup name="Changes"/>
和AIXM-Update.xsd定义不同,
<xsd:attributeGroup name="Changes">
<xsd:attribute name="chg" type="xsd:boolean" use="optional"/>
</xsd:attributeGroup>
如果您要添加
<xsd:include schemaLocation="AIXM-Update.xsd"/>
到AIXM-Features.xsd,错误就会消失。或者,您可以定义一个包含 AIXM-Features.xsd 和 AIXM-Update.xsd.
的包装器 XSD
最后说明:您引用的错误消息过于宽泛。是的,"invalid" 可以说适用,但实际上更好的诊断会指定引用的 Changes
无法解析为属性组。
我即将分叉现有的 XSD,但是,在接触它之前,我想要一个可用的工具链。输入 Eclipse。
有问题的 XSD 是: http://aixm.aero/schema/4.5/index.html
架构 "AIXM-Features.xsd" 是根据 this online tool 以及 xmllint
:
$ xmllint --schema XMLSchema.xsd AIXM-Features.xsd --noout
AIXM-Features.xsd validates
然而,当我使用 Eclipse 对其进行验证时,它出现了 34 次,每次出现以下行错误:
<xsd:attributeGroup ref="Changes"/>
这是第一个验证错误:
Description Resource Path Location Type s4s-elt-invalid-content.1:
The content of 'AircraftClassType' is invalid.
> Element 'attributeGroup' is invalid, misplaced, or occurs too often.
AIXM-Features.xsd /afmx line 919 XML Schema Problem
知道这里发生了什么吗?
顺便说一句:Eclipse 使用基于 Xerces 的模式验证器。
貌似AIXM-Features.xsd不是写出来直接单独使用的。如您所见,它引用了一个 Changes
属性组,但没有定义它或包含它的任何定义。
注意AIXM-Snapshot.xsd定义它没有属性,
<xsd:attributeGroup name="Changes"/>
和AIXM-Update.xsd定义不同,
<xsd:attributeGroup name="Changes">
<xsd:attribute name="chg" type="xsd:boolean" use="optional"/>
</xsd:attributeGroup>
如果您要添加
<xsd:include schemaLocation="AIXM-Update.xsd"/>
到AIXM-Features.xsd,错误就会消失。或者,您可以定义一个包含 AIXM-Features.xsd 和 AIXM-Update.xsd.
的包装器 XSD最后说明:您引用的错误消息过于宽泛。是的,"invalid" 可以说适用,但实际上更好的诊断会指定引用的 Changes
无法解析为属性组。