This is the mail archive of the xsl-list@mulberrytech.com mailing list .


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]

Re: Attribute test problem solved


> 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

Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]