Subject: RE: [xsl] Call context within a named xsl:template From: Jeff Beadle <Jbeadle@xxxxxxxx> Date: Thu, 15 Nov 2001 09:04:53 -0500 |
thanks for your help Robert. -----Original Message----- From: Robert Stuart [mailto:Robert.Stuart@xxxxxxxxxxxxxxxxx] Sent: Thursday, November 15, 2001 4:07 AM To: 'xsl-list@xxxxxxxxxxxxxxxxxxxxxx' Subject: RE: [xsl] Call context within a named xsl:template No, but you can validate parameters - which, in turn, can be used to force calling templates to give some kind of context. (Standard caveats regarding debugging apply.) Something like this: ############### <?xml version="1.0" encoding="UTF-8"?> <xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform"> <xsl:output method="xml" version="1.0" encoding="UTF-8" indent="yes"/> <!-- a template with a required parameter --> <xsl:template name="called"> <xsl:param name="caller"/> <!-- the interesting bit --> <xsl:if test="not( $caller ) and not( caller = '0' ) and not( caller = 'false' ) "> <xsl:message terminate="yes"> <xsl:text>No caller given</xsl:text> </xsl:message> </xsl:if> <!-- end the interesting bit --> <!-- the rest of the template --> <b>Called by: <xsl:value-of select="$caller"/></b><br /> </xsl:template> <xsl:template match="/"> <xsl:call-template name="called"> <xsl:with-param name="caller" select="'one'"/> </xsl:call-template> <xsl:call-template name="called"> <xsl:with-param name="caller" select="'1'"/> </xsl:call-template> <xsl:call-template name="called"> <xsl:with-param name="caller" select="'0'"/> </xsl:call-template> <xsl:call-template name="called"> <xsl:with-param name="caller" select="'false'"/> </xsl:call-template> <!-- the following fails in my test environment, nothing but the "No caller given" message appeared --> <!-- <xsl:call-template name="called"> </xsl:call-template> --> </xsl:template> </xsl:stylesheet> ############### Cheers Robert Stuart ====================================== Date: Wed, 14 Nov 2001 08:45:18 +0100 From: Ruben.Provoost@xxxxxxxxxxxxx Subject: RE: [xsl] Call context within a named xsl:template On 13 Nov 2001, at 18:06, Michael Kay wrote: > > Is > > there anyway I can determine who called me? > > > No. > > (It's surprising how often people ask for features in XSLT that I've never > come across in any other programming language...) I've seen (NOT written...) Java code like this : public void someMethod() { [snip] Ruben Provoost [snip] XSL-List info and archive: http://www.mulberrytech.com/xsl/xsl-list XSL-List info and archive: http://www.mulberrytech.com/xsl/xsl-list
Current Thread |
---|
|
<- Previous | Index | Next -> |
---|---|---|
RE: [xsl] Call context within a nam, Robert Stuart | Thread | [xsl] document() and keys, Phil Endecott |
RE: [xsl] Next Node tests, Ian Blizard | Date | RE: [xsl] Getting attribute from ro, Michael Kay |
Month |