代码之家  ›  专栏  ›  技术社区  ›  Jeremy Logan

使用JAXB将XSD转换为其类时出错

  •  0
  • Jeremy Logan  · 技术社区  · 15 年前

    当我遇到以下错误时,我尝试使用JAXB的XJC工具将XSD文件转换为Java类文件:

    parsing a schema...  
    [ERROR] The prefix "msdata" for attribute "msdata:ColumnName" associated with an element type "xs:simpleContent" is not bound.  
    line 10 of file:/home/jeremy/TypeDefs.xsd
    Failed to parse a schema.
    

    <xs:simpleContent msdata:ColumnName="paramText" msdata:Ordinal="1">
    

    你可以看到整件事 here .

    :原来XSD文件缺少msdata的命名空间声明。简单地添加 xmlns:msdata="http://schemas.microsoft.com/2003/07/msdata.xsd"

    1 回复  |  直到 15 年前
        1
  •  2
  •   Bozho    15 年前

    你需要有 msdata 命名空间前缀已映射。喜欢

    <xs:schema targetNamespace="http://maps.trimet.org/maps/model/xml" 
        xmlns="http://maps.trimet.org/maps/model/xml"
        ....
        xmlns:msdata="http://yournamespace.com/foo">