Re: Identiy Transform Question
[Dave Simmonds] > I'm a little new to this XSL stuff so let me know if I'm completely of base. > <-- I'm sure you will even without my saying this :-) > > > > I have an XML document (schema) that I want to transform using XSL. The > transform will be an "almost" identity transform. In other words there will > be minor changes. Some of the types of changes that I will need to make > include the following: >... > I actually have a transform (see below) that I believe is a good start to > solving this problem, but I am running into 1 significant problem. The piece > of the transform that iterates over the attributes of an element fails to > see any namespace attributes. You can run this transform against any XML > document and it currently outputs the identity XML document minus and > namespace attributes. My question is why? Or more importantly how do I get > it to give me the namespace attributes so that I can output them? > > Here's a classic identity transform that picks up the namespaces: <xsl:template match="/"> <xsl:apply-templates/> </xsl:template> <xsl:template match='node()|@*'> <xsl:copy> <xsl:apply-templates select='node()|@*'/> </xsl:copy> </xsl:template> You can intercept specified elements by using <xsl:if test='name()="theElement"> and calling a different template. If you want to get namespace nodes, you have to ask some kind of node. This version will get all nodes, namespace, PI, etc. Best to go to the Mulberry xslt list for these questions. Cheers, Tom P
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