xpath:prefix必须解析为命名空间xsd



我是使用jaxb2的新手。我得到这样的错误:"xpath:prefix必须解析为名称空间:xsd",我不知道如何修复它。这是因为我有两个xsd文件,它们试图设计同一个类,但在我的java应用程序的不同包中

<jxb:bindings schemaLocation="../documentazione/xsd/Global/datatypes_global_v62.xsd">
<jxb:schemaBindings>
<jxb:package name="com.companyname.plugin.entities.global" />
</jxb:schemaBindings>
<jxb:bindings node="//xsd:complexType[@name='Contact']">
<jxb:class name="GlobalContact" />
</jxb:bindings>
</jxb:bindings>

<jxb:bindings schemaLocation="../documentazione/xsd/Global/pickupdatatypes_global-3.0.xsd">
<jxb:schemaBindings>
<jxb:package name="com.companyname.plugin.entities.pickup" />
</jxb:schemaBindings>
<jxb:bindings node="xsd://complexType[@name='contact']" >
<jxb:class name="Contact" />
</jxb:bindings>
</jxb:bindings>

我已经试过运行这个插件,但我不知道如何修复这个错误。

如何解决问题?易于理解的在我的xjb文件的名称空间中,我使用了:

<jxb:bindings version="2.0" xmlns:jxb="http://java.sun.com/xml/ns/jaxb" xmlns:xjc="http://java.sun.com/xml/ns/jaxb/xjc"
xmlns:xs="http://www.w3.org/2000/10/XMLSchema-instance"
xs:schemaLocation="http://java.sun.com/xml/ns/jaxb http://java.sun.com/xml/ns/jaxb/bindingschema_2_0.xsd">

这对我的大多数xjb文件来说都很好,但在我的情况下,我想使用complexType节点。在这种情况下,我必须使用:

<jxb:bindings version="2.0"  xmlns:jxb="http://java.sun.com/xml/ns/jaxb" xmlns:xjc="http://java.sun.com/xml/ns/jaxb/xjc"
xmlns:xsd="http://www.w3.org/2001/XMLSchema"
xmlns:xs="http://www.w3.org/2000/10/XMLSchema-instance"
xs:schemaLocation="http://java.sun.com/xml/ns/jaxb http://java.sun.com/xml/ns/jaxb/bindingschema_2_0.xsd">

CCD_ 1帮助我解决所有问题。

最新更新