2017-01-03 6 views
1

数時間後、いくつかのxrbl XSDのJavaスタブを作成できません。レガシーファイルに問題があるようです。そして、あなたはXJC出力をカスタマイズしようとすると、毎回:/ C:/ユーザー/カルロス%20Conti /デスクトップの空のターゲット・ノードで、 "スキーマ" の結果ファイルの
ライン4のXJC:XBRLスキーマ用のスタブの作成

[ERROR] XPath評価この後/ipp/2008/bindings.xml

、理論は私が競合を解決外部bindings.xmlファイルの形でカスタマイズを書かなければならないと言うが、私はそれを克服することができないのです。私は現在、XPathがカスタマイズファイル内の参照ファイルで最も基本的なノードを見つけることができない時点で立ち往生しています。

<jxb:bindings version="1.0" xmlns:jxb="http://java.sun.com/xml/ns/jaxb" xmlns:xsd="http://www.w3.org/2001/XMLSchema"> 
    <jxb:bindings schemaLocation="http://www.xbrl.org/2003/xl-2003-12-31.xsd" node="schema"> 
    <jxb:bindings node="//complexType[@name='locatorType']//sequence/element[@ref='xl:title']"> 
     <jxb:property ref="xlink:title" /> 
    </jxb:bindings> 
    </jxb:bindings> 
</jxb:bindings> 

Iは、外部カスタマイズとしてこれを含む場合、追加のエラーが出力された:空の "スキーマ" 結果の

[ERROR] XPath評価ここ

は、カスタマイズファイルでありますファイルのターゲット・ノード
行4:/ C:/Users/Carlos%20Conti/Desktop/ipp/2008/bindings.xml

Javaクラスをビルドしようとしているファイルがかなり大きいです。申し訳ありませんが、リンクすることはできません。しかし、主な問題は、そのファイル(xl-2003-12-31.xsd)内のインポートされたxsdから得られます。here

これは問題を解決するのに十分な情報である必要があります。

私は省略しているのですが、細部まで細かいと確信していますが、私は克服できません。

アドバイスは大歓迎です。

答えて

0

名前空間に問題があるように見えます。

XPath式:

//complexType[@name='locatorType']//sequence/element[@ref='xl:title'] 

はどこでも、空の接頭辞を持っていますが、デフォルトの名前空間はスコープ内にあるように見えません。したがって、XJCがデフォルトの名前空間を提供し文書化しない限り、これは上記のXPath式が空のシーケンスを返すことを意味します。実際、XMLスキーマの要素はXMLスキーマの名前空間にあります。

xmlns="http://www.w3.org/2001/XMLSchema" 

カスタマイズファイルのルート要素は、この名前空間を結合するので:それは接頭辞を使用していないにもかかわらず、それはデフォルトの名前空間バインディングを持っている、ので、あなたは(リンクが提供)XBRLのXLinkのスキーマにも見ることができますxsdプレフィックスに、このXPath式は、より良い仕事があります。

//xsd:complexType[@name='locatorType']//xsd:sequence/xsd:element[@ref='xl:title'] 

同じことが上の行に適用されます:node="schema"おそらくnode="xsd:schema"に置き換える必要があります。覚えておくべき

最も重要なことは、接頭辞(またはその欠如)を問題ではないことを、唯一の名前空間が問題です:

  • を2つの異なるファイルに2差の名前空間にバインドされた接頭辞が一致しませんそれ自体に対して
  • ただし、同じ名前空間にバインドされた2つの接頭辞は一致します。
関連する問題