[XSL-LIST Mailing List Archive Home] [By Thread] [By Date] [Recent Entries] [Reply To This Message] Re: Question for a code example of <xsl:evaluate> in
Fixed -- had to include: visibility="public" Thanks for the code example! Dimitre On Mon, Sep 2, 2019 at 2:33 PM Dimitre Novatchev <dnovatchev@xxxxxxxxx> wrote: > Thanks Martin, > > > So what happened with your "attempts to call such an existing > > xsl:function", any error? > > Severity: fatal > Description: Static error in XPath expression supplied to xsl:evaluate: > Function {http://my.namespace}doSomething#1 not found. > > In the target text, among other things there is this: > > $ops := Q {http://my.namespace}doSomething#1 ('myArgument'), > > And I have an existing xsl:function: > > <xsl:function name="f:doSomething"> > <xsl:param name="pmyArgument" as="xs:string+"/> > . . . . . . > > > Thanks, > Dimitre > > On Mon, Sep 2, 2019 at 2:03 PM Martin Honnen martin.honnen@xxxxxx < > xsl-list-service@xxxxxxxxxxxxxxxxxxxxxx> wrote: > >> On 02.09.2019 22:55, Dimitre Novatchev dnovatchev@xxxxxxxxx wrote: >> > I need to call an existing xsl:function from within the xpath >> > (target-expression ) attribute of <xsl:evaluate>. >> > >> > 1. Is this possible / allowed? From reading the W3C XSLT 3.0 Spec it >> > seems so -- https://www.w3.org/TR/xslt-30/#dynamic-xpath has a bullet >> > in the list of available function signatures, saying : >> > >> > "All user-defined functions present in the containing package provided >> > their visibility is not hidden or private;" >> > >> > However, my attempts to call such an existing xsl:function from within >> > the target-expression were not successful. >> > >> > 2. Could someone provide a working code example of doing this? >> >> The test suite has the code sample >> >> https://github.com/w3c/xslt30-test/blob/master/tests/insn/evaluate/evaluate-001.xsl >> with >> >> <?xml version="1.0"?> >> <xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" >> version="3.0" >> xmlns:my="http://www.example.com/my-functions" >> exclude-result-prefixes="my"> >> >> <!-- PURPOSE test xsl:evaluate with a literal argument calling a >> stylesheet function --> >> >> >> <xsl:template name="main"> >> <out> >> <xsl:evaluate xpath="'my:f()'"/> >> </out> >> </xsl:template> >> >> <xsl:function name="my:f" visibility="public"> >> <xsl:sequence select="$p"/> >> </xsl:function> >> >> <xsl:param name="p" select="42"/> >> >> </xsl:stylesheet> >> >> for instance, runs fine for me within oXygen and Saxon 9.8 EE using the >> "main" template as the entry point. >> >> >> So what happened with your "attempts to call such an existing >> xsl:function", any error?
|
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
|