2012-02-23 11 views
3

コンテキスト:xaven-jaxbプラグインを使用してxsdファイルからJavaクラスを生成しています。すべての.xsdファイルはsrc/main/resourceディレクトリの単一の場所にあります。インポート名前空間 - (n) 'タイプ定義'コンポーネントに名前を解決できません

問題:xsdが別のターゲット名前空間を持つ他のxsdを参照/インポートしないと、すべてうまく動作します。しかし、以下のxsd(targetNamespace = "http://www.companyA.com/someservice")は別の名前空間(namespace = "http://www.companyB.com/")から別のxsd filename.xsdをインポートすると、上記のエラーが表示されます。名前xxxを(n) 'タイプ定義'コンポーネントに解決できません。

編集:現在のxsdファイルの要素名は「entityName」で、そのタイプは「companyB:entityName」(つまり、名前が同じです)です。

これで、コマンドラインからこのファイルに対してxjcを起動しようとしましたが、これによりJavaクラスが正しく生成されました。私はEclipseで、「type = "companyCdm:entityName"」のsourceをCtrl +クリック/調べることができることを確認しました。これはfilename.xsdファイルを正しく開きますが、何らかの理由でMavenがアクセスできない。

質問:??私は何をしないのですなぜ、この場合は、単一の名前空間を扱う異なる(2つの名前空間)である

ここでは私のXSDです:

<?xml version="1.0" encoding="UTF-8"?> 
<xsd:schema xmlns="http://www.companyA.com/someservice" 
    xmlns:xsd="http://www.w3.org/2001/XMLSchema" 
    xmlns:companyB="http://www.companyB.com/version" 
    targetNamespace="http://www.companyA.com/someservice" 
    elementFormDefault="qualified" attributeFormDefault="qualified"> 

    <xsd:import namespace="http://www.companyB.com/version" schemaLocation="filename.xsd" /> 

    <xsd:element name="MyName" type="MyType" /> 

    <xsd:complexType name="MyType"> 
     <xsd:annotation> 
     <xsd:documentation> 
      A list 
     </xsd:documentation> 
    </xsd:annotation> 
    <xsd:sequence> 
     <xsd:element name="entityName" type="companyB:entityName" maxOccurs="1" minOccurs="1"/> 
    </xsd:sequence> 
    </xsd:complexType> 
</xsd:schema> 
+0

私は私のメインのxsdを除いて同じエラーがディレクトリである私は、コマンドを実行し、XSDの私だそうです依存しているのはすでに他の(サブ)ディレクトリにあります。助言がありますか? – KingAndrew

+0

この時点で、残念ながら、 –

答えて

1

オクラホマは回避策を考え出しました:

すべての従属xsdを移動しました(問題のあるxsdの参照)他の未使用のxsdsを別のフォルダに追加してから、mavenを使ってコードを再生成しました。他の使用されていないxsdの名前空間といくつかの名前空間の競合があったようですが、まだ特定のものを指摘していません。

0

O'Rielly [Java and XML Chap3][1]はInputSourceのを使用して相対パスを解析することができるようになりますことを言う:

+0

はリンク先です:http://books.google.com/books?id=W63YTzab8gkC&pg=PA48&lpg=PA48&dq=%22java+and+xml%22+inputsource+sax+parser+chapter+3&source=bl&ots=GQl41zC-CE&sig = p1treNnjJVWvPTI21TLP9v -FrW0&hl = en&sa = X&ai = A5InUt3FHajc2QX2o4HYDg&ved = 0CFAQ6AEwBg#v = onepage&q =%22java%20and%20xml%22%20inputsource%20sax%20parser%20chapter%203&f = false – KingAndrew