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