[libxml2]Add libxml2 library

This commit is contained in:
zhoujiale
2026-07-26 16:57:28 +08:00
committed by zhoujiale
parent 0a44ec8a06
commit e841ac915d
3790 changed files with 668244 additions and 0 deletions
+68
View File
@@ -0,0 +1,68 @@
========================
Expression: 1
Object is a number : 1
========================
Expression: 1+2
Object is a number : 3
========================
Expression: 2*3
Object is a number : 6
========================
Expression: 1+2*3+4
Object is a number : 11
========================
Expression: (1+2)*(3+4)
Object is a number : 21
========================
Expression: 1*1+1*1+1*1+1*1+1*1+1*1+1*1+1*1+1*1+1*1+1*1+1*1+1*1+1*1+1*1+1*1+1*1+1*1+1*1+1*1+1*1
Object is a number : 21
========================
Expression: 0.000000000000000000000000000000000000000000000000001
Object is a number : 1e-51
========================
Expression: -0.000000000000000000000000000000000000000000000000001
Object is a number : -1e-51
========================
Expression: 1e2147483648
Object is a number : Infinity
========================
Expression: 1e4294967296
Object is a number : Infinity
========================
Expression: 1e9223372036854775808
Object is a number : Infinity
========================
Expression: 1e18446744073709551616
Object is a number : Infinity
========================
Expression: 1e-2147483649
Object is a number : 0
========================
Expression: 1e-4294967296
Object is a number : 0
========================
Expression: 1e-9223372036854775809
Object is a number : 0
========================
Expression: 1e-18446744073709551616
Object is a number : 0
========================
Expression: self::-name
Object is empty (NULL)
+184
View File
@@ -0,0 +1,184 @@
========================
Expression: 0<0
Object is a Boolean : false
========================
Expression: 0<=0
Object is a Boolean : true
========================
Expression: 0>0
Object is a Boolean : false
========================
Expression: 0>=0
Object is a Boolean : true
========================
Expression: 0<1
Object is a Boolean : true
========================
Expression: 0<=1
Object is a Boolean : true
========================
Expression: 0>1
Object is a Boolean : false
========================
Expression: 0>=1
Object is a Boolean : false
========================
Expression: 1<0
Object is a Boolean : false
========================
Expression: 1<=0
Object is a Boolean : false
========================
Expression: 1>0
Object is a Boolean : true
========================
Expression: 1>=0
Object is a Boolean : true
========================
Expression: 1<1
Object is a Boolean : false
========================
Expression: 1<=1
Object is a Boolean : true
========================
Expression: 1>1
Object is a Boolean : false
========================
Expression: 1>=1
Object is a Boolean : true
========================
Expression: '0'<1
Object is a Boolean : true
========================
Expression: '0'<=1
Object is a Boolean : true
========================
Expression: '0'>1
Object is a Boolean : false
========================
Expression: '0'>=1
Object is a Boolean : false
========================
Expression: 0<'1.2'
Object is a Boolean : true
========================
Expression: 0<='1.2'
Object is a Boolean : true
========================
Expression: 0>'1.2'
Object is a Boolean : false
========================
Expression: 0>='1.2'
Object is a Boolean : false
========================
Expression: 0<'-0.2'
Object is a Boolean : false
========================
Expression: 0<='-0.2'
Object is a Boolean : false
========================
Expression: 0>'-0.2'
Object is a Boolean : true
========================
Expression: 0>='-0.2'
Object is a Boolean : true
========================
Expression: false()<1
Object is a Boolean : true
========================
Expression: false()<=1
Object is a Boolean : true
========================
Expression: 0>true()
Object is a Boolean : false
========================
Expression: 0>=true()
Object is a Boolean : false
========================
Expression: 'a' > 'a'
Object is a Boolean : false
========================
Expression: 'a' > 'b'
Object is a Boolean : false
========================
Expression: 'b' > 'a'
Object is a Boolean : false
========================
Expression: 'a' < 'a'
Object is a Boolean : false
========================
Expression: 'a' < 'b'
Object is a Boolean : false
========================
Expression: 'b' < 'a'
Object is a Boolean : false
========================
Expression: 'a' >= 'a'
Object is a Boolean : false
========================
Expression: 'a' >= 'b'
Object is a Boolean : false
========================
Expression: 'b' >= 'a'
Object is a Boolean : false
========================
Expression: 'a' <= 'a'
Object is a Boolean : false
========================
Expression: 'a' <= 'b'
Object is a Boolean : false
========================
Expression: 'b' <= 'a'
Object is a Boolean : false
========================
Expression: 'a' > '0.0'
Object is a Boolean : false
========================
Expression: 'a' < '0.0'
Object is a Boolean : false
+104
View File
@@ -0,0 +1,104 @@
========================
Expression: 1=1
Object is a Boolean : true
========================
Expression: 1!=1
Object is a Boolean : false
========================
Expression: 1=0
Object is a Boolean : false
========================
Expression: 1!=0
Object is a Boolean : true
========================
Expression: true()=true()
Object is a Boolean : true
========================
Expression: true()!=true()
Object is a Boolean : false
========================
Expression: true()=false()
Object is a Boolean : false
========================
Expression: false()!=true()
Object is a Boolean : true
========================
Expression: 'test'='test'
Object is a Boolean : true
========================
Expression: 'test'!='test'
Object is a Boolean : false
========================
Expression: 'test2'='test'
Object is a Boolean : false
========================
Expression: 'test2'!='test'
Object is a Boolean : true
========================
Expression: false()=0
Object is a Boolean : true
========================
Expression: false()!=0
Object is a Boolean : false
========================
Expression: false()=1
Object is a Boolean : false
========================
Expression: false()!=1
Object is a Boolean : true
========================
Expression: 0=true()
Object is a Boolean : false
========================
Expression: 0!=true()
Object is a Boolean : true
========================
Expression: 1=true()
Object is a Boolean : true
========================
Expression: 1!=true()
Object is a Boolean : false
========================
Expression: true()='test'
Object is a Boolean : true
========================
Expression: false()='test'
Object is a Boolean : false
========================
Expression: 'test'!=true()
Object is a Boolean : false
========================
Expression: 'test'!=false()
Object is a Boolean : true
========================
Expression: 'a'=0.0
Object is a Boolean : false
========================
Expression: 'a'!=0.0
Object is a Boolean : true
+252
View File
@@ -0,0 +1,252 @@
========================
Expression: 1
Object is a number : 1
========================
Expression: 123
Object is a number : 123
========================
Expression: 1.23
Object is a number : 1.23
========================
Expression: 0.123
Object is a number : 0.123
========================
Expression: 4.
Object is a number : 4
========================
Expression: .4
Object is a number : 0.4
========================
Expression: 1.23e3
Object is a number : 1230
========================
Expression: 1.23e-3
Object is a number : 0.00123
========================
Expression: 1 div 0
Object is a number : Infinity
========================
Expression: -1 div 0
Object is a number : -Infinity
========================
Expression: 0 div 0
Object is a number : NaN
========================
Expression: 1 div -0
Object is a number : -Infinity
========================
Expression: (1 div 0) > 0
Object is a Boolean : true
========================
Expression: (1 div 0) < 0
Object is a Boolean : false
========================
Expression: (-1 div 0) > 0
Object is a Boolean : false
========================
Expression: (-1 div 0) < 0
Object is a Boolean : true
========================
Expression: (0 div 0) > 0
Object is a Boolean : false
========================
Expression: (0 div 0) < 0
Object is a Boolean : false
========================
Expression: (1 div -0) > 0
Object is a Boolean : false
========================
Expression: (1 div -0) < 0
Object is a Boolean : true
========================
Expression: 0 div 0 = 0 div 0
Object is a Boolean : false
========================
Expression: 0 div 0 != 0 div 0
Object is a Boolean : true
========================
Expression: 0 div 0 > 0 div 0
Object is a Boolean : false
========================
Expression: 0 div 0 < 0 div 0
Object is a Boolean : false
========================
Expression: 0 div 0 >= 0 div 0
Object is a Boolean : false
========================
Expression: 0 div 0 <= 0 div 0
Object is a Boolean : false
========================
Expression: 1 div 0 = -1 div 0
Object is a Boolean : false
========================
Expression: 1 div 0 != -1 div 0
Object is a Boolean : true
========================
Expression: 1 div 0 > -1 div 0
Object is a Boolean : true
========================
Expression: 1 div 0 < -1 div 0
Object is a Boolean : false
========================
Expression: 1 div 0 >= -1 div 0
Object is a Boolean : true
========================
Expression: 1 div 0 <= -1 div 0
Object is a Boolean : false
========================
Expression: 1 div 0 = 1 div 0
Object is a Boolean : true
========================
Expression: 1 div 0 != 1 div 0
Object is a Boolean : false
========================
Expression: 1 div 0 > 1 div 0
Object is a Boolean : false
========================
Expression: 1 div 0 < 1 div 0
Object is a Boolean : false
========================
Expression: 1 div 0 >= -1 div 0
Object is a Boolean : true
========================
Expression: 1 div 0 <= -1 div 0
Object is a Boolean : false
========================
Expression: -2 div 0 = -1 div 0
Object is a Boolean : true
========================
Expression: 1 div floor(0.1)
Object is a number : Infinity
========================
Expression: 1 div floor(-0.1)
Object is a number : -1
========================
Expression: 1 div floor(-0)
Object is a number : -Infinity
========================
Expression: 1 div floor(0)
Object is a number : Infinity
========================
Expression: 1 div ceiling(0.1)
Object is a number : 1
========================
Expression: 1 div ceiling(-0.1)
Object is a number : -Infinity
========================
Expression: 1 div ceiling(-0)
Object is a number : -Infinity
========================
Expression: 1 div ceiling(0)
Object is a number : Infinity
========================
Expression: 1 div round(0.1)
Object is a number : Infinity
========================
Expression: 1 div round(-0.1)
Object is a number : -Infinity
========================
Expression: 1 div round(-0)
Object is a number : -Infinity
========================
Expression: 1 div round(0)
Object is a number : Infinity
========================
Expression: 1 div number('f')
Object is a number : NaN
========================
Expression: number('f') div 1
Object is a number : NaN
========================
Expression: 1 div (1 div 0)
Object is a number : 0
========================
Expression: (1 div 0) div 1
Object is a number : Infinity
========================
Expression: -(1 div 0) div 1
Object is a number : -Infinity
========================
Expression: 5 mod 2
Object is a number : 1
========================
Expression: 5 mod -2
Object is a number : 1
========================
Expression: -5 mod 2
Object is a number : -1
========================
Expression: -5 mod -2
Object is a number : -1
========================
Expression: 8 mod 3 = 2
Object is a Boolean : true
========================
Expression: 12345678901234567890
Object is a number : 1.23457e+19
========================
Expression: -12345678901234567890
Object is a number : -1.23457e+19
+172
View File
@@ -0,0 +1,172 @@
========================
Expression: true()
Object is a Boolean : true
========================
Expression: false()
Object is a Boolean : false
========================
Expression: number("1.5")
Object is a number : 1.5
========================
Expression: number('abc')
Object is a number : NaN
========================
Expression: -number('abc')
Object is a number : NaN
========================
Expression: number('-')
Object is a number : NaN
========================
Expression: floor(0.1)
Object is a number : 0
========================
Expression: floor(-0.1)
Object is a number : -1
========================
Expression: floor(-0)
Object is a number : 0
========================
Expression: floor(0)
Object is a number : 0
========================
Expression: floor(5.2)
Object is a number : 5
========================
Expression: floor(-5.2)
Object is a number : -6
========================
Expression: floor(100000000000000000000)
Object is a number : 1e+20
========================
Expression: floor(-100000000000000000000)
Object is a number : -1e+20
========================
Expression: floor(0 div 0)
Object is a number : NaN
========================
Expression: floor(1 div 0)
Object is a number : Infinity
========================
Expression: floor(-1 div 0)
Object is a number : -Infinity
========================
Expression: ceiling(0.1)
Object is a number : 1
========================
Expression: ceiling(-0.1)
Object is a number : 0
========================
Expression: ceiling(-0)
Object is a number : 0
========================
Expression: ceiling(0)
Object is a number : 0
========================
Expression: ceiling(5.2)
Object is a number : 6
========================
Expression: ceiling(-5.2)
Object is a number : -5
========================
Expression: ceiling(100000000000000000000)
Object is a number : 1e+20
========================
Expression: ceiling(-100000000000000000000)
Object is a number : -1e+20
========================
Expression: ceiling(0 div 0)
Object is a number : NaN
========================
Expression: ceiling(1 div 0)
Object is a number : Infinity
========================
Expression: ceiling(-1 div 0)
Object is a number : -Infinity
========================
Expression: round(0.1)
Object is a number : 0
========================
Expression: round(5.2)
Object is a number : 5
========================
Expression: round(5.5)
Object is a number : 6
========================
Expression: round(5.6)
Object is a number : 6
========================
Expression: round(-0.1)
Object is a number : 0
========================
Expression: round(-5.2)
Object is a number : -5
========================
Expression: round(-5.5)
Object is a number : -5
========================
Expression: round(-5.6)
Object is a number : -6
========================
Expression: round(0.5)
Object is a number : 1
========================
Expression: round(-0.5)
Object is a number : 0
========================
Expression: round(100000000000000000000)
Object is a number : 1e+20
========================
Expression: round(-100000000000000000000)
Object is a number : -1e+20
========================
Expression: round(0 div 0)
Object is a number : NaN
========================
Expression: round(1 div 0)
Object is a number : Infinity
========================
Expression: round(-1 div 0)
Object is a number : -Infinity
+192
View File
@@ -0,0 +1,192 @@
========================
Expression: string(5)
Object is a string : 5
========================
Expression: string(0.5)
Object is a string : 0.5
========================
Expression: string(-0.5)
Object is a string : -0.5
========================
Expression: string(true())
Object is a string : true
========================
Expression: string(false())
Object is a string : false
========================
Expression: string(12345678901234567890)
Object is a string : 1.23456789012346e+19
========================
Expression: string(-12345678901234567890)
Object is a string : -1.23456789012346e+19
========================
Expression: concat("titi","toto")
Object is a string : tititoto
========================
Expression: concat("titi","toto","tata")
Object is a string : tititototata
========================
Expression: concat("titi",'toto')
Object is a string : tititoto
========================
Expression: concat("titi",'toto',"tata","last")
Object is a string : tititototatalast
========================
Expression: starts-with("tititoto","titi")
Object is a Boolean : true
========================
Expression: starts-with("tititoto","to")
Object is a Boolean : false
========================
Expression: contains("tititototata","titi")
Object is a Boolean : true
========================
Expression: contains("tititototata","toto")
Object is a Boolean : true
========================
Expression: contains("tititototata","tata")
Object is a Boolean : true
========================
Expression: contains("tititototata","tita")
Object is a Boolean : false
========================
Expression: substring("12345",2,3)
Object is a string : 234
========================
Expression: substring("12345",2)
Object is a string : 2345
========================
Expression: substring("12345",-4)
Object is a string : 12345
========================
Expression: substring("12345",3.4)
Object is a string : 345
========================
Expression: substring("12345",3.6)
Object is a string : 45
========================
Expression: substring("12345",1.5,2.6)
Object is a string : 234
========================
Expression: substring("12345",2.2,2.2)
Object is a string : 23
========================
Expression: substring("12345",0,3)
Object is a string : 12
========================
Expression: substring("12345",-8,10)
Object is a string : 1
========================
Expression: substring("12345",4,-10)
Object is a string :
========================
Expression: substring("12345",0 div 0, 3)
Object is a string :
========================
Expression: substring("12345",1, 0 div 0)
Object is a string :
========================
Expression: substring("12345",1 div 0, 3)
Object is a string :
========================
Expression: substring("12345",3,-1 div 0)
Object is a string :
========================
Expression: substring("12345",-42, 1 div 0)
Object is a string : 12345
========================
Expression: substring("12345",-1 div 0, 1 div 0)
Object is a string :
========================
Expression: substring("12345",-1 div 0,5)
Object is a string :
========================
Expression: substring("12345",-0.7,4)
Object is a string : 12
========================
Expression: substring("12345",-5000000000,5000000004)
Object is a string : 123
========================
Expression: substring-after("12345678","345")
Object is a string : 678
========================
Expression: substring-after("12345678","999")
Object is a string :
========================
Expression: substring-before("12345678","345")
Object is a string : 12
========================
Expression: substring-before("12345678","999")
Object is a string :
========================
Expression: string-length("")
Object is a number : 0
========================
Expression: string-length("titi")
Object is a number : 4
========================
Expression: normalize-space(" abc def ")
Object is a string : abc def
========================
Expression: normalize-space(" abc def")
Object is a string : abc def
========================
Expression: normalize-space("abc def ")
Object is a string : abc def
========================
Expression: normalize-space(" abcdef ")
Object is a string : abcdef
========================
Expression: normalize-space(" abcdef")
Object is a string : abcdef
========================
Expression: normalize-space("abcdef ")
Object is a string : abcdef
+168
View File
@@ -0,0 +1,168 @@
========================
Expression: /child::EXAMPLE
Object is a Node Set :
Set contains 1 nodes:
1 ELEMENT EXAMPLE
ATTRIBUTE prop1
TEXT
content=gnome is great
ATTRIBUTE prop2
TEXT
content=& linux too
========================
Expression: /child::*
Object is a Node Set :
Set contains 1 nodes:
1 ELEMENT EXAMPLE
ATTRIBUTE prop1
TEXT
content=gnome is great
ATTRIBUTE prop2
TEXT
content=& linux too
========================
Expression: /child::EXAMPLE/child::head
Object is a Node Set :
Set contains 1 nodes:
1 ELEMENT head
========================
Expression: /child::EXAMPLE/child::*
Object is a Node Set :
Set contains 6 nodes:
1 ELEMENT head
2 ELEMENT chapter
ATTRIBUTE id
TEXT
content=chapter1
3 ELEMENT chapter
ATTRIBUTE id
TEXT
content=chapter2
4 ELEMENT chapter
ATTRIBUTE id
TEXT
content=chapter3
5 ELEMENT chapter
ATTRIBUTE id
TEXT
content=chapter4
6 ELEMENT chapter
ATTRIBUTE id
TEXT
content=chapter5
========================
Expression: /child::EXAMPLE/child::head/child::title
Object is a Node Set :
Set contains 1 nodes:
1 ELEMENT title
========================
Expression: /child::EXAMPLE/child::head/child::title/child::text()
Object is a Node Set :
Set contains 1 nodes:
1 TEXT
content=Welcome to Gnome
========================
Expression: /child::EXAMPLE/child::head/node()
Object is a Node Set :
Set contains 3 nodes:
1 TEXT
content=
2 ELEMENT title
3 TEXT
content=
========================
Expression: /descendant::title
Object is a Node Set :
Set contains 6 nodes:
1 ELEMENT title
2 ELEMENT title
3 ELEMENT title
4 ELEMENT title
5 ELEMENT title
6 ELEMENT title
========================
Expression: /descendant::p/ancestor::chapter
Object is a Node Set :
Set contains 5 nodes:
1 ELEMENT chapter
ATTRIBUTE id
TEXT
content=chapter1
2 ELEMENT chapter
ATTRIBUTE id
TEXT
content=chapter2
3 ELEMENT chapter
ATTRIBUTE id
TEXT
content=chapter3
4 ELEMENT chapter
ATTRIBUTE id
TEXT
content=chapter4
5 ELEMENT chapter
ATTRIBUTE id
TEXT
content=chapter5
========================
Expression: //p[1]
Object is a Node Set :
Set contains 5 nodes:
1 ELEMENT p
2 ELEMENT p
3 ELEMENT p
4 ELEMENT p
5 ELEMENT p
========================
Expression: //p[0 div 0]
Object is a Node Set :
Set contains 0 nodes:
========================
Expression: //p[100000000000000000000]
Object is a Node Set :
Set contains 0 nodes:
========================
Expression: //p[-100000000000000000000]
Object is a Node Set :
Set contains 0 nodes:
========================
Expression: //chapter[true()][position() mod 2 = 1][true()][2]
Object is a Node Set :
Set contains 1 nodes:
1 ELEMENT chapter
ATTRIBUTE id
TEXT
content=chapter3
========================
Expression: //chapter[true()][2][true()]
Object is a Node Set :
Set contains 1 nodes:
1 ELEMENT chapter
ATTRIBUTE id
TEXT
content=chapter2
========================
Expression: //node()[false()]
Object is a Node Set :
Set contains 0 nodes:
========================
Expression: (//node())[false()]
Object is a Node Set :
Set contains 0 nodes:
+100
View File
@@ -0,0 +1,100 @@
========================
Expression: /following::*
Object is a Node Set :
Set contains 0 nodes:
========================
Expression: /preceding::*
Object is a Node Set :
Set contains 0 nodes:
========================
Expression: /child::EXAMPLE/preceding::*
Object is a Node Set :
Set contains 0 nodes:
========================
Expression: /child::EXAMPLE/following::*
Object is a Node Set :
Set contains 0 nodes:
========================
Expression: /child::EXAMPLE/child::chapter[3]/preceding::*
Object is a Node Set :
Set contains 10 nodes:
1 ELEMENT head
2 ELEMENT title
3 ELEMENT chapter
ATTRIBUTE id
TEXT
content=chapter1
4 ELEMENT title
5 ELEMENT p
6 ELEMENT image
ATTRIBUTE href
TEXT
content=linus.gif
7 ELEMENT p
8 ELEMENT chapter
ATTRIBUTE id
TEXT
content=chapter2
9 ELEMENT title
10 ELEMENT p
========================
Expression: /child::EXAMPLE/child::chapter[3]/following::*
Object is a Node Set :
Set contains 6 nodes:
1 ELEMENT chapter
ATTRIBUTE id
TEXT
content=chapter4
2 ELEMENT title
3 ELEMENT p
4 ELEMENT chapter
ATTRIBUTE id
TEXT
content=chapter5
5 ELEMENT title
6 ELEMENT p
========================
Expression: /child::EXAMPLE/child::chapter[1]/image/preceding::*
Object is a Node Set :
Set contains 4 nodes:
1 ELEMENT head
2 ELEMENT title
3 ELEMENT title
4 ELEMENT p
========================
Expression: /child::EXAMPLE/child::chapter[1]/image/following::*
Object is a Node Set :
Set contains 13 nodes:
1 ELEMENT p
2 ELEMENT chapter
ATTRIBUTE id
TEXT
content=chapter2
3 ELEMENT title
4 ELEMENT p
5 ELEMENT chapter
ATTRIBUTE id
TEXT
content=chapter3
6 ELEMENT title
7 ELEMENT p
8 ELEMENT chapter
ATTRIBUTE id
TEXT
content=chapter4
9 ELEMENT title
10 ELEMENT p
11 ELEMENT chapter
ATTRIBUTE id
TEXT
content=chapter5
12 ELEMENT title
13 ELEMENT p
+33
View File
@@ -0,0 +1,33 @@
========================
Expression: //*[@id="root"]
Object is a Node Set :
Set contains 1 nodes:
1 ELEMENT EXAMPLE
ATTRIBUTE id
TEXT
content=root
ATTRIBUTE prop1
TEXT
content=gnome is great
ATTRIBUTE prop2
TEXT
content=& linux too
========================
Expression: //*[@id="chapter2"]
Object is a Node Set :
Set contains 1 nodes:
1 ELEMENT chapter
ATTRIBUTE id
TEXT
content=chapter2
========================
Expression: //*[@id="chapter5"]
Object is a Node Set :
Set contains 1 nodes:
1 ELEMENT chapter
ATTRIBUTE id
TEXT
content=chapter5
+60
View File
@@ -0,0 +1,60 @@
========================
Expression: //*[lang('en')]
Object is a Node Set :
Set contains 9 nodes:
1 ELEMENT b
ATTRIBUTE lang
TEXT
content=en
2 ELEMENT x
3 ELEMENT x
4 ELEMENT para
ATTRIBUTE lang
TEXT
content=en
5 ELEMENT div
ATTRIBUTE lang
TEXT
content=en
6 ELEMENT para
7 ELEMENT para
ATTRIBUTE lang
TEXT
content=EN
8 ELEMENT para
ATTRIBUTE lang
TEXT
content=en-us
9 ELEMENT para
ATTRIBUTE lang
TEXT
content=EN-US
========================
Expression: //*[lang('en-us')]
Object is a Node Set :
Set contains 2 nodes:
1 ELEMENT para
ATTRIBUTE lang
TEXT
content=en-us
2 ELEMENT para
ATTRIBUTE lang
TEXT
content=EN-US
========================
Expression: //*[lang('en-gb')]
Object is a Node Set :
Set contains 0 nodes:
========================
Expression: //*[lang('fr')]
Object is a Node Set :
Set contains 0 nodes:
========================
Expression: //*[lang('')]
Object is a Node Set :
Set contains 0 nodes:
+101
View File
@@ -0,0 +1,101 @@
========================
Expression: s
Object is a Node Set :
Set contains 1 nodes:
1 ELEMENT s
ATTRIBUTE p
TEXT
content=root
========================
Expression: s|p1/s
Object is a Node Set :
Set contains 2 nodes:
1 ELEMENT s
ATTRIBUTE p
TEXT
content=root
2 ELEMENT s
ATTRIBUTE p
TEXT
content=p1
========================
Expression: s|/root/p1/s
Object is a Node Set :
Set contains 2 nodes:
1 ELEMENT s
ATTRIBUTE p
TEXT
content=root
2 ELEMENT s
ATTRIBUTE p
TEXT
content=p1
========================
Expression: /root/p1/s|s
Object is a Node Set :
Set contains 2 nodes:
1 ELEMENT s
ATTRIBUTE p
TEXT
content=root
2 ELEMENT s
ATTRIBUTE p
TEXT
content=p1
========================
Expression: //s
Object is a Node Set :
Set contains 3 nodes:
1 ELEMENT s
ATTRIBUTE p
TEXT
content=root
2 ELEMENT s
ATTRIBUTE p
TEXT
content=p1
3 ELEMENT s
ATTRIBUTE p
TEXT
content=p2
========================
Expression: //s|p1
Object is a Node Set :
Set contains 4 nodes:
1 ELEMENT s
ATTRIBUTE p
TEXT
content=root
2 ELEMENT p1
3 ELEMENT s
ATTRIBUTE p
TEXT
content=p1
4 ELEMENT s
ATTRIBUTE p
TEXT
content=p2
========================
Expression: p1|//s
Object is a Node Set :
Set contains 4 nodes:
1 ELEMENT s
ATTRIBUTE p
TEXT
content=root
2 ELEMENT p1
3 ELEMENT s
ATTRIBUTE p
TEXT
content=p1
4 ELEMENT s
ATTRIBUTE p
TEXT
content=p2
+94
View File
@@ -0,0 +1,94 @@
========================
Expression: /.
Object is a Node Set :
Set contains 1 nodes:
1 /
========================
Expression: //.
Object is a Node Set :
Set contains 12 nodes:
1 /
2 ELEMENT root
3 ELEMENT foo
4 TEXT
content=txt
5 COMMENT
content=hello
6 CDATA_SECTION
content=data
7 PI target
content=data
8 ELEMENT bar
9 TEXT
content=txt
10 COMMENT
content=hello
11 CDATA_SECTION
content=data
12 PI target
content=data
========================
Expression: /root//.
Object is a Node Set :
Set contains 11 nodes:
1 ELEMENT root
2 ELEMENT foo
3 TEXT
content=txt
4 COMMENT
content=hello
5 CDATA_SECTION
content=data
6 PI target
content=data
7 ELEMENT bar
8 TEXT
content=txt
9 COMMENT
content=hello
10 CDATA_SECTION
content=data
11 PI target
content=data
========================
Expression: //.//./././/.
Object is a Node Set :
Set contains 12 nodes:
1 /
2 ELEMENT root
3 ELEMENT foo
4 TEXT
content=txt
5 COMMENT
content=hello
6 CDATA_SECTION
content=data
7 PI target
content=data
8 ELEMENT bar
9 TEXT
content=txt
10 COMMENT
content=hello
11 CDATA_SECTION
content=data
12 PI target
content=data
========================
Expression: /root//././/bar//.
Object is a Node Set :
Set contains 5 nodes:
1 ELEMENT bar
2 TEXT
content=txt
3 COMMENT
content=hello
4 CDATA_SECTION
content=data
5 PI target
content=data
+38
View File
@@ -0,0 +1,38 @@
========================
Expression: /doc/elem/namespace::node()/..
Object is a Node Set :
Set contains 1 nodes:
1 ELEMENT elem
namespace ns2 href=nsuri2
========================
Expression: /doc/elem/namespace::*/self::node()[true()]
Object is a Node Set :
Set contains 3 nodes:
1 namespace xml href=http://www.w3.org/XML/1998/namespace
2 namespace ns1 href=nsuri1
3 namespace ns2 href=nsuri2
========================
Expression: //*[namespace::ns1]
Object is a Node Set :
Set contains 4 nodes:
1 ELEMENT doc
namespace ns1 href=nsuri1
2 ELEMENT preceding
3 ELEMENT elem
namespace ns2 href=nsuri2
4 ELEMENT following
========================
Expression: /doc/elem/namespace::ns2/following::*
Object is a Node Set :
Set contains 1 nodes:
1 ELEMENT following
========================
Expression: /doc/elem/namespace::ns2/preceding::*
Object is a Node Set :
Set contains 1 nodes:
1 ELEMENT preceding
+81
View File
@@ -0,0 +1,81 @@
========================
Expression: /EXAMPLE
Object is a Node Set :
Set contains 1 nodes:
1 ELEMENT EXAMPLE
ATTRIBUTE prop1
TEXT
content=gnome is great
ATTRIBUTE prop2
TEXT
content=& linux too
========================
Expression: /EXAMPLE/head
Object is a Node Set :
Set contains 1 nodes:
1 ELEMENT head
========================
Expression: /EXAMPLE/chapter[1]
Object is a Node Set :
Set contains 1 nodes:
1 ELEMENT chapter
========================
Expression: //p
Object is a Node Set :
Set contains 2 nodes:
1 ELEMENT p
2 ELEMENT p
========================
Expression: //chapter/image
Object is a Node Set :
Set contains 1 nodes:
1 ELEMENT image
ATTRIBUTE href
TEXT
content=linus.gif
========================
Expression: //p/text()
Object is a Node Set :
Set contains 2 nodes:
1 TEXT
content=bla bla bla ...
2 TEXT
content=...
========================
Expression: //p/text()[position()=1]
Object is a Node Set :
Set contains 2 nodes:
1 TEXT
content=bla bla bla ...
2 TEXT
content=...
========================
Expression: //p/text()[position()=last()]
Object is a Node Set :
Set contains 2 nodes:
1 TEXT
content=bla bla bla ...
2 TEXT
content=...
========================
Expression: (//p/text())[position()=1]
Object is a Node Set :
Set contains 1 nodes:
1 TEXT
content=bla bla bla ...
========================
Expression: (//p/text())[position()=last()]
Object is a Node Set :
Set contains 1 nodes:
1 TEXT
content=...
+132
View File
@@ -0,0 +1,132 @@
========================
Expression: /child::*
Object is a Node Set :
Set contains 1 nodes:
1 ELEMENT EXAMPLE
ATTRIBUTE prop1
TEXT
content=gnome is great
ATTRIBUTE prop2
TEXT
content=& linux too
========================
Expression: /child::EXAMPLE
Object is a Node Set :
Set contains 1 nodes:
1 ELEMENT EXAMPLE
ATTRIBUTE prop1
TEXT
content=gnome is great
ATTRIBUTE prop2
TEXT
content=& linux too
========================
Expression: /child::EXAMPLE/child::head
Object is a Node Set :
Set contains 1 nodes:
1 ELEMENT head
========================
Expression: /child::EXAMPLE/child::*
Object is a Node Set :
Set contains 2 nodes:
1 ELEMENT head
2 ELEMENT chapter
========================
Expression: /child::EXAMPLE/child::head/child::title
Object is a Node Set :
Set contains 1 nodes:
1 ELEMENT title
========================
Expression: /child::EXAMPLE/child::head/child::title/child::text()
Object is a Node Set :
Set contains 1 nodes:
1 TEXT
content=Welcome to Gnome
========================
Expression: /child::EXAMPLE/child::head/node()
Object is a Node Set :
Set contains 3 nodes:
1 TEXT
content=
2 ELEMENT title
3 TEXT
content=
========================
Expression: /child::EXAMPLE/attribute::prop1/self::node()
Object is a Node Set :
Set contains 1 nodes:
1 ATTRIBUTE prop1
TEXT
content=gnome is great
========================
Expression: /child::EXAMPLE/attribute::prop1/self::*
Object is a Node Set :
Set contains 0 nodes:
========================
Expression: /child::EXAMPLE/attribute::prop1/descendant-or-self::node()
Object is a Node Set :
Set contains 1 nodes:
1 ATTRIBUTE prop1
TEXT
content=gnome is great
========================
Expression: /child::EXAMPLE/attribute::prop1/descendant-or-self::*
Object is a Node Set :
Set contains 0 nodes:
========================
Expression: /child::EXAMPLE/attribute::prop1/ancestor-or-self::node()
Object is a Node Set :
Set contains 3 nodes:
1 /
2 ELEMENT EXAMPLE
ATTRIBUTE prop1
TEXT
content=gnome is great
ATTRIBUTE prop2
TEXT
content=& linux too
3 ATTRIBUTE prop1
TEXT
content=gnome is great
========================
Expression: /child::EXAMPLE/attribute::prop1/ancestor-or-self::*
Object is a Node Set :
Set contains 1 nodes:
1 ELEMENT EXAMPLE
ATTRIBUTE prop1
TEXT
content=gnome is great
ATTRIBUTE prop2
TEXT
content=& linux too
========================
Expression: /descendant::title
Object is a Node Set :
Set contains 2 nodes:
1 ELEMENT title
2 ELEMENT title
========================
Expression: /descendant::p/ancestor::chapter
Object is a Node Set :
Set contains 1 nodes:
1 ELEMENT chapter
========================
Expression: /child::EXAMPLE/attribute::prop2/preceding::text()
Object is a Node Set :
Set contains 0 nodes:
+13
View File
@@ -0,0 +1,13 @@
========================
Expression: //p[.='abc']
Object is a Node Set :
Set contains 2 nodes:
1 ELEMENT p
ATTRIBUTE id
TEXT
content=1
2 ELEMENT p
ATTRIBUTE id
TEXT
content=2
+6
View File
@@ -0,0 +1,6 @@
========================
Expression: /文書
Object is a Node Set :
Set contains 1 nodes:
1 ELEMENT #E6#96#87#E6#9B#B8
+12
View File
@@ -0,0 +1,12 @@
========================
Expression: //ITEM[1]
Object is a Node Set :
Set contains 1 nodes:
1 ELEMENT ITEM
ATTRIBUTE monto
TEXT
content=50.12
ATTRIBUTE divisa
TEXT
content=DOL
+42
View File
@@ -0,0 +1,42 @@
========================
Expression: id('chapter1')
Object is a Node Set :
Set contains 1 nodes:
1 ELEMENT chapter
ATTRIBUTE id
TEXT
content=chapter1
========================
Expression: id('chapter3')
Object is a Node Set :
Set contains 1 nodes:
1 ELEMENT chapter
ATTRIBUTE id
TEXT
content=chapter3
========================
Expression: id('chapter1')/p
Object is a Node Set :
Set contains 4 nodes:
1 ELEMENT p
2 ELEMENT p
3 ELEMENT p
4 ELEMENT p
========================
Expression: id('chapter1')//p
Object is a Node Set :
Set contains 4 nodes:
1 ELEMENT p
2 ELEMENT p
3 ELEMENT p
4 ELEMENT p
========================
Expression: id('chapter1')/p[1]
Object is a Node Set :
Set contains 1 nodes:
1 ELEMENT p
@@ -0,0 +1,53 @@
========================
Expression: /1/2/3
Object is a Node Set :
Set contains 1 nodes:
1 ELEMENT image
ATTRIBUTE href
TEXT
content=linus.gif
========================
Expression: element(/1/2/3)
Object is a Node Set :
Set contains 1 nodes:
1 ELEMENT image
ATTRIBUTE href
TEXT
content=linus.gif
========================
Expression: element(foo)element(/1/2/3)
Object is a Node Set :
Set contains 1 nodes:
1 ELEMENT image
ATTRIBUTE href
TEXT
content=linus.gif
========================
Expression: element(/1/2/3)element(foo)
Object is a Node Set :
Set contains 1 nodes:
1 ELEMENT image
ATTRIBUTE href
TEXT
content=linus.gif
========================
Expression: chapter1/3
Object is a Node Set :
Set contains 0 nodes:
========================
Expression: element(chapter1/3)
Object is empty (NULL)
========================
Expression: element(foo)element(chapter1/3)
Object is empty (NULL)
========================
Expression: element(chapter1/3)element(foo)
Object is empty (NULL)
+44
View File
@@ -0,0 +1,44 @@
========================
Expression: xpath1(//chapitre[2])
Object is empty (NULL)
========================
Expression: xpath1(//chapter[2])
Object is a Node Set :
Set contains 1 nodes:
1 ELEMENT chapter
ATTRIBUTE id
TEXT
content=chapter2
========================
Expression: xpath1(//chapitre[2])xpath1(//chapter[2])
Object is a Node Set :
Set contains 1 nodes:
1 ELEMENT chapter
ATTRIBUTE id
TEXT
content=chapter2
========================
Expression: xpath1(id("chapter1"))
Object is empty (NULL)
========================
Expression: xpath1(//*[@id="chapter1"])
Object is a Node Set :
Set contains 1 nodes:
1 ELEMENT chapter
ATTRIBUTE id
TEXT
content=chapter1
========================
Expression: xpath1(id("chapter1"))xpath1(//*[@id="chapter1"])
Object is a Node Set :
Set contains 1 nodes:
1 ELEMENT chapter
ATTRIBUTE id
TEXT
content=chapter1
+7
View File
@@ -0,0 +1,7 @@
========================
Expression: xmlns(b=abc://d/e:f) xpath1(/b:rootB)
Object is a Node Set :
Set contains 1 nodes:
1 ELEMENT rootB
default namespace href=abc://d/e:f
+9
View File
@@ -0,0 +1,9 @@
========================
Expression: xpath1(id('chapter1')/p)
Object is a Node Set :
Set contains 4 nodes:
1 ELEMENT p
2 ELEMENT p
3 ELEMENT p
4 ELEMENT p
+36
View File
@@ -0,0 +1,36 @@
========================
Expression: /1/2/3
Object is a Node Set :
Set contains 1 nodes:
1 ELEMENT image
ATTRIBUTE href
TEXT
content=linus.gif
========================
Expression: element(/1/2/3)
Object is a Node Set :
Set contains 1 nodes:
1 ELEMENT image
ATTRIBUTE href
TEXT
content=linus.gif
========================
Expression: chapter1/3
Object is a Node Set :
Set contains 1 nodes:
1 ELEMENT image
ATTRIBUTE href
TEXT
content=linus.gif
========================
Expression: element(chapter1/3)
Object is a Node Set :
Set contains 1 nodes:
1 ELEMENT image
ATTRIBUTE href
TEXT
content=linus.gif
+4
View File
@@ -0,0 +1,4 @@
========================
Expression: xpath1(non-existing-fn())
Object is empty (NULL)
+27
View File
@@ -0,0 +1,27 @@
========================
Expression: xpath1(id("chapter1"))
Object is a Node Set :
Set contains 1 nodes:
1 ELEMENT chapter
ATTRIBUTE id
TEXT
content=chapter1
========================
Expression: xpath1(//*[@id="chapter1"])
Object is a Node Set :
Set contains 1 nodes:
1 ELEMENT chapter
ATTRIBUTE id
TEXT
content=chapter1
========================
Expression: xpath1(id("chapter1"))xpath1(//*[@id="chapter1"])
Object is a Node Set :
Set contains 1 nodes:
1 ELEMENT chapter
ATTRIBUTE id
TEXT
content=chapter1