Re: [xsl] Variables and HTML

Subject: Re: [xsl] Variables and HTML
From: David Carlisle <davidc@xxxxxxxxx>
Date: Fri, 11 Mar 2005 10:18:54 GMT
I wrote

   In addition to Michael's reasons, there is also the fact that 2.0 has
   character maps that can be used for many of the things that d-o-e is
   used for in a slightly less disruptive way architecturally.


To expand on that, one of the problems with d-o-e is that you can go
<xsl:value-of select="'&lt;br&gt;'"/>
<xsl:value-of disable-output-escaping="yes" select="'&lt;br&gt;'"/>

and the model is that that puts something  into the result tree which
when linearised at the end of the process produces


The trouble is that, as specified, there isn't really anything that can
go into result tree text nodes that can have that effect, so systems
that support d-o-e have to have some private internal annotations to
record those bits of the tree where d-o-e is in effect.

In 2.0 you can always replace this by

<xsl:value-of select="'&lt;br&gt;'"/>
<xsl:value-of select="translate('&lt;br&gt;','&lt;&gt;&amp;','&#xE001;&#xE002;&#xE003;'"/>

Together with a character mao that maps back:

<xsl:output-character character="&#xE001; string="&lt;"/>
<xsl:output-character character="&#xE002; string="&gt;"/>
<xsl:output-character character="&#xE003; string="&amp;"/>

This works the same way except that now the information is stored in the
result tree using a mechanism that is actually allowed by the
specification of the datamodel (just three otherwise unused characters).

Of course the other problems with d-o-e remain, that this still only
works if serialisation is tightly controlled by the XSLT engine and that
in nine times out of ten it is only being used by mistake, when the
stylesheet could have gone


and used an element node directly.


This e-mail has been scanned for all viruses by Star. The
service is powered by MessageLabs. For more information on a proactive
anti-virus service working around the clock, around the globe, visit:

Current Thread