[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
|