<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" href="/share/tmpl/basic.xsl"?>
<!-- ※出力にはブラウザのxsltプロセッサを使用してます。Chrome、Safari、IE などでご覧くださいませ。(現在のところFirefoxとOperaは微妙です。2010.06.01) -->
<root>
	<variable name="id" value="2_1_0" />
	<inc name="common" href="/share/tmpl/inc_common.xml" />
	<content>

<p>XPath とは XML 文書内の特定のデータ（要素や属性など）の位置を指定する言語構文です。</p>
<p>条件式を付加することにより、さらに細かくデータ（要素や属性など）を絞り込むこともできます。</p>

<ul>
<li><a href="#rule">決まりごと</a>
	<ul>
	<li><a href="#location_step">ロケーションステップの書き方</a></li>
	<li><a href="#axis">軸</a></li>
	<li><a href="#node_test">ノードテスト</a></li>
	<li><a href="#abbr">軸とノードテストに関連した省略記法</a></li>
	<li><a href="#operatort_num">数値を返す式の演算子</a></li>
	<li><a href="#operatort_boolean">ブール値を返す式の演算子</a></li>
	</ul></li>
<li><a href="#sample">使い方のサンプル</a>
	<ul>
	<li><a href="#location_step_node_test">ロケーションステップ（軸::ノードテスト）</a>
		<ul>
		<li><a href="#self">self</a></li>
		<li><a href="#child">child</a></li>
		<li><a href="#descendant">descendant</a></li>
		<li><a href="#descendant-or-self">descendant-or-self</a></li>
		<li><a href="#parent">parent</a></li>
		<li><a href="#ancestor">ancestor</a></li>
		<li><a href="#ancestor-or-self">ancestor-or-self</a></li>
		<li><a href="#preceding">preceding</a></li>
		<li><a href="#preceding-sibling">preceding-sibling</a></li>
		<li><a href="#following">following</a></li>
		<li><a href="#following-sibling">following-sibling</a></li>
		<li><a href="#attribute">attribute</a></li>
		<li><a href="#namespace">namespace</a></li>
		</ul></li>
	<li><a href="#location_step_operatort">述語を含むロケーションステップ（軸::ノードテスト[式]）</a></li>
	</ul></li>
	<li><a href="#sample_dl">サンプルファイルのダウンロード</a></li>
</ul>





<h2 name="rule" id="rule">決まりごと</h2>

<p>軸（axis）は移動する方向を指定します。ノードテスト（node test）はどの種類のノードに適用するかを指定します。述語（predicate）のリストは省略可能で、真偽値のテストを使って移動できる候補をさらに絞り込むために指定します。</p>

<table summary="ロケーションステップの書き方" name="location_step" id="location_step">
<caption>ロケーションステップの書き方</caption>
<col width="35%"/>
<col width="60%"/>
<thead>
<tr><th>ロケーションステップ</th><th>書き方</th></tr>
</thead>
<tbody>
<tr><th>ロケーションステップ</th><td>軸::ノードテスト</td></tr>
<tr><th>述語を含むロケーションステップ</th><td>軸::ノードテスト[式]</td></tr>
</tbody>
</table>

<table summary="軸（axis）の種類" name="axis" id="axis">
<caption>軸（axis）の種類</caption>
<col width="35%"/>
<col width="60%"/>
<thead>
<tr><th>軸</th><th>説明</th></tr>
</thead>
<tbody>
<tr><th>self</th><td>コンテキストノード自身</td></tr>
<tr><th>child</th><td>コンテキストノードの子ノード</td></tr>
<tr><th>descendant</th><td>コンテキストノードの子孫ノード</td></tr>
<tr><th>descendant-or-self</th><td>コンテキストノードとその子孫ノード</td></tr>
<tr><th>parent</th><td>コンテキストノードの親ノード</td></tr>
<tr><th>ancestor</th><td>コンテキストノードの祖先ノード</td></tr>
<tr><th>ancestor-or-self</th><td>コンテキストノードとその祖先ノード</td></tr>
<tr><th>preceding</th><td>コンテキストノードの兄弟ノードのうちコンテキストノードより文書順が後に位置するノード</td></tr>
<tr><th>preceding-sibling</th><td>コンテキストノードの兄弟ノードのうちコンテキストノードより文書順が前に位置するノード</td></tr>
<tr><th>following</th><td>文書順でコンテキストノードより後に位置するノード全て（子孫ノードは含まない）</td></tr>
<tr><th>following-sibling</th><td>文書順でコンテキストノードより前に位置するノード全て（子孫ノードは含まない）</td></tr>
<tr><th>attribute</th><td>コンテキストノードの属性ノード</td></tr>
<tr><th>namespace</th><td>コンテキストノードの名前空間ノード</td></tr>
</tbody>
</table>

<table summary="ノードテスト（node test）の一覧" name="node_test" id="node_test">
<caption>ノードテスト（node test）</caption>
<col width="35%"/>
<col width="60%"/>
<thead>
<tr><th>ノードテスト</th><th>説明</th></tr>
</thead>
<tbody>
<tr><th>修飾名</th><td>attribute軸の場合は属性名、namespace軸の場合は名前空間接頭辞、それ以外の場合は要素型名</td></tr>
<tr><th>text()</th><td>テキストノードすべて</td></tr>
<tr><th>comment()</th><td>コメントノードすべて</td></tr>
<tr><th>processing-instruction() </th><td>処理命令すべて</td></tr>
<tr><th>processing-instruction(処理命令ターゲット)</th><td>指定された処理命令ターゲットを持つ処理命令すべて</td></tr>
<tr><th>node()</th><td>任意の型のノードすべて</td></tr>
<tr><th>*</th><td>主ノード型のノードすべて</td></tr>
<tr><th>名前空間接頭辞:*</th><td>名前空間接頭辞が表す名前空間に属する主ノードすべて</td></tr>
</tbody>
</table>

