如何在XSD文件
添加静态属性我已经例如一个Java接口如下 公共接口一个如何在XSD文件
public static final String SD_A= "SD-A";
我的问题是如何写XSD文件上面的财产?因为我使用XML BOM获取错误 - 在当前范围中没有定义A,所以我开发了顾问程序项目。所以,当我添加接口如下 我得到的错误如下: - 是不是一个常量或静态属性定义'A'
任何建议来解决这个问题?
如果我对你有所了解,你想为模式派生类添加一个静态字段。
你可以做最简单的事情是使用代码注入插件:
Inserting code with XJC+xsd+jxb using the options " -Xinject-code -extension "
喜欢的东西:
<jxb:bindings schemaLocation="schema.xsd">
<jxb:bindings node="/xs:schema/xs:complexType[@name='SomeExtension']">
<ci:code>
public static final String EXTENSION_CODE = "NAMEOFTHEEXTENSION";
</ci:code>
</jxb:bindings>
</jxb:bindings>
我经历月食即文件 - 创建XSD文件>新建 - >其他 - > JAXB->来自JAXB Classes 的Scema来自Java类的Java应用程序。但是现在我需要制作一个Java接口的XSD。所以当我按照上述过程创建XSD时,它显示错误“ com.sun.xml.internal.bind.v2.runtime.IllegalAnnotationsException:1 IllegalAnnotationExceptions计数 com.test.IClassproduct是一个接口,而JAXB不能处理接口。
所以我增加了在另一个XSD文件界面如下格式
<xs:complexType name="IClassProducts"> <xs:sequence> <xs:element name="AHS" type="static" fixed="AHS" /> </xs:sequence> </xs:complexType>
但现在它显示错误
“AHS”不是一个常量或静态属性由'IClassProducts'定义
所以你建议使用下面的格式。
<jxb:bindings schemaLocation="schema.xsd">
<jxb:bindings node="/xs:schema/xs:complexType[@name='SomeExtension']">
<ci:code>
public static final String EXTENSION_CODE = "NAMEOFTHEEXTENSION";
</ci:code>
</jxb:bindings>
</jxb:bindings>
我的问题是我将添加这个以及如何使用。我的目的是无论如何,我已经在XSD文件中使用上述静态属性'AHS'因此,当我将加载该XSD文件时,它可以识别该属性,并可以解决以下错误 'AHS'不是一个常量或静态属性定义'IClassProducts'
我应该在XSD文件中添加以下代码吗? public static final String EXTENSION_CODE =“NAMEOFTHEEXTENSION”;
jxb:bindings> –
我没有得到你的问题,解释更多 –
我已经通过eclipse创建了XSD文件,即File-> New-> Other-> JAXB-> Scema from JAXB Classes –