Improving XSLT code
Mallikarjuna Sangappa
malliks at rocketmail.com
Mon Jul 12 18:47:51 BST 1999
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
_________________________________________________________
DO YOU YAHOO!?
Get your free @yahoo.com address at http://mail.yahoo.com
xml-dev: A list for W3C XML Developers. To post, mailto:xml-dev at ic.ac.uk
Archived as: http://www.lists.ic.ac.uk/hypermail/xml-dev/ and on CD-ROM/ISBN 981-02-3594-1
To (un)subscribe, mailto:majordomo at ic.ac.uk the following message;
(un)subscribe xml-dev
To subscribe to the digests, mailto:majordomo at ic.ac.uk the following message;
subscribe xml-dev-digest
List coordinator, Henry Rzepa (mailto:rzepa at ic.ac.uk)
More information about the Xml-dev
mailing list