如何在XSD文件中添加静态属性

如何在XSD文件中添加静态属性,xsd,Xsd,例如,我有一个Java接口,如下所示 公共接口A public static final String SD_A= "SD-A"; 我的问题是如何在XSD文件中写入上述属性?因为我有一个blaze advisor项目,在该项目中,我使用了XML BOM获取错误,即-A未在当前范围中定义。因此,当我添加该接口时,如下所示 我得到的错误如下:-不是由“a”定义的常量或静态属性 有什么解决问题的建议吗?如果我没弄错,您希望向模式派生类添加一个静态字段 您可以做的最简单的事情就是使用代码注入器插件:

例如,我有一个Java接口,如下所示 公共接口A

 public static final String SD_A= "SD-A";
我的问题是如何在XSD文件中写入上述属性?因为我有一个blaze advisor项目,在该项目中,我使用了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>

公共静态最终字符串扩展名\u CODE=“NameOfExtension”;

如果我没弄错,您希望向模式派生类添加一个静态字段

您可以做的最简单的事情就是使用代码注入器插件:

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>

公共静态最终字符串扩展名\u CODE=“NameOfExtension”;

我已经通过eclipse创建了XSD文件,即file->New->Other->JAXB->Scema来自JAXB类 来自Java应用程序的Java类。但是现在我需要制作一个Java接口的XSD。因此,当我按照上述过程创建XSD时,它显示的是错误“ com.sun.xml.internal.bind.v2.runtime.illegalannotations异常:1个IllegalAnnotationExceptions计数 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>

公共静态最终字符串扩展名\u CODE=“NameOfExtension”;
我的问题是我将在何处添加该属性以及如何使用。我的目的是在XSD文件中使用上述静态属性“AHS”,以便在加载该XSD文件时,它可以识别该属性并解决以下错误
“AHS”不是由“IClassProducts”定义的常量或静态属性。

我已经通过eclipse创建了XSD文件,即file->New->Other->JAXB->Scema来自JAXB类 来自Java类的Java应用程序。但现在我需要制作Java接口的XSD。因此,当我按照上面的过程创建XSD时,它显示错误“ com.sun.xml.internal.bind.v2.runtime.illegalannotations异常:1个IllegalAnnotationExceptions计数 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>

公共静态最终字符串扩展名\u CODE=“NameOfExtension”;
我的问题是,我将在何处添加此项以及如何使用。我的目的是在XSD文件中使用上述静态属性“AHS”,以便在加载该XSD文件时,它可以识别该属性并解决以下错误
“AHS”不是由“IClassProducts”定义的常量或静态属性

我想在XSD文件中执行上述操作,因为我只使用XSD文件,所以我将在XSD文件中使用哪个属性?我没有回答您的问题,解释更多我已经通过eclipse创建了XSD文件,即文件->新建->其他->JAXB->Scema来自JAXB类我错误地在回答部分添加了我的注释。你能看一下吗?在我的例子中,我必须从Java接口生成XSD,我想在XSD文件中如上所述,因为我只使用XSD文件,所以我将在XSD文件中使用哪里?我没有回答你的问题,解释更多我已经通过eclipse创建了XSD文件,即文件->新建->其他->JAXB->Scema来自JAXB类我错误地在回答部分添加了我的注释。你能看一下吗?在我的例子中,我必须从Java接口生成XSD。我应该在XSD文件中添加以下代码吗?公共静态最终字符串扩展名\u CODE=“NameOfExtension”;我应该在XSD文件中添加以下代码吗?公共静态最终字符串扩展名\u CODE=“NameOfExtension”;