Expression | Result | Expected (compiled) |
Results
@val | 123 | 123 |
//x/text() | sub text | sub text |
//*/comment() | -122.0 | -122.0 |
count(//*/comment()) | 2 | 2 |
sum(//@*) | 123 | 123 |
sum(//*/comment()) | 378 | 378 |
true() | true | true |
not(false()) | true | true |
count(//*[position()=2]) | 2 | 2 |
name(/*/*/*[position()=2]) | c | c |
name(/*/*/*[last()]) | d | d |
count(//c/following::*) | 2 | 2 |
count(/a/b/b/following::*) | 3 | 3 |
count(//d/preceding::*) | 2 | 2 |
name(//attribute::*) | val | val |
count(//b/child::*) | 3 | 3 |
count(//x/ancestor-or-self::*) | 2 | 2 |
count(//b/descendant-or-self::*) | 4 | 4 |
count(//self::*) | 6 | 6 |
count(/a/descendant::*) | 5 | 5 |
count(/a/descendant::x) | 1 | 1 |
count(/a/descendant::b) | 2 | 2 |
count(/a/descendant::b[@val=123]) | 1 | 1 |
count(//c/ancestor::a) | 1 | 1 |
name(//d/parent::*) | b | b |
count(//c/ancestor::*) | 2 | 2 |
name(/a/b/ancestor::*) | a | a |
name(/a/b/c/following-sibling::*) | d | d |
count(//b/following-sibling::*) | 3 | 3 |
count(//b|//a) | 3 | 3 |
count(//d/preceding-sibling::*) | 2 | 2 |
-3 * 4 | -12 | -12 |
-3.1 * 4 | -12.4 | -12.4 |
12 div 5 | 2.4 | 2.4 |
3 * 7 | 21 | 21 |
-5.5 >= -5.5 | true | true |
-5.5 < 3 | true | true |
-6.0 < -7 | false | false |
12 < 14 | true | true |
12 > 14 | false | false |
14 <= 14 | true | true |
/a or /b | true | true |
/c or /b | false | false |
/a and /b | false | false |
/a and /*/b | true | true |
18-12 | 6 | 6 |
18+12 | 30 | 30 |
count(//a|//b) | 3 | 3 |
count(//*[@val]) | 1 | 1 |
name(//*[@val=123]) | b | b |
3=4 | false | false |
3!=4 | true | true |
12=12 | true | true |
'here is a string'='here is a string' | true | true |
'here is a string'!='here is a string' | false | false |
/a/b/@val | 123 | 123 |
count(//*/b) | 2 | 2 |
name(/*/*/*[2]) | c | c |
name(/*) | a | a |
name(/a) | a | a |
name(/a/b) | b | b |
name(/*/*) | b | b |
name(/a/b/c) | c | c |
count(/a/b/*) | 3 | 3 |
ceiling(3.5) | 4 | 4 |
concat('first ','second',' third','') | first second third | first second third |
ceiling(5) | 5 | 5 |
floor(3.5) | 3 | 3 |
floor(5) | 5 | 5 |
string-length('try') | 3 | 3 |
concat(name(/a/b[1]/*[1]),' ',name(/a/b/*[2])) | b c | b c |
count(/a/b/*) | 3 | 3 |
count(//*) | 6 | 6 |
count(//b) | 2 | 2 |
contains('base','as') | true | true |
contains('base','x') | false | false |
not(contains('base','as')) | false | false |
starts-with('blabla','bla') | true | true |
starts-with('blebla','bla') | false | false |
substring('12345',2,3) | 234 | 234 |
substring('12345',2) | 2345 | 2345 |
substring('12345',2,6) | 2345 | 2345 |
concat('[',normalize-space(' before and after '),']') | [before and after] | [before and after] |
//* | 6 | 6 |
2+3+4+5 | 14 | 14 |
20-2-3+5 | 20 | 20 |
count(/a/x[1]) | 1 | 1 |
name(/a/*[2]) | x | x |
name(/a/*[1]) | b | b |
name(/a/x[1]) | x | x |
count(/a/b/c[1]) | 1 | 1 |
count(/a/b/c[position()=1]) | 1 | 1 |
count(/a/b/d[position()=3]) | 0 | 0 |
//*[@val]/@val | 123 | 123 |
//x[text()='sub text']/@target | xyz | xyz |
substring('123.4',1) | 123.4 | 123.4 |
//** | syntax error | syntax error |
Xpath expr | value |
concat(/rss/channel/item[1]/pubDate/text(),' : ',/rss/channel/item[1]/title/text()) | Sun, 18 Jan 2004 13:33:55 GMT : TinyXPath 1.2.1 is released |
concat(/rss/channel/item[2]/pubDate/text(),' : ',/rss/channel/item[2]/title/text()) | Fri, 09 Jan 2004 21:24:09 GMT : TinyXPath 1.2 is released |
concat(/rss/channel/item[3]/pubDate/text(),' : ',/rss/channel/item[3]/title/text()) | Wed, 07 Jan 2004 08:52:10 GMT : Version 1.1 is out |
concat(/rss/channel/item[4]/pubDate/text(),' : ',/rss/channel/item[4]/title/text()) | Tue, 11 Jun 2002 19:31:51 GMT : Release 0.3 is out |
concat(/rss/channel/item[5]/pubDate/text(),' : ',/rss/channel/item[5]/title/text()) | Mon, 27 May 2002 20:14:31 GMT : Release 0.2 is out |
concat(/rss/channel/item[6]/pubDate/text(),' : ',/rss/channel/item[6]/title/text()) | Tue, 21 May 2002 21:23:53 GMT : First release 0.1 is out |
concat(/rss/channel/item[7]/pubDate/text(),' : ',/rss/channel/item[7]/title/text()) | Tue, 14 May 2002 20:09:56 GMT : Syntax decoding is done |