2024年9月
1 2 3 4 5 6 7
8 9 10 11 12 13 14
15 16 17 18 19 20 21
22 23 24 25 26 27 28
29 30          
無料ブログはココログ

 

« 株:現物買い約定(ヘリオス テクノ ホールディング) | トップページ | 2017年第2四半期開始アニメの感想 »

2017年5月 4日 (木)

PowerShellでXPathを使う

PowerShellでXPathを使ってみる。
食わせるXPath式とXMLは、MSDN「XPath の例」と「XPath 構文のサンプル XML ファイル (inventory.xml)」に手を加えたもの。

上記のXPath式は、その前提となる位置までNodeを抽出しなくてはいけない。また、すべてのXPath式に該当する値が入っていないので、該当するタグ・属性・値を追加した。

●PowerShellプログラム

$xmlDoc = [xml](get-content ./inventory.xml -encoding utf8)
$xmlNameSpaceManager = new-object System.Xml.XmlNamespaceManager($xmlDoc.NameTable)
$xmlNameSpaceManager.AddNamespace("my","uri:mynamespace")

$formula=@()
get-content xpathSample.txt -encoding utf8 | % {
	if($formula.length -eq 0) {
		$formula = $_.split("`t")
		if($formula.length -eq 0) {
			$formula = @($_)
		}
	} else {
		write-output( "■{0} :`"{1}`"" -f ($formula -join " → "), $_ )
		$x = @($xmlDoc)
		$formula | % { 
			if($x -ne $null){
				$f = $_
				$tmp = @()
				$x | %{ $_.selectnodes($f, $xmlNameSpaceManager) } | % {
					if($_ -is [System.Xml.XmlNodeList]) {
						$_ | %{ $tmp += $_ }
					} else {
						$tmp += $_
					}
				}
				$x = $tmp
			} else {
				write-output("result : null")
				$x = $null
			}
		}

		$x | % {
			if($_.innerXML -ne $null) { write-output( "innerXML={0}" -f $_.innerXML ) }
			if($_.value -ne $null ) { write-output( "value={0}" -f $_.value) }
		}
		$formula = @()
	}
}

●XMLデータ:inventory.xml

<?xml version="1.0"?>
<?xml-stylesheet type="text/xsl" href="myfile.xsl" ?>
<bookstore specialty="novel">
  <book style="autobiography">
    <author>
      <first-name>Joe</first-name>
      <last-name>Bob</last-name>
      <award>Trenton Literary Review Honorable Mention</award>
    </author>
    <price>12</price>
  </book>
  <book style="textbook">
    <author>
      <first-name>Mary</first-name>
      <last-name>Boby</last-name>
      <publication>Selected Short Stories of
        <first-name>Mary</first-name>
        <last-name>Bob</last-name>
      </publication>
    </author>
    <editor>
      <first-name>Britney</first-name>
      <last-name>Bob</last-name>
    </editor>
    <price>55</price>
  </book>
  <magazine style="glossy" frequency="monthly">
    <price>2.50</price>
    <subscription price="24" per="year"/>
  </magazine>
  <book style="novel" id="myfave">
    <author>
      <first-name>Toni</first-name>
      <last-name>Bob</last-name>
      <degree from="Trenton U">B.A.</degree>
      <degree from="Harvard">Ph.D.</degree>
      <award>Pulitzer</award>
      <publication>Still in Trenton</publication>
      <publication>Trenton Forever</publication>
    </author>
    <price intl="Canada" exchange="0.7">6.50</price>
    <excerpt>
      <p>It was a dark and stormy night.</p>
      <p>But then all nights in Trenton seem dark and
      stormy to someone who has gone through what
      <emph>I</emph> have.</p>
      <definition-list>
        <term>Trenton</term>
        <definition>misery</definition>
      </definition-list>
    </excerpt>
    <title>Toni Bob's novel</title>
  </book>
  <my:book xmlns:my="uri:mynamespace" style="leather" price="29.50">
    <my:title>Who's Who in Trenton</my:title>
    <my:author>Robert Bob</my:author>
  </my:book>
  <book style="test1">
    <author>Matthew Bob</author>
    <p>testMatthewBob</p>
  </book>
  <book style="test2">
    <author>
      <first-name>Bob</first-name>
      <p>testBob</p>
    </author>
  </book>
  <book style="test3">
    <title>test3_title</title>
    <author>
      <first-name>Bob</first-name>
      <p>testBob</p>
    </author>
  </book>
  <book style="test4">
    <title>test4_title</title>
    <author>
      <first.name>BobTest4</first.name>
      <p>test4Bob</p>
    </author>
  </book>
  <book style="test5">
    <title>test5_title</title>
    <author>
      <first-name>BobTest5.1</first-name>
    </author>
    <author>
      <first-name>BobTest5.2</first-name>
    </author>
    <author>
      <first-name>BobTest5.3</first-name>
    </author>
    <author>
      <first-name>BobTest5.4</first-name>
    </author>
  </book>
  <book style="test6" id="myfave">
    <author>
      <first-name>Toni</first-name>
      <last-name>Bob</last-name>
      <degree from="Trenton U">B.A.</degree>
      <degree from="Harvard">Ph.D.</degree>
      <award>Pulitzer</award>
    </author>
  </book>
  <book style="test7">
    <author>
      <first-name>Joe</first-name>
      <last-name>Bob</last-name>
    </author>
    <price>55</price>
  </book>
</bookstore>

●XPath式:xpathSample.txt

/bookstore/book	./author
現在のコンテキスト内のすべての <author> 要素。 これは、次の行の式に等しくなることに注意してください。
/bookstore/book	author
現在のコンテキスト内のすべての <author> 要素。
/bookstore/book/author	first.name
現在のコンテキスト内のすべての <first.name> 要素。
/bookstore
このドキュメントのドキュメント要素 (<bookstore>)。
//author
このドキュメント内のすべての <author> 要素。
/bookstore	book[/bookstore/@specialty=@style]
ドキュメントのルートにある <bookstore> 要素の specialty 属性と同じ値の style 属性を持っているすべての <book> 要素。
/bookstore/book	author/first-name
<author> 要素の子要素であるすべての <first-name> 要素。
bookstore//title
<bookstore> 要素内の 1 段階以上深いレベル (任意の子孫) に含まれているすべての <title> 要素。 これは、次の行の式とは異なる点に注意してください。
bookstore/*/title
<bookstore> 要素の孫であるすべての <title> 要素。
bookstore//book/excerpt//emph
<bookstore> 要素内の任意の場所にある <book> 要素の子要素 <excerpt> 内の任意の場所にあるすべての <emph> 要素。
.//title
現在のコンテキストから 1 レベル以上の深さにあるすべての <title> 要素。 この状況は、ピリオド表記が必須である場合において、基本的に 1 回だけ発生することに注意してください。
/bookstore/book	author/*
<author> 要素の子要素であるすべての要素。
/bookstore	book/*/last-name
<book> 要素の孫であるすべての <last-name> 要素。
*/*
現在のコンテキストのすべての孫要素です。
*[@specialty]
specialty 属性を持つすべての要素。
/bookstore/book	@style
現在のコンテキストの style 属性。
/bookstore/book	price/@exchange
現在のコンテキスト内の <price> 要素の exchange 属性。
/bookstore/book	price/@exchange/total
属性には要素の子が含まれないため、空のノード セットが返ります。 この式は、XPath (XML Path Language) の文法上は使用可能ですが、厳密にいえば有効ではありません。
/bookstore	book[@style]
現在のコンテキストの style 属性を持つすべての <book> 要素。
/bookstore	book/@style
現在のコンテキストのすべての <book> 要素の style 属性。
/bookstore	@*
現在の要素のコンテキストのすべての属性。
/bookstore/book/author	./first-name
現在のコンテキスト ノード内のすべての <first-name> 要素。 これは、次の行の式に等しくなることに注意してください。
/bookstore/book/author	first-name
現在のコンテキスト ノード内のすべての <first-name> 要素。
/bookstore/book	author[1]
現在のコンテキスト ノード内の最初の <author> 要素。
/bookstore/book	author[first-name][3]
子要素 <first-name> を持っている 3 番目の <author> 要素。
/bookstore	my:book
my 名前空間の <book> 要素。
/bookstore	my:*
my 名前空間のすべての要素。
/bookstore	@my:*
my 名前空間からのすべての要素 (これには、my 名前空間からの要素の修飾されていない属性は含まれません)。
/bookstore	book[last()]
現在のコンテキスト ノードの最後の <book> 要素。
/bookstore	book/author[last()]
現在のコンテキスト ノードの個々の <book> 要素の最後の子要素 <author>。
/bookstore	(book/author)[last()]
現在のコンテキスト ノードの <book> 要素の子要素 <author> の集合全体で最後の <author> 要素。
/bookstore	book[excerpt]
少なくとも 1 つの子要素 <excerpt> を含むすべての <book> 要素。
/bookstore	book[excerpt]/title
少なくとも 1 つの子要素 <excerpt> を含む <book> 要素を親要素とするすべての <title> 要素。
/bookstore	book[excerpt]/author[degree]
少なくとも 1 つの子要素 <excerpt> を含む <book> 要素の子要素であると同時に、自身が少なくとも 1 つの子要素 <degree> を持っているすべての <author> 要素。
/bookstore	book[author/degree]
少なくとも 1 つの子要素 <degree> が含まれた <author> を子要素として持つすべての <book> 要素。
/bookstore/book	author[degree][award]
少なくとも 1 つの子要素 <degree> を含み、少なくとも 1 つの子要素 <award> を含む、すべての <author> 要素。
/bookstore/book	author[degree and award]
少なくとも 1 つの子要素 <degree> を含み、少なくとも 1 つの子要素 <award> を含む、すべての <author> 要素。
/bookstore/book	author[(degree or award) and publication]
少なくとも 1 つの <degree> または <award> を含み、少なくとも 1 つの <publication> を子要素として含むすべての <author> 要素。
/bookstore/book	author[degree and not(publication)]
少なくとも 1 つの子要素 <degree> を含んでいるが、子要素 <publication> を含んでいないすべての <author> 要素。
/bookstore/book	author[not(degree or award) and publication]
少なくとも 1 つの子要素 <publication> を含んでいるが、子要素 <degree> も子要素 <award> も含んでいないすべての <author> 要素。
/bookstore/book	author[last-name = "Bob"]
値が Bob である子要素 <last-name> を少なくとも 1 つ含むすべての <author> 要素。
/bookstore/book	author[last-name[1] = "Bob"]
最初の子要素 <last-name> の値が Bob になっているすべての <author> 要素。 これは、次の行の式に等しくなることに注意してください。
/bookstore/book	author[last-name [position()=1]= "Bob"]
最初の子要素 <last-name> の値が Bob になっているすべての <author> 要素。
/bookstore/book/author	degree[@from != "Harvard"]
from 属性が "Harvard" と等しくないすべての <degree> 要素。
/bookstore/book	author[. = "Matthew Bob"]
値が Matthew Bob になっているすべての <author> 要素。
/bookstore/book	author[last-name = "Bob" and ../price > 50]
値が Bob である子要素 <last-name> と、値が 50 を上回る兄弟要素 <price> を持っているすべての <author> 要素。
/bookstore	book[position() <= 3]
最初の 3 冊の本 (1、2、3)。
/bookstore/book	author[not(last-name = "Bob")]
値が Bob である子要素 <last-name> を持っていないすべての <author> 要素。
/bookstore/book	author[first-name = "Bob"]
値が Bob である子要素 <first-name> を 1 つ以上持っているすべての <author> 要素。
/bookstore/book	author[* = "Bob"]
値が Bob である任意の子要素を持っているすべての author 要素。
/bookstore/book	author[last-name = "Bob" and first-name = "Joe"]
値が Bob である子要素 <last-name> と、値が Joe である子要素 <first-name> を持っているすべての <author> 要素。
/bookstore/book	price[@intl = "Canada"]
持っている intl 属性が "Canada" と等しい、コンテキスト ノード内のすべての <price> 要素。
/bookstore/book/author	degree[position() < 3]
コンテキスト ノードの子要素である最初の 2 つの <degree> 要素。
/bookstore/book/excerpt	p/text()[2]
コンテキスト ノード内の個々の <p> 要素内の 2 番目のテキスト ノード。
/bookstore/book/author	ancestor::book[1]
コンテキスト ノードの最も近い祖先に当たる <book>。
/bookstore/book/author	ancestor::book[author][1]
コンテキスト ノードの最も近い祖先に当たる <book> であり、<author> 要素を子要素として持つ <book> 要素。
/bookstore/book/author/first-name	ancestor::author[parent::book][1]
現在のコンテキストで最も近い祖先に当たる <author> であり、<book> 要素を親として持つ <author> 要素。

●出力結果

■/bookstore/book → ./author :"現在のコンテキスト内のすべての <author> 要素。 これは、次の行の式に等しくなることに注意してください。"
innerXML=<first-name>Joe</first-name><last-name>Bob</last-name><award>Trenton Literary Review Honorable Mention</award>
innerXML=<first-name>Mary</first-name><last-name>Boby</last-name><publication>Selected Short Stories of
        <first-name>Mary</first-name><last-name>Bob</last-name></publication>
innerXML=<first-name>Toni</first-name><last-name>Bob</last-name><degree from="Trenton U">B.A.</degree><degree from="Harvard">Ph.D.</degree><award>Pulitzer</award><publication>Still in Trenton</publication><publication>Trenton Forever</publication>
innerXML=Matthew Bob
innerXML=<first-name>Bob</first-name><p>testBob</p>
innerXML=<first-name>Bob</first-name><p>testBob</p>
innerXML=<first.name>BobTest4</first.name><p>test4Bob</p>
innerXML=<first-name>BobTest5.1</first-name>
innerXML=<first-name>BobTest5.2</first-name>
innerXML=<first-name>BobTest5.3</first-name>
innerXML=<first-name>BobTest5.4</first-name>
innerXML=<first-name>Toni</first-name><last-name>Bob</last-name><degree from="Trenton U">B.A.</degree><degree from="Harvard">Ph.D.</degree><award>Pulitzer</award>
innerXML=<first-name>Joe</first-name><last-name>Bob</last-name>
■/bookstore/book → author :"現在のコンテキスト内のすべての <author> 要素。"
innerXML=<first-name>Joe</first-name><last-name>Bob</last-name><award>Trenton Literary Review Honorable Mention</award>
innerXML=<first-name>Mary</first-name><last-name>Boby</last-name><publication>Selected Short Stories of
        <first-name>Mary</first-name><last-name>Bob</last-name></publication>
innerXML=<first-name>Toni</first-name><last-name>Bob</last-name><degree from="Trenton U">B.A.</degree><degree from="Harvard">Ph.D.</degree><award>Pulitzer</award><publication>Still in Trenton</publication><publication>Trenton Forever</publication>
innerXML=Matthew Bob
innerXML=<first-name>Bob</first-name><p>testBob</p>
innerXML=<first-name>Bob</first-name><p>testBob</p>
innerXML=<first.name>BobTest4</first.name><p>test4Bob</p>
innerXML=<first-name>BobTest5.1</first-name>
innerXML=<first-name>BobTest5.2</first-name>
innerXML=<first-name>BobTest5.3</first-name>
innerXML=<first-name>BobTest5.4</first-name>
innerXML=<first-name>Toni</first-name><last-name>Bob</last-name><degree from="Trenton U">B.A.</degree><degree from="Harvard">Ph.D.</degree><award>Pulitzer</award>
innerXML=<first-name>Joe</first-name><last-name>Bob</last-name>
■/bookstore/book/author → first.name :"現在のコンテキスト内のすべての <first.name> 要素。"
innerXML=BobTest4
■/bookstore :"このドキュメントのドキュメント要素 (<bookstore>)。"
innerXML=<book style="autobiography"><author><first-name>Joe</first-name><last-name>Bob</last-name><award>Trenton Literary Review Honorable Mention</award></author><price>12</price></book><book style="textbook"><author><first-name>Mary</first-name><last-name>Boby</last-name><publication>Selected Short Stories of
        <first-name>Mary</first-name><last-name>Bob</last-name></publication></author><editor><first-name>Britney</first-name><last-name>Bob</last-name></editor><price>55</price></book><magazine style="glossy" frequency="monthly"><price>2.50</price><subscription price="24" per="year" /></magazine><book style="novel" id="myfave"><author><first-name>Toni</first-name><last-name>Bob</last-name><degree from="Trenton U">B.A.</degree><degree from="Harvard">Ph.D.</degree><award>Pulitzer</award><publication>Still in Trenton</publication><publication>Trenton Forever</publication></author><price intl="Canada" exchange="0.7">6.50</price><excerpt><p>It was a dark and stormy night.</p><p>But then all nights in Trenton seem dark and
      stormy to someone who has gone through what
      <emph>I</emph> have.</p><definition-list><term>Trenton</term><definition>misery</definition></definition-list></excerpt><title>Toni Bob's novel</title></book><my:book xmlns:my="uri:mynamespace" style="leather" price="29.50"><my:title>Who's Who in Trenton</my:title><my:author>Robert Bob</my:author></my:book><book style="test1"><author>Matthew Bob</author><p>testMatthewBob</p></book><book style="test2"><author><first-name>Bob</first-name><p>testBob</p></author></book><book style="test3"><title>test3_title</title><author><first-name>Bob</first-name><p>testBob</p></author></book><book style="test4"><title>test4_title</title><author><first.name>BobTest4</first.name><p>test4Bob</p></author></book><book style="test5"><title>test5_title</title><author><first-name>BobTest5.1</first-name></author><author><first-name>BobTest5.2</first-name></author><author><first-name>BobTest5.3</first-name></author><author><first-name>BobTest5.4</first-name></author></book><book style="test6" id="myfave"><author><first-name>Toni</first-name><last-name>Bob</last-name><degree from="Trenton U">B.A.</degree><degree from="Harvard">Ph.D.</degree><award>Pulitzer</award></author></book><book style="test7"><author><first-name>Joe</first-name><last-name>Bob</last-name></author><price>55</price></book>
■//author :"このドキュメント内のすべての <author> 要素。"
innerXML=<first-name>Joe</first-name><last-name>Bob</last-name><award>Trenton Literary Review Honorable Mention</award>
innerXML=<first-name>Mary</first-name><last-name>Boby</last-name><publication>Selected Short Stories of
        <first-name>Mary</first-name><last-name>Bob</last-name></publication>
innerXML=<first-name>Toni</first-name><last-name>Bob</last-name><degree from="Trenton U">B.A.</degree><degree from="Harvard">Ph.D.</degree><award>Pulitzer</award><publication>Still in Trenton</publication><publication>Trenton Forever</publication>
innerXML=Matthew Bob
innerXML=<first-name>Bob</first-name><p>testBob</p>
innerXML=<first-name>Bob</first-name><p>testBob</p>
innerXML=<first.name>BobTest4</first.name><p>test4Bob</p>
innerXML=<first-name>BobTest5.1</first-name>
innerXML=<first-name>BobTest5.2</first-name>
innerXML=<first-name>BobTest5.3</first-name>
innerXML=<first-name>BobTest5.4</first-name>
innerXML=<first-name>Toni</first-name><last-name>Bob</last-name><degree from="Trenton U">B.A.</degree><degree from="Harvard">Ph.D.</degree><award>Pulitzer</award>
innerXML=<first-name>Joe</first-name><last-name>Bob</last-name>
■book[/bookstore/@specialty=@style] :"ドキュメントのルートにある <bookstore> 要素の specialty 属性と同じ値の style 属性を持っているすべての <book> 要素。"
■/bookstore/book → author/first-name :"<author> 要素の子要素であるすべての <first-name> 要素。"
innerXML=Joe
innerXML=Mary
innerXML=Toni
innerXML=Bob
innerXML=Bob
innerXML=BobTest5.1
innerXML=BobTest5.2
innerXML=BobTest5.3
innerXML=BobTest5.4
innerXML=Toni
innerXML=Joe
■bookstore//title :"<bookstore> 要素内の 1 段階以上深いレベル (任意の子孫) に含まれているすべての <title> 要素。 これは、次の行の式とは異なる点に注意してください。"
innerXML=Toni Bob's novel
innerXML=test3_title
innerXML=test4_title
innerXML=test5_title
■bookstore/*/title :"<bookstore> 要素の孫であるすべての <title> 要素。"
innerXML=Toni Bob's novel
innerXML=test3_title
innerXML=test4_title
innerXML=test5_title
■bookstore//book/excerpt//emph :"<bookstore> 要素内の任意の場所にある <book> 要素の子要素 <excerpt> 内の任意の場所にあるすべての <emph> 要素。"
innerXML=I
■.//title :"現在のコンテキストから 1 レベル以上の深さにあるすべての <title> 要素。 この状況は、ピリオド表記が必須である場合において、基本的に 1 回だけ発生することに注意してください。"
innerXML=Toni Bob's novel
innerXML=test3_title
innerXML=test4_title
innerXML=test5_title
■/bookstore/book → author/* :"<author> 要素の子要素であるすべての要素。"
innerXML=Joe
innerXML=Bob
innerXML=Trenton Literary Review Honorable Mention
innerXML=Mary
innerXML=Boby
innerXML=Selected Short Stories of
        <first-name>Mary</first-name><last-name>Bob</last-name>
innerXML=Toni
innerXML=Bob
innerXML=B.A.
innerXML=Ph.D.
innerXML=Pulitzer
innerXML=Still in Trenton
innerXML=Trenton Forever
innerXML=Bob
innerXML=testBob
innerXML=Bob
innerXML=testBob
innerXML=BobTest4
innerXML=test4Bob
innerXML=BobTest5.1
innerXML=BobTest5.2
innerXML=BobTest5.3
innerXML=BobTest5.4
innerXML=Toni
innerXML=Bob
innerXML=B.A.
innerXML=Ph.D.
innerXML=Pulitzer
innerXML=Joe
innerXML=Bob
■/bookstore → book/*/last-name :"<book> 要素の孫であるすべての <last-name> 要素。"
innerXML=Bob
innerXML=Boby
innerXML=Bob
innerXML=Bob
innerXML=Bob
innerXML=Bob
■*/* :"現在のコンテキストのすべての孫要素です。"
innerXML=<author><first-name>Joe</first-name><last-name>Bob</last-name><award>Trenton Literary Review Honorable Mention</award></author><price>12</price>
innerXML=<author><first-name>Mary</first-name><last-name>Boby</last-name><publication>Selected Short Stories of
        <first-name>Mary</first-name><last-name>Bob</last-name></publication></author><editor><first-name>Britney</first-name><last-name>Bob</last-name></editor><price>55</price>
innerXML=<price>2.50</price><subscription price="24" per="year" />
innerXML=<author><first-name>Toni</first-name><last-name>Bob</last-name><degree from="Trenton U">B.A.</degree><degree from="Harvard">Ph.D.</degree><award>Pulitzer</award><publication>Still in Trenton</publication><publication>Trenton Forever</publication></author><price intl="Canada" exchange="0.7">6.50</price><excerpt><p>It was a dark and stormy night.</p><p>But then all nights in Trenton seem dark and
      stormy to someone who has gone through what
      <emph>I</emph> have.</p><definition-list><term>Trenton</term><definition>misery</definition></definition-list></excerpt><title>Toni Bob's novel</title>
innerXML=<my:title xmlns:my="uri:mynamespace">Who's Who in Trenton</my:title><my:author xmlns:my="uri:mynamespace">Robert Bob</my:author>
innerXML=<author>Matthew Bob</author><p>testMatthewBob</p>
innerXML=<author><first-name>Bob</first-name><p>testBob</p></author>
innerXML=<title>test3_title</title><author><first-name>Bob</first-name><p>testBob</p></author>
innerXML=<title>test4_title</title><author><first.name>BobTest4</first.name><p>test4Bob</p></author>
innerXML=<title>test5_title</title><author><first-name>BobTest5.1</first-name></author><author><first-name>BobTest5.2</first-name></author><author><first-name>BobTest5.3</first-name></author><author><first-name>BobTest5.4</first-name></author>
innerXML=<author><first-name>Toni</first-name><last-name>Bob</last-name><degree from="Trenton U">B.A.</degree><degree from="Harvard">Ph.D.</degree><award>Pulitzer</award></author>
innerXML=<author><first-name>Joe</first-name><last-name>Bob</last-name></author><price>55</price>
■*[@specialty] :"specialty 属性を持つすべての要素。"
innerXML=<book style="autobiography"><author><first-name>Joe</first-name><last-name>Bob</last-name><award>Trenton Literary Review Honorable Mention</award></author><price>12</price></book><book style="textbook"><author><first-name>Mary</first-name><last-name>Boby</last-name><publication>Selected Short Stories of
        <first-name>Mary</first-name><last-name>Bob</last-name></publication></author><editor><first-name>Britney</first-name><last-name>Bob</last-name></editor><price>55</price></book><magazine style="glossy" frequency="monthly"><price>2.50</price><subscription price="24" per="year" /></magazine><book style="novel" id="myfave"><author><first-name>Toni</first-name><last-name>Bob</last-name><degree from="Trenton U">B.A.</degree><degree from="Harvard">Ph.D.</degree><award>Pulitzer</award><publication>Still in Trenton</publication><publication>Trenton Forever</publication></author><price intl="Canada" exchange="0.7">6.50</price><excerpt><p>It was a dark and stormy night.</p><p>But then all nights in Trenton seem dark and
      stormy to someone who has gone through what
      <emph>I</emph> have.</p><definition-list><term>Trenton</term><definition>misery</definition></definition-list></excerpt><title>Toni Bob's novel</title></book><my:book xmlns:my="uri:mynamespace" style="leather" price="29.50"><my:title>Who's Who in Trenton</my:title><my:author>Robert Bob</my:author></my:book><book style="test1"><author>Matthew Bob</author><p>testMatthewBob</p></book><book style="test2"><author><first-name>Bob</first-name><p>testBob</p></author></book><book style="test3"><title>test3_title</title><author><first-name>Bob</first-name><p>testBob</p></author></book><book style="test4"><title>test4_title</title><author><first.name>BobTest4</first.name><p>test4Bob</p></author></book><book style="test5"><title>test5_title</title><author><first-name>BobTest5.1</first-name></author><author><first-name>BobTest5.2</first-name></author><author><first-name>BobTest5.3</first-name></author><author><first-name>BobTest5.4</first-name></author></book><book style="test6" id="myfave"><author><first-name>Toni</first-name><last-name>Bob</last-name><degree from="Trenton U">B.A.</degree><degree from="Harvard">Ph.D.</degree><award>Pulitzer</award></author></book><book style="test7"><author><first-name>Joe</first-name><last-name>Bob</last-name></author><price>55</price></book>
■/bookstore/book → @style :"現在のコンテキストの style 属性。"
value=autobiography
value=textbook
value=novel
value=test1
value=test2
value=test3
value=test4
value=test5
value=test6
value=test7
■/bookstore/book → price/@exchange :"現在のコンテキスト内の <price> 要素の exchange 属性。"
value=0.7
■/bookstore/book → price/@exchange/total :"属性には要素の子が含まれないため、空のノード セットが返ります。 この式は、XPath (XML Path Language) の文法上は使用可能ですが、厳密にいえば有効ではありません。"
■/bookstore → book[@style] :"現在のコンテキストの style 属性を持つすべての <book> 要素。"
innerXML=<author><first-name>Joe</first-name><last-name>Bob</last-name><award>Trenton Literary Review Honorable Mention</award></author><price>12</price>
innerXML=<author><first-name>Mary</first-name><last-name>Boby</last-name><publication>Selected Short Stories of
        <first-name>Mary</first-name><last-name>Bob</last-name></publication></author><editor><first-name>Britney</first-name><last-name>Bob</last-name></editor><price>55</price>
innerXML=<author><first-name>Toni</first-name><last-name>Bob</last-name><degree from="Trenton U">B.A.</degree><degree from="Harvard">Ph.D.</degree><award>Pulitzer</award><publication>Still in Trenton</publication><publication>Trenton Forever</publication></author><price intl="Canada" exchange="0.7">6.50</price><excerpt><p>It was a dark and stormy night.</p><p>But then all nights in Trenton seem dark and
      stormy to someone who has gone through what
      <emph>I</emph> have.</p><definition-list><term>Trenton</term><definition>misery</definition></definition-list></excerpt><title>Toni Bob's novel</title>
innerXML=<author>Matthew Bob</author><p>testMatthewBob</p>
innerXML=<author><first-name>Bob</first-name><p>testBob</p></author>
innerXML=<title>test3_title</title><author><first-name>Bob</first-name><p>testBob</p></author>
innerXML=<title>test4_title</title><author><first.name>BobTest4</first.name><p>test4Bob</p></author>
innerXML=<title>test5_title</title><author><first-name>BobTest5.1</first-name></author><author><first-name>BobTest5.2</first-name></author><author><first-name>BobTest5.3</first-name></author><author><first-name>BobTest5.4</first-name></author>
innerXML=<author><first-name>Toni</first-name><last-name>Bob</last-name><degree from="Trenton U">B.A.</degree><degree from="Harvard">Ph.D.</degree><award>Pulitzer</award></author>
innerXML=<author><first-name>Joe</first-name><last-name>Bob</last-name></author><price>55</price>
■/bookstore → book/@style :"現在のコンテキストのすべての <book> 要素の style 属性。"
value=autobiography
value=textbook
value=novel
value=test1
value=test2
value=test3
value=test4
value=test5
value=test6
value=test7
■/bookstore → @* :"現在の要素のコンテキストのすべての属性。"
value=novel
■/bookstore/book/author → ./first-name :"現在のコンテキスト ノード内のすべての <first-name> 要素。 これは、次の行の式に等しくなることに注意してください。"
innerXML=Joe
innerXML=Mary
innerXML=Toni
innerXML=Bob
innerXML=Bob
innerXML=BobTest5.1
innerXML=BobTest5.2
innerXML=BobTest5.3
innerXML=BobTest5.4
innerXML=Toni
innerXML=Joe
■/bookstore/book/author → first-name :"現在のコンテキスト ノード内のすべての <first-name> 要素。"
innerXML=Joe
innerXML=Mary
innerXML=Toni
innerXML=Bob
innerXML=Bob
innerXML=BobTest5.1
innerXML=BobTest5.2
innerXML=BobTest5.3
innerXML=BobTest5.4
innerXML=Toni
innerXML=Joe
■/bookstore/book → author[1] :"現在のコンテキスト ノード内の最初の <author> 要素。"
innerXML=<first-name>Joe</first-name><last-name>Bob</last-name><award>Trenton Literary Review Honorable Mention</award>
innerXML=<first-name>Mary</first-name><last-name>Boby</last-name><publication>Selected Short Stories of
        <first-name>Mary</first-name><last-name>Bob</last-name></publication>
innerXML=<first-name>Toni</first-name><last-name>Bob</last-name><degree from="Trenton U">B.A.</degree><degree from="Harvard">Ph.D.</degree><award>Pulitzer</award><publication>Still in Trenton</publication><publication>Trenton Forever</publication>
innerXML=Matthew Bob
innerXML=<first-name>Bob</first-name><p>testBob</p>
innerXML=<first-name>Bob</first-name><p>testBob</p>
innerXML=<first.name>BobTest4</first.name><p>test4Bob</p>
innerXML=<first-name>BobTest5.1</first-name>
innerXML=<first-name>Toni</first-name><last-name>Bob</last-name><degree from="Trenton U">B.A.</degree><degree from="Harvard">Ph.D.</degree><award>Pulitzer</award>
innerXML=<first-name>Joe</first-name><last-name>Bob</last-name>
■/bookstore/book → author[first-name][3] :"子要素 <first-name> を持っている 3 番目の <author> 要素。"
innerXML=<first-name>BobTest5.3</first-name>
■/bookstore → my:book :"my 名前空間の <book> 要素。"
innerXML=<my:title xmlns:my="uri:mynamespace">Who's Who in Trenton</my:title><my:author xmlns:my="uri:mynamespace">Robert Bob</my:author>
■/bookstore → my:* :"my 名前空間のすべての要素。"
innerXML=<my:title xmlns:my="uri:mynamespace">Who's Who in Trenton</my:title><my:author xmlns:my="uri:mynamespace">Robert Bob</my:author>
■/bookstore → @my:* :"my 名前空間からのすべての要素 (これには、my 名前空間からの要素の修飾されていない属性は含まれません)。"
■/bookstore → book[last()] :"現在のコンテキスト ノードの最後の <book> 要素。"
innerXML=<author><first-name>Joe</first-name><last-name>Bob</last-name></author><price>55</price>
■/bookstore → book/author[last()] :"現在のコンテキスト ノードの個々の <book> 要素の最後の子要素 <author>。"
innerXML=<first-name>Joe</first-name><last-name>Bob</last-name><award>Trenton Literary Review Honorable Mention</award>
innerXML=<first-name>Mary</first-name><last-name>Boby</last-name><publication>Selected Short Stories of
        <first-name>Mary</first-name><last-name>Bob</last-name></publication>
innerXML=<first-name>Toni</first-name><last-name>Bob</last-name><degree from="Trenton U">B.A.</degree><degree from="Harvard">Ph.D.</degree><award>Pulitzer</award><publication>Still in Trenton</publication><publication>Trenton Forever</publication>
innerXML=Matthew Bob
innerXML=<first-name>Bob</first-name><p>testBob</p>
innerXML=<first-name>Bob</first-name><p>testBob</p>
innerXML=<first.name>BobTest4</first.name><p>test4Bob</p>
innerXML=<first-name>BobTest5.4</first-name>
innerXML=<first-name>Toni</first-name><last-name>Bob</last-name><degree from="Trenton U">B.A.</degree><degree from="Harvard">Ph.D.</degree><award>Pulitzer</award>
innerXML=<first-name>Joe</first-name><last-name>Bob</last-name>
■/bookstore → (book/author)[last()] :"現在のコンテキスト ノードの <book> 要素の子要素 <author> の集合全体で最後の <author> 要素。"
innerXML=<first-name>Joe</first-name><last-name>Bob</last-name>
■/bookstore → book[excerpt] :"少なくとも 1 つの子要素 <excerpt> を含むすべての <book> 要素。"
innerXML=<author><first-name>Toni</first-name><last-name>Bob</last-name><degree from="Trenton U">B.A.</degree><degree from="Harvard">Ph.D.</degree><award>Pulitzer</award><publication>Still in Trenton</publication><publication>Trenton Forever</publication></author><price intl="Canada" exchange="0.7">6.50</price><excerpt><p>It was a dark and stormy night.</p><p>But then all nights in Trenton seem dark and
      stormy to someone who has gone through what
      <emph>I</emph> have.</p><definition-list><term>Trenton</term><definition>misery</definition></definition-list></excerpt><title>Toni Bob's novel</title>
■/bookstore → book[excerpt]/title :"少なくとも 1 つの子要素 <excerpt> を含む <book> 要素を親要素とするすべての <title> 要素。"
innerXML=Toni Bob's novel
■/bookstore → book[excerpt]/author[degree] :"少なくとも 1 つの子要素 <excerpt> を含む <book> 要素の子要素であると同時に、自身が少なくとも 1 つの子要素 <degree> を持っているすべての <author> 要素。"
innerXML=<first-name>Toni</first-name><last-name>Bob</last-name><degree from="Trenton U">B.A.</degree><degree from="Harvard">Ph.D.</degree><award>Pulitzer</award><publication>Still in Trenton</publication><publication>Trenton Forever</publication>
■/bookstore → book[author/degree] :"少なくとも 1 つの子要素 <degree> が含まれた <author> を子要素として持つすべての <book> 要素。"
innerXML=<author><first-name>Toni</first-name><last-name>Bob</last-name><degree from="Trenton U">B.A.</degree><degree from="Harvard">Ph.D.</degree><award>Pulitzer</award><publication>Still in Trenton</publication><publication>Trenton Forever</publication></author><price intl="Canada" exchange="0.7">6.50</price><excerpt><p>It was a dark and stormy night.</p><p>But then all nights in Trenton seem dark and
      stormy to someone who has gone through what
      <emph>I</emph> have.</p><definition-list><term>Trenton</term><definition>misery</definition></definition-list></excerpt><title>Toni Bob's novel</title>
innerXML=<author><first-name>Toni</first-name><last-name>Bob</last-name><degree from="Trenton U">B.A.</degree><degree from="Harvard">Ph.D.</degree><award>Pulitzer</award></author>
■/bookstore/book → author[degree][award] :"少なくとも 1 つの子要素 <degree> を含み、少なくとも 1 つの子要素 <award> を含む、すべての <author> 要素。"
innerXML=<first-name>Toni</first-name><last-name>Bob</last-name><degree from="Trenton U">B.A.</degree><degree from="Harvard">Ph.D.</degree><award>Pulitzer</award><publication>Still in Trenton</publication><publication>Trenton Forever</publication>
innerXML=<first-name>Toni</first-name><last-name>Bob</last-name><degree from="Trenton U">B.A.</degree><degree from="Harvard">Ph.D.</degree><award>Pulitzer</award>
■/bookstore/book → author[degree and award] :"少なくとも 1 つの子要素 <degree> を含み、少なくとも 1 つの子要素 <award> を含む、すべての <author> 要素。"
innerXML=<first-name>Toni</first-name><last-name>Bob</last-name><degree from="Trenton U">B.A.</degree><degree from="Harvard">Ph.D.</degree><award>Pulitzer</award><publication>Still in Trenton</publication><publication>Trenton Forever</publication>
innerXML=<first-name>Toni</first-name><last-name>Bob</last-name><degree from="Trenton U">B.A.</degree><degree from="Harvard">Ph.D.</degree><award>Pulitzer</award>
■/bookstore/book → author[(degree or award) and publication] :"少なくとも 1 つの <degree> または <award> を含み、少なくとも 1 つの <publication> を子要素として含むすべての <author> 要素。"
innerXML=<first-name>Toni</first-name><last-name>Bob</last-name><degree from="Trenton U">B.A.</degree><degree from="Harvard">Ph.D.</degree><award>Pulitzer</award><publication>Still in Trenton</publication><publication>Trenton Forever</publication>
■/bookstore/book → author[degree and not(publication)] :"少なくとも 1 つの子要素 <degree> を含んでいるが、子要素 <publication> を含んでいないすべての <author> 要素。"
innerXML=<first-name>Toni</first-name><last-name>Bob</last-name><degree from="Trenton U">B.A.</degree><degree from="Harvard">Ph.D.</degree><award>Pulitzer</award>
■/bookstore/book → author[not(degree or award) and publication] :"少なくとも 1 つの子要素 <publication> を含んでいるが、子要素 <degree> も子要素 <award> も含んでいないすべての <author> 要素。"
innerXML=<first-name>Mary</first-name><last-name>Boby</last-name><publication>Selected Short Stories of
        <first-name>Mary</first-name><last-name>Bob</last-name></publication>
■/bookstore/book → author[last-name = "Bob"] :"値が Bob である子要素 <last-name> を少なくとも 1 つ含むすべての <author> 要素。"
innerXML=<first-name>Joe</first-name><last-name>Bob</last-name><award>Trenton Literary Review Honorable Mention</award>
innerXML=<first-name>Toni</first-name><last-name>Bob</last-name><degree from="Trenton U">B.A.</degree><degree from="Harvard">Ph.D.</degree><award>Pulitzer</award><publication>Still in Trenton</publication><publication>Trenton Forever</publication>
innerXML=<first-name>Toni</first-name><last-name>Bob</last-name><degree from="Trenton U">B.A.</degree><degree from="Harvard">Ph.D.</degree><award>Pulitzer</award>
innerXML=<first-name>Joe</first-name><last-name>Bob</last-name>
■/bookstore/book → author[last-name[1] = "Bob"] :"最初の子要素 <last-name> の値が Bob になっているすべての <author> 要素。 これは、次の行の式に等しくなることに注意してください。"
innerXML=<first-name>Joe</first-name><last-name>Bob</last-name><award>Trenton Literary Review Honorable Mention</award>
innerXML=<first-name>Toni</first-name><last-name>Bob</last-name><degree from="Trenton U">B.A.</degree><degree from="Harvard">Ph.D.</degree><award>Pulitzer</award><publication>Still in Trenton</publication><publication>Trenton Forever</publication>
innerXML=<first-name>Toni</first-name><last-name>Bob</last-name><degree from="Trenton U">B.A.</degree><degree from="Harvard">Ph.D.</degree><award>Pulitzer</award>
innerXML=<first-name>Joe</first-name><last-name>Bob</last-name>
■/bookstore/book → author[last-name [position()=1]= "Bob"] :"最初の子要素 <last-name> の値が Bob になっているすべての <author> 要素。"
innerXML=<first-name>Joe</first-name><last-name>Bob</last-name><award>Trenton Literary Review Honorable Mention</award>
innerXML=<first-name>Toni</first-name><last-name>Bob</last-name><degree from="Trenton U">B.A.</degree><degree from="Harvard">Ph.D.</degree><award>Pulitzer</award><publication>Still in Trenton</publication><publication>Trenton Forever</publication>
innerXML=<first-name>Toni</first-name><last-name>Bob</last-name><degree from="Trenton U">B.A.</degree><degree from="Harvard">Ph.D.</degree><award>Pulitzer</award>
innerXML=<first-name>Joe</first-name><last-name>Bob</last-name>
■/bookstore/book/author → degree[@from != "Harvard"] :"from 属性が "Harvard" と等しくないすべての <degree> 要素。"
innerXML=B.A.
innerXML=B.A.
■/bookstore/book → author[. = "Matthew Bob"] :"値が Matthew Bob になっているすべての <author> 要素。"
innerXML=Matthew Bob
■/bookstore/book → author[last-name = "Bob" and ../price > 50] :"値が Bob である子要素 <last-name> と、値が 50 を上回る兄弟要素 <price> を持っているすべての <author> 要素。"
innerXML=<first-name>Joe</first-name><last-name>Bob</last-name>
■/bookstore → book[position() <= 3] :"最初の 3 冊の本 (1、2、3)。"
innerXML=<author><first-name>Joe</first-name><last-name>Bob</last-name><award>Trenton Literary Review Honorable Mention</award></author><price>12</price>
innerXML=<author><first-name>Mary</first-name><last-name>Boby</last-name><publication>Selected Short Stories of
        <first-name>Mary</first-name><last-name>Bob</last-name></publication></author><editor><first-name>Britney</first-name><last-name>Bob</last-name></editor><price>55</price>
innerXML=<author><first-name>Toni</first-name><last-name>Bob</last-name><degree from="Trenton U">B.A.</degree><degree from="Harvard">Ph.D.</degree><award>Pulitzer</award><publication>Still in Trenton</publication><publication>Trenton Forever</publication></author><price intl="Canada" exchange="0.7">6.50</price><excerpt><p>It was a dark and stormy night.</p><p>But then all nights in Trenton seem dark and
      stormy to someone who has gone through what
      <emph>I</emph> have.</p><definition-list><term>Trenton</term><definition>misery</definition></definition-list></excerpt><title>Toni Bob's novel</title>
■/bookstore/book → author[not(last-name = "Bob")] :"値が Bob である子要素 <last-name> を持っていないすべての <author> 要素。"
innerXML=<first-name>Mary</first-name><last-name>Boby</last-name><publication>Selected Short Stories of
        <first-name>Mary</first-name><last-name>Bob</last-name></publication>
innerXML=Matthew Bob
innerXML=<first-name>Bob</first-name><p>testBob</p>
innerXML=<first-name>Bob</first-name><p>testBob</p>
innerXML=<first.name>BobTest4</first.name><p>test4Bob</p>
innerXML=<first-name>BobTest5.1</first-name>
innerXML=<first-name>BobTest5.2</first-name>
innerXML=<first-name>BobTest5.3</first-name>
innerXML=<first-name>BobTest5.4</first-name>
■/bookstore/book → author[first-name = "Bob"] :"値が Bob である子要素 <first-name> を 1 つ以上持っているすべての <author> 要素。"
innerXML=<first-name>Bob</first-name><p>testBob</p>
innerXML=<first-name>Bob</first-name><p>testBob</p>
■/bookstore/book → author[* = "Bob"] :"値が Bob である任意の子要素を持っているすべての author 要素。"
innerXML=<first-name>Joe</first-name><last-name>Bob</last-name><award>Trenton Literary Review Honorable Mention</award>
innerXML=<first-name>Toni</first-name><last-name>Bob</last-name><degree from="Trenton U">B.A.</degree><degree from="Harvard">Ph.D.</degree><award>Pulitzer</award><publication>Still in Trenton</publication><publication>Trenton Forever</publication>
innerXML=<first-name>Bob</first-name><p>testBob</p>
innerXML=<first-name>Bob</first-name><p>testBob</p>
innerXML=<first-name>Toni</first-name><last-name>Bob</last-name><degree from="Trenton U">B.A.</degree><degree from="Harvard">Ph.D.</degree><award>Pulitzer</award>
innerXML=<first-name>Joe</first-name><last-name>Bob</last-name>
■/bookstore/book → author[last-name = "Bob" and first-name = "Joe"] :"値が Bob である子要素 <last-name> と、値が Joe である子要素 <first-name> を持っているすべての <author> 要素。"
innerXML=<first-name>Joe</first-name><last-name>Bob</last-name><award>Trenton Literary Review Honorable Mention</award>
innerXML=<first-name>Joe</first-name><last-name>Bob</last-name>
■/bookstore/book → price[@intl = "Canada"] :"持っている intl 属性が "Canada" と等しい、コンテキスト ノード内のすべての <price> 要素。"
innerXML=6.50
■/bookstore/book/author → degree[position() < 3] :"コンテキスト ノードの子要素である最初の 2 つの <degree> 要素。"
innerXML=B.A.
innerXML=Ph.D.
innerXML=B.A.
innerXML=Ph.D.
■/bookstore/book/excerpt → p/text()[2] :"コンテキスト ノード内の個々の <p> 要素内の 2 番目のテキスト ノード。"
innerXML=
value= have.
■/bookstore/book/author → ancestor::book[1] :"コンテキスト ノードの最も近い祖先に当たる <book>。"
innerXML=<author><first-name>Joe</first-name><last-name>Bob</last-name><award>Trenton Literary Review Honorable Mention</award></author><price>12</price>
innerXML=<author><first-name>Mary</first-name><last-name>Boby</last-name><publication>Selected Short Stories of
        <first-name>Mary</first-name><last-name>Bob</last-name></publication></author><editor><first-name>Britney</first-name><last-name>Bob</last-name></editor><price>55</price>
innerXML=<author><first-name>Toni</first-name><last-name>Bob</last-name><degree from="Trenton U">B.A.</degree><degree from="Harvard">Ph.D.</degree><award>Pulitzer</award><publication>Still in Trenton</publication><publication>Trenton Forever</publication></author><price intl="Canada" exchange="0.7">6.50</price><excerpt><p>It was a dark and stormy night.</p><p>But then all nights in Trenton seem dark and
      stormy to someone who has gone through what
      <emph>I</emph> have.</p><definition-list><term>Trenton</term><definition>misery</definition></definition-list></excerpt><title>Toni Bob's novel</title>
innerXML=<author>Matthew Bob</author><p>testMatthewBob</p>
innerXML=<author><first-name>Bob</first-name><p>testBob</p></author>
innerXML=<title>test3_title</title><author><first-name>Bob</first-name><p>testBob</p></author>
innerXML=<title>test4_title</title><author><first.name>BobTest4</first.name><p>test4Bob</p></author>
innerXML=<title>test5_title</title><author><first-name>BobTest5.1</first-name></author><author><first-name>BobTest5.2</first-name></author><author><first-name>BobTest5.3</first-name></author><author><first-name>BobTest5.4</first-name></author>
innerXML=<title>test5_title</title><author><first-name>BobTest5.1</first-name></author><author><first-name>BobTest5.2</first-name></author><author><first-name>BobTest5.3</first-name></author><author><first-name>BobTest5.4</first-name></author>
innerXML=<title>test5_title</title><author><first-name>BobTest5.1</first-name></author><author><first-name>BobTest5.2</first-name></author><author><first-name>BobTest5.3</first-name></author><author><first-name>BobTest5.4</first-name></author>
innerXML=<title>test5_title</title><author><first-name>BobTest5.1</first-name></author><author><first-name>BobTest5.2</first-name></author><author><first-name>BobTest5.3</first-name></author><author><first-name>BobTest5.4</first-name></author>
innerXML=<author><first-name>Toni</first-name><last-name>Bob</last-name><degree from="Trenton U">B.A.</degree><degree from="Harvard">Ph.D.</degree><award>Pulitzer</award></author>
innerXML=<author><first-name>Joe</first-name><last-name>Bob</last-name></author><price>55</price>
■/bookstore/book/author → ancestor::book[author][1] :"コンテキスト ノードの最も近い祖先に当たる <book> であり、<author> 要素を子要素として持つ <book> 要素。"
innerXML=<author><first-name>Joe</first-name><last-name>Bob</last-name><award>Trenton Literary Review Honorable Mention</award></author><price>12</price>
innerXML=<author><first-name>Mary</first-name><last-name>Boby</last-name><publication>Selected Short Stories of
        <first-name>Mary</first-name><last-name>Bob</last-name></publication></author><editor><first-name>Britney</first-name><last-name>Bob</last-name></editor><price>55</price>
innerXML=<author><first-name>Toni</first-name><last-name>Bob</last-name><degree from="Trenton U">B.A.</degree><degree from="Harvard">Ph.D.</degree><award>Pulitzer</award><publication>Still in Trenton</publication><publication>Trenton Forever</publication></author><price intl="Canada" exchange="0.7">6.50</price><excerpt><p>It was a dark and stormy night.</p><p>But then all nights in Trenton seem dark and
      stormy to someone who has gone through what
      <emph>I</emph> have.</p><definition-list><term>Trenton</term><definition>misery</definition></definition-list></excerpt><title>Toni Bob's novel</title>
innerXML=<author>Matthew Bob</author><p>testMatthewBob</p>
innerXML=<author><first-name>Bob</first-name><p>testBob</p></author>
innerXML=<title>test3_title</title><author><first-name>Bob</first-name><p>testBob</p></author>
innerXML=<title>test4_title</title><author><first.name>BobTest4</first.name><p>test4Bob</p></author>
innerXML=<title>test5_title</title><author><first-name>BobTest5.1</first-name></author><author><first-name>BobTest5.2</first-name></author><author><first-name>BobTest5.3</first-name></author><author><first-name>BobTest5.4</first-name></author>
innerXML=<title>test5_title</title><author><first-name>BobTest5.1</first-name></author><author><first-name>BobTest5.2</first-name></author><author><first-name>BobTest5.3</first-name></author><author><first-name>BobTest5.4</first-name></author>
innerXML=<title>test5_title</title><author><first-name>BobTest5.1</first-name></author><author><first-name>BobTest5.2</first-name></author><author><first-name>BobTest5.3</first-name></author><author><first-name>BobTest5.4</first-name></author>
innerXML=<title>test5_title</title><author><first-name>BobTest5.1</first-name></author><author><first-name>BobTest5.2</first-name></author><author><first-name>BobTest5.3</first-name></author><author><first-name>BobTest5.4</first-name></author>
innerXML=<author><first-name>Toni</first-name><last-name>Bob</last-name><degree from="Trenton U">B.A.</degree><degree from="Harvard">Ph.D.</degree><award>Pulitzer</award></author>
innerXML=<author><first-name>Joe</first-name><last-name>Bob</last-name></author><price>55</price>
■/bookstore/book/author/first-name → ancestor::author[parent::book][1] :"現在のコンテキストで最も近い祖先に当たる <author> であり、<book> 要素を親として持つ <author> 要素。"
innerXML=<first-name>Joe</first-name><last-name>Bob</last-name><award>Trenton Literary Review Honorable Mention</award>
innerXML=<first-name>Mary</first-name><last-name>Boby</last-name><publication>Selected Short Stories of
        <first-name>Mary</first-name><last-name>Bob</last-name></publication>
innerXML=<first-name>Toni</first-name><last-name>Bob</last-name><degree from="Trenton U">B.A.</degree><degree from="Harvard">Ph.D.</degree><award>Pulitzer</award><publication>Still in Trenton</publication><publication>Trenton Forever</publication>
innerXML=<first-name>Bob</first-name><p>testBob</p>
innerXML=<first-name>Bob</first-name><p>testBob</p>
innerXML=<first-name>BobTest5.1</first-name>
innerXML=<first-name>BobTest5.2</first-name>
innerXML=<first-name>BobTest5.3</first-name>
innerXML=<first-name>BobTest5.4</first-name>
innerXML=<first-name>Toni</first-name><last-name>Bob</last-name><degree from="Trenton U">B.A.</degree><degree from="Harvard">Ph.D.</degree><award>Pulitzer</award>
innerXML=<first-name>Joe</first-name><last-name>Bob</last-name>

« 株:現物買い約定(ヘリオス テクノ ホールディング) | トップページ | 2017年第2四半期開始アニメの感想 »

コメント

コメントを書く

(ウェブ上には掲載しません)

トラックバック


この記事へのトラックバック一覧です: PowerShellでXPathを使う:

« 株:現物買い約定(ヘリオス テクノ ホールディング) | トップページ | 2017年第2四半期開始アニメの感想 »