[XSL-LIST Mailing List Archive Home] [By Thread] [By Date] [Recent Entries] [Reply To This Message] RE: Copy CDATA nodes from XML to XML format w/ XALAN
> I'm dealing with a similar issue. I'm trying to implement > a very simple compositional XSLT based query language. No, this isn't similar at all, because all the information you need is present in the XPath data model. > > My question is, is there a way to output tagged elements, > ie. given the XML document: > > <data> > <test>aa</test> > </data> > > I wish to apply XSLT to output > > <test>aa</test> Well, the simplest way is <xsl:template match="data"> <xsl:copy-of select="child::node()"/> </xsl:template> > > I'm interested in doing this because the content of the data > element may be any XML document and I need to translate all > newline characters of that into whitespaces. Eg. given > > <data> > <a> > <b>content</b> > </a> > </data> > > I need to output > > <a><b>content</b></a> > > Any hints on how to accomplish this? If the whitespace that you want to get rid of is all in separate text nodes (i.e. it is not adjacent to non-whitespace text), simply add to the stylesheet the top-level declaration <xsl:strip-space elements="*"/> If the changes you want to make are more subtle, you'll need to depart from the <xsl:copy-of> approach, and instead do a recursive apply-templates all down the tree. For example: <xsl:template match="*"> <xsl:copy> <xsl:copy-of select="@*"/> <xsl:apply-templates/> </xsl:copy> </xsl:template> <xsl:template match="text()"> <xsl:value-of select="normalize-space(.)"/> </xsl:template> will achieve a rather more brutal pruning of whitespace if that's what you want. Michael Kay Software AG home: Michael.H.Kay@xxxxxxxxxxxx work: Michael.Kay@xxxxxxxxxxxxxx XSL-List info and archive: http://www.mulberrytech.com/xsl/xsl-list
|
PURCHASE STYLUS STUDIO ONLINE TODAY!Purchasing Stylus Studio from our online shop is Easy, Secure and Value Priced! Download The World's Best XML IDE!Accelerate XML development with our award-winning XML IDE - Download a free trial today! Subscribe in XML format
|