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]
Other format: [Raw text]

RE: Testing for presence of node


> 
> For each category element if you want to check for 
> subcategory as its children, you can do :
> 
> <xsl:for-each select="//category">
> 
>         <xsl:if test="string-length(./*[name()=subcategory]) >0 )
>            Success
>         </xsl:if> 
> 
>         <xsl:if test="string-length(./*[name()=subcategory])=0 )
>            Failure
>         </xsl:if> 
> 
> </xsl:for-each>

1. ./x is a long-winded way of writing x
2. You meant name()='subcategory' with quotes
3. ./*[name()='subcategory'] is a long-winded way of writing
./subcategory
4. The guy wants to know if the subcategory element exists, not if it
has non-empty text content.
5. Why test the same condition twice, rather than using xsl:choose?

Try instead:

<xsl:choose>
<xsl:when test="subcategory">Success</xsl:when>
<xsl:otherwise>Failure</xsl:when>
</xsl:choose>

Michael Kay
Software AG
home: Michael.H.Kay@ntlworld.com
work: Michael.Kay@softwareag.com 

> 
> > 
> > -----BEGIN PGP SIGNED MESSAGE-----
> > Hash: SHA1
> > 
> > I have an XML file that contains the following structure:
> > 
> > <category>
> >   <subcategory>
> >     <article>
> >     </article>
> >   </subcategory>
> > </category>
> > 
> > In my XSLT stylesheet, I need to be able to test if the <category> 
> > node I'm working with contains a <subcategory> node. What's 
> the best 
> > way to test for the presence of this node without actually doing 
> > anything with it? I was thinking <xsl:if test="something">.
> > 
> > - -joeljkp
> > 
> > - ---------------------------------------
> > http://www.ballsome.com
> > 
> > -----BEGIN PGP SIGNATURE-----
> > Version: PGPfreeware 7.0.3 for non-commercial use 
<http://www.pgp.com>
> 
> iQA/AwUBPRKA7H880CLOJa2eEQJxpwCg6XhYuz/DsUThGatqbkDa99G85XAAoL8b
> GrkEiFZTOBoCy9EHV1HxOiTA
> =ASvZ
> -----END PGP SIGNATURE-----
> 
> 
> 
>  XSL-List info and archive:  http://www.mulberrytech.com/xsl/xsl-list
> 


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


 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]