Re: Beginner question with templates

Subject: Re: Beginner question with templates
From: "Dan Machak" <machak@xxxxxxxxxxxx>
Date: Thu, 5 Aug 1999 11:59:27 -0700
On Aug 5,  6:55pm, Martin Rothschink, AxoNet Software wrote:
> I have a XML file like this:
>
> <SECTION>
> 	<DATA>...</DATA>
> 	<DATA>...</DATA>
> 	<SUMMARY>..<SUMMARY>
> </SECTION
> <SECTION>
> 	<DATA>...</DATA>
> 	<DATA>...</DATA>
> </SECTION
>
> If there's no summary I want to output all <DATA> elements of a <SECTIONS>
> but if the summary is present I only want to output the <SUMMARY>:
>
> <SECTION>
> 	<SUMMARY>..<SUMMARY>
> </SECTION
> <SECTION>
> 	<DATA>...</DATA>
> 	<DATA>...</DATA>
> </SECTION>

try this:

<xsl:stylesheet xmlns:xsl="http://www.w3.org/XSL/Transform/1.0";>

<xsl:template match="doc">
  <xsl:apply-templates/>
</xsl:template>

<xsl:template match="SECTION">
	<SECTION>
	<xsl:if test="count(SUMMARY)=0">
		<xsl:apply-templates select="DATA"/>
	</xsl:if>
	<xsl:apply-templates select="SUMMARY"/>
	</SECTION>
</xsl:template>

<!-- copy elements straight through -->
<xsl:template match="*|@*" priority="-1">
   <xsl:copy>
     <xsl:apply-templates select="@*|*|text()"/>
   </xsl:copy>
</xsl:template>

</xsl:stylesheet>
>-- End of excerpt from Martin Rothschink, AxoNet Software



-- 
<><><><><><><><><><><><><><><><><><><><><><><><><><><><><><>
<> Dan Machak                    <>  machak@xxxxxxxxxxxx  <>
<> MS T27A-1                     <>  650-604-2388 (VOICE) <>
<> NASA Ames Research Center     <>  650-604-3957 (FAX)   <>
<> Moffett Field, CA 94035-1000  <>                       <>
<><><><><><><><><><><><><><><><><><><><><><><><><><><><><><>


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


Current Thread