Re: [xsl] A question of style

Subject: Re: [xsl] A question of style
From: Lars Huttar <lars_huttar@xxxxxxx>
Date: Wed, 07 Jul 2010 15:13:22 -0500
On 7/7/2010 1:41 PM, dvint@xxxxxxxxx wrote:
> I just started working with some stylesheets developed by someone else and
> was surprised at some things I saw. They aren't wrong, it is a style issue
> I believe, but was wondering if there is any advantage or disadvantage to
> this approach.
> I typically try to write as little code as possible. If I don't have to
> use an XSLT element to do something, then why type all the extra code. So
> I might do something like this:
> <xsl:template match="foo"">
>    <newelement att1="a" att2="b">Boilerplate text here</newelement>
> </xsl:template>
> what I came across today was much more verbose like this:
> <xsl:template match="foo">
>   <xsl:element anme="newelement">
>      <xsl:attribute name="att1">a</xsl:attribute>
>      <xsl:attribute name="att2">b</xsl:attribute>
>      <xsl:text>boilerplate text here</xsl:text>
>   </xsl:element>
> </xsl:template>
> Any comments on either approach? I'll use the xsl:element and xsl:text
> constructs when I need to compute something or I'm trying to control the
> formatting of text (use of whitespce), but those are real reasons for
> using these constructs. When the content is straight forward why would you
> go to all the extra work?
> ..dan

Besides what Ken wrote...

1) If the name of the output element or attribute is determined by the
value of a variable or other XPath expression, I think you have to use
the more verbose form.

2) If you want to validate your stylesheet using a DTD, you cannot use
the short form. However, there are other ways to validate your
stylesheet. Your editing environment hopefully provides one, e.g. by
running it through an XSLT processor and seeing what errors come out.


Current Thread