我正在尝试从XSD下面生成JAXB类文件
<xsd:schema attributeFormDefault="unqualified" elementFormDefault="qualified" version="1.0" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
<xsd:element name="comp:myItems">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="style" type="xsd:string" />
</xsd:sequence>
</xsd:complexType>
</xsd:element>
</xsd:schema>
但是在生成JAXB类文件
时我遇到了错误C:\ JAVA \ jdk1.6.0_26 \ bin&gt; xjc.exe myFile.xsd
解析模式...... [错误] s4s-att-invalid-value:元素'element'中'type'的属性值无效。记录原因:UndeclaredPrefix:无法将'comp:myItems'解析为QName:未声明前缀'comp'。 文件第2行:/ C:/JAVA/jdk1.6.0_26/bin/myFile.xsd
无法解析架构。
我得到错误因为元素名称是comp:myItems 。
有没有办法从XSD上面生成JAXB类文件?
任何帮助将非常感谢。
答案 0 :(得分:0)
XML Schema中指定的元素名称不得包含冒号(:
)。如果您希望元素是名称空间限定的,则需要在targetNamespace
元素上指定schema
。您还需要声明此命名空间。
<xsd:schema
...
targetNamespace="http://www.example.com/foo"
xmlns:comp="http://www.example.com/foo">