This is the mail archive of the
xsl-list@mulberrytech.com
mailing list .
Re: Attribute test problem solved
- To: xsl-list at mulberrytech dot com
- Subject: Re: Attribute test problem solved
- From: Steve Tinney <stinney at sas dot upenn dot edu>
- Date: Thu, 13 Apr 2000 08:49:37 -0400
- References: <33DDC954510AD411B46400A0C9C732D6048E1D@exch-klip.btg.com>
- Reply-To: xsl-list at mulberrytech dot com
> Would there be a simpler way to test than
> this since I have to repeat this process with other priorities
> about five more times.
I'm not sure which kind of simpler way you mean, but I typically
approach lookup table problems of this kind like this:
class.xsl:
----------
<?xml version='1.0'?>
<xsl:stylesheet version="1.0"
xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:variable name="class">
<c code="P" means="PRIORITY"/>
<c code="F" means="FAST"/>
<c code="R" means="ROUTINE"/>
<c code="S" means="SLOW"/>
</xsl:variable>
<xsl:template name="get-secur-class">
<xsl:param name="code" select="//@secur.classif"/>
<xsl:value-of
select="document('')/*/xsl:variable[@name='class']
/c[@code=$code]/@means"/>
</xsl:template>
</xsl:stylesheet>
test.xsl:
---------
<?xml version='1.0'?>
<xsl:stylesheet version="1.0"
xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:include href="class.xsl"/>
<xsl:template match="/">
<xsl:variable name="secur.class">
<xsl:call-template name="get-secur-class"/>
</xsl:variable>
<xsl:message
>Class = <xsl:value-of select="$secur.class"/></xsl:message>
</xsl:template>
</xsl:stylesheet>
Your '//' on the select of secur.classif, by the way, is a recipe for
slow performance, but perhaps you have no other choice.
Steve
XSL-List info and archive: http://www.mulberrytech.com/xsl/xsl-list