/[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 - (hide 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 wakaba 1.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