RE: [xsl] Regarding xsl transformation to xml tree

Subject: RE: [xsl] Regarding xsl transformation to xml tree
From: "Michael Kay" <mhk@xxxxxxxxx>
Date: Wed, 8 Oct 2003 22:15:46 +0100
> 
> I am in a quandary. I have a huge xml tree that has the 
> following structure-

Firstly, this is a bad XML design. Mixed content should not normally be
used for data-oriented XML. It would be much better to use:

 	<plant species="maple">
 		<type>tree</tree>
 		<height>tall</height>
 	</plant>

or

 	<plant>
            <species>maple</species>
 		<type>tree</tree>
 		<height>tall</height>
 	</plant>

But if you can't change it, then use

<xsl:template match="plant">
 	<tr><td><value-of select="normalize-space(text())"/></td></tr>
</xsl:template>

to extract the child text node without getting all the descendant text
nodes.

Michael Kay


>  
> 
> <all_plants>
> 
> 	<plant> maple
> 		<type>tree</tree>
> 		<height>tall</height>
> 	</plant>
> 
> 	<plant> dandelion
> 		<type>weed</tree>
> 		<height>short</height>
> 	</plant>
> 
> 	<plant> sage
> 		<type>herb</tree>
> 		<height>short</height>
> 	</plant>
> 
> </all_plants>
> 
> I need the xsl that would give me a result as:
> 
> Maple
> Dandelion
> Sage
> 
> Here is the XSL transform I am using
> 
> <xsl:template match="/">
> 	<html>
> 		<body>
> 			<xsl:apply-templates select="all_plants">
> 		</body>
> 	</html>
> </xsl:template>
> 
> <xsl:template match="all_plants">
> 	<table>
> 		<xsl:apply-templates select="plant">
> 	</table>
> </xsl:apply-templates>
> 
> <xsl:template match="plant">
> 	<tr><td><value-of select="."/></td></tr>
> </xsl:template>
> 
> 
> ....let me know what I am doing wrong!!
> Is there any other way I can do this?????
> 
> Any help would be greatly appreciated...
> 
> Regards,
> DC
> 
> 
> --------------------------------------------------------------
> ----------------
> This message is intended only for the personal and 
> confidential use of the designated recipient(s) named above.  
> If you are not the intended recipient of this message you are 
> hereby notified that any review, dissemination, distribution 
> or copying of this message is strictly prohibited.  This 
> communication is for information purposes only and should not 
> be regarded as an offer to sell or as a solicitation of an 
> offer to buy any financial product, an official confirmation 
> of any transaction, or as an official statement of Lehman 
> Brothers.  Email transmission cannot be guaranteed to be 
> secure or error-free.  Therefore, we do not represent that 
> this information is complete or accurate and it should not be 
> relied upon as such.  All information is subject to change 
> without notice.
> 
> 
>  XSL-List info and archive:  http://www.mulberrytech.com/xsl/xsl-list
> 


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


Current Thread