<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>&lt;?<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>?&gt;
&lt;<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>&gt;

    &lt;<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>&gt;
        &lt;<span class="pl-ent">x</span><span class="pl-ent">:</span><span class="pl-ent">context</span>&gt;
            &lt;<span class="pl-ent">data</span>&gt;
                &lt;<span class="pl-ent">altitude</span>&gt;1200&lt;/<span class="pl-ent">altitude</span>&gt;
                &lt;<span class="pl-ent">unit</span>&gt;feet&lt;/<span class="pl-ent">unit</span>&gt;
            &lt;/<span class="pl-ent">data</span>&gt;
        &lt;/<span class="pl-ent">x</span><span class="pl-ent">:</span><span class="pl-ent">context</span>&gt;

        &lt;<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>&gt;
            &lt;<span class="pl-ent">data</span>&gt;
                &lt;<span class="pl-ent">altitude</span>&gt;365.76&lt;/<span class="pl-ent">altitude</span>&gt;
                &lt;<span class="pl-ent">unit</span>&gt;meters&lt;/<span class="pl-ent">unit</span>&gt;
            &lt;/<span class="pl-ent">data</span>&gt;
        &lt;/<span class="pl-ent">x</span><span class="pl-ent">:</span><span class="pl-ent">expect</span>&gt;
    &lt;/<span class="pl-ent">x</span><span class="pl-ent">:</span><span class="pl-ent">scenario</span>&gt;

&lt;/<span class="pl-ent">x</span><span class="pl-ent">:</span><span class="pl-ent">description</span>&gt;</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>&lt;?<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>?&gt;
&lt;<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>&gt;

    &lt;<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>/&gt;


    &lt;<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>/&gt;

    &lt;<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>&gt;
        &lt;<span class="pl-ent">xsl</span><span class="pl-ent">:</span><span class="pl-ent">copy</span>&gt;
            &lt;<span class="pl-ent">altitude</span>&gt;
                &lt;<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>/&gt;
            &lt;/<span class="pl-ent">altitude</span>&gt;
            &lt;<span class="pl-ent">unit</span>&gt;meters&lt;/<span class="pl-ent">unit</span>&gt;
        &lt;/<span class="pl-ent">xsl</span><span class="pl-ent">:</span><span class="pl-ent">copy</span>&gt;
    &lt;/<span class="pl-ent">xsl</span><span class="pl-ent">:</span><span class="pl-ent">template</span>&gt;

&lt;/<span class="pl-ent">xsl</span><span class="pl-ent">:</span><span class="pl-ent">stylesheet</span>&gt;</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>&lt;<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>&gt;</pre>
            </div>
            <p>to:</p>
            <div class="highlight highlight-text-xml">
              <pre>&lt;<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>&gt;</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>