xsl-list
[Top] [All Lists]

Re: [xsl] A question of style

2010-07-07 15:35:54
On 7/7/2010 1:41 PM, dvint(_at_)dvint(_dot_)com 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.

Lars


--~------------------------------------------------------------------
XSL-List info and archive:  http://www.mulberrytech.com/xsl/xsl-list
To unsubscribe, go to: http://lists.mulberrytech.com/xsl-list/
or e-mail: <mailto:xsl-list-unsubscribe(_at_)lists(_dot_)mulberrytech(_dot_)com>
--~--

<Prev in Thread] Current Thread [Next in Thread>