如何在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> 
+0

XS:序列> xs:complexType> 我想在XSD文件中如上所述,因为我只使用xsd文件,所以我将在xsd文件中使用? –

+0

我没有得到你的问题,解释更多 –

+0

我已经通过eclipse创建了XSD文件,即File-> New-> Other-> JAXB-> Scema from JAXB Classes –

我经历月食即文件 - 创建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'

+0

我应该在XSD文件中添加以下代码吗? public static final String EXTENSION_CODE =“NAMEOFTHEEXTENSION”; jxb:bindings> –