<table summary="省略記法の一覧" name="abbr" id="abbr">
<caption>軸とノードテストに関連した省略記法</caption>
<col width="35%"/>
<col width="60%"/>
<thead>
<tr><th>省略した書き方</th><th>正式な書き方</th></tr>
</thead>
<tbody>
<tr><th>省略</th><td>child::</td></tr>
<tr><th>@</th><td>attribute::</td></tr>
<tr><th>//</th><td>/descendant-or-self::node()/</td></tr>
<tr><th>.</th><td>self::node()</td></tr>
<tr><th>..</th><td>parent::node()</td></tr>
</tbody>
</table>

<table summary="数値を返す式の演算子の一覧" name="operatort_num" id="operatort_num">
<caption>数値を返す式の演算子</caption>
<col width="35%"/>
<col width="60%"/>
<thead>
<tr><th>演算子</th><th>説明</th></tr>
</thead>
<tbody>
<tr><th>+</th><td>加算</td></tr>
<tr><th>-</th><td>減算</td></tr>
<tr><th>*</th><td>掛け算</td></tr>
<tr><th>div</th><td>割り算</td></tr>
<tr><th>mod</th><td>剰余</td></tr>
</tbody>
</table>

<table summary="ブール値を返す式の演算子の一覧" name="operatort_boolean" id="operatort_boolean">
<caption>ブール値を返す式の演算子</caption>
<col width="35%"/>
<col width="60%"/>
<thead>
<tr><th>演算子</th><th>説明</th></tr>
</thead>
<tbody>
<tr><th>=</th><td>等しい</td></tr>
<tr><th>!=</th><td>等しくない</td></tr>
<tr><th>&gt;</th><td>より大きい（記述するときは実態参照で：<![CDATA[&gt;]]>）</td></tr>
<tr><th>&lt;</th><td>より小さい（記述するときは実態参照で：<![CDATA[&lt;]]>）</td></tr>
<tr><th>&gt;=</th><td>以上（記述するときは実態参照で：<![CDATA[&gt;=]]>）</td></tr>
<tr><th>&lt;=</th><td>以下（記述するときは実態参照で：<![CDATA[&lt;=]]>）</td></tr>
<tr><th>and</th><td>両方とも真ならば真</td></tr>
<tr><th>or</th><td>どちらかが真ならば真</td></tr>
</tbody>
</table>

<h2 name="sample" id="sample">使い方のサンプル</h2>

<h3 name="location_step_node_test" id="location_step_node_test">ロケーションステップ（軸::ノードテスト）</h3>

<p>まずは式を含まない簡単なロケーションステップです。</p>

<p>要素の親子関係を意識した方がわかりやすいと思うので、下記のような XML 文書を用意してみました。<br />
下記の <strong>タラゴン</strong> をコンテキストノードとし、<a href="#axis">それぞれの軸</a>の要素を呼び出します。</p>

<p>※実行結果：<a href="sample/smpl_xpath.zip">smpl_xpath.zip</a>（<a href="sample/smpl_xpath.xml">smpl_xpath.xml</a> , <a href="sample/smpl_xpath.xsl">smpl_xpath.xsl</a> , <a href="sample/smpl_xpath.xsl">smpl_xpath.html</a>）</p>


