scxml 0.1.0
Sign up to get free protection for your applications and to get access to all the features.
- data/README +0 -0
- data/lib/scxml.rb +86 -0
- data/lib/scxml/document.rb +165 -0
- data/lib/scxml/element.rb +219 -0
- data/lib/scxml/xpath.rb +142 -0
- data/test/scxml/Xalan_Conformance_Tests/REF_OUT/predicate/predicate01.out +2 -0
- data/test/scxml/Xalan_Conformance_Tests/REF_OUT/predicate/predicate02.out +2 -0
- data/test/scxml/Xalan_Conformance_Tests/REF_OUT/predicate/predicate03.out +2 -0
- data/test/scxml/Xalan_Conformance_Tests/REF_OUT/predicate/predicate04.out +2 -0
- data/test/scxml/Xalan_Conformance_Tests/REF_OUT/predicate/predicate12.out +4 -0
- data/test/scxml/Xalan_Conformance_Tests/REF_OUT/predicate/predicate13.out +2 -0
- data/test/scxml/Xalan_Conformance_Tests/REF_OUT/predicate/predicate41.out +2 -0
- data/test/scxml/Xalan_Conformance_Tests/REF_OUT/predicate/predicate42.out +2 -0
- data/test/scxml/Xalan_Conformance_Tests/REF_OUT/predicate/predicate45.out +2 -0
- data/test/scxml/Xalan_Conformance_Tests/REF_OUT/predicate/predicate51.out +2 -0
- data/test/scxml/Xalan_Conformance_Tests/REF_OUT/predicate/predicate52.out +2 -0
- data/test/scxml/Xalan_Conformance_Tests/REF_OUT/predicate/predicate56.out +2 -0
- data/test/scxml/Xalan_Conformance_Tests/REF_OUT/predicate/predicate57.out +5 -0
- data/test/scxml/Xalan_Conformance_Tests/REF_OUT/predicate/predicate58.out +11 -0
- data/test/scxml/Xalan_Conformance_Tests/REF_OUT/select/select01.out +2 -0
- data/test/scxml/Xalan_Conformance_Tests/REF_OUT/select/select02.out +4 -0
- data/test/scxml/Xalan_Conformance_Tests/REF_OUT/select/select03.out +2 -0
- data/test/scxml/Xalan_Conformance_Tests/REF_OUT/select/select04.out +14 -0
- data/test/scxml/Xalan_Conformance_Tests/REF_OUT/select/select12.out +2 -0
- data/test/scxml/Xalan_Conformance_Tests/REF_OUT/select/select13.out +13 -0
- data/test/scxml/Xalan_Conformance_Tests/REF_OUT/select/select41.out +5 -0
- data/test/scxml/Xalan_Conformance_Tests/REF_OUT/select/select42.out +5 -0
- data/test/scxml/Xalan_Conformance_Tests/REF_OUT/select/select45.out +5 -0
- data/test/scxml/Xalan_Conformance_Tests/REF_OUT/select/select51.out +5 -0
- data/test/scxml/Xalan_Conformance_Tests/REF_OUT/select/select52.out +3 -0
- data/test/scxml/Xalan_Conformance_Tests/REF_OUT/select/select56.out +7 -0
- data/test/scxml/Xalan_Conformance_Tests/REF_OUT/select/select57.out +7 -0
- data/test/scxml/Xalan_Conformance_Tests/REF_OUT/select/select58.out +5 -0
- data/test/scxml/Xalan_Conformance_Tests/REF_OUT/select/select60.out +5 -0
- data/test/scxml/Xalan_Conformance_Tests/REF_OUT/select/select62.out +2 -0
- data/test/scxml/Xalan_Conformance_Tests/REF_OUT/select/select63.out +2 -0
- data/test/scxml/Xalan_Conformance_Tests/REF_OUT/select/select76.out +2 -0
- data/test/scxml/Xalan_Conformance_Tests/REF_OUT/select/select81.out +10 -0
- data/test/scxml/Xalan_Conformance_Tests/REF_OUT/select/select82.out +2 -0
- data/test/scxml/Xalan_Conformance_Tests/REF_OUT/select/select83.out +7 -0
- data/test/scxml/Xalan_Conformance_Tests/REF_OUT/select/select84.out +8 -0
- data/test/scxml/Xalan_Conformance_Tests/predicate/predicate01.txt +8 -0
- data/test/scxml/Xalan_Conformance_Tests/predicate/predicate01.xml +7 -0
- data/test/scxml/Xalan_Conformance_Tests/predicate/predicate01.xsl +18 -0
- data/test/scxml/Xalan_Conformance_Tests/predicate/predicate02.txt +8 -0
- data/test/scxml/Xalan_Conformance_Tests/predicate/predicate02.xml +7 -0
- data/test/scxml/Xalan_Conformance_Tests/predicate/predicate02.xsl +18 -0
- data/test/scxml/Xalan_Conformance_Tests/predicate/predicate04.txt +8 -0
- data/test/scxml/Xalan_Conformance_Tests/predicate/predicate04.xml +7 -0
- data/test/scxml/Xalan_Conformance_Tests/predicate/predicate04.xsl +18 -0
- data/test/scxml/Xalan_Conformance_Tests/predicate/predicate07.txt +9 -0
- data/test/scxml/Xalan_Conformance_Tests/predicate/predicate07.xml +7 -0
- data/test/scxml/Xalan_Conformance_Tests/predicate/predicate07.xsl +20 -0
- data/test/scxml/Xalan_Conformance_Tests/predicate/predicate08.txt +9 -0
- data/test/scxml/Xalan_Conformance_Tests/predicate/predicate08.xml +7 -0
- data/test/scxml/Xalan_Conformance_Tests/predicate/predicate08.xsl +20 -0
- data/test/scxml/Xalan_Conformance_Tests/predicate/predicate10.txt +8 -0
- data/test/scxml/Xalan_Conformance_Tests/predicate/predicate10.xml +7 -0
- data/test/scxml/Xalan_Conformance_Tests/predicate/predicate10.xsl +20 -0
- data/test/scxml/Xalan_Conformance_Tests/predicate/predicate14.txt +9 -0
- data/test/scxml/Xalan_Conformance_Tests/predicate/predicate14.xml +9 -0
- data/test/scxml/Xalan_Conformance_Tests/predicate/predicate14.xsl +20 -0
- data/test/scxml/Xalan_Conformance_Tests/predicate/predicate15.txt +9 -0
- data/test/scxml/Xalan_Conformance_Tests/predicate/predicate15.xml +9 -0
- data/test/scxml/Xalan_Conformance_Tests/predicate/predicate15.xsl +20 -0
- data/test/scxml/Xalan_Conformance_Tests/predicate/predicate16.txt +9 -0
- data/test/scxml/Xalan_Conformance_Tests/predicate/predicate16.xml +9 -0
- data/test/scxml/Xalan_Conformance_Tests/predicate/predicate16.xsl +20 -0
- data/test/scxml/Xalan_Conformance_Tests/predicate/predicate17.txt +9 -0
- data/test/scxml/Xalan_Conformance_Tests/predicate/predicate17.xml +11 -0
- data/test/scxml/Xalan_Conformance_Tests/predicate/predicate17.xsl +20 -0
- data/test/scxml/Xalan_Conformance_Tests/predicate/predicate36.txt +8 -0
- data/test/scxml/Xalan_Conformance_Tests/predicate/predicate36.xml +7 -0
- data/test/scxml/Xalan_Conformance_Tests/predicate/predicate36.xsl +20 -0
- data/test/scxml/Xalan_Conformance_Tests/predicate/predicate48.txt +8 -0
- data/test/scxml/Xalan_Conformance_Tests/predicate/predicate48.xml +21 -0
- data/test/scxml/Xalan_Conformance_Tests/predicate/predicate48.xsl +22 -0
- data/test/scxml/Xalan_Conformance_Tests/predicate/predicate49.txt +8 -0
- data/test/scxml/Xalan_Conformance_Tests/predicate/predicate49.xml +21 -0
- data/test/scxml/Xalan_Conformance_Tests/predicate/predicate49.xsl +22 -0
- data/test/scxml/Xalan_Conformance_Tests/predicate/predicate50.txt +8 -0
- data/test/scxml/Xalan_Conformance_Tests/predicate/predicate50.xml +21 -0
- data/test/scxml/Xalan_Conformance_Tests/predicate/predicate50.xsl +22 -0
- data/test/scxml/Xalan_Conformance_Tests/predicate/predicate51.txt +8 -0
- data/test/scxml/Xalan_Conformance_Tests/predicate/predicate51.xml +21 -0
- data/test/scxml/Xalan_Conformance_Tests/predicate/predicate51.xsl +22 -0
- data/test/scxml/Xalan_Conformance_Tests/predicate/predicate52.txt +8 -0
- data/test/scxml/Xalan_Conformance_Tests/predicate/predicate52.xml +21 -0
- data/test/scxml/Xalan_Conformance_Tests/predicate/predicate52.xsl +22 -0
- data/test/scxml/Xalan_Conformance_Tests/predicate/predicate53.txt +8 -0
- data/test/scxml/Xalan_Conformance_Tests/predicate/predicate53.xml +21 -0
- data/test/scxml/Xalan_Conformance_Tests/predicate/predicate53.xsl +22 -0
- data/test/scxml/Xalan_Conformance_Tests/predicate/predicate54.txt +7 -0
- data/test/scxml/Xalan_Conformance_Tests/predicate/predicate54.xml +21 -0
- data/test/scxml/Xalan_Conformance_Tests/predicate/predicate54.xsl +21 -0
- data/test/scxml/Xalan_Conformance_Tests/predicate/predicate55.txt +8 -0
- data/test/scxml/Xalan_Conformance_Tests/predicate/predicate55.xml +21 -0
- data/test/scxml/Xalan_Conformance_Tests/predicate/predicate55.xsl +22 -0
- data/test/scxml/Xalan_Conformance_Tests/predicate/predicate56.txt +8 -0
- data/test/scxml/Xalan_Conformance_Tests/predicate/predicate56.xml +21 -0
- data/test/scxml/Xalan_Conformance_Tests/predicate/predicate56.xsl +22 -0
- data/test/scxml/Xalan_Conformance_Tests/predicate/prepare.rb +34 -0
- data/test/scxml/Xalan_Conformance_Tests/select/prepare.rb +34 -0
- data/test/scxml/Xalan_Conformance_Tests/select/select01.txt +7 -0
- data/test/scxml/Xalan_Conformance_Tests/select/select01.xml +9 -0
- data/test/scxml/Xalan_Conformance_Tests/select/select01.xsl +19 -0
- data/test/scxml/Xalan_Conformance_Tests/select/select02.txt +7 -0
- data/test/scxml/Xalan_Conformance_Tests/select/select02.xml +4 -0
- data/test/scxml/Xalan_Conformance_Tests/select/select02.xsl +17 -0
- data/test/scxml/Xalan_Conformance_Tests/select/select03.txt +8 -0
- data/test/scxml/Xalan_Conformance_Tests/select/select03.xml +13 -0
- data/test/scxml/Xalan_Conformance_Tests/select/select03.xsl +19 -0
- data/test/scxml/Xalan_Conformance_Tests/select/select04.txt +12 -0
- data/test/scxml/Xalan_Conformance_Tests/select/select04.xml +12 -0
- data/test/scxml/Xalan_Conformance_Tests/select/select04.xsl +35 -0
- data/test/scxml/Xalan_Conformance_Tests/select/select12.txt +7 -0
- data/test/scxml/Xalan_Conformance_Tests/select/select12.xml +9 -0
- data/test/scxml/Xalan_Conformance_Tests/select/select12.xsl +19 -0
- data/test/scxml/Xalan_Conformance_Tests/select/select13.txt +13 -0
- data/test/scxml/Xalan_Conformance_Tests/select/select13.xml +18 -0
- data/test/scxml/Xalan_Conformance_Tests/select/select13.xsl +33 -0
- data/test/scxml/Xalan_Conformance_Tests/select/select41.txt +7 -0
- data/test/scxml/Xalan_Conformance_Tests/select/select41.xml +9 -0
- data/test/scxml/Xalan_Conformance_Tests/select/select41.xsl +23 -0
- data/test/scxml/Xalan_Conformance_Tests/select/select42.txt +8 -0
- data/test/scxml/Xalan_Conformance_Tests/select/select42.xml +9 -0
- data/test/scxml/Xalan_Conformance_Tests/select/select42.xsl +26 -0
- data/test/scxml/Xalan_Conformance_Tests/select/select45.txt +7 -0
- data/test/scxml/Xalan_Conformance_Tests/select/select45.xml +24 -0
- data/test/scxml/Xalan_Conformance_Tests/select/select45.xsl +25 -0
- data/test/scxml/Xalan_Conformance_Tests/select/select51.txt +7 -0
- data/test/scxml/Xalan_Conformance_Tests/select/select51.xml +24 -0
- data/test/scxml/Xalan_Conformance_Tests/select/select51.xsl +25 -0
- data/test/scxml/Xalan_Conformance_Tests/select/select52.txt +6 -0
- data/test/scxml/Xalan_Conformance_Tests/select/select52.xml +6 -0
- data/test/scxml/Xalan_Conformance_Tests/select/select52.xsl +23 -0
- data/test/scxml/Xalan_Conformance_Tests/select/select56.txt +7 -0
- data/test/scxml/Xalan_Conformance_Tests/select/select56.xml +29 -0
- data/test/scxml/Xalan_Conformance_Tests/select/select56.xsl +25 -0
- data/test/scxml/Xalan_Conformance_Tests/select/select57.txt +7 -0
- data/test/scxml/Xalan_Conformance_Tests/select/select57.xml +29 -0
- data/test/scxml/Xalan_Conformance_Tests/select/select57.xsl +25 -0
- data/test/scxml/Xalan_Conformance_Tests/select/select58.txt +7 -0
- data/test/scxml/Xalan_Conformance_Tests/select/select58.xml +17 -0
- data/test/scxml/Xalan_Conformance_Tests/select/select58.xsl +25 -0
- data/test/scxml/Xalan_Conformance_Tests/select/select60.txt +6 -0
- data/test/scxml/Xalan_Conformance_Tests/select/select60.xml +9 -0
- data/test/scxml/Xalan_Conformance_Tests/select/select60.xsl +25 -0
- data/test/scxml/Xalan_Conformance_Tests/select/select62.txt +6 -0
- data/test/scxml/Xalan_Conformance_Tests/select/select62.xml +5 -0
- data/test/scxml/Xalan_Conformance_Tests/select/select62.xsl +22 -0
- data/test/scxml/Xalan_Conformance_Tests/select/select63.txt +7 -0
- data/test/scxml/Xalan_Conformance_Tests/select/select63.xml +10 -0
- data/test/scxml/Xalan_Conformance_Tests/select/select63.xsl +19 -0
- data/test/scxml/Xalan_Conformance_Tests/select/select76.txt +7 -0
- data/test/scxml/Xalan_Conformance_Tests/select/select76.xml +6 -0
- data/test/scxml/Xalan_Conformance_Tests/select/select76.xsl +17 -0
- data/test/scxml/Xalan_Conformance_Tests/select/select81.txt +9 -0
- data/test/scxml/Xalan_Conformance_Tests/select/select81.xml +6 -0
- data/test/scxml/Xalan_Conformance_Tests/select/select81.xsl +24 -0
- data/test/scxml/Xalan_Conformance_Tests/select/select82.txt +9 -0
- data/test/scxml/Xalan_Conformance_Tests/select/select82.xml +5 -0
- data/test/scxml/Xalan_Conformance_Tests/select/select82.xsl +28 -0
- data/test/scxml/Xalan_Conformance_Tests/select/select83.txt +10 -0
- data/test/scxml/Xalan_Conformance_Tests/select/select83.xml +10 -0
- data/test/scxml/Xalan_Conformance_Tests/select/select83.xsl +32 -0
- data/test/scxml/Xalan_Conformance_Tests/select/select84.txt +11 -0
- data/test/scxml/Xalan_Conformance_Tests/select/select84.xml +10 -0
- data/test/scxml/Xalan_Conformance_Tests/select/select84.xsl +33 -0
- data/test/scxml/document_test.rb +231 -0
- data/test/scxml/element_test.rb +552 -0
- data/test/scxml_test_helper.rb +73 -0
- data/test/scxml_test_suite.rb +2 -0
- metadata +241 -0
@@ -0,0 +1,18 @@
|
|
1
|
+
<?xml version="1.0" encoding="ISO-8859-1"?>
|
2
|
+
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0">
|
3
|
+
|
4
|
+
<!-- FileName: PREDICATE04 -->
|
5
|
+
<!-- Document: http://www.w3.org/TR/xpath -->
|
6
|
+
<!-- DocVersion: 19991116 -->
|
7
|
+
<!-- Section: 3.4 -->
|
8
|
+
<!-- Creator: David Marston -->
|
9
|
+
<!-- Purpose: Test of implied conversion to number. -->
|
10
|
+
|
11
|
+
<xsl:template match="doc">
|
12
|
+
<out>
|
13
|
+
<xsl:value-of select="a[3.0='3.0']"/>
|
14
|
+
<!-- Always true; strings convert to the numbers they look like. -->
|
15
|
+
</out>
|
16
|
+
</xsl:template>
|
17
|
+
|
18
|
+
</xsl:stylesheet>
|
@@ -0,0 +1,9 @@
|
|
1
|
+
# FileName: PREDICATE07
|
2
|
+
# Document: http://www.w3.org/TR/xpath
|
3
|
+
# DocVersion: 19991116
|
4
|
+
# Section: 3.4
|
5
|
+
# Creator: David Marston
|
6
|
+
# Purpose: Test of implied conversion to number for an inequality test.
|
7
|
+
a[0 < true()]
|
8
|
+
# Always true; true converts to 1.
|
9
|
+
.
|
@@ -0,0 +1,20 @@
|
|
1
|
+
<?xml version="1.0" encoding="ISO-8859-1"?>
|
2
|
+
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0">
|
3
|
+
|
4
|
+
<!-- FileName: PREDICATE07 -->
|
5
|
+
<!-- Document: http://www.w3.org/TR/xpath -->
|
6
|
+
<!-- DocVersion: 19991116 -->
|
7
|
+
<!-- Section: 3.4 -->
|
8
|
+
<!-- Creator: David Marston -->
|
9
|
+
<!-- Purpose: Test of implied conversion to number for an inequality test. -->
|
10
|
+
|
11
|
+
<xsl:template match="doc">
|
12
|
+
<out>
|
13
|
+
<xsl:for-each select="a[0 < true()]">
|
14
|
+
<!-- Always true; true converts to 1. -->
|
15
|
+
<xsl:value-of select="."/>
|
16
|
+
</xsl:for-each>
|
17
|
+
</out>
|
18
|
+
</xsl:template>
|
19
|
+
|
20
|
+
</xsl:stylesheet>
|
@@ -0,0 +1,9 @@
|
|
1
|
+
# FileName: PREDICATE08
|
2
|
+
# Document: http://www.w3.org/TR/xpath
|
3
|
+
# DocVersion: 19991116
|
4
|
+
# Section: 3.4
|
5
|
+
# Creator: David Marston
|
6
|
+
# Purpose: Test of implied conversion to number for an inequality test.
|
7
|
+
a['3.5' < 4]
|
8
|
+
# Always true; strings convert to the numbers they look like.
|
9
|
+
.
|
@@ -0,0 +1,20 @@
|
|
1
|
+
<?xml version="1.0" encoding="ISO-8859-1"?>
|
2
|
+
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0">
|
3
|
+
|
4
|
+
<!-- FileName: PREDICATE08 -->
|
5
|
+
<!-- Document: http://www.w3.org/TR/xpath -->
|
6
|
+
<!-- DocVersion: 19991116 -->
|
7
|
+
<!-- Section: 3.4 -->
|
8
|
+
<!-- Creator: David Marston -->
|
9
|
+
<!-- Purpose: Test of implied conversion to number for an inequality test. -->
|
10
|
+
|
11
|
+
<xsl:template match="doc">
|
12
|
+
<out>
|
13
|
+
<xsl:for-each select="a['3.5' < 4]">
|
14
|
+
<!-- Always true; strings convert to the numbers they look like. -->
|
15
|
+
<xsl:value-of select="."/>
|
16
|
+
</xsl:for-each>
|
17
|
+
</out>
|
18
|
+
</xsl:template>
|
19
|
+
|
20
|
+
</xsl:stylesheet>
|
@@ -0,0 +1,8 @@
|
|
1
|
+
# FileName: PREDICATE10
|
2
|
+
# Document: http://www.w3.org/TR/xpath
|
3
|
+
# DocVersion: 19991116
|
4
|
+
# Section: 3.4
|
5
|
+
# Creator: David Marston
|
6
|
+
# Purpose: Test of association of inequality symbols.
|
7
|
+
.
|
8
|
+
# Always true; (1 < 2 ) converts to true; true converts to 1; and (1 < 3) is true.
|
@@ -0,0 +1,20 @@
|
|
1
|
+
<?xml version="1.0" encoding="ISO-8859-1"?>
|
2
|
+
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0">
|
3
|
+
|
4
|
+
<!-- FileName: PREDICATE10 -->
|
5
|
+
<!-- Document: http://www.w3.org/TR/xpath -->
|
6
|
+
<!-- DocVersion: 19991116 -->
|
7
|
+
<!-- Section: 3.4 -->
|
8
|
+
<!-- Creator: David Marston -->
|
9
|
+
<!-- Purpose: Test of association of inequality symbols. -->
|
10
|
+
|
11
|
+
<xsl:template match="doc">
|
12
|
+
<out>
|
13
|
+
<xsl:for-each select = "a[1 < 2 < 3]">
|
14
|
+
<xsl:value-of select="."/>
|
15
|
+
<!-- Always true; (1 < 2 ) converts to true; true converts to 1; and (1 < 3) is true. -->
|
16
|
+
</xsl:for-each>
|
17
|
+
</out>
|
18
|
+
</xsl:template>
|
19
|
+
|
20
|
+
</xsl:stylesheet>
|
@@ -0,0 +1,9 @@
|
|
1
|
+
# FileName: PREDICATE14
|
2
|
+
# Document: http://www.w3.org/TR/xpath
|
3
|
+
# DocVersion: 19991116
|
4
|
+
# Section: 3.4
|
5
|
+
# Creator: David Marston
|
6
|
+
# Purpose: Test of boolean and, or with parens retaining usual precedence.
|
7
|
+
a[@squeesh or (@squish and @squash)]
|
8
|
+
.
|
9
|
+
# Should match 1, 2, 3, 5.
|
@@ -0,0 +1,20 @@
|
|
1
|
+
<?xml version="1.0" encoding="ISO-8859-1"?>
|
2
|
+
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0">
|
3
|
+
|
4
|
+
<!-- FileName: PREDICATE14 -->
|
5
|
+
<!-- Document: http://www.w3.org/TR/xpath -->
|
6
|
+
<!-- DocVersion: 19991116 -->
|
7
|
+
<!-- Section: 3.4 -->
|
8
|
+
<!-- Creator: David Marston -->
|
9
|
+
<!-- Purpose: Test of boolean and, or with parens retaining usual precedence. -->
|
10
|
+
|
11
|
+
<xsl:template match="doc">
|
12
|
+
<out>
|
13
|
+
<xsl:for-each select="a[@squeesh or (@squish and @squash)]">
|
14
|
+
<xsl:value-of select="."/>
|
15
|
+
<!-- Should match 1, 2, 3, 5. -->
|
16
|
+
</xsl:for-each>
|
17
|
+
</out>
|
18
|
+
</xsl:template>
|
19
|
+
|
20
|
+
</xsl:stylesheet>
|
@@ -0,0 +1,9 @@
|
|
1
|
+
# FileName: PREDICATE15
|
2
|
+
# Document: http://www.w3.org/TR/xpath
|
3
|
+
# DocVersion: 19991116
|
4
|
+
# Section: 3.4
|
5
|
+
# Creator: David Marston
|
6
|
+
# Purpose: Test of boolean and, or with parens overriding precedence.
|
7
|
+
a[(@squeesh or @squish) and @squash]
|
8
|
+
.
|
9
|
+
# Should match 1, 3.
|
@@ -0,0 +1,20 @@
|
|
1
|
+
<?xml version="1.0" encoding="ISO-8859-1"?>
|
2
|
+
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0">
|
3
|
+
|
4
|
+
<!-- FileName: PREDICATE15 -->
|
5
|
+
<!-- Document: http://www.w3.org/TR/xpath -->
|
6
|
+
<!-- DocVersion: 19991116 -->
|
7
|
+
<!-- Section: 3.4 -->
|
8
|
+
<!-- Creator: David Marston -->
|
9
|
+
<!-- Purpose: Test of boolean and, or with parens overriding precedence. -->
|
10
|
+
|
11
|
+
<xsl:template match="doc">
|
12
|
+
<out>
|
13
|
+
<xsl:for-each select="a[(@squeesh or @squish) and @squash]">
|
14
|
+
<xsl:value-of select="."/>
|
15
|
+
<!-- Should match 1, 3. -->
|
16
|
+
</xsl:for-each>
|
17
|
+
</out>
|
18
|
+
</xsl:template>
|
19
|
+
|
20
|
+
</xsl:stylesheet>
|
@@ -0,0 +1,20 @@
|
|
1
|
+
<?xml version="1.0" encoding="ISO-8859-1"?>
|
2
|
+
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0">
|
3
|
+
|
4
|
+
<!-- FileName: PREDICATE16 -->
|
5
|
+
<!-- Document: http://www.w3.org/TR/xpath -->
|
6
|
+
<!-- DocVersion: 19991116 -->
|
7
|
+
<!-- Section: 3.4 -->
|
8
|
+
<!-- Creator: David Marston -->
|
9
|
+
<!-- Purpose: Test of boolean and, or without parens. -->
|
10
|
+
|
11
|
+
<xsl:template match="doc">
|
12
|
+
<out>
|
13
|
+
<xsl:for-each select="a[@squeesh or @squish and @squash]">
|
14
|
+
<xsl:value-of select="."/>
|
15
|
+
<!-- Should match 1, 2, 3, 5. -->
|
16
|
+
</xsl:for-each>
|
17
|
+
</out>
|
18
|
+
</xsl:template>
|
19
|
+
|
20
|
+
</xsl:stylesheet>
|
@@ -0,0 +1,20 @@
|
|
1
|
+
<?xml version="1.0" encoding="ISO-8859-1"?>
|
2
|
+
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0">
|
3
|
+
|
4
|
+
<!-- FileName: PREDICATE17 -->
|
5
|
+
<!-- Document: http://www.w3.org/TR/xpath -->
|
6
|
+
<!-- DocVersion: 19991116 -->
|
7
|
+
<!-- Section: 3.4 -->
|
8
|
+
<!-- Creator: David Marston -->
|
9
|
+
<!-- Purpose: Test of boolean not with @* to test for lack of attributes. -->
|
10
|
+
|
11
|
+
<xsl:template match="doc">
|
12
|
+
<out>
|
13
|
+
<xsl:for-each select="a[not(@*)]">
|
14
|
+
<xsl:value-of select="."/>
|
15
|
+
</xsl:for-each>
|
16
|
+
<!-- Should output 2, child2, 3. -->
|
17
|
+
</out>
|
18
|
+
</xsl:template>
|
19
|
+
|
20
|
+
</xsl:stylesheet>
|
@@ -0,0 +1,8 @@
|
|
1
|
+
# FileName: PREDICATE36
|
2
|
+
# Document: http://www.w3.org/TR/xpath
|
3
|
+
# DocVersion: 19991116
|
4
|
+
# Section: 3.4
|
5
|
+
# Creator: David Marston
|
6
|
+
# Purpose: Test of association of inequality symbols.
|
7
|
+
.
|
8
|
+
# Always true; (1 < 3 ) converts to true; true converts to 1; and (1 < 2) is true.
|
@@ -0,0 +1,20 @@
|
|
1
|
+
<?xml version="1.0" encoding="ISO-8859-1"?>
|
2
|
+
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0">
|
3
|
+
|
4
|
+
<!-- FileName: PREDICATE36 -->
|
5
|
+
<!-- Document: http://www.w3.org/TR/xpath -->
|
6
|
+
<!-- DocVersion: 19991116 -->
|
7
|
+
<!-- Section: 3.4 -->
|
8
|
+
<!-- Creator: David Marston -->
|
9
|
+
<!-- Purpose: Test of association of inequality symbols. -->
|
10
|
+
|
11
|
+
<xsl:template match="doc">
|
12
|
+
<out>
|
13
|
+
<xsl:for-each select = "a[1 < 3 < 2]">
|
14
|
+
<xsl:value-of select="."/>
|
15
|
+
<!-- Always true; (1 < 3 ) converts to true; true converts to 1; and (1 < 2) is true. -->
|
16
|
+
</xsl:for-each>
|
17
|
+
</out>
|
18
|
+
</xsl:template>
|
19
|
+
|
20
|
+
</xsl:stylesheet>
|
@@ -0,0 +1,21 @@
|
|
1
|
+
<?xml version="1.0"?>
|
2
|
+
<foo>
|
3
|
+
|
4
|
+
<bar a="0" b="0" c="0" d="0" seq="0"/>
|
5
|
+
<bar a="0" b="0" c="0" d="1" seq="1"/>
|
6
|
+
<bar a="0" b="0" c="1" d="0" seq="2"/>
|
7
|
+
<bar a="0" b="0" c="1" d="1" seq="3"/>
|
8
|
+
<bar a="0" b="1" c="0" d="0" seq="4"/>
|
9
|
+
<bar a="0" b="1" c="0" d="1" seq="5"/>
|
10
|
+
<bar a="0" b="1" c="1" d="0" seq="6"/>
|
11
|
+
<bar a="0" b="1" c="1" d="1" seq="7"/>
|
12
|
+
<bar a="1" b="0" c="0" d="0" seq="8"/>
|
13
|
+
<bar a="1" b="0" c="0" d="1" seq="9"/>
|
14
|
+
<bar a="1" b="0" c="1" d="0" seq="a"/>
|
15
|
+
<bar a="1" b="0" c="1" d="1" seq="b"/>
|
16
|
+
<bar a="1" b="1" c="0" d="0" seq="c"/>
|
17
|
+
<bar a="1" b="1" c="0" d="1" seq="d"/>
|
18
|
+
<bar a="1" b="1" c="1" d="0" seq="e"/>
|
19
|
+
<bar a="1" b="1" c="1" d="1" seq="f"/>
|
20
|
+
|
21
|
+
</foo>
|
@@ -0,0 +1,22 @@
|
|
1
|
+
<?xml version="1.0"?>
|
2
|
+
<xsl:stylesheet version="1.0"
|
3
|
+
xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
|
4
|
+
<!-- FileName: predicate48 -->
|
5
|
+
<!-- Document: http://www.w3.org/TR/xpath -->
|
6
|
+
<!-- DocVersion: 19991116 -->
|
7
|
+
<!-- Section: 3.4 -->
|
8
|
+
<!-- Purpose: Test (a and b) combination of logical expressions in a predicate. -->
|
9
|
+
<!-- Author: Morten Jorgensen -->
|
10
|
+
|
11
|
+
<xsl:template match="foo">
|
12
|
+
<out>
|
13
|
+
<test-info>(a and b)</test-info>
|
14
|
+
<test-output>
|
15
|
+
<xsl:for-each select="bar[@a='1' and @b='1']">
|
16
|
+
<xsl:value-of select="@seq"/><xsl:text> </xsl:text>
|
17
|
+
</xsl:for-each>
|
18
|
+
</test-output>
|
19
|
+
</out>
|
20
|
+
</xsl:template>
|
21
|
+
|
22
|
+
</xsl:stylesheet>
|
@@ -0,0 +1,21 @@
|
|
1
|
+
<?xml version="1.0"?>
|
2
|
+
<foo>
|
3
|
+
|
4
|
+
<bar a="0" b="0" c="0" d="0" seq="0"/>
|
5
|
+
<bar a="0" b="0" c="0" d="1" seq="1"/>
|
6
|
+
<bar a="0" b="0" c="1" d="0" seq="2"/>
|
7
|
+
<bar a="0" b="0" c="1" d="1" seq="3"/>
|
8
|
+
<bar a="0" b="1" c="0" d="0" seq="4"/>
|
9
|
+
<bar a="0" b="1" c="0" d="1" seq="5"/>
|
10
|
+
<bar a="0" b="1" c="1" d="0" seq="6"/>
|
11
|
+
<bar a="0" b="1" c="1" d="1" seq="7"/>
|
12
|
+
<bar a="1" b="0" c="0" d="0" seq="8"/>
|
13
|
+
<bar a="1" b="0" c="0" d="1" seq="9"/>
|
14
|
+
<bar a="1" b="0" c="1" d="0" seq="a"/>
|
15
|
+
<bar a="1" b="0" c="1" d="1" seq="b"/>
|
16
|
+
<bar a="1" b="1" c="0" d="0" seq="c"/>
|
17
|
+
<bar a="1" b="1" c="0" d="1" seq="d"/>
|
18
|
+
<bar a="1" b="1" c="1" d="0" seq="e"/>
|
19
|
+
<bar a="1" b="1" c="1" d="1" seq="f"/>
|
20
|
+
|
21
|
+
</foo>
|