ASPN ActiveState Programmer Network
ActiveState
/ Home / Perl / PHP / Python / Tcl / XSLT /
/ Safari / My ASPN /
Cookbooks | Documentation | Mailing Lists | Modules | News Feeds | Products | User Groups


Recent Messages
List Archives
About the List
List Leaders
Subscription Options

View Subscriptions
Help

View by Topic
ActiveState
.NET Framework
Open Source
Perl
PHP
Python
Tcl
Web Services
XML & XSLT

View by Category
Database
General
SOAP
System Administration
Tools
User Interfaces
Web Programming
XML Programming


MyASPN >> Mail Archive >> xsl-list
xsl-list
RE: [xsl] generating entities in XSL, < becomes <
by other posts by this author
Nov 5 2002 8:27AM messages near this date
[xsl] From generic to specific match | SV: [xsl] generating entities in XSL, < becomes <
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
Thread:

Christer Nordvik

Privacy Policy | Email Opt-out | Feedback | Syndication
© ActiveState Software Inc. All rights reserved