Re: [xsl] XSL, when elements don't exist

Subject: Re: [xsl] XSL, when elements don't exist
From: Tanya S Buchanan <tanyana@xxxxxxxxxx>
Date: Fri, 31 Oct 2003 16:41:06 -0500





Thank you very much for your response. I have tried the methods suggested
and I think I almost have it.  I need to do a check on the same property
element for two things, property[@displayname = 'Defer Node Expansion']
andproperty[@value = 'true'] ", my XSL below seems to think that "value" is
always equal true which is not the case.  The XML at the bottom will
showthat when "property[@displayname = 'Defer Node Expansion']" the "value"
attribute for that same property is 'false'.  What am I doing wrong with my
condition testing?
Current XSL:
<xsl:choose>    <xsl:when test="property[@displayname = 'Defer Node
Expansion'] and property[@value = 'true'] ">
<xsl:text>yesDD,</xsl:text>    </xsl:when>    <xsl:when
test="property[@displayname = 'Defer Node Expansion'] and property[@value =
'false'] ">      <xsl:text>noDD,</xsl:text>    </xsl:when>    <xsl:when
test="not(property[@displayname='Defer Node Expansion'])">
     <xsl:text>n/aDD,</xsl:text>    </xsl:when>   </xsl:choose>
<xsl:choose>    <xsl:when test="property[@displayname = 'Traverse DOM'] and
property[@value = 'true'] ">      <xsl:text>yesTR,</xsl:text>
</xsl:when>    <xsl:when test="property[@displayname = 'Traverse DOM'] and
property[@value = 'false'] ">      <xsl:text>noTR,</xsl:text>
</xsl:when>    <xsl:when test="not(property[@displayname='Traverse DOM'])">
     <xsl:text>n/aTR,</xsl:text>    </xsl:when>
   </xsl:choose>

This is a snipet of the  XML
<Report>   <WorkItem uuid="ece97c8:f7bbbf389b:-8000"
id="DOMNonValidNoTravDefDOMoff">      <PropertyGroup name="WorkItem"
class="com.ibm.xml.parsers.performance.workitems.Xerces2DOMCount">
<property name="d" displayname="Defer Node Expansion"
value="false"/>         <property name="f" displayname="Schema Full
Support" value="false"/>         <property name="gpn" displayname="Grammar
Pool Name" value="org.apache.xerces.util.XMLGrammarPoolImpl"/>
<property name="grc" displayname="Grammar Caching" value="false"/>
<property name="l" displayname="Load External DTD" value="false"/>
<property name="m" displayname="Memory Read" value="true"/>
<property name="n" displayname="Namespaces" value="true"/>
<property name="s" displayname="Schema Support" value="false"/>
<property name="sid" displayname="Set SystemID" value="false"/>
<property name="tr" displayname="Traverse DOM" value="false"/>
<property name="uri" displayname="URI" value="test.xml"/>         <property
name="v" displayname="Validation" value="false"/>      </PropertyGroup>
</WorkItem>   <WorkItem uuid="ece97c8:f7bbbf389b:-7ffa"
id="SAXNonValidating">      <PropertyGroup name="WorkItem"
class="com.ibm.xml.parsers.performance.workitems.Xerces2SAXCount">

         <property name="f" displayname="Schema Full Support"
value="false"/>         <property name="gpn" displayname="Grammar Pool
Name" value="org.apache.xerces.util.XMLGrammarPoolImpl"/>         <property
name="grc" displayname="Grammar Caching" value="false"/>         <property
name="l" displayname="Load External DTD" value="false"/>         <property
name="m" displayname="Memory Read" value="true"/>         <property
name="n" displayname="Namespaces" value="true"/>         <property name="s"
displayname="Schema Support" value="false"/>         <property name="sid"
displayname="Set SystemID" value="false"/>         <property name="uri"
displayname="URI" value="test.xml"/>         <property name="v"
displayname="Validation" value="false"/>      </PropertyGroup>
   </WorkItem>





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


Current Thread