<dl>
<dt name="smpl_xpath_xml" id="smpl_xpath_xml">xml（<a href="sample/smpl_xpath.xml">smpl_xpath.xml</a>）</dt>
<dd>
<pre class="brush:xslt;">
&lt;nodemaproot&gt;
   &lt;nodemap node_title=&quot;先祖&quot; node_id=&quot;1&quot;&gt;アサフェティダ
      &lt;nodemap node_title=&quot;おじ&quot; node_id=&quot;1-1&quot;&gt;アジョワン
         &lt;nodemap node_title=&quot;いとこ&quot; node_id=&quot;1-1-1&quot;&gt;アニス
            &lt;nodemap node_title=&quot;従姪&quot; node_id=&quot;1-1-1-1&quot;&gt;サンショウ
               &lt;nodemap node_title=&quot;従姪孫&quot; node_id=&quot;1-1-1-1-1&quot;&gt;オールスパイス&lt;/nodemap&gt;
               &lt;nodemap node_title=&quot;従姪孫&quot; node_id=&quot;1-1-1-1-2&quot;&gt;オレガノ&lt;/nodemap&gt;
               &lt;nodemap node_title=&quot;従姪孫&quot; node_id=&quot;1-1-1-1-3&quot;&gt;カルダモン&lt;/nodemap&gt;
            &lt;/nodemap&gt;
         &lt;/nodemap&gt;
         &lt;nodemap node_title=&quot;いとこ&quot; node_id=&quot;1-1-2&quot;&gt;カレーリーフ
            &lt;nodemap node_title=&quot;従姪&quot; node_id=&quot;1-1-2-1&quot;&gt;キャラウェイ
               &lt;nodemap node_title=&quot;従姪孫&quot; node_id=&quot;1-1-2-1-1&quot;&gt;クミン&lt;/nodemap&gt;
               &lt;nodemap node_title=&quot;従姪孫&quot; node_id=&quot;1-1-2-1-2&quot;&gt;グリーンペッパー&lt;/nodemap&gt;
               &lt;nodemap node_title=&quot;従姪孫&quot; node_id=&quot;1-1-2-1-3&quot;&gt;クローブ&lt;/nodemap&gt;
            &lt;/nodemap&gt;
         &lt;/nodemap&gt;
      &lt;/nodemap&gt;
      &lt;nodemap node_title=&quot;親&quot; node_id=&quot;1-2&quot;&gt;コショウ
         &lt;nodemap node_title=&quot;兄&quot; node_id=&quot;1-2-1&quot;&gt;コリアンダー
            &lt;nodemap node_title=&quot;姪&quot; node_id=&quot;1-2-1-1&quot;&gt;サフラン
               &lt;nodemap node_title=&quot;姪孫&quot; node_id=&quot;1-2-1-1-1&quot;&gt;シソ&lt;/nodemap&gt;
               &lt;nodemap node_title=&quot;姪孫&quot; node_id=&quot;1-2-1-1-2&quot;&gt;シナモン&lt;/nodemap&gt;
               &lt;nodemap node_title=&quot;姪孫&quot; node_id=&quot;1-2-1-1-3&quot;&gt;ショウガ&lt;/nodemap&gt;
            &lt;/nodemap&gt;
         &lt;/nodemap&gt;
         &lt;nodemap node_title=&quot;姉&quot; node_id=&quot;1-2-2&quot;&gt;スターアニス
            &lt;nodemap node_title=&quot;姪&quot; node_id=&quot;1-2-2-1&quot;&gt;セージ
               &lt;nodemap node_title=&quot;姪孫&quot; node_id=&quot;1-2-2-1-1&quot;&gt;タイム&lt;/nodemap&gt;
               &lt;nodemap node_title=&quot;姪孫&quot; node_id=&quot;1-2-2-1-2&quot;&gt;ターメリック&lt;/nodemap&gt;
               &lt;nodemap node_title=&quot;姪孫&quot; node_id=&quot;1-2-2-1-3&quot;&gt;タデ&lt;/nodemap&gt;
            &lt;/nodemap&gt;
         &lt;/nodemap&gt;
         &lt;nodemap node_title=&quot;自分&quot; node_id=&quot;1-2-3&quot;&gt;タラゴン
            &lt;nodemap node_title=&quot;子&quot; node_id=&quot;1-2-3-1&quot;&gt;ディル
               &lt;nodemap node_title=&quot;孫&quot; node_id=&quot;1-2-3-1-1&quot;&gt;レッドペッパー&lt;/nodemap&gt;
               &lt;nodemap node_title=&quot;孫&quot; node_id=&quot;1-2-3-1-2&quot;&gt;ナツメグ&lt;/nodemap&gt;
               &lt;nodemap node_title=&quot;孫&quot; node_id=&quot;1-2-3-1-3&quot;&gt;ニンニク&lt;/nodemap&gt;
            &lt;/nodemap&gt;
         &lt;/nodemap&gt;
         &lt;nodemap node_title=&quot;弟&quot; node_id=&quot;1-2-4&quot;&gt;バニラ
            &lt;nodemap node_title=&quot;姪&quot; node_id=&quot;1-2-4-1&quot;&gt;パプリカ
               &lt;nodemap node_title=&quot;姪孫&quot; node_id=&quot;1-2-4-1-1&quot;&gt;フェヌグリーク&lt;/nodemap&gt;
               &lt;nodemap node_title=&quot;姪孫&quot; node_id=&quot;1-2-4-1-2&quot;&gt;フェンネル&lt;/nodemap&gt;
               &lt;nodemap node_title=&quot;姪孫&quot; node_id=&quot;1-2-4-1-3&quot;&gt;ブラッククミン&lt;/nodemap&gt;
            &lt;/nodemap&gt;
         &lt;/nodemap&gt;
         &lt;nodemap node_title=&quot;妹&quot; node_id=&quot;1-2-5&quot;&gt;ミント
            &lt;nodemap node_title=&quot;姪&quot; node_id=&quot;1-2-5-1&quot;&gt;かんずり
               &lt;nodemap node_title=&quot;姪孫&quot; node_id=&quot;1-2-5-1-1&quot;&gt;ポピー・シード&lt;/nodemap&gt;
               &lt;nodemap node_title=&quot;姪孫&quot; node_id=&quot;1-2-5-1-2&quot;&gt;マージョラム&lt;/nodemap&gt;
               &lt;nodemap node_title=&quot;姪孫&quot; node_id=&quot;1-2-5-1-3&quot;&gt;マスタード&lt;/nodemap&gt;
            &lt;/nodemap&gt;
         &lt;/nodemap&gt;
      &lt;/nodemap&gt;
      &lt;nodemap node_title=&quot;おば&quot; node_id=&quot;1-3&quot;&gt;ミョウガ
         &lt;nodemap node_title=&quot;いとこ&quot; node_id=&quot;1-3-1&quot;&gt;ローズマリー
            &lt;nodemap node_title=&quot;従姪&quot; node_id=&quot;1-3-1-1&quot;&gt;ローリエ
               &lt;nodemap node_title=&quot;従姪孫&quot; node_id=&quot;1-3-1-1-1&quot;&gt;ワサビ&lt;/nodemap&gt;
               &lt;nodemap node_title=&quot;従姪孫&quot; node_id=&quot;1-3-1-1-2&quot;&gt;五香粉&lt;/nodemap&gt;
               &lt;nodemap node_title=&quot;従姪孫&quot; node_id=&quot;1-3-1-1-3&quot;&gt;ガラムマサラ&lt;/nodemap&gt;
            &lt;/nodemap&gt;
         &lt;/nodemap&gt;
         &lt;nodemap node_title=&quot;いとこ&quot; node_id=&quot;1-3-2&quot;&gt;カレー粉
            &lt;nodemap node_title=&quot;従姪&quot; node_id=&quot;1-3-2-1&quot;&gt;ローズヒップ
               &lt;nodemap node_title=&quot;従姪孫&quot; node_id=&quot;1-3-2-1-1&quot;&gt;七味唐辛子&lt;/nodemap&gt;
               &lt;nodemap node_title=&quot;従姪孫&quot; node_id=&quot;1-3-2-1-2&quot;&gt;チリパウダー&lt;/nodemap&gt;
               &lt;nodemap node_title=&quot;従姪孫&quot; node_id=&quot;1-3-2-1-3&quot;&gt;柚子胡椒&lt;/nodemap&gt;
            &lt;/nodemap&gt;
         &lt;/nodemap&gt;
      &lt;/nodemap&gt;
   &lt;/nodemap&gt;
&lt;/nodemaproot&gt;
</pre>
</dd>
</dl>


