[XSL-LIST Mailing List Archive Home] [By Thread] [By Date]

RE: [xsl] Supress


Subject: RE: [xsl] Supress
From: "Michael Kay" <mhkay@xxxxxxxxxxxx>
Date: Thu, 2 Aug 2001 09:44:07 +0100

> A really newbie question but I want to supress a section only
> if all the
> elements are empty.
>
> For example if the xml looks like below :-
> <Contents>
> <FirstSection>
>   <Content1>Data<Content1>
>   <Content2>Data<Content2>
>   <Content3>Data<Content3>
> </FirstSection>
>
> <SecondSection>
>   <Content1>  <Content1>
>   <Content2>  <Content2>
>   <Content3>  <Content3>
> </SecondSection>
> </Contents>
> Since all the elements in <SecondSection> is empty I want to
> supress this
> from the display page but if the <Contenti> elements are not
> empty then it
> needs to be displayed.  Any elegant way of doing this in XSL?

Firstly, your Content1 elements are not empty, they contain whitespace text
nodes. If you want to treat them as empty, the simplest way is to strip the
whitespace by writing

<xsl:strip-space elements="*"/>

After that, you can simply test <xsl:if test="SectionSection=''"> which will
be true only if the element contains no (unstripped) text nodes, at any
depth.

Mike Kay
Software AG


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



Current Thread
Keywords
xml