This is the mail archive of the
xsl-list@mulberrytech.com
mailing list .
Re: Check if XML tag exists?
- To: xsl-list at mulberrytech dot com
- Subject: Re: Check if XML tag exists?
- From: Oliver Becker <obecker at informatik dot hu-berlin dot de>
- Date: Thu, 17 Aug 2000 10:53:24 +0200 (MET DST)
- Reply-To: xsl-list at mulberrytech dot com
Hi David,
> Is there a way I can check if a TAG in the XML data exists or not, even
> though the possibly existing TAG will not have any value?
>
> Background is... in this instance everything would be hidden.
>
> <RESTRICTED_FIELD_LIST>
>
> <HIDE_OFFICE_ALL />
> <HIDE_HOME_ALL />
>
> </RESTRICTED_FIELD_LIST>
>
> But in this instance ALL the Office info would be hidden while only the
> Home Address info would be hidden.
>
> <RESTRICTED_FIELD_LIST>
>
> <HIDE_OFFICE_ALL />
> <HIDE_HOME_ADDRESS />
>
> </RESTRICTED_FIELD_LIST>
>
> The HIDE_HOME_ALL is no longer in the data.
>
> Can I check to see if a TAG exists or not?
You want to check if an *element* exists or not. :-)
Well, probably the following template does what you want:
<xsl:template match="RESTRICTED_FIELD_LIST">
<xsl:if test="HIDE_HOME_ALL">
<!-- Ah, HIDE_HOME_ALL is present -->
<!-- Do something reasonable ... -->
</xsl:if>
</xsl:template>
Note: if you want to test wether an element is empty or not, you
have to compare with '' or apply the string function:
<xsl:if test="string(HIDE_HOME_ALL)">
<!-- HIDE_HOME_ALL is present and not empty -->
</xsl:if>
Hope that helps,
Oliver
/-------------------------------------------------------------------\
| ob|do Dipl.Inf. Oliver Becker |
| --+-- E-Mail: obecker@informatik.hu-berlin.de |
| op|qo WWW: http://www.informatik.hu-berlin.de/~obecker |
\-------------------------------------------------------------------/
XSL-List info and archive: http://www.mulberrytech.com/xsl/xsl-list