<p>この時、各 nodemap 要素はそれぞれ下記の軸に含まれます。</p>

<div class="smplimg">

<ul class="nodemap_tree">
<li><em>先祖</em>　アサフェティダ<span class="icon_ancestor">ancestor</span><span class="icon_ancestor-or-self">ancestor-or-self</span>
<ul class="nodemap_tree">
<li><em>おじ</em>　アジョワン<span class="icon_preceding">preceding</span>
<ul class="nodemap_tree">
<li><em>いとこ</em>　アニス<span class="icon_preceding">preceding</span>
<ul class="nodemap_tree">
<li><em>従姪</em>　サンショウ<span class="icon_preceding">preceding</span>
<ul class="nodemap_tree">
<li><em>従姪孫</em>　オールスパイス<span class="icon_preceding">preceding</span></li>
<li><em>従姪孫</em>　オレガノ<span class="icon_preceding">preceding</span></li>
<li><em>従姪孫</em>　カルダモン<span class="icon_preceding">preceding</span></li>
</ul></li>
</ul></li>
<li><em>いとこ</em>　カレーリーフ<span class="icon_preceding">preceding</span>
<ul class="nodemap_tree">
<li><em>従姪</em>　キャラウェイ<span class="icon_preceding">preceding</span>
<ul class="nodemap_tree">
<li><em>従姪孫</em>　クミン<span class="icon_preceding">preceding</span></li>
<li><em>従姪孫</em>　グリーンペッパー<span class="icon_preceding">preceding</span></li>
<li><em>従姪孫</em>　クローブ<span class="icon_preceding">preceding</span></li>
</ul></li>
</ul></li>
</ul></li>
<li><em>親</em>　コショウ<span class="icon_parent">parent</span><span class="icon_ancestor">ancestor</span><span class="icon_ancestor-or-self">ancestor-or-self</span>
<ul class="nodemap_tree">
<li><em>兄</em>　コリアンダー<span class="icon_preceding">preceding</span><span class="icon_preceding-sibling">preceding-sibling</span>
<ul class="nodemap_tree">
<li><em>姪</em>　サフラン<span class="icon_preceding">preceding</span>
<ul class="nodemap_tree">
<li><em>姪孫</em>　シソ<span class="icon_preceding">preceding</span></li>
<li><em>姪孫</em>　シナモン<span class="icon_preceding">preceding</span></li>
<li><em>姪孫</em>　ショウガ<span class="icon_preceding">preceding</span></li>
</ul></li>
</ul></li>
<li><em>姉</em>　スターアニス<span class="icon_preceding">preceding</span><span class="icon_preceding-sibling">preceding-sibling</span>
<ul class="nodemap_tree">
<li><em>姪</em>　セージ<span class="icon_preceding">preceding</span>
<ul class="nodemap_tree">
<li><em>姪孫</em>　タイム<span class="icon_preceding">preceding</span></li>
<li><em>姪孫</em>　ターメリック<span class="icon_preceding">preceding</span></li>
<li><em>姪孫</em>　タデ<span class="icon_preceding">preceding</span></li>
</ul></li>
</ul></li>
<li><em>自分</em>　<strong>タラゴン</strong><span class="icon_self">self</span><span class="icon_descendant-or-self">descendant-or-self</span><span class="icon_ancestor-or-self">ancestor-or-self</span>
<ul class="nodemap_tree">
<li><em>子</em>　ディル<span class="icon_child">child</span><span class="icon_descendant">descendant</span><span class="icon_descendant-or-self">descendant-or-self</span>
<ul class="nodemap_tree">
<li><em>孫</em>　レッドペッパー<span class="icon_descendant">descendant</span><span class="icon_descendant-or-self">descendant-or-self</span></li>
<li><em>孫</em>　ナツメグ<span class="icon_descendant">descendant</span><span class="icon_descendant-or-self">descendant-or-self</span></li>
<li><em>孫</em>　ニンニク<span class="icon_descendant">descendant</span><span class="icon_descendant-or-self">descendant-or-self</span></li>
</ul></li>
</ul></li>
<li><em>弟</em>　バニラ<span class="icon_following">following</span><span class="icon_following-sibling">following-sibling</span><ul class="nodemap_tree">
<li><em>姪</em>　パプリカ<span class="icon_following">following</span>
<ul class="nodemap_tree">
<li><em>姪孫</em>　フェヌグリーク<span class="icon_following">following</span></li>
<li><em>姪孫</em>　フェンネル<span class="icon_following">following</span></li>
<li><em>姪孫</em>　ブラッククミン<span class="icon_following">following</span></li>
</ul></li>
</ul></li>
<li><em>妹</em>　ミント<span class="icon_following">following</span><span class="icon_following-sibling">following-sibling</span><ul class="nodemap_tree">
<li><em>姪</em>　かんずり<span class="icon_following">following</span>
<ul class="nodemap_tree">
<li><em>姪孫</em>　ポピー・シード<span class="icon_following">following</span></li>
<li><em>姪孫</em>　マージョラム<span class="icon_following">following</span></li>
<li><em>姪孫</em>　マスタード<span class="icon_following">following</span></li>
</ul></li>
</ul></li>
</ul></li>
<li><em>おば</em>　ミョウガ<span class="icon_following">following</span>
<ul class="nodemap_tree">
<li><em>いとこ</em>　ローズマリー<span class="icon_following">following</span>
<ul class="nodemap_tree">
<li><em>従姪</em>　ローリエ<span class="icon_following">following</span>
<ul class="nodemap_tree">
<li><em>従姪孫</em>　ワサビ<span class="icon_following">following</span></li>
<li><em>従姪孫</em>　五香粉<span class="icon_following">following</span></li>
<li><em>従姪孫</em>　ガラムマサラ<span class="icon_following">following</span></li>
</ul></li>
</ul></li>
<li><em>いとこ</em>　カレー粉<span class="icon_following">following</span>
<ul class="nodemap_tree">
<li><em>従姪</em>　ローズヒップ<span class="icon_following">following</span>
<ul class="nodemap_tree">
<li><em>従姪孫</em>　七味唐辛子<span class="icon_following">following</span></li>
<li><em>従姪孫</em>　チリパウダー<span class="icon_following">following</span></li>
<li><em>従姪孫</em>　柚子胡椒<span class="icon_following">following</span></li>
</ul></li>
</ul></li>
</ul></li>
</ul></li>
</ul>

