[XSL-LIST Mailing List Archive Home] [By Thread] [By Date] [Recent Entries] [Reply To This Message]

Re: xslt style

Subject: Re: xslt style
From: Jeni Tennison <jeni@xxxxxxxxxxxxxxxx>
Date: Fri, 10 Jan 2003 16:39:00 +0000
jeni style
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

PURCHASE STYLUS STUDIO ONLINE TODAY!

Purchasing Stylus Studio from our online shop is Easy, Secure and Value Priced!

Buy Stylus Studio Now

Download The World's Best XML IDE!

Accelerate XML development with our award-winning XML IDE - Download a free trial today!

Don't miss another message! Subscribe to this list today.
Email
First Name
Last Name
Company
Subscribe in XML format
RSS 2.0
Atom 0.3
Site Map | Privacy Policy | Terms of Use | Trademarks
Free Stylus Studio XML Training:
W3C Member
Stylus Studio® and DataDirect XQuery ™are products from DataDirect Technologies, is a registered trademark of Progress Software Corporation, in the U.S. and other countries. © 2004-2013 All Rights Reserved.