RE: [xsl] generating entities in XSL, < becomes &lt;

Subject: RE: [xsl] generating entities in XSL, < becomes &lt;
From: Jarno.Elovirta@xxxxxxxxx
Date: Tue, 5 Nov 2002 10:27:01 +0200
Hi,

> I am having problems with an XSL stylesheet. I keep getting 
> &lt; instead
> of "<" signs. My problem is with the XSL when it is 
> generating entities.
> Is there any other way of generating entities in a XSL 
> besides the one I
> have used? My method works if I stream the result directly to the
> client(Internet Explorer SVG plugin) but not when I save the 
> result in a
> DocumentFragment and want to process it further. Any examples of
> generating entities would be most helpful!
> 
> -Christer
> 
> <xsl:variable name="q">"</xsl:variable>
> <xsl:variable name="s"><![CDATA[<]]></xsl:variable>
> <xsl:variable name="e"><![CDATA[>]]></xsl:variable>
> <xsl:variable name="sf"><![CDATA[[]]></xsl:variable>
> <xsl:variable name="ef"><![CDATA[]]]></xsl:variable>
> <xsl:variable name="a"><![CDATA[&]]></xsl:variable>
> <xsl:variable name="n"><![CDATA[&#216;]]></xsl:variable>
> <xsl:variable name="qs"><![CDATA[']]></xsl:variable>
> 
> <xsl:value-of disable-output-escaping="yes"
>   select="concat($s,'!DOCTYPE svg PUBLIC ',
>   $q,'-//W3C//DTD SVG 20001102//EN',$q,' ',
> 
> $q,'http://www.w3.org/TR/2000/CR-SVG-20001102/DTD/svg-20001102
> .dtd',$q,$
> sf)" />

You are aware of the xsl:output and doctype-public and doctype-system attributes?

>   <xsl:for-each select="data/DEFS/ROWSET/type">
>     <xsl:value-of disable-output-escaping="yes"
> select="concat($s,'!ENTITY ',@id,' ',$qs)" />
>     <xsl:copy-of select="*"/>    
>     <xsl:value-of disable-output-escaping="yes" 
> select="concat($qs,'>')"
> />
>   </xsl:for-each>
> <xsl:value-of disable-output-escaping="yes" select="concat($ef,$e)" />

Unfortenately XSLT doesn't support generating DTD internal subsets. You should probably try another tool to generate the DTD and then append the actual XML document to it.

Cheers,

Jarno

 XSL-List info and archive:  http://www.mulberrytech.com/xsl/xsl-list


Current Thread