@@ -29,20 +29,86 @@ declare variable $testTransform:transform-68-xsl-text := document { <xsl:stylesh
29
29
xmlns:xs = 'http://www.w3.org/2001/XMLSchema'
30
30
xmlns:saxon = 'http://saxon.sf.net/'
31
31
xmlns:my = 'http://www.w3.org/fots/fn/transform/myfunctions' version = '2.0' >
32
+ <xsl:param name = 'v' />
32
33
<xsl:template name = 'main' >
33
- <out><xsl:value-of select = "saxon:in-summer-time(xs:dateTime('2016-07-01T00:00:00'), 'Europe/London')" /></out>
34
+ <out><xsl:value-of select = '$v' /></out>
34
35
</xsl:template>
35
36
</xsl:stylesheet> };
36
37
38
+ declare
39
+ %test:assertError("FOXT0001" )
40
+ function testTransform:transform-68-supports-dynamic-evaluation () {
41
+ let $xsl := $testTransform:transform-68-xsl-text
42
+ let $result := fn:transform (map{
43
+ "stylesheet-node" :$xsl,
44
+ "initial-template" : fn:QName ('' ,'main' ),
45
+ "delivery-format" : "serialized" ,
46
+ "stylesheet-params" : map { QName ("" ,"v" ): "2" },
47
+ "requested-properties" : map{fn:QName ('http://www.w3.org/1999/XSL/Transform' ,'supports-dynamic-evaluation' ):true ()}})
48
+ return contains ($result?output,">2</out>" )
49
+ };
50
+
51
+ declare
52
+ %test:assertError("FOXT0001" )
53
+ function testTransform:transform-68-supports-xalan () {
54
+ let $xsl := $testTransform:transform-68-xsl-text
55
+ let $result := fn:transform (map{
56
+ "stylesheet-node" :$xsl,
57
+ "initial-template" : fn:QName ('' ,'main' ),
58
+ "delivery-format" : "serialized" ,
59
+ "stylesheet-params" : map { QName ("" ,"v" ): "2" },
60
+ "requested-properties" : map{fn:QName ('http://www.w3.org/1999/XSL/Transform' ,'product-name' ):"Xalan" }})
61
+ return contains ($result?output,">2</out>" )
62
+ };
63
+
37
64
declare
38
65
%test:assertTrue
39
- function testTransform:transform-68 () {
66
+ function testTransform:transform-68-supports-saxon () {
40
67
let $xsl := $testTransform:transform-68-xsl-text
41
68
let $result := fn:transform (map{
42
69
"stylesheet-node" :$xsl,
43
70
"initial-template" : fn:QName ('' ,'main' ),
44
71
"delivery-format" : "serialized" ,
45
- "requested-properties" : map{fn:QName ('http://www.w3.org/1999/XSL/Transform' ,'vendor' ):'Saxonica' }})
46
- return contains ($result?output,">true</out>" )
72
+ "stylesheet-params" : map { QName ("" ,"v" ): "2" },
73
+ "requested-properties" : map{fn:QName ('http://www.w3.org/1999/XSL/Transform' ,'product-name' ):"SAXON" }})
74
+ return contains ($result?output,">2</out>" )
47
75
};
48
76
77
+ declare
78
+ %test:assertTrue
79
+ function testTransform:transform-68-vendor-saxonica () {
80
+ let $xsl := $testTransform:transform-68-xsl-text
81
+ let $result := fn:transform (map{
82
+ "stylesheet-node" :$xsl,
83
+ "initial-template" : fn:QName ('' ,'main' ),
84
+ "delivery-format" : "serialized" ,
85
+ "stylesheet-params" : map { QName ("" ,"v" ): "2" },
86
+ "requested-properties" : map{fn:QName ('http://www.w3.org/1999/XSL/Transform' ,'vendor' ):"Saxonica" }})
87
+ return contains ($result?output,">2</out>" )
88
+ };
89
+
90
+ declare
91
+ %test:assertError("XPTY0004" )
92
+ function testTransform:transform-68-vendor-empty () {
93
+ let $xsl := $testTransform:transform-68-xsl-text
94
+ let $result := fn:transform (map{
95
+ "stylesheet-node" :$xsl,
96
+ "initial-template" : fn:QName ('' ,'main' ),
97
+ "delivery-format" : "serialized" ,
98
+ "stylesheet-params" : map { QName ("" ,"v" ): "2" },
99
+ "requested-properties" : map{fn:QName ('http://www.w3.org/1999/XSL/Transform' ,'vendor' ):()}})
100
+ return contains ($result?output,">2</out>" )
101
+ };
102
+
103
+ declare
104
+ %test:assertTrue
105
+ function testTransform:transform-68-unknown-property () {
106
+ let $xsl := $testTransform:transform-68-xsl-text
107
+ let $result := fn:transform (map{
108
+ "stylesheet-node" :$xsl,
109
+ "initial-template" : fn:QName ('' ,'main' ),
110
+ "delivery-format" : "serialized" ,
111
+ "stylesheet-params" : map { QName ("" ,"v" ): "2" },
112
+ "requested-properties" : map{fn:QName ('http://www.w3.org/1999/XSL/Transform' ,'wookie' ):"Chewbacca" }})
113
+ return contains ($result?output,">2</out>" )
114
+ };
0 commit comments