2016-12-15 45 views
0

我的項目生成以下文件:然後消除產生XJB文件錯誤

<?xml version="1.0" encoding="UTF-8" standalone="yes"?> 
<jaxb:bindings 
    xmlns:jaxb="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" 
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
    xmlns:annox="http://annox.dev.java.net" 
    xsi:schemaLocation="http://java.sun.com/xml/ns/jaxb http://java.sun.com/xml/ns/jaxb/bindingschema_2_0.xsd" 
    jaxb:extensionBindingPrefixes="xjc annox" 
    version="2.1"> 

    <!-- from codereview.stackexchange.com/questions/1877/jaxxb-xjc-code-generation-adding-xmlrootelement-and-joda-datetime --> 

    <!-- Application of annotations to selected classes within schemas --> 

    <!-- org.example.SomeRootType @XmlRootElement --> 
    <jaxb:bindings schemaLocation="domain1.xsd" node="/xs:schema"> 
    <jaxb:bindings node="xs:complexType[@name='SomeRootType']"> 
     <annox:annotate> 
     <annox:annotate annox:class="javax.xml.bind.annotation.XmlRootElement" name="SomeRootType"/> 
     </annox:annotate> 
    </jaxb:bindings> 
    </jaxb:bindings> 

</jaxb:bindings> 

Eclipse在報告錯誤 「JAXB:extensionBindingPrefixes」 行

CVC-複雜type.3.2。 2:屬性'jaxb:extensionBindingPrefixes'不允許出現在元素 'jaxb:bindings'中。

我不知道用什麼工具生成文件; annox.dev.java.jet似乎是允許使用註釋的子工具,但我無法找到項目中生成或使用註釋的任何XML文件。

有人能告訴我如何擺脫錯誤,或至少是錯誤信息?我討厭在我的項目中留下錯誤標記,並不表示真正的錯誤;它讓我很難注意到當我真的有一個錯誤。

回答

0

只要刪除xsi:schemaLocation。您使用的模式不正確。它確實聲明jaxb:extensionBindingPrefixes屬性,但在jaxb:bindings中不使用它。

+0

我試過了,但這是* GENERATED *文件。像我一樣生成,我沒有寫,也不能改變它的樣子。 – arcy

+0

您可以使用XSLT或類似的方法後處理生成的文件。 – lexicore