Subject: Re: [xsl] recreating elements with attributes From: "J.Pietschmann" <j3322ptm@xxxxxxxx> Date: Wed, 11 Feb 2004 00:45:10 +0100 |
I'm performing an XML to XML transformation and I need to make some modifications to a few attributes during this transformation. I've tried the following code, but I'm stuck as to how to print the "<" sign and ">" sign. I've tried using the < and >, but the transformation process just then litterally puts in < and >.
this code loops through all attributes for the TOLL_CDR node. The problem is when I try and put "<TOLL_CDR" in there, because the parser yells about the "<" sign in front of it. Any thoughts?
> <xsl:template match="//CDRS/TOLL_CDR"> > > > <TOLL_CDR > <xsl:text> > </xsl:text> > <xsl:for-each select="@*"> > <xsl:value-of select="name()" />="<xsl:value-of select="." />"<xsl:text> > </xsl:text> > </xsl:for-each> > /> > > </xsl:template>
Ouch. XSLT is *not* a macro language, or whatever you expect. XSLT is a language which describes a transformation from a source tree of nodes into a result tree. The nodes in both trees represent mainly XML elements, attributes and text. You have really to get this: you *don't* create a string with angle brackets. You create a result tree.
After this has sunken in, you might realize that you have to create attributes in the result tree either with xsl:attribute or by copying them from the source tree in an appropriate context. In your case, you are basically looking for the generic copy template. Somewhat more specific <xsl:template match="CDRS/TOLL_CDR"> <xsl:copy> <xsl:apply-templates select="node()|@*"/> </xsl:copy> </xsl:template>
It pays off to get one of the introductionary books about XSLT and read the first few chapters, which should explain in detail what is going on here.
Current Thread |
---|
|
<- Previous | Index | Next -> |
---|---|---|
[xsl] recreating elements with attr, Gruenewald, Terry | Thread | Re: [xsl] recreating elements with , Marcus Andersson |
[xsl] Flagging for No records found, Andrew Chapman | Date | Re: [xsl] recreating elements with , Marcus Andersson |
Month |