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: Filtering nodes


<xsl:template match="Record">
   <xsl:copy>
     <xsl:copy-of select="@*"/>
     <xsl:apply-templates/>
   </xsl:copy>
</xsl:template>

<!-- empty records -->
<xsl:template match="Record[not(@*)]">
   <xsl:apply-templates/>
</xsl:template>

<!-- records with leaves -->
<xsl:template match="Record[Leaf]">
   <Leaf Name="{@Name}"/>
</xsl:template>

Regards,

Joerg


Suresh Babu schrieb:
> Hello group,
> 
> I have a simple XML like
> 
>  <Root>
>      <Record Name="R1">
> 	<Record Name="L1">
> 		<Leaf Name="text"/>
> 	</Record>
> 	<Record>
> 		<Record Name="L2">
> 			<Leaf Name="text"/>
> 		</Record>
> 	</Record>
> 	<Record Name="R2">
> 		<Record>
> 			<Record>
> 				<Record>
> 					<Record Name="LL1">
> 						<Leaf Name="text"/>
> 					</Record>
> 					<Record Name="LL2">
> 						<Leaf Name="text"/>
> 					</Record>
> 				</Record>
> 			</Record>
> 		</Record>
> 	</Record>
>  </Root>
> 
> To transform it to a simple structure like
> <Record Name="R1">
> 	<Leaf Name="L1"/>
> 	<Leaf Name="L2"/>
> 	<Record Name="R2>
> 		<Leaf Name="LL1"/>
> 		<Leaf Name="LL2"/>
> 	</Record>
> </Record>
> 
> Could any one suggest ways to filter the dummy record nodes under R1 and R2
> and display the Leaf nodes under R1 and R2.
> 
> For displaying the field nodes under a specific record I used the keys
> function to select the "Record" elements with a "Leaf" element and having
> attribute "Name" value "text" as follows:
>  <xsl:key name="leaf-nodes" match="Record" use="Leaf/@Name"/>
> 
> This is fine for R2 but fails for R1 in which case it is diplaying all the
> fields in R2 also.
> 
> Could some correct the keys expression/suggest a better way for doing this.
> 
> Thanks and regards,
> Suresh


 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]