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]

Re: pls help me on XML-XSLt Tag Display



On Wed, 27 Jun 2001, Maricar Gold wrote:

> Hi,
>
> I am currently coding an XSLt to transform an XML
> document to another XML with different formatting.
>
> I cannot seem to know how to remove certain tags from
> displaying when there is no value.  For example, if a
> values exist for ListofDescription from the source
> document, the output should display as:
>

So let me get this straight.  You want to remove the empty tags, right?

>
> <ExampleTag>Example</ExampleTag>
> <ListofDescription>
>   <DescInfo>
>     <DescriptionID>Color</DescriptionID>
>     <Description>Red</Description>
>   </DescInfo>
>   <DescInfo>
>     <DescriptionID>Height</DescriptionID>
>     <Description>57</Description>
>   </DescInfo>
> </ListofDescription>
> <FinalTag>Final</FinalTag>
>
>
> (Element DescInfo can have 0 to n occurrences. These
> are retrieved by xsl:for-each loop or apply-template
> statement.
> Element ListofDescription can have 0 or 1 occurence,
> depending on the existence of DescInfo.)
>
>
> However, if no value exists for DescInfo from the
> source, then the <ListofDescription> tag should not
> appear at all:
>
>
> <ExampleTag>Example</ExampleTag>
> <FinalTag>Final</FinalTag>
>
>
>
> Is this possible? What syntax / logic should I use?
>

You could say something like this

<xsl:template match="ListofDescription">
  <xsl:if test="child::DescInfo">
    <ListOfDescription>
      <xsl:apply-templates/>
    </listOfDescription>
  </xsl:if>
</xsl:template>

The test sees whether the <ListofDescription/> happens to have one of the
two valid children.  Or else it does nothing at all.

--
Rafael R. Sevilla <sevillar@team.ph.inter.net>   +63(2)   8177746 ext. 8311
Programmer, InterdotNet Philippines              +63(917) 4458925
http://dido.engr.internet.org.ph/

-----BEGIN GEEK CODE BLOCK-----
Version: 3.12
GAT d- s:- a- C++++ UL+++ P+++ L+++ E++ W++ N+ o K- w---
O- M-- V- PS+ PE Y+ PGP++ t+ 5 X+ R tv+ b+++ DI++ D+
G e++ h! r++ y+
------END GEEK CODE BLOCK------


 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]