我一直在尝试解析xsd文件,以便能够在本地生成jaxb文件。为了做到这一点,我在linux上使用了xjc
命令,而不使用命令本身的任何选项。
但即使是我也非常基本地使用它:
xjc太空系统。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模式也是一个非常通用和正式的模式,它会给出上面看到的错误。因为它是默认模式,不应该被改变,我不知道我需要做什么...
在一些轮胎之后,我还尝试使用xjc
中的选项,例如:
但结果是一样的。。
那里有什么问题?
当我查看链接模式的源时(例如,查看源:https://www.omg.org/spec/XTCE/20180204/SpaceSystem.xsd在第4397行和下面我发现
<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>
这与您所展示的完全不同,事实上,任何XML文档都不能有一个未经scaped的
我不知道
xjc
,但我猜它不会抱怨您链接到的以原始形式保存的真实模式,有人可能错误地使用全选保存了浏览器的“漂亮打印”渲染-
当xjc解析followinf xsd时,我得到了“Prolog中的错误” 我已经检查了xsd的有效性,没有发现任何错误。开始前没有字符也。。。
我正在使用xjc解析以下xsd 我收到错误:记录原因:cvc datatypevalid。1.2.1:'xsi:schemaLocation'不是'NCName'的有效值。
我正在一个大型企业平台上集成,供应商喜欢频繁更新其XML格式,尽管他们promise更改将继续向后兼容。我有一个可以工作的XSD…现在…但我想用我们的应用程序代码部署该模式,而不必为每个web服务更新重新部署。作为另一个推动力,(基于JVM的)配置语言具有非常好的XSD类型导入。 作为一种后备方法,我可以使用XPath查询提取特定元素,但这就不那么令人愉快了。 如何继续针对已过时但未过时的架构文件
我有一个XSD的格式: 当使用XJC编译器在第1行“prolog中不允许内容”进行编译时,它给出了一个错误。如果我将编码更改为“ISO-8859-1” 它给出了以下错误: 如果我从XSD中删除“root”标记,它将开始出现以下错误: 未能分析架构。 我的问题是,我们是否可以使用XJC编译一个包含多个模式标记的XSD。我尝试了以下文件格式: 它对上面的工作非常好,适当地创建了类。 它与命名空间声明有
这个API使用JAXB来方便地使用对象模型,对象模型是由XJC(XML-to-Java)编译器通过命名引用从XML模式生成的。它抽象了JAXB上下文的创建,并通过各种背景魔法和反射找到ObjectFactory方法。它的基本要旨是,您总是定义一个通用模式,然后任何数量(也可能是0)的模式“扩展”该通用模式,每个模式产生自己的数据模型。通用模式携带可重用的定义,扩展它的定义使用这些定义组成自己的模型
B/src/main/gen pom.xml 我想在B项目中从XSD生成类,它存在于一个项目中 在B项目的pom.xml中,我有: