|
[XSL-LIST Mailing List Archive Home] [By Thread] [By Date] [Recent Entries] [Reply To This Message] Re: In XSLT 3.0, should the "document" function be av
Have you also tried the XPath function doc() ?
On Mon, Jan 16, 2017 at 6:35 AM, Martin Honnen martin.honnen@xxxxxx
<xsl-list-service@xxxxxxxxxxxxxxxxxxxxxx> wrote:
>
> Both the latest internal draft of the XSLT 3.0 spec in
> https://www.w3.org/XML/Group/qtspecs/specifications/xslt-30/html/#dynamic-xpath
> as well as the official https://www.w3.org/TR/xslt-30/#element-evaluate say
> about the function signatures in the context of dynamic XPath evaluation
> using xsl:evaluate: "Note that this set deliberately excludes XSLT-defined
> functions in the standard function namespace".
>
> Based on that I would expect the XSLT "document" function not to be
> available in dynamic XPath evaluation using xsl:evaluate. So I wrote a test
> case doing
>
> <xsl:stylesheet version="3.0"
> xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
> xmlns:xs="http://www.w3.org/2001/XMLSchema"
> xmlns:fn="http://www.w3.org/2005/xpath-functions"
> xmlns:math="http://www.w3.org/2005/xpath-functions/math"
> xmlns:array="http://www.w3.org/2005/xpath-functions/array"
> xmlns:map="http://www.w3.org/2005/xpath-functions/map"
> exclude-result-prefixes="array fn map math xs">
>
> <xsl:output method="xml"/>
>
> <xsl:template name="main" match="/">
> <xsl:sequence
> select="
> let $f := function-lookup(xs:QName('fn:document'),
> 1)
> return
> if (exists($f)) then
> $f('')
> else
> 'not found'"/>
> <xsl:variable name="path" as="xs:string">
> let $f := function-lookup(xs:QName('fn:document'),
> 1)
> return
> if (exists($f)) then
> $f('')
> else
> 'not found'</xsl:variable>
> <xsl:evaluate xpath="$path"/>
> </xsl:template>
>
> </xsl:stylesheet>
>
> and expected that to return the stylesheet code for the xsl:sequence and
> 'not found' for the xsl:evaluate.
>
> However, only Exselt gives me that result, both Saxon 9.7 EE as well as
> Altova XMLSpy return the stylesheet code twice which seems to indicate they
> make the 'document' function available to xsl:evaluate. Isn't that a bug? Or
> does the spec need to allow it if an implementer wants to go beyond pure
> XPath support?
>
--
Cheers,
Dimitre Novatchev
---------------------------------------
Truly great madness cannot be achieved without significant intelligence.
---------------------------------------
To invent, you need a good imagination and a pile of junk
-------------------------------------
Never fight an inanimate object
-------------------------------------
To avoid situations in which you might make mistakes may be the
biggest mistake of all
------------------------------------
Quality means doing it right when no one is looking.
-------------------------------------
You've achieved success in your field when you don't know whether what
you're doing is work or play
-------------------------------------
To achieve the impossible dream, try going to sleep.
-------------------------------------
Facts do not cease to exist because they are ignored.
-------------------------------------
Typing monkeys will write all Shakespeare's works in 200yrs.Will they
write all patents, too? :)
-------------------------------------
Sanity is madness put to good use.
-------------------------------------
I finally figured out the only reason to be alive is to enjoy it.
|
PURCHASE STYLUS STUDIO ONLINE TODAY!Purchasing Stylus Studio from our online shop is Easy, Secure and Value Priced! Download The World's Best XML IDE!Accelerate XML development with our award-winning XML IDE - Download a free trial today! Subscribe in XML format
|

Cart








