【发布时间】:2021-11-14 10:58:06
【问题描述】:
我一直在尝试解析 xsd 文件以便能够在本地生成 jaxb 文件。为此,我在 linux 上使用了xjc 命令,而命令本身没有任何选项。
但即使是我也非常基本地使用它:
xjc SpaceSystem.xsd
它给出如下错误:
ogurdogan@ogurdogan:~/Documents/XTCE/XJC Test$ xjc SpaceSystem.xsd parsing a schema... [ERROR] The value of attribute "value" associated with an element type "enumeration" must not contain the '<' character. line 4399 of file:/home/ogurdogan/Documents/XTCE/XJC%20Test/SpaceSystem.xsd
可以在下面的第 11 行看到发生错误的定义。
<simpleType name="ComparisonOperatorsType">
<annotation>
<documentation xml:lang="en">Operators to use when testing a boolean condition for a validity check</documentation>
</annotation>
<restriction base="string">
<enumeration value="=="/>
<enumeration value="!="/>
<enumeration value="<"/>
<enumeration value="<="/>
<enumeration value=">"/>
<enumeration value=">="/>
</restriction>
</simpleType>
即使我一直使用的 xsd 模式是来自here 的非常通用和正式的模式,它也会产生如上所示的错误。由于它是默认架构,不应更改,我不知道我需要做什么..
经过一番折腾,我也尝试使用xjc中的选项,例如:
- -nv
- -扩展
但结果是一样的..
那里有什么问题?
【问题讨论】:
-
也许问题在于您的 XSD 基本上是一个 XML 文件 - 其中字符
&lt;是不允许的,必须转义为&lt;。