1

最も単純な xsd ファイルが 2 つあります。

a.xsd:

<?xml version="1.0" encoding="UTF-8"?>
<schema xmlns="http://www.w3.org/2001/XMLSchema" xmlns:a="A" targetNamespace="A">
  <complexType name="myType"/>
  <element name="root" type="a:myType"/>
</schema>

b.xsd:

<?xml version="1.0" encoding="UTF-8"?>

<schema xmlns="http://www.w3.org/2001/XMLSchema" targetNamespace="B" xmlns:a="A">
  <import namespace="A"/>
  <complexType name="extendedType">
    <complexContent>
      <extension base="a:myType"/>
    </complexContent>
  </complexType>
</schema>

myTypea.xsd で定義されている b.xsd で使用します。生成プロセスは、「エピソード」機能を使用した 2 つのステップで構成されます。

> xjc -episode a.episode a.xsd
parsing a schema...
compiling a schema...
a\MyType.java
a\ObjectFactory.java
a\package-info.java

> xjc b.xsd -b a.episode
parsing a schema...
[ERROR] src-resolve: Cannot resolve the name 'a:myType' to a(n) 'type definition' component.
  line 7 of file:/b.xsd

Failed to parse a schema.

最初の生成は有効な a.episode ファイルで成功しますが、2 番目の生成は失敗します。ここで何が問題なのですか?

4

1 に答える 1

1

あなたの例を Apache XMLBeans 2.5.0 で試してみたところ、次のコマンドで動作しました。

scomp -srconly a.xsd b.xsd
于 2012-05-10T12:23:46.283 に答える