首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用JAXB加载FpML 5.7

使用JAXB加载FpML 5.7
EN

Stack Overflow用户
提问于 2015-06-26 18:22:23
回答 1查看 734关注 0票数 0

我一直在努力从FpML 5.7记录保存建议中生成java文件。任何帮助都是徒劳无功。

我已经跟踪了http://www.stephennimmo.com/generate-java-objects-for-fpml-using-jaxb-and-maven-the-easy-way/FpML 5.3 JAXB Bindings,但仍然会出现以下错误。

  • 由于以下原因,您获得了这个“所有的”属性:
    • 字段名"NotionalSchedule“由模式的两个不同部分使用。请参见:
    • file:/C:/Projects/TestFpML/src/main/xsd/xml_recordkeeping/fpml-ird-5-7.xsd第69行
    • file:/C:/Projects/TestFpML/src/main/xsd/xml_recordkeeping/fpml-ird-5-7.xsd第53行

这是我的bindings.xjb

代码语言:javascript
复制
<?xml version="1.0" encoding="UTF-8"?>
<jxb:bindings xmlns:jxb="http://java.sun.com/xml/ns/jaxb"
            xmlns:xs="http://www.w3.org/2001/XMLSchema"            
            xmlns:xjc="http://java.sun.com/xml/ns/jaxb/xjc"
            xs:schemaLocation="http://java.sun.com/xml/ns/jaxb http://java.sun.com/xml/ns/jaxb/bindingschema_2_0.xsd" 
            version="2.1" 
            jxb:extensionBindingPrefixes="xjc">
    <jxb:globalBindings>
        <jxb:serializable uid="54"/>
    </jxb:globalBindings>
</jxb:bindings>

这是我的maven pom.xml。

代码语言:javascript
复制
<plugin>

    <groupId>org.codehaus.mojo</groupId>
    <artifactId>jaxb2-maven-plugin</artifactId>
    <version>1.5</version>              
    <executions>
        <execution>
            <id>xml_recordkeeping-xjc</id>                      
            <goals>
                <goal>xjc</goal>
            </goals>
            <configuration>                                 
                <schemaDirectory>${project.basedir}/src/main/xsd/xml_recordkeeping</schemaDirectory>
                <bindingDirectory>${project.basedir}/src/main/xjb</bindingDirectory>
                <bindingFiles>bindings.xjb</bindingFiles>
                <schemaFiles>fpml-main-5-7.xsd</schemaFiles>
                <packageName>org.fpml.recordkeeping</packageName>
                <staleFile>${project.build.directory}/jaxb2/.recordkeepingXjcStaleFlag</staleFile>
                <extension>true</extension>
            </configuration>
        </execution>
    </executions>
    <configuration>
        <outputDirectory>${project.basedir}/src/main/java</outputDirectory>                 
    </configuration>
</plugin>

我还尝试将<xjc:simple />添加到绑定中,但没有帮助。我知道FpML网站的xsd文件中有一个重复的对象定义,但是如何扩展绑定以保持xsd的真实性。由于这个文件是市场标准,所以我不想更改xsd。

谢谢你的帮助。

EN

回答 1

Stack Overflow用户

发布于 2015-06-26 22:59:12

在bindings.xjb中添加了以下行以覆盖名称。成功了。

代码语言:javascript
复制
<jxb:bindings schemaLocation="../xsd/xml_recordkeeping/fpml-ird-5-7.xsd">
    <jxb:bindings node="//xs:complexType[@name='Calculation']/xs:sequence/xs:choice/xs:element[@name='notionalSchedule']">
        <jxb:property name="notionalScheduleOld"/>
    </jxb:bindings>
</jxb:bindings>

谢谢lexicore

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/31079746

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档