/[pub]/suikawiki/sw4data/ids/6/352.txt
Suika

Contents of /suikawiki/sw4data/ids/6/352.txt

Parent Directory Parent Directory | Revision Log Revision Log


Revision 1.1 - (show annotations) (download)
Sat Nov 15 00:10:19 2008 UTC (16 years, 7 months ago) by wakaba
Branch: MAIN
CVS Tags: before-graph-20090923, suika-20100509, HEAD
File MIME type: text/plain
converted from SuikaWiki3 <http://suika.fam.cx/gate/cvs/suikawiki/wikidata/page/C0E1C5C0BBEEB8B3.txt>

1 #?SuikaWiki/0.9
2 [1] 【[[XPath]]】 [DFN[節検査]] (node test,
3 <http://www.w3.org/TR/xpath#node-tests>)
4 は、[[位置段階]]の必須の部分で、
5 [[節]]の種類や名前が一致するかを検査します。
6
7 - [CODE(ABNF)[[DFN[節検査]] := 名前検査 / 節検査関数]]
8 - [CODE(ABNF)[[DFN[名前検査]] := [ [[WSP]] ] [ [[名前空間接頭辞]] ":" ] ([[局部名]] / "*") [WSP] ]]
9 - [CODE(ABNF)[節検査関数 := 節検査関数名 [WSP] "(" [引数並び] ")" [WSP] ]]
10 [2] 名前検査は、型が[[主要節型]]である節のうち、
11 名前が一致する節の場合に[[真]]となります。
12 接頭辞がある場合、その[[文脈]]で解決した[[名前空間URI]]
13 と節の名前空間 URI の一致をみます。
14 接頭辞が無い場合は、 [CODE[null]] 名前空間とみなされます。
15 局部名が [CODE(XPath)[[[*]]]] の場合は、
16 名前空間 URI が一致する全ての節が真となります。
17
18 名前検査が [CODE(XPath)[*]] で接頭辞が無い時は、
19 その型が主要節型である全ての節と一致します。
20
21 接頭辞を解決できない場合は[[誤り]]とします。
22
23 [3] 節検査関数は、次のものが定義されています。
24 ,関数 ,一致する節
25 ,[CODE(XPath)[[[[comment]] ()]] ,[[注釈節]]
26 ,[CODE(XPath)[[[[node]] ()]] ,全ての節
27 ,[CODE(XPath)[[[[processing-instruction]] ( [ [VAR[[[表記]]]] ] )]],[ [[対象名]]が引数と一致する ] [[処理指令節]]
28 ,[CODE(XPath)[[[text]] ()]] ,[[文節]]
29
30 [4] >>3 つまらないことに [CODE(XPath)[processing-instruction]]
31 の引数は表記であって任意の文字列じゃないのね。
32
33 [5] 例:
34 - [SAMP(XPath)[foo]]
35 -- 真 [SAMP(XML)[foo]]
36 -- 偽 [SAMP(XML)[{http://ns.example/}:foo]]
37 - [SAMP(XPath)[foo:bar]] ([SAMP(XML)[[[xmlns]]:foo="http://ns.example/"]])
38 -- 偽 [SAMP(XML)[bar]]
39 -- 真 [SAMP(XML)[foo:bar]] ([SAMP(XML)[xmlns:foo="http://ns.example/"]])
40 -- 偽 [SAMP(XML)[foo:bar]] ([SAMP(XML)[xmlns:foo="ftp://ns.example/"]])
41 -- 真 [SAMP(XML)[baz:bar]] ([SAMP(XML)[xmlns:baz="http://ns.example/"]])
42 - [SAMP(XPath)[baz:bar]] ([SAMP(XML)[xmlns:baz]] = ??)
43 -- 誤り
44 - [SAMP(XML)[*]]
45 -- 真 [SAMP(XML)[foo]]
46 -- 真 [SAMP(XML)[bar]]
47 -- 真 [SAMP(XML)[foo:bar]]
48 - [SAMP(XML)[foo:*]] ([SAMP(XML)[xmlns:foo="http://ns.example/"]])
49 -- 偽 [SAMP(XML)[foo]]
50 -- 真 [SAMP(XML)[foo:bar]] ([SAMP(XML)[xmlns:foo="http://ns.example/"]])
51 -- 偽 [SAMP(XML)[foo:bar]] ([SAMP(XML)[xmlns:foo="ftp://ns.example/"]])
52 -- 真 [SAMP(XML)[bar:bar]] ([SAMP(XML)[xmlns:bar="http://ns.example/"]])
53
54 [6] [CODE(XPath)[*:foo]] みたいな書き方は出来ないわけですね。
55 まあこんなもの役に立つとは思えませんが。
56
57
58

admin@suikawiki.org
ViewVC Help
Powered by ViewVC 1.1.24