[xsl] Attribute value (...when false)

Subject: [xsl] Attribute value (...when false)
From: Horace Burke <egrubs@xxxxxxxxx>
Date: Wed, 7 Dec 2005 14:10:06 -0800 (PST)

I want to get an output of a single statement "I do
not have..." when the value of attribute "status" in
element entry is not 'rec'-- so I have the following

<xsl:for-each select="//SoftwareDocInfo/table">
   <xsl:for-each select="tgroup/tbody/row/entry">
      <fo:block font-size="17pt">
            <xsl:when test="//entry and
not(@status='rec') and(@status='def')
or(@status='none') or(@status='exp')">
		<fo:block space-before="3mm">
		   <fo:external-graphic content-width=".2in"
		   <xsl:text>&#160; I do not have</xsl:text>
		   <xsl:value-of select="//productID/productname"/>
The desire output when the value of symbol is not
'rec' is:

* I do not have [value of "productname" goes here]

This is the current output from the above snippet:

* I do not have ["productname"]
* I do not have ["productname"]
* I do not have ["productname"]
* I do not have ["productname"]

How can I get the statement to display once when the
value of attribute 'status' is not 'rec' 
((and not(attribute::status='rec')))? In other words
when it is false. I know that the <xsl:choose>
<xsl:when...> test for a true value and the
<xsl:other> is process if <xsl:when> is not true. The
<xsl:if...> works similar to the <xsl:when>. Even when
I used <xsl:other> the result is still multiple
outputs (* I do not have...).

This is a snippet of the XML:

	  <entry status="def">
	  <entry morerows="2" status="none">
	    <para>DX<superscript>&#174;</superscript> 20
Upgrade Kits</para>
	  <entry morerows="2" status="none">
	  <entry status="def">

Grouping problem?

Thank you,

Horace Burke

Yahoo! DSL  Something to write home about. 
Just $16.99/mo. or less. 

Current Thread