</div>

<h4 name="self" id="self">self</h4>
<p>コンテキストノード自身</p>
<dl>
<dt>xslt</dt>
<dd>
<pre class="brush:xslt;">
&lt;xsl:for-each select=&quot;self::nodemap&quot;&gt;
&lt;p&gt;&lt;em&gt;&lt;xsl:value-of select=&quot;node()&quot; /&gt;&lt;/em&gt;　（@node_title：&lt;xsl:value-of select=&quot;@node_title&quot; /&gt; , @node_id：&lt;xsl:value-of select=&quot;@node_id&quot; /&gt; , ）&lt;/p&gt;
&lt;/xsl:for-each&gt;
</pre>
</dd>
<dt>html</dt>
<dd>
<pre class="brush:xslt;">
&lt;p&gt;&lt;em&gt;タラゴン&lt;/em&gt;　（@node_title：自分 , @node_id：1-2-3 , ）&lt;/p&gt;
</pre>
</dd>
</dl>



<h4 name="child" id="child">child</h4>
<p>コンテキストノードの子ノード</p>
<dl>
<dt>xslt</dt>
<dd>
<pre class="brush:xslt;">
&lt;xsl:for-each select=&quot;child::nodemap&quot;&gt;
&lt;p&gt;&lt;em&gt;&lt;xsl:value-of select=&quot;node()&quot; /&gt;&lt;/em&gt;　（@node_title：&lt;xsl:value-of select=&quot;@node_title&quot; /&gt; , @node_id：&lt;xsl:value-of select=&quot;@node_id&quot; /&gt; , ）&lt;/p&gt;
&lt;/xsl:for-each&gt;
</pre>
</dd>
<dt>html</dt>
<dd>
<pre class="brush:xslt;">
&lt;p&gt;&lt;em&gt;ディル&lt;/em&gt;　（@node_title：子 , @node_id：1-2-3-1 , ）&lt;/p&gt;
</pre>
</dd>
</dl>


<h4 name="descendant" id="descendant">descendant</h4>
<p>コンテキストノードの子孫ノード</p>
<dl>
<dt>xslt</dt>
<dd>
<pre class="brush:xslt;">
&lt;xsl:for-each select=&quot;descendant::nodemap&quot;&gt;
&lt;p&gt;&lt;em&gt;&lt;xsl:value-of select=&quot;node()&quot; /&gt;&lt;/em&gt;　（@node_title：&lt;xsl:value-of select=&quot;@node_title&quot; /&gt; , @node_id：&lt;xsl:value-of select=&quot;@node_id&quot; /&gt; , ）&lt;/p&gt;
&lt;/xsl:for-each&gt;
</pre>
</dd>
<dt>html</dt>
<dd>
<pre class="brush:xslt;">
&lt;p&gt;&lt;em&gt;ディル&lt;/em&gt;　（@node_title：子 , @node_id：1-2-3-1 , ）&lt;/p&gt;
&lt;p&gt;&lt;em&gt;レッドペッパー&lt;/em&gt;　（@node_title：孫 , @node_id：1-2-3-1-1 , ）&lt;/p&gt;
&lt;p&gt;&lt;em&gt;ナツメグ&lt;/em&gt;　（@node_title：孫 , @node_id：1-2-3-1-2 , ）&lt;/p&gt;
&lt;p&gt;&lt;em&gt;ニンニク&lt;/em&gt;　（@node_title：孫 , @node_id：1-2-3-1-3 , ）&lt;/p&gt;
</pre>
</dd>
</dl>



<h4 name="descendant-or-self" id="descendant-or-self">descendant-or-self</h4>
<p>コンテキストノードとその子孫ノード</p>
<dl>
<dt>xslt</dt>
<dd>
<pre class="brush:xslt;">
&lt;xsl:for-each select=&quot;descendant-or-self::nodemap&quot;&gt;
&lt;p&gt;&lt;em&gt;&lt;xsl:value-of select=&quot;node()&quot; /&gt;&lt;/em&gt;　（@node_title：&lt;xsl:value-of select=&quot;@node_title&quot; /&gt; , @node_id：&lt;xsl:value-of select=&quot;@node_id&quot; /&gt; , ）&lt;/p&gt;
&lt;/xsl:for-each&gt;
</pre>
</dd>
<dt>html</dt>
<dd>
<pre class="brush:xslt;">
&lt;p&gt;&lt;em&gt;タラゴン&lt;/em&gt;　（@node_title：自分 , @node_id：1-2-3 , ）&lt;/p&gt;
&lt;p&gt;&lt;em&gt;ディル&lt;/em&gt;　（@node_title：子 , @node_id：1-2-3-1 , ）&lt;/p&gt;
&lt;p&gt;&lt;em&gt;レッドペッパー&lt;/em&gt;　（@node_title：孫 , @node_id：1-2-3-1-1 , ）&lt;/p&gt;
&lt;p&gt;&lt;em&gt;ナツメグ&lt;/em&gt;　（@node_title：孫 , @node_id：1-2-3-1-2 , ）&lt;/p&gt;
&lt;p&gt;&lt;em&gt;ニンニク&lt;/em&gt;　（@node_title：孫 , @node_id：1-2-3-1-3 , ）&lt;/p&gt;
</pre>
</dd>
</dl>



