XPath 式

XPath 式を使用して、Adobe FrameMaker の XML 文書内のエレメント間を移動する方法について説明します。

このトピックの内容

概要

XML 文書はエレメントの階層で構成されています。 XPath 式を使用して、XML 文書内でエレメントと属性間を移動します。

XPath の例

次の XML ファイルを使用します。

<topic id="abc">
  <title>Using XPATH</title>
  <body>
    <p>Using XPATH is easy.</p>
    <fig>
      <image href="images/xpath.png"/>
    </fig>
    <section>
      <title>Examples</title>
      <p audience="novice">A simple example.</p>
      <p audience="expert">An advanced example.</p>
      <p audience="expert">Another advanced example.</p>
      <fig>
        <image href="images/xpath-axes.png">
          <alt>This screenshot shows the XPATH axes</alt>
        </image>
      </fig>
    </section>
    <p>The End.</p>
  </body>
</topic>

次の表には、上記の XML の例に対する XPath 式のリストが含まれています。

XPath クエリー

場所

/topic

この <topic> ルートエレメントを返します。

//title

すべての <title> エレメントを返します。

//section/title

<section> エレメントの子である <title> エレメントのみを返します。

//p

すべての <p> エレメントを返します。

//p[@audience='expert']

<p> エレメント( @audience 属性が expert に設定されているもの)を返します。

//p[not(@audience)]

<p> エレメント( @audience 属性がないもの)を返します。

//p[not(@audience='admin')]

<p> エレメント( @audience 属性の値が admin ではないもの、または audience 属性がないもの)を返します。

//p[text()='To start this process']

<p> エレメント(テキスト文字列 To start this process で始まるもの)を返します。

//p[contains(.,'button')]

<p> エレメント(テキスト内にテキスト文字列 button を含むもの)を返します。

//image[not(alt)]

<image> エレメント( <alt> 子エレメントがないもの)を返します。

XPath について詳しくは、http://www.w3.org/TR/xpath/ を参照してください

XPath ツールバー

  1. 表示 > ツールバー > XPath を選択して、 XPath ツールバーを開きます。

    Figure 1. XPath ツールバー
    FrameMaker の XPath ツールバー

  2. 「XPath」フィールドに XPath 式を入力し、「実行」ボタンをクリックします。

クエリの結果は、 XPath ビルダー パネルに表示されます。

XPath ビルダーパネル

Figure 2. XPath ビルダーパネル
FrameMaker の XPath ビルダーパネル

クエリービルダーは、XPath 式の作成にも便利なインターフェイスです。クエリービルダーでは、XPath クエリーを作成(自動候補機能を使用)して実行できます。

検索の範囲を指定することもできます。

XPath 自動候補

自動候補機能は、クエリーを作成するときに XPath 式に追加できるコンポーネントの候補を提示します。

次の XML の場合:

<body> 
<p>The quick brown fox.</p> 
<p audience="admin">Jumped over the lazy dogs.</p> 
</body>
  1. クエリビルダー」フィールドで、最初にフォワードスラッシュ(/)を入力します。

    フォワードスラッシュを入力するとすぐに、以下の候補が表示されます。

    自動候補
    XPath ビルダーパネルの自動候補

  2. 上向き矢印キーと下向き矢印キーを使用してオプションを選択し、Enter キーを押してクエリーにコンポーネントを挿入します。

  3. 他のエレメントをクエリーに追加するには、フォーワードスラッシュを入力します。

    また、左角括弧([)を入力してもクエリーに追加できます。

自動候補リストには XPath クエリーの次のコンポーネントが含まれます。

エレメント(オレンジ色の表示)

現在の文書の現在の位置にあるエレメント。

属性(青色の表示)

現在の文書の現在の位置にある属性。

軸(緑色の表示)

現在のノードに関連するノード定義。 例えば、親、子、先祖など。

自動候補を有効にする」オプションの右側にあるドロップダウンリストをクリックして、「」オプションの選択を解除し、自動候補リストで利用可能な軸を非表示にします。

Note: クエリービルダーの自動候補機能を無効にできます。

保存アイコンをクリックして、XPath クエリーの現在の結果を保存します。