2

我有一个导入其他两个模式的复杂模式。我想从同一个复杂模式生成 JAXB 类。我在 IDE 和命令行中都试过了。但我无法生成类。

 parsing a schema...

[错误] src-resolve:无法将名称“act:Activity”解析为(n)“类型定义”组件。文件的第 22 行:/C:/Program%20Files/IBM/SDP/runtimes/base_v7/bin/Request.xsd

我通过命令行收到上述错误。

知道如何从此模式生成类。XJC 支持进口吗?

任何指针都会有所帮助。

4

1 回答 1

0

JAXB 的 XJC 实用程序绝对支持导入和包含。首先要检查的是导入/包含的文件是否包含可以解析的有效系统 ID。如果他们不这样做,您可以利用模式目录,以便 XJC 可以找到辅助 XML 模式。

架构目录 - TR9401 格式

-- Match address.xsd by URL --
SYSTEM "http://www.example.com/address/address.xsd" "imports/address.xsd"

-- Match phone-number.xsd by namespace URI --
PUBLIC "http://www.example.com/phone-number" "imports/phone-number.xsd"

Schema Catlog - OASIS XML 目录格式

<!DOCTYPE catalog
    PUBLIC "-//OASIS//DTD Entity Resolution XML Catalog V1.0//EN"
           "http://www.oasis-open.org/committees/entity/release/1.0/catalog.dtd">
<catalog xmlns="urn:oasis:names:tc:entity:xmlns:xml:catalog">

    <system
        systemId="http://www.example.com/address/address.xsd"
        uri="imports/address.xsd"/>
    <public
        publicId="http://www.example.com/phone-number"
        uri="imports/phone-number.xsd"/>

</catalog>

XJC 呼叫

使用-catalog标志引用模式目录。

xjc -d out -catalog catalog.cat customer.xsd

了解更多信息

于 2013-10-24T14:24:55.947 回答