XML模式1.1的Jaxb类

时间:2014-10-09 09:42:24

标签: jaxb

我们如何从XSD中创建具有模式版本1.1的jaxb类。 " XS:覆盖"当我尝试创建java类时,给我验证错误

示例XSD:

<?xml version="1.0" encoding="ISO-8859-1"?>
<xs:schema targetNamespace="{target namespace}"
    xmlns="{xmlns}"
    xmlns:xs="http://www.w3.org/2001/XMLSchema"
    xmlns:xlink="http://www.w3.org/1999/xlink"
    elementFormDefault="qualified"
    attributeFormDefault="unqualified"
    xmlns:vc="http://www.w3.org/2007/XMLSchema-versioning" vc:minVersion="1.1">

<xs:override schemaLocation="o1_3_2/o1.xsd">  
      <xs:group name="ReferenceDataElementExtension">
        <xs:sequence>
            <xs:element name="USERPROF" type="xs:string"/>
            <xs:element name="FACLPROF" type="xs:string"/>
            <xs:element name="STDYPROF" type="xs:string"/>
            <xs:element name="TRAINING" type="xs:string"/>
        <xs:sequence>
     <xs:group name="ReferenceDataElementExtension">
 </xs:override>
</xs:schema>

但是在使用xjc命令生成类时,它会给出验证错误:

s4s-elt-invalid-content.1: The content of 'schema' is invalid.  Element 'override' is invalid, misplaced, or occurs too often.

1 个答案:

答案 0 :(得分:1)

我不认为XJC(JAXB&#39架构编译器)支持XML Schema 1.1。

XJC使用名为XSOM的库来处理XML Schema。但XSOM似乎不支持xs:override。看看这里:

https://svn.java.net/svn/xsom~sources/trunk/src/xmlschema.rng

override,抱歉。