1

我正在尝试从 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>xjc.exe myFile.xsd

解析模式... [错误] s4s-att-invalid-value:元素“元素”中的“类型”属性值无效。记录的原因:UndeclaredPrefix:无法将“comp:myItems”解析为 QName:未声明前缀“comp”。文件第 2 行:/C:/JAVA/jdk1.6.0_26/bin/myFile.xsd

无法解析架构。

我收到错误,因为元素名称是 comp:myItems

有没有办法从上面的 XSD 生成 JAXB 类文件?
任何帮助将不胜感激。

4

1 回答 1

0

XML Schema 中指定的元素名称不得包含冒号 ( :)。如果您希望元素具有命名空间限定,则需要targetNamespaceschema元素上指定 a。您还需要声明此命名空间。

<xsd:schema 
    ...
    targetNamespace="http://www.example.com/foo"
    xmlns:comp="http://www.example.com/foo">
于 2013-10-24T21:27:23.330 回答