Java JAXB属性顺序
我有一个XSD文件。我使用xjc从中生成类如何在生成的类中更改XmlType注释中的propOrder值?我不想更改XSD文件,只要我不是该文件的所有者,也不想更改从此架构生成的类。有没有办法通过自定义绑定文件(xjb)实现这一点?问题是比例值对我来说并不理想。作为最后一个解决方案,我考虑使用PalMeMyoD/PrrtTrand这个类,但这太棘手了。 我正在处理FpML(XML基本格式),下面是一个XSD元素:Java JAXB属性顺序,java,jaxb,xjc,xjb,Java,Jaxb,Xjc,Xjb,我有一个XSD文件。我使用xjc从中生成类如何在生成的类中更改XmlType注释中的propOrder值?我不想更改XSD文件,只要我不是该文件的所有者,也不想更改从此架构生成的类。有没有办法通过自定义绑定文件(xjb)实现这一点?问题是比例值对我来说并不理想。作为最后一个解决方案,我考虑使用PalMeMyoD/PrrtTrand这个类,但这太棘手了。 我正在处理FpML(XML基本格式),下面是一个XSD元素: <xsd:complexType name="TradeIdentifier
<xsd:complexType name="TradeIdentifier">
<xsd:sequence>
<xsd:choice>
<xsd:sequence>
<xsd:element name="issuer" type="IssuerId"></xsd:element>
<xsd:element name="tradeId" type="TradeId"></xsd:element>
</xsd:sequence>
<xsd:sequence>
<xsd:group ref="PartyAndAccountReferences.model">
</xsd:group>
<xsd:element name="reportingRole" type="ReportingRole" minOccurs="0"></xsd:element>
<xsd:choice maxOccurs="unbounded">
<xsd:element name="tradeId" type="TradeId"></xsd:element>
<xsd:element name="versionedTradeId" type="VersionedTradeId"></xsd:element>
</xsd:choice>
</xsd:sequence>
</xsd:choice>
</xsd:sequence>
</xsd:complexType>
当我在object partyReference和tradeId中设置时,生成的xml是:
<partyTradeIdentifier>
<tradeId>NONREF</tradeId>
<partyReference href="Party2"/>
</partyTradeIdentifier>
解决方案是将partyReference元素放在tradeId之前。当我手动操作时,一切正常。但我不想手动更改生成的类,因为在模式更改的情况下,我必须重复这样的操作。这是通往地狱的路
我试图重命名一个tradeId,因此将有两个字段。但只重命名了一个tradeId字段,问题仍然存在。binding.xml
xjc -extension -b binding.xml schema.xsd
尝试使用以下绑定文件从XML架构生成类:
XJC呼叫
xjc -extension -b binding.xml schema.xsd
如果更改
proporter
,您将失去针对XML模式进行验证的能力。目前的订单为何不可取?您可以始终使用XSLT来控制输出:我正试图实现的是根据模式进行验证的能力。我还没有找到任何解决办法。这很有效!你在哪里找到的?我在“定制JAXB绑定”教程中没有发现任何关于它的内容。@Noofiz-您可以在上找到关于它的信息。我会提供具体的链接,但我认为java.net目前正在停止维护。
xjc -extension -b binding.xml schema.xsd