Improving XSL Code

Subject: Improving XSL Code
From: "Mallikarjuna Sangappa" <malliks@xxxxxxxxxxx>
Date: Mon, 12 Jul 1999 09:46:25 PDT
Hi,

I'm creating XSLT files and combining them with the XML Documents to produce flat files using XT engine. There are elements with the same attributes. So when I'm writing the stylesheet, I have to repeat the code for the two elements. The sample XML DTD and XSLT stylesheet is as follows.

<!-- Valid values in XML Document and their values during translation are as follows
Chicago - C
SanFrancisco - S
NewYork - N
Detroit - D


<!ENTITY % ENT_CITY "CITY_VALUE (Chicago|SanFrancisco|NewYork|Detroit) #IMPLIED">

<!ELEMENT CITY EMPTY>
<!ATTLIST CITY %ENT_CITY;>

<!ELEMENT METROS EMPTY>
<!ATTLIST METROS %ENT_CITY;>

So in the stylesheet, I'll have to repeat the code for both CITY and METROS, like

 <!--City-->
 <xsl:param-variable name="varcity" expr = "CITY"/>

<xsl:choose>

	   <xsl:when test="$varcity='Chicago'">
		   <xsl:value-of select="sample:padLeftjWithSpaces('C', '1')"/>
          </xsl:when>

	   <xsl:when test="$varcity='SanFrancisco'">
		   <xsl:value-of select="sample:padLeftjWithSpaces('S', '1')"/>
	   </xsl:when>

	   <xsl:when test="$varcity='NewYork'">
		   <xsl:value-of select="sample:padLeftjWithSpaces('N', '1')"/>

</xsl:when>

	   <xsl:when test="$varcity='Detroit'">
		   <xsl:value-of select="sample:padLeftjWithSpaces('D', '1')"/>
	   </xsl:when>

</xsl:choose>

Do I have to repeat the code for METROS element also or is there a way to simplify the code in XSLT. Thanks in advance.

CU,

Malliks


______________________________________________________ Get Your Private, Free Email at http://www.hotmail.com


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



Current Thread