<h4 name="parent" id="parent">parent</h4>
<p>コンテキストノードの親ノード</p>
<dl>
<dt>xslt</dt>
<dd>
<pre class="brush:xslt;">
&lt;xsl:for-each select=&quot;parent::nodemap&quot;&gt;
&lt;p&gt;&lt;em&gt;&lt;xsl:value-of select=&quot;node()&quot; /&gt;&lt;/em&gt;　（@node_title：&lt;xsl:value-of select=&quot;@node_title&quot; /&gt; , @node_id：&lt;xsl:value-of select=&quot;@node_id&quot; /&gt; , ）&lt;/p&gt;
&lt;/xsl:for-each&gt;
</pre>
</dd>
<dt>html</dt>
<dd>
<pre class="brush:xslt;">
&lt;p&gt;&lt;em&gt;コショウ&lt;/em&gt;　（@node_title：親 , @node_id：1-2 , ）&lt;/p&gt;
</pre>
</dd>
</dl>



<h4 name="ancestor" id="ancestor">ancestor</h4>
<p>コンテキストノードの祖先ノード</p>
<dl>
<dt>xslt</dt>
<dd>
<pre class="brush:xslt;">
&lt;xsl:for-each select=&quot;ancestor::nodemap&quot;&gt;
&lt;p&gt;&lt;em&gt;&lt;xsl:value-of select=&quot;node()&quot; /&gt;&lt;/em&gt;　（@node_title：&lt;xsl:value-of select=&quot;@node_title&quot; /&gt; , @node_id：&lt;xsl:value-of select=&quot;@node_id&quot; /&gt; , ）&lt;/p&gt;
&lt;/xsl:for-each&gt;
</pre>
</dd>
<dt>html</dt>
<dd>
<pre class="brush:xslt;">
&lt;p&gt;&lt;em&gt;アサフェティダ&lt;/em&gt;　（@node_title：先祖 , @node_id：1 , ）&lt;/p&gt;
&lt;p&gt;&lt;em&gt;コショウ&lt;/em&gt;　（@node_title：親 , @node_id：1-2 , ）&lt;/p&gt;
</pre>
</dd>
</dl>


<h4 name="ancestor-or-self" id="ancestor-or-self">ancestor-or-self</h4>
<p>コンテキストノードとその祖先ノード</p>
<dl>
<dt>xslt</dt>
<dd>
<pre class="brush:xslt;">
&lt;xsl:for-each select=&quot;ancestor-or-self::nodemap&quot;&gt;
&lt;p&gt;&lt;em&gt;&lt;xsl:value-of select=&quot;node()&quot; /&gt;&lt;/em&gt;　（@node_title：&lt;xsl:value-of select=&quot;@node_title&quot; /&gt; , @node_id：&lt;xsl:value-of select=&quot;@node_id&quot; /&gt; , ）&lt;/p&gt;
&lt;/xsl:for-each&gt;
</pre>
</dd>
<dt>html</dt>
<dd>
<pre class="brush:xslt;">
&lt;p&gt;&lt;em&gt;アサフェティダ&lt;/em&gt;　（@node_title：先祖 , @node_id：1 , ）&lt;/p&gt;
&lt;p&gt;&lt;em&gt;コショウ&lt;/em&gt;　（@node_title：親 , @node_id：1-2 , ）&lt;/p&gt;
&lt;p&gt;&lt;em&gt;タラゴン&lt;/em&gt;　（@node_title：自分 , @node_id：1-2-3 , ）&lt;/p&gt;
</pre>
</dd>
</dl>



<h4 name="preceding" id="preceding">preceding</h4>
<p>コンテキストノードの兄弟ノードのうちコンテキストノードより文書順が後に位置するノード</p>
<dl>
<dt>xslt</dt>
<dd>
<pre class="brush:xslt;">
&lt;xsl:for-each select=&quot;preceding::nodemap&quot;&gt;
&lt;p&gt;&lt;em&gt;&lt;xsl:value-of select=&quot;node()&quot; /&gt;&lt;/em&gt;　（@node_title：&lt;xsl:value-of select=&quot;@node_title&quot; /&gt; , @node_id：&lt;xsl:value-of select=&quot;@node_id&quot; /&gt; , ）&lt;/p&gt;
&lt;/xsl:for-each&gt;
</pre>
</dd>
<dt>html</dt>
<dd>
<pre class="brush:xslt;">
&lt;p&gt;&lt;em&gt;アジョワン&lt;/em&gt;　（@node_title：おじ , @node_id：1-1 , ）&lt;/p&gt;
&lt;p&gt;&lt;em&gt;アニス&lt;/em&gt;　（@node_title：いとこ , @node_id：1-1-1 , ）&lt;/p&gt;
&lt;p&gt;&lt;em&gt;サンショウ&lt;/em&gt;　（@node_title：従姪 , @node_id：1-1-1-1 , ）&lt;/p&gt;
&lt;p&gt;&lt;em&gt;オールスパイス&lt;/em&gt;　（@node_title：従姪孫 , @node_id：1-1-1-1-1 , ）&lt;/p&gt;
&lt;p&gt;&lt;em&gt;オレガノ&lt;/em&gt;　（@node_title：従姪孫 , @node_id：1-1-1-1-2 , ）&lt;/p&gt;
&lt;p&gt;&lt;em&gt;カルダモン&lt;/em&gt;　（@node_title：従姪孫 , @node_id：1-1-1-1-3 , ）&lt;/p&gt;
&lt;p&gt;&lt;em&gt;カレーリーフ&lt;/em&gt;　（@node_title：いとこ , @node_id：1-1-2 , ）&lt;/p&gt;
&lt;p&gt;&lt;em&gt;キャラウェイ&lt;/em&gt;　（@node_title：従姪 , @node_id：1-1-2-1 , ）&lt;/p&gt;
&lt;p&gt;&lt;em&gt;クミン&lt;/em&gt;　（@node_title：従姪孫 , @node_id：1-1-2-1-1 , ）&lt;/p&gt;
&lt;p&gt;&lt;em&gt;グリーンペッパー&lt;/em&gt;　（@node_title：従姪孫 , @node_id：1-1-2-1-2 , ）&lt;/p&gt;
&lt;p&gt;&lt;em&gt;クローブ&lt;/em&gt;　（@node_title：従姪孫 , @node_id：1-1-2-1-3 , ）&lt;/p&gt;
&lt;p&gt;&lt;em&gt;コリアンダー&lt;/em&gt;　（@node_title：兄 , @node_id：1-2-1 , ）&lt;/p&gt;
&lt;p&gt;&lt;em&gt;サフラン&lt;/em&gt;　（@node_title：姪 , @node_id：1-2-1-1 , ）&lt;/p&gt;
&lt;p&gt;&lt;em&gt;シソ&lt;/em&gt;　（@node_title：姪孫 , @node_id：1-2-1-1-1 , ）&lt;/p&gt;
&lt;p&gt;&lt;em&gt;シナモン&lt;/em&gt;　（@node_title：姪孫 , @node_id：1-2-1-1-2 , ）&lt;/p&gt;
&lt;p&gt;&lt;em&gt;ショウガ&lt;/em&gt;　（@node_title：姪孫 , @node_id：1-2-1-1-3 , ）&lt;/p&gt;
&lt;p&gt;&lt;em&gt;スターアニス&lt;/em&gt;　（@node_title：姉 , @node_id：1-2-2 , ）&lt;/p&gt;
&lt;p&gt;&lt;em&gt;セージ&lt;/em&gt;　（@node_title：姪 , @node_id：1-2-2-1 , ）&lt;/p&gt;
&lt;p&gt;&lt;em&gt;タイム&lt;/em&gt;　（@node_title：姪孫 , @node_id：1-2-2-1-1 , ）&lt;/p&gt;
&lt;p&gt;&lt;em&gt;ターメリック&lt;/em&gt;　（@node_title：姪孫 , @node_id：1-2-2-1-2 , ）&lt;/p&gt;
&lt;p&gt;&lt;em&gt;タデ&lt;/em&gt;　（@node_title：姪孫 , @node_id：1-2-2-1-3 , ）&lt;/p&gt;
</pre>
</dd>
</dl>



