[xsl] cutting it short!

Subject: [xsl] cutting it short!
From: owner-xsl-list@xxxxxxxxxxxxxxxxxxxxxx (by way of B. Tommie Usdin)
Date: Wed, 11 Jul 2001 18:49:55 -0400
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>
		<xsl:attribute name="applicationName">
			<xsl:value-of select="applicationName"/>
		</xsl:attribute>
		<xsl:attribute name="originator">
			<xsl:value-of select="originator"/>
		</xsl:attribute>
		<xsl:attribute name="variable">
			<xsl:value-of select="variable"/>
		</xsl:attribute>
		<xsl:attribute name="timestamp">
			<xsl:value-of select="timestamp"/>
		</xsl:attribute>
		<xsl:attribute name="typeid">
			<xsl:value-of select="typeid"/>
		</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>
				<xsl:element name="dataset">
						<xsl:element name="tag">
							<xsl:value-of select="name()"/>
						</xsl:element>
						<xsl:element name="value">
							<xsl:value-of select="."/>
						</xsl:element>
				</xsl:element>
			     </xsl:otherwise>
			  </xsl:choose>
			</xsl:for-each>
			<xsl:apply-templates select="*[* or @*]|text()"/>
		</xsl:copy>
	</xsl:template>
</xsl:stylesheet>

example
xml file ->

<?xml version="1.0"?>
<request>
	<id> 1 </id>
	<eventName> hi </eventName>
	<applicationName> demo </applicationName>
	<originator> new </originator>
	<variable> a </variable>
	<timestamp> 1/1/1 </timestamp>
	<typeid> 234 </typeid>
	<user> user1 </user>
	<passwd> sk </passwd>
</request>

Thanks
Sumev

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


Current Thread