This is the mail archive of the xsl-list@mulberrytech.com mailing list .


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]

RE: XSLT design good practice


> I'm thinking of issues such as use of named templates, parameters and
> variables, importing/including and so on, and how would these 
> map against
> programming objectives such as maintainability, maximum 
> re-use, simplicity,
> economy of code and so on.

When manipulating subelements within a particular element, make a separate
template for the subelement rather than completing the manipulation from
within the element template, except when the occasion demands it. E.g:

For <list>
	<item>
	<item>
	<item>

Where the third item is to have some specific behaviour:

<xsl:template match="list">
	<xsl:apply-templates select="@*" />
	<xsl:apply-templates />
</xsl:template>

<xsl:template match="item[position() = 3]">
	.... etc>

Rather than:

<xsl:template match="list">
	<xsl:apply-templates select="@*" />
	<xsl:for-each select="item">
		<xsl:if test="position() = 3>
	... etc
	</xsl:for-each>
</xsl:template>

This approach makes complex restructuring and script updating simpler, in my
experience -
Matt
******************************************************************
Warning: This email, including any attachments, 
is for the use of the intended recipient(s) only.
Republication and redissemination, 
including posting to news groups or web pages, 
is strictly prohibited without the express prior consent of Brooker's Limited.
******************************************************************


 XSL-List info and archive:  http://www.mulberrytech.com/xsl/xsl-list

Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]