| 
 
Subject: Re: [xsl] xslt style From: Jeni Tennison <jeni@xxxxxxxxxxxxxxxx> Date: Fri, 10 Jan 2003 16:39:00 +0000  | 
Hi Mike,
>> Well, here is an example of what I think is a bad design:
>> 
>> <xsl:template match="person">
>>   <xsl:call-template name="getName" />
>> </xsl:template>
>> 
>> <xsl:template name="getName">
>>   <xsl:value-of select="givenName" />
>>   <xsl:text> </xsl:text>
>>   <xsl:value-of select="familyName" />
>> </xsl:template>
>> 
>> The getName template uses the context node at the point the 
>> template was called in order to resolve the two paths 
>> ("firstName" and "surname").
>
> Then you'll be pleased to hear that xsl:function in XSLT 2.0 won't
> allow you to access the context node at the point the function was
> called - you have to supply it as an explicit argument.
Well no, not particularly. You're confusing my opinion that it's best
practice to have context that's used in a template or function
declared explicitly in that template or function with a desire to
force people to pass values explicitly when calling that template or
function.
I have no problem with using:
  <xsl:call-template name="getName" />
to call a template with no parameters. I think it's best practice for
the template to be defined as:
<xsl:template name="getName">
  <xsl:param name="person" select="." as="element person" />
  <xsl:value-of select="givenName" />
  <xsl:text> </xsl:text>
  <xsl:value-of select="familyName" />
</xsl:template>
with the fact that the context node is used within the template made
explicit, but that doesn't mean that I want to write that as a
constraint in the language.
Similarly, I would have no problem with people defaulting arguments,
in function calls; I just think that it would be best practice for
functions that use context information to declare parameters for that
context information explicitly.
But anyway, I understand that there are other reasons that
user-defined functions in XSLT 2.0 can't use context information (not
that I can remember what they are right now...).
Cheers,
Jeni
---
Jeni Tennison
http://www.jenitennison.com/
 XSL-List info and archive:  http://www.mulberrytech.com/xsl/xsl-list
| Current Thread | 
|---|
 
  | 
| <- Previous | Index | Next -> | 
|---|---|---|
| RE: [xsl] xslt style, Michael Kay | Thread | RE: [xsl] xslt style, Michael Kay | 
| [xsl] Extreme Markup Languages 2003, B. Tommie Usdin | Date | RE: [xsl] xslt style, Michael Kay | 
| Month |