<html>
<head>
<meta content="text/html; charset=windows-1252"
http-equiv="Content-Type">
</head>
<body text="#000000" bgcolor="#FFFFFF">
Florent, you now have MANY entries to check !<br>
<br>
Best regards,<br>
Christophe<br>
<br>
<div class="moz-cite-prefix">Le 20/02/2016 20:30, CIRULLI, Sandro a
�crit�:<br>
</div>
<blockquote
cite="mid:527C880A6AE5B248A2F82B1C3BA16F77684F1FFE@GBOXFXMB02.uk.oup.com"
type="cite">
<meta http-equiv="Content-Type" content="text/html;
charset=windows-1252">
<style id="owaParaStyle" type="text/css">P {margin-top:0;margin-bottom:0;}</style>
<div style="direction: ltr;font-family: Tahoma;color:
#000000;font-size: 10pt;">Hi,<br>
<br>
I posted a comment on the XSpec issue tracker related to this
patch (<a class="moz-txt-link-freetext" href="https://github.com/expath/xspec/pull/74">https://github.com/expath/xspec/pull/74</a>), I copy-paste it
here below.<br>
<br>
Best,<br>
<br>
Sandro<br>
<br>
<br>
<div class="edit-comment-hide">
<div class="comment-body markdown-body markdown-format
js-comment-body">
<p>I tested the support for testing XSLT 3.0 with this XSpec
test:</p>
<div class="highlight highlight-text-xml">
<pre><?<span class="pl-ent">xml</span><span class="pl-e"> version</span>=<span class="pl-s"><span class="pl-pds">"</span>1.0<span class="pl-pds">"</span></span><span class="pl-e"> encoding</span>=<span class="pl-s"><span class="pl-pds">"</span>UTF-8<span class="pl-pds">"</span></span>?>
<<span class="pl-ent">x</span><span class="pl-ent">:</span><span class="pl-ent">description</span> <span class="pl-e">xmlns</span><span class="pl-e">:</span><span class="pl-e">x</span>=<span class="pl-s"><span class="pl-pds">"</span><a class="moz-txt-link-freetext" href="http://www.jenitennison.com/xslt/xspec">http://www.jenitennison.com/xslt/xspec</a><span class="pl-pds">"</span></span> <span class="pl-e">stylesheet</span>=<span class="pl-s"><span class="pl-pds">"</span>unit-converter.xsl<span class="pl-pds">"</span></span> <span class="pl-e">xslt-version</span>=<span class="pl-s"><span class="pl-pds">"</span>3.0<span class="pl-pds">"</span></span>>
<<span class="pl-ent">x</span><span class="pl-ent">:</span><span class="pl-ent">scenario</span> <span class="pl-e">label</span>=<span class="pl-s"><span class="pl-pds">"</span>When processing a data element with unit feet<span class="pl-pds">"</span></span>>
<<span class="pl-ent">x</span><span class="pl-ent">:</span><span class="pl-ent">context</span>>
<<span class="pl-ent">data</span>>
<<span class="pl-ent">altitude</span>>1200</<span class="pl-ent">altitude</span>>
<<span class="pl-ent">unit</span>>feet</<span class="pl-ent">unit</span>>
</<span class="pl-ent">data</span>>
</<span class="pl-ent">x</span><span class="pl-ent">:</span><span class="pl-ent">context</span>>
<<span class="pl-ent">x</span><span class="pl-ent">:</span><span class="pl-ent">expect</span> <span class="pl-e">label</span>=<span class="pl-s"><span class="pl-pds">"</span>convert feet to meters<span class="pl-pds">"</span></span>>
<<span class="pl-ent">data</span>>
<<span class="pl-ent">altitude</span>>365.76</<span class="pl-ent">altitude</span>>
<<span class="pl-ent">unit</span>>meters</<span class="pl-ent">unit</span>>
</<span class="pl-ent">data</span>>
</<span class="pl-ent">x</span><span class="pl-ent">:</span><span class="pl-ent">expect</span>>
</<span class="pl-ent">x</span><span class="pl-ent">:</span><span class="pl-ent">scenario</span>>
</<span class="pl-ent">x</span><span class="pl-ent">:</span><span class="pl-ent">description</span>></pre>
</div>
<p>It tests the following XSLT which makes use of high-order
functions, a new feature of XSLT 3.0 (the example is
adapted from
<a moz-do-not-send="true"
href="http://www.xfront.com/Pearls-of-XSLT-and-XPath-3-0-Design.pdf">www.xfront.com/Pearls-of-XSLT-and-XPath-3-0-Design.pdf</a>).</p>
<div class="highlight highlight-text-xml">
<pre><?<span class="pl-ent">xml</span><span class="pl-e"> version</span>=<span class="pl-s"><span class="pl-pds">"</span>1.0<span class="pl-pds">"</span></span><span class="pl-e"> encoding</span>=<span class="pl-s"><span class="pl-pds">"</span>UTF-8<span class="pl-pds">"</span></span>?>
<<span class="pl-ent">xsl</span><span class="pl-ent">:</span><span class="pl-ent">stylesheet</span> <span class="pl-e">xmlns</span><span class="pl-e">:</span><span class="pl-e">xsl</span>=<span class="pl-s"><span class="pl-pds">"</span><a class="moz-txt-link-freetext" href="http://www.w3.org/1999/XSL/Transform">http://www.w3.org/1999/XSL/Transform</a><span class="pl-pds">"</span></span>
<span class="pl-e">xmlns</span><span class="pl-e">:</span><span class="pl-e">xs</span>=<span class="pl-s"><span class="pl-pds">"</span><a class="moz-txt-link-freetext" href="http://www.w3.org/2001/XMLSchema">http://www.w3.org/2001/XMLSchema</a><span class="pl-pds">"</span></span>
<span class="pl-e">xmlns</span><span class="pl-e">:</span><span class="pl-e">math</span>=<span class="pl-s"><span class="pl-pds">"</span><a class="moz-txt-link-freetext" href="http://www.w3.org/2005/xpath-functions/math">http://www.w3.org/2005/xpath-functions/math</a><span class="pl-pds">"</span></span> <span class="pl-e">exclude-result-prefixes</span>=<span class="pl-s"><span class="pl-pds">"</span>xs math<span class="pl-pds">"</span></span>
<span class="pl-e">version</span>=<span class="pl-s"><span class="pl-pds">"</span>3.0<span class="pl-pds">"</span></span>>
<<span class="pl-ent">xsl</span><span class="pl-ent">:</span><span class="pl-ent">variable</span> <span class="pl-e">name</span>=<span class="pl-s"><span class="pl-pds">"</span>unit-converter<span class="pl-pds">"</span></span>
<span class="pl-e">select</span>=<span class="pl-s"><span class="pl-pds">"</span>function(</span>
<span class="pl-s"> $value as xs:decimal,</span>
<span class="pl-s"> $f as function(item()*) as item()*</span>
<span class="pl-s"> )</span>
<span class="pl-s"> as xs:decimal</span>
<span class="pl-s"> {$f($value)}<span class="pl-pds">"</span></span>/>
<<span class="pl-ent">xsl</span><span class="pl-ent">:</span><span class="pl-ent">variable</span> <span class="pl-e">name</span>=<span class="pl-s"><span class="pl-pds">"</span>feet-to-meters<span class="pl-pds">"</span></span>
<span class="pl-e">select</span>=<span class="pl-s"><span class="pl-pds">"</span>function(</span>
<span class="pl-s"> $a as xs:decimal</span>
<span class="pl-s"> )</span>
<span class="pl-s"> as xs:decimal</span>
<span class="pl-s"> {$a * 0.3048}<span class="pl-pds">"</span></span>/>
<<span class="pl-ent">xsl</span><span class="pl-ent">:</span><span class="pl-ent">template</span> <span class="pl-e">match</span>=<span class="pl-s"><span class="pl-pds">"</span>data[unit='feet']<span class="pl-pds">"</span></span>>
<<span class="pl-ent">xsl</span><span class="pl-ent">:</span><span class="pl-ent">copy</span>>
<<span class="pl-ent">altitude</span>>
<<span class="pl-ent">xsl</span><span class="pl-ent">:</span><span class="pl-ent">value-of</span> <span class="pl-e">select</span>=<span class="pl-s"><span class="pl-pds">"</span>$unit-converter(altitude, $feet-to-meters)<span class="pl-pds">"</span></span>/>
</<span class="pl-ent">altitude</span>>
<<span class="pl-ent">unit</span>>meters</<span class="pl-ent">unit</span>>
</<span class="pl-ent">xsl</span><span class="pl-ent">:</span><span class="pl-ent">copy</span>>
</<span class="pl-ent">xsl</span><span class="pl-ent">:</span><span class="pl-ent">template</span>>
</<span class="pl-ent">xsl</span><span class="pl-ent">:</span><span class="pl-ent">stylesheet</span>></pre>
</div>
<p>I run this test with Oxygen 14.2 (which includes the
Oxygen patch) and the test goes through successfully.
However, I noticed that with this patch it is compulsory
to specify the
<code>@xslt-version</code>with the value '3.0' when
testing an XSLT 3.0. If the attribute is not provided, the
Oxygen ant file complains that XPath 3.0 is needed to run
the test.</p>
<p>If the patch is changed from:</p>
<div class="highlight highlight-text-xml">
<pre><<span class="pl-ent">stylesheet</span> <span class="pl-e">version</span>=<span class="pl-s"><span class="pl-pds">"</span>{( @xslt-version, '2.0' )[1]}<span class="pl-pds">"</span></span>></pre>
</div>
<p>to:</p>
<div class="highlight highlight-text-xml">
<pre><<span class="pl-ent">stylesheet</span> <span class="pl-e">version</span>=<span class="pl-s"><span class="pl-pds">"</span>{if ( @xslt-version, '3.0' ) then '3' else '2'}<span class="pl-pds">"</span></span>></pre>
</div>
<p>the XSpec test runs correctly even if <code>@xslt-version</code>
is not provided.
</p>
<p><br>
</p>
<p>I wonder if this implementation may be more suitable as
it does not force to specify the
<code>@xslt-version</code> in the XSpec test, one only
needs to specify the XSLT version in the actual XSL
stylesheet. It also seems to me more consistent when
writing XSpec tests for XSLT 2.0 as it is not required to
specify
<code>@xslt-version</code> in the XSpec test. </p>
<p><br>
</p>
<p>Unfortunately I'm unable to test this implementation when
running XSpec from the command line as XSLT 3.0 requires
saxon9ee.jar (I only have saxon9he.jar available).
</p>
</div>
</div>
<br>
</div>
<p>Oxford University Press (UK) Disclaimer</p>
<p>This message is confidential. You should not copy it or
disclose its contents to anyone. You may use and apply the
information for the intended purpose only. OUP does not accept
legal responsibility for the contents of this message. Any views
or opinions presented are those of the author only and not of
OUP. If this email has come to you in error, please delete it,
along with any attachments. Please note that OUP may intercept
incoming and outgoing email communications.</p>
<br>
<fieldset class="mimeAttachmentHeader"></fieldset>
<br>
<pre wrap="">_______________________________________________
oXygen-user mailing list
<a class="moz-txt-link-abbreviated" href="mailto:oXygen-user@oxygenxml.com">oXygen-user@oxygenxml.com</a>
<a class="moz-txt-link-freetext" href="https://www.oxygenxml.com/mailman/listinfo/oxygen-user">https://www.oxygenxml.com/mailman/listinfo/oxygen-user</a>
</pre>
</blockquote>
<br>
</body>
</html>