2017-01-31 15 views
1

xmlINCLUDETEXTを使用して、Word文書にfieldを入力しようとしています。INCLUDETEXT特定のノードをXPath経由で選択

子ノードの値の値に基づいてノードを選択するXpathクエリに基づいて、特定のノードを取得したいと考えています。以下のXMLの例

<a:events xmlns:a="http://a.foo.org/"> 
    <a:event> 
    <a:title>Number 1</a:title> 
    <a:status>Draft</a:status> 
    <a:description/> 
    </a:event> 
    <a:event> 
    <a:title>Number 2</a:title> 
    <a:status>Live</a:status> 
    <a:description/> 
    </a:event> 
</a:events> 

XPathクエリa:events/a:event[a:status='Live']/a:titleは、要素ノード<a:title>Number 2</a:title>をつかむべきです。私はこれが動作することを確認しました。

ただし、Wordでは、INCLUDETEXT以下は動作しません。

{ INCLUDETEXT "foo.xml" \n xmlns:a=\"https://a.foo.org\" \x a:events/a:event[a:status='Live']/a:title \* MERGEFORMAT} 

何もINCLUDETEXTfieldに表示されません。私は[]セレクタを含め、他の基本的なXPathクエリを動作させることができますが、これは私のニーズにとって十分に堅牢ではありません。

この種類のXPathはサポートされていますか?私は答えをオンラインで検索しましたが、この機能はそれほど文書化されていないようです。

答えて

0

他の誰かがこれに悩まされている場合に備えて、私はこれに答えると思っていました。

トリックは引用符でXPath表現を配置することになった。予想通り

一度引用符で囲む
{ INCLUDETEXT "foo.xml" \n xmlns:a=\"https://a.foo.org\" \x "a:events/a:event[a:status='Live']/a:title" \* MERGEFORMAT} 

、すべてが働きました。

関連する問題