Subject: SV: generating entities in XSL, < becomes <
From: "Christer Nordvik" <christer.nordvik@xxxxxxxxxx>
Date: Tue, 5 Nov 2002 09:54:39 +0100
|
Thanks for a quick reply.
So you are saying that if I make a seperate document with the entities
and then merge the resulting XML/SVG document with the generated
entities then it would work?
-Christer
> -----Opprinnelig melding-----
> Fra: owner-xsl-list@xxxxxxxxxxxxxxxxxxxxxx [mailto:owner-xsl-
> list@xxxxxxxxxxxxxxxxxxxxxx] På vegne av Jarno.Elovirta@xxxxxxxxx
> Sendt: 5. november 2002 09:27
> Til: xsl-list@xxxxxxxxxxxxxxxxxxxxxx
> Emne: RE: generating entities in XSL, < becomes <
>
> Hi,
>
> > I am having problems with an XSL stylesheet. I keep getting
> > < 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[Ø]]></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
XSL-List info and archive: http://www.mulberrytech.com/xsl/xsl-list
|