Subject: RE: [xsl] Replace content of element, then transform it... From: <trond.huso@xxxxxx> Date: Thu, 30 Aug 2012 13:01:44 +0000 |
Right. I take that note. I am also noticing that disable-output-escaping is deprecated in XSLT2.0, so I guess I shall try and figure out another way of doing this... Trond -----Original Message----- From: Michael Kay [mailto:mike@xxxxxxxxxxxx] Sent: 30. august 2012 14:37 To: xsl-list@xxxxxxxxxxxxxxxxxxxxxx Subject: Re: [xsl] Replace content of element, then transform it... One of the main reasons that we've been telling people for 12 years not to use disable-output-escaping is that it couples the transformation too closely to the serialization, meaning it's difficult and inefficient to reuse your code as part of a pipeline. A lot depends on what this d-o-e stuff is really doing. Having said that, from the information supplied I don't know why you are getting the error you are. Michael Kay Saxonica On 30/08/2012 12:08, trond.huso@xxxxxx wrote: > Hi, > > I have the following XSLT. > <xsl:template match="body"> > <body> > <xsl:value-of select="." disable-output-escaping="yes"/> > </body> > </xsl:template> > > <xsl:template match="leadtext"> > <leadtext> > <xsl:value-of select="." disable-output-escaping="yes"/> > </leadtext> > </xsl:template> > > > <xsl:template match="node()|@*"> > <xsl:copy> > <xsl:apply-templates select="node()|@*"/> > </xsl:copy> > </xsl:template> > > Which does what is intended. Just that I want to not output it, but start w= orking on it in a phase-two process. > So I tried this > > <xsl:template match="body"> > <body> > <xsl:value-of select="." disable-output-escaping="yes"/> > </body> > </xsl:template> > > <xsl:template match="leadtext"> > <leadtext> > <xsl:value-of select="." disable-output-escaping="yes"/> > </leadtext> > </xsl:template> > > > <xsl:template match="node()|@*"> > <xsl:variable name="foo"> > <xsl:copy> > <xsl:apply-templates select="node()|@*"/> > </xsl:copy> > </xsl:variable> > <xsl:apply-templates select="$foo" mode="phase2" /> > </xsl:template> > <!-- Error message: > Description: Cannot create an attribute node (id) whose parent is a > documen= t node > --> > > After reading about how this works, I now understand why I am getting the e= rror. Is there another alternative to make this possible in one document, o= r do I have to send the output to a new document? > > Best regards, > > Trond Husx > System Developer > Mobile : +47 450 35 715 > E-mail : trond.huso@xxxxxx > www.ntb.no
Current Thread |
---|
|
<- Previous | Index | Next -> |
---|---|---|
Re: [xsl] Replace content of elemen, Michael Kay | Thread | Re: [xsl] Replace content of elemen, Wendell Piez |
RE: [xsl] Replace content of elemen, trond.huso | Date | Re: [xsl] Replace content of elemen, Wendell Piez |
Month |