RE: [xsl] cutting it short!

Subject: RE: [xsl] cutting it short!
From: "Michael Kay" <mhkay@xxxxxxxxxxxx>
Date: Thu, 12 Jul 2001 09:05:51 +0100

> -----Original Message-----
> From: owner-xsl-list@xxxxxxxxxxxxxxxxxxxxxx
> [mailto:owner-xsl-list@xxxxxxxxxxxxxxxxxxxxxx]
> Sent: 11 July 2001 23:50
> To: xsl-list
> Subject: [xsl] cutting it short!
> 
> 
> Reply-To: <skohli@xxxxxxxxxxxxxxx>
> From: "sumev" <skohli@xxxxxxxxxxxxxxx>
> To: <XSL-List@xxxxxxxxxxxxxxxxxxxxxx>
> Subject: Help for cutting it short!
> Date: Wed, 3 Jan 2001 17:58:07 -0500
> Message-ID: <GAEMJDODNEBPDDAADPLPAEPPCBAA.skohli@xxxxxxxxxxxxxxx>
> 
> 
> Hi Folks!,
>         I am workin on simple xslt and want to make it look 
> good (I want to
> make it short! lot of xsl:when statements)
> 
> xsl -->
> 
> <?xml version="1.0"?>
> <xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform";
> version="1.0">
>   <xsl:output method="xml"/>
> 	<xsl:template match="request">
> 		<xsl:copy>
> 		<xsl:attribute name="id">
> 			<xsl:value-of select="id"/>
> 		</xsl:attribute>
> 		<xsl:attribute name="eventName">
> 			<xsl:value-of select="eventName"/>
> 		</xsl:attribute>

You can replace most of this with 
<request id="{id}" eventName="{eventname}" etc.

> 		</xsl:attribute>
> 			 <xsl:for-each select="@*|*[not(* or @*)]">
> 			    <xsl:choose>
> 				 <xsl:when test="name()='id'"/>
> 			         <xsl:when test="name()='eventName'"/>
> 			         <xsl:when 
> test="name()='applicationName'"/>
> 			         <xsl:when test="name()='originator'"/>
> 			         <xsl:when test="name()='variable'"/>
> 			         <xsl:when test="name()='timestamp'"/>
> 			         <xsl:when test="name()='typeid'"/>
> 				 <xsl:otherwise>

This bit looks like a real candidate for a template rule

<xsl:apply-templates select="@* | *[not(* or @*)]" mode="x"/>

<xsl:template match="eventName|originator|variable ..." mode="x"/>

etc.
> 

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


Current Thread