Subject: RE: [xsl] output a literal CDATA section From: "Michael Kay" <mike@xxxxxxxxxxxx> Date: Wed, 20 Jul 2005 18:26:11 +0100 |
CDATA sections aren't reflected in the XSLT/XPath data model and there's therefore no way of detecting them in the source tree or generating them in the result tree. The only time to generate one is at the serialization stage. In XSLT 2.0 you can achieve this using character maps: define two private-use characters, create a character-map that maps these to "<![CDATA[" and "]]>" respectively; and put these special characters in the result tree at the point where you want the CDATA section to appear. Michael Kay http://www.saxonica.com/ > -----Original Message----- > From: Georges Schmitz [mailto:georges.schmitz@xxxxxxxxx] > Sent: 20 July 2005 17:23 > To: xsl-list@xxxxxxxxxxxxxxxxxxxxxx > Subject: [xsl] output a literal CDATA section > > Hi, > > I need to output a literal <![CDATA[]]> section via xslt, > because I need > to edit the output later on. My code (could) look as follows > > <xsl:for-each > select="exsl:node-set($non-common-params)/complexParam" > xml:space="preserve"> > <programlisting width="80"><varname><xsl:value-of > select="name(./*)"/></varname> > <![CDATA[ > <xsl:copy-of select="./*"/> > ]]></programlisting> > </xsl:for-each> > > Will say, I need the output the following way > > <programlisting width="80"><varname>areaEntry</varname> > <![CDATA[<areaEntry> > <id>502147</id> > <name>Aircraft</name> > </areaEntry> > ]]></programlisting> > > How can I accomplish that? Using the attribute > "cdata-section-elements" > is not possible, because I don't know the names of the tags > in advance. > > Thanks for the help, > Georges
Current Thread |
---|
|
<- Previous | Index | Next -> |
---|---|---|
[xsl] output a literal CDATA sectio, Georges Schmitz | Thread | Re: [xsl] output a literal CDATA se, Wendell Piez |
Re: [xsl] Sort/Ordering Problems, David Carlisle | Date | RE: [xsl] "Debugging" XSLT? Experie, Michael Kay |
Month |