<h4 name="preceding-sibling" id="preceding-sibling">preceding-sibling</h4>
<p>コンテキストノードの兄弟ノードのうちコンテキストノードより文書順が前に位置するノード</p>
<dl>
<dt>xslt</dt>
<dd>
<pre class="brush:xslt;">
&lt;xsl:for-each select=&quot;preceding-sibling::nodemap&quot;&gt;
&lt;p&gt;&lt;em&gt;&lt;xsl:value-of select=&quot;node()&quot; /&gt;&lt;/em&gt;　（@node_title：&lt;xsl:value-of select=&quot;@node_title&quot; /&gt; , @node_id：&lt;xsl:value-of select=&quot;@node_id&quot; /&gt; , ）&lt;/p&gt;
&lt;/xsl:for-each&gt;
</pre>
</dd>
<dt>html</dt>
<dd>
<pre class="brush:xslt;">
&lt;p&gt;&lt;em&gt;コリアンダー&lt;/em&gt;　（@node_title：兄 , @node_id：1-2-1 , ）&lt;/p&gt;
&lt;p&gt;&lt;em&gt;スターアニス&lt;/em&gt;　（@node_title：姉 , @node_id：1-2-2 , ）&lt;/p&gt;
</pre>
</dd>
</dl>



<h4 name="following" id="following">following</h4>
<p>文書順でコンテキストノードより後に位置するノード全て（子孫ノードは含まない）</p>
<dl>
<dt>xslt</dt>
<dd>
<pre class="brush:xslt;">
&lt;xsl:for-each select=&quot;following::nodemap&quot;&gt;
&lt;p&gt;&lt;em&gt;&lt;xsl:value-of select=&quot;node()&quot; /&gt;&lt;/em&gt;　（@node_title：&lt;xsl:value-of select=&quot;@node_title&quot; /&gt; , @node_id：&lt;xsl:value-of select=&quot;@node_id&quot; /&gt; , ）&lt;/p&gt;
&lt;/xsl:for-each&gt;
</pre>
</dd>
<dt>html</dt>
<dd>
<pre class="brush:xslt;">
&lt;p&gt;&lt;em&gt;バニラ&lt;/em&gt;　（@node_title：弟 , @node_id：1-2-4 , ）&lt;/p&gt;
&lt;p&gt;&lt;em&gt;パプリカ&lt;/em&gt;　（@node_title：姪 , @node_id：1-2-4-1 , ）&lt;/p&gt;
&lt;p&gt;&lt;em&gt;フェヌグリーク&lt;/em&gt;　（@node_title：姪孫 , @node_id：1-2-4-1-1 , ）&lt;/p&gt;
&lt;p&gt;&lt;em&gt;フェンネル&lt;/em&gt;　（@node_title：姪孫 , @node_id：1-2-4-1-2 , ）&lt;/p&gt;
&lt;p&gt;&lt;em&gt;ブラッククミン&lt;/em&gt;　（@node_title：姪孫 , @node_id：1-2-4-1-3 , ）&lt;/p&gt;
&lt;p&gt;&lt;em&gt;ミント&lt;/em&gt;　（@node_title：妹 , @node_id：1-2-5 , ）&lt;/p&gt;
&lt;p&gt;&lt;em&gt;かんずり&lt;/em&gt;　（@node_title：姪 , @node_id：1-2-5-1 , ）&lt;/p&gt;
&lt;p&gt;&lt;em&gt;ポピー・シード&lt;/em&gt;　（@node_title：姪孫 , @node_id：1-2-5-1-1 , ）&lt;/p&gt;
&lt;p&gt;&lt;em&gt;マージョラム&lt;/em&gt;　（@node_title：姪孫 , @node_id：1-2-5-1-2 , ）&lt;/p&gt;
&lt;p&gt;&lt;em&gt;マスタード&lt;/em&gt;　（@node_title：姪孫 , @node_id：1-2-5-1-3 , ）&lt;/p&gt;
&lt;p&gt;&lt;em&gt;ミョウガ&lt;/em&gt;　（@node_title：おば , @node_id：1-3 , ）&lt;/p&gt;
&lt;p&gt;&lt;em&gt;ローズマリー&lt;/em&gt;　（@node_title：いとこ , @node_id：1-3-1 , ）&lt;/p&gt;
&lt;p&gt;&lt;em&gt;ローリエ&lt;/em&gt;　（@node_title：従姪 , @node_id：1-3-1-1 , ）&lt;/p&gt;
&lt;p&gt;&lt;em&gt;ワサビ&lt;/em&gt;　（@node_title：従姪孫 , @node_id：1-3-1-1-1 , ）&lt;/p&gt;
&lt;p&gt;&lt;em&gt;五香粉&lt;/em&gt;　（@node_title：従姪孫 , @node_id：1-3-1-1-2 , ）&lt;/p&gt;
&lt;p&gt;&lt;em&gt;ガラムマサラ&lt;/em&gt;　（@node_title：従姪孫 , @node_id：1-3-1-1-3 , ）&lt;/p&gt;
&lt;p&gt;&lt;em&gt;カレー粉&lt;/em&gt;　（@node_title：いとこ , @node_id：1-3-2 , ）&lt;/p&gt;
&lt;p&gt;&lt;em&gt;ローズヒップ&lt;/em&gt;　（@node_title：従姪 , @node_id：1-3-2-1 , ）&lt;/p&gt;
&lt;p&gt;&lt;em&gt;七味唐辛子&lt;/em&gt;　（@node_title：従姪孫 , @node_id：1-3-2-1-1 , ）&lt;/p&gt;
&lt;p&gt;&lt;em&gt;チリパウダー&lt;/em&gt;　（@node_title：従姪孫 , @node_id：1-3-2-1-2 , ）&lt;/p&gt;
&lt;p&gt;&lt;em&gt;柚子胡椒&lt;/em&gt;　（@node_title：従姪孫 , @node_id：1-3-2-1-3 , ）&lt;/p&gt;
</pre>
</dd>
</dl>


