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

Style Sheet Guidelines

Subject: Style Sheet Guidelines
From: Chris_Graham@xxxxxxxxxxx
Date: Fri, 31 Dec 2004 11:52:28 +1100
ctq template
Hi All,

We have an issue of style guidelines to address when writing XSL files.

Basically, it revolves around readability and performance.

We have the choice between the more formal form:

<!-- Format given value as a Product/Policy Type (HOM/MOT/CTP/CTQ) -->
<xsl:template name="productOptions">
        <xsl:param name="name"/>
<select>
<xsl:attribute name="name"><xsl:value-of select="$name"/></xsl:attribute>
    <option value=''></option>
    <option value='MOT'>Motor</option>
    <option value='HOM'>Home</option>
    <option value='CTP'>CTP</option>
</select>
</xsl:template>

And a shorthand form:

<!-- Format given value as a Product/Policy Type (HOM/MOT/CTP/CTQ) -->
<xsl:template name="productOptions">
        <xsl:param name="name"/>
<select name="{$name}">
    <option value=''></option>
    <option value='MOT'>Motor</option>
    <option value='HOM'>Home</option>
    <option value='CTP'>CTP</option>
</select>
</xsl:template>

The difference is in the formal declaration of the attribute 'name' of the 

'select' element.

The first way is the the stricter, the second is easier to understand and 
work with.

When we are working with templates, we call it the same way:

<xsl:call-template name="productOptions">
  <xsl:with-param name="name">Product01</xsl:with-param>
</xsl:call-template>

It outputs the same results.

Whilst these differences are relatively minor, in this example, they do 
become more profound when applied to every instance where they should be.

Consider this shorthand example:

<FONT size="5">
Good morning!<br/>
</FONT>

This is easier to read, as it is standard HTML.

Compare it now to the formal example:

<FONT>
<xsl:attribute name="size">5</xsl:attribute>
Good morning!<br/>
</FONT>

The output is identical:

<FONT size="5">
Good morning!<br>
</FONT>

and

<FONT size="5">
Good morning!<br>
</FONT>


The only difference between the formal and the shorthand is that the 
shorthand form shows up as a problem in the annotation portion of each 
page (the right hand column where you will see a small red square). It 
does not effect the SAX parsing of the file, WSAD just issues some problem 

warnings. (You can always open the file in a text editor inside WSAD and 
you will not see these conditions).

The version that uses the <xsl:attribute> form takes about 10-15% longer 
to run, which is as expected (as it has extra parsing to do [and uses 
slightly more memory as well]).

I prefer the shorthand form as it is easier to read and consumes less 
resources at runtime.

I would appreciate some input from others more knowledable than myself in 
what works best for them (and why).

-Chris



***********************************************************************************
This email contains information confidential to AAMI Limited. If you are not the intended recipient, you must not disclose or use the information in it. If you have received this email in error, please notify us immediately by return email, and delete this email and any attached documents.
AAMI Limited is not responsible for any changes made to a document other than those made by AAMI Limited or for the effect of the changes on the document meaning.
***********************************************************************************

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.