我有一个xsd其中有几个孩子XSD嵌入(使用“xsd:include”。)在它(但每个xsd属于相同的命名空间)。我被要求在独立的子包(每个孩子XSD一个子包)而不是一个包中生成jaxb类。我们可以为多个包中的一组xsd生成JAXB类吗?
据我到目前为止阅读,我们可以添加jaxb:schemaBindings
这些单独的XSD并生成单独的包中的类,如果只是这些的XSD属于不同的命名空间。
但在我的情况下,我想要做的是在几个子包中创建属于相同名称空间的一组xsds的类。你能帮我用JAXB做这个吗?
编辑:我已经加入多一点说明我的问题,以澄清它多一点。
我所有的XSD都有以下标题。因此同名空间。
<?xml version="1.0" encoding="utf-8"?>
<xs:schema xmlns:srm="http://www.mycompany.com/srm/"
targetNamespace="http://www.mycompany.com/srm/" xmlns:xs="http://www.w3.org/2001/XMLSchema"
xmlns:jaxb="http://java.sun.com/xml/ns/jaxb" jaxb:version="2.0" elementFormDefault="qualified"
attributeFormDefault="unqualified" version="1.0">
假设我的模式文件名是A.xsd,B.xsd和C.xsd。
在C.xsd中,我已经用上面提到的头文件定义了一些元素(字符串类型)。
在B.xsd中,我已经使用“xsd:include”标签包含C.xsd,然后使用C.xsd中定义的复杂类型定义了complexType定义(具有与上面提到的相同的标头)
在A.xsd中,我已经使用“xsd:include”标签包含了B.xsd,然后使用B.xsd中定义的复杂类型定义了complexType定义(具有与上面提到的相同的标头)
我想生成JAXB类,就像我在下面提到的那样。
有关A.xsd的JAXB类以产生com.generate.packageA包。
与B.xsd相关的JAXB类在com.generate.packageB包中生成。
与C.xsd相关的JAXB类在com.generate.packageC包中生成。
你有没有找到一个解决这个?我试图实现类似的东西,并希望有一个解决方案 – indybee