<h4 name="following-sibling" id="following-sibling">following-sibling</h4>
<p>文書順でコンテキストノードより前に位置するノード全て（子孫ノードは含まない）</p>
<dl>
<dt>xslt</dt>
<dd>
<pre class="brush:xslt;">
&lt;xsl:for-each select=&quot;following-sibling::nodemap&quot;&gt;
&lt;p&gt;&lt;em&gt;&lt;xsl:value-of select=&quot;node()&quot; /&gt;&lt;/em&gt;　（@node_title：&lt;xsl:value-of select=&quot;@node_title&quot; /&gt; , @node_id：&lt;xsl:value-of select=&quot;@node_id&quot; /&gt; , ）&lt;/p&gt;
&lt;/xsl:for-each&gt;
</pre>
</dd>
<dt>html</dt>
<dd>
<pre class="brush:xslt;">
&lt;p&gt;&lt;em&gt;バニラ&lt;/em&gt;　（@node_title：弟 , @node_id：1-2-4 , ）&lt;/p&gt;
&lt;p&gt;&lt;em&gt;ミント&lt;/em&gt;　（@node_title：妹 , @node_id：1-2-5 , ）&lt;/p&gt;
</pre>
</dd>
</dl>


<h4 name="attribute" id="attribute">attribute</h4>
<p>コンテキストノードの属性ノード</p>
<dl>
<dt>xslt</dt>
<dd>
<pre class="brush:xslt;">
&lt;p&gt;@node_title：&lt;em&gt;&lt;xsl:value-of select=&quot;attribute::node_title&quot; /&gt;&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;@node_id：&lt;em&gt;&lt;xsl:value-of select=&quot;attribute::node_id&quot; /&gt;&lt;/em&gt;&lt;/p&gt;
</pre>
</dd>
<dt>html</dt>
<dd>
<pre class="brush:xslt;">
&lt;p&gt;@node_title：&lt;em&gt;自分&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;@node_id：&lt;em&gt;1-2-3&lt;/em&gt;&lt;/p&gt;
</pre>
</dd>
</dl>



<h4 name="namespace" id="namespace">namespace</h4>
<p>コンテキストノードの名前空間ノード</p>
<dl>
<dt>xml</dt>
<dd>
<pre class="brush:xslt;">■</pre>
</dd>
<dt>xslt</dt>
<dd>
<pre class="brush:xslt;">■</pre>
</dd>
<dt>html</dt>
<dd>
<pre class="brush:xslt;">■</pre>
</dd>
</dl>




<h3 name="location_step_operatort" id="location_step_operatort">述語を含むロケーションステップ（軸::ノードテスト[式]）</h3>
<p>条件式を含むロケーションステップです。</p>
<p>ただいま準備中です。</p>







<h2 name="sample_dl" id="sample_dl">サンプルファイルのダウンロード</h2>

<dl>
<dt>ロケーションステップ（軸::ノードテスト）</dt>
<dd><a href="sample/smpl_xpath.zip">smpl_xpath.zip</a>（<a href="sample/smpl_xpath.xml">smpl_xpath.xml</a> , <a href="sample/smpl_xpath.xsl">smpl_xpath.xsl</a> , <a href="sample/smpl_xpath.xsl">smpl_xpath.html</a>）</dd>
<dt>ロケーションステップ（軸::ノードテスト）</dt>
<dd><a href="sample/smpl_xpath.zip">smpl_xpath.zip</a>（<a href="sample/smpl_xpath.xml">smpl_xpath.xml</a> , <a href="sample/smpl_xpath.xsl">smpl_xpath.xsl</a> , <a href="sample/smpl_xpath.xsl">smpl_xpath.html</a>）</dd>
</dl>

	</content>
</root>

