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] how do I add a doctype when I create xsl from xsl?
by G. Ken Holman other posts by this author
Nov 5 2002 1:27PM messages near this date
Re: [xsl] how do I add a doctype when I create xsl from xsl? | RE: [xsl] JavaScript problem again!
At 2002-11-05 12:59 +0000, solvej smith wrote:
> I am using xslt to create one xsl from another xsl. How do I get this:
> 
> <!DOCTYPE xsl:stylesheet [
> <!ENTITY nbsp  '<xsl:text 
> disable-output-escaping="yes">&amp;nbsp;</xsl:text>'>
> ]>
> 
> ..placed in the top of the new xsl, that I am creating?

What you ask can be done (awkwardly), but perhaps you are unaware that what 
you are trying to do may not be necessary.

I'm assuming your new XSLT stylesheet will be outputing HTML since that is 
where most people are using the "nbsp" character entity reference.

According to XSLT 1.0 16.2 a processor is allowed to output a character 
entity reference if it recognizes the character as being one recognized by 
HTML processors.

If in your XSLT-generating XSLT you use &#160; for &nbsp;, then the 
stylesheet you create will use &#160; (or &#xa0; or &#xA0; instead) in the 
XML of that XSLT.

The processor you then use for your XSLT-generating XSLT may recognize 
during the serialization of the result tree in SGML lexical conventions 
following the HTML vocabulary that &#160; is &nbsp; and put out what you 
want in the final result of your generated stylesheet.  Many of them do, 
though I concede they are not obliged to do so.

Is there a reason you wanted to see &nbsp; in the generated 
stylesheet?  Who is your audience for the generated stylesheet?

Actually, is there a reason you wanted to see &nbsp; in the final 
transformed result?  Who (as in human) is the audience for the bits and 
bytes of the source of transformed result?  Since the processor is going to 
recognize the Unicode character anyway, why is the syntactic representation 
of the character important in your particular process?  If your audience is 
only ever going to view the browsed result through a browser, why is the 
syntax of that result important enough to complicate your stylesheet writing?

These are important questions to ask in your design phase of your work.

BTW, when I have needed a static internal entity subset in my result and 
there is no DTD, I often put that subset into an external file and just 
reference it using the doctype-system= property of the xsl:output 
instruction.  That would be the cleanest way to get what you want.  The 
awkward way to get what you want would be to create the above text as a 
text node that itself is not escaped at the start of your result 
tree.  Although this answers your question, I think you should be asking 
yourself why you are taking the approach you are taking in the first place.

I hope this helps.

....................... Ken


--
Upcoming hands-on in-depth XSLT/XPath and/or XSL-FO:
-                             North America:  Feb 3 - Feb 7,2003

G. Ken Holman               mailto:gkholman@[...].com
Crane Softwrights Ltd.        http://www.CraneSoftwrights.com/s/
Box 266, Kars, Ontario CANADA K0A-2E0  +1(613)489-0999 (F:-0995)
ISBN 0-13-065196-6                     Definitive XSLT and XPath
ISBN 0-13-140374-5                             Definitive XSL-FO
ISBN 1-894049-08-X Practical Transformation Using XSLT and XPath
ISBN 1-894049-10-1             Practical Formatting Using XSL-FO
Next conference training:                    2002-12-08,03-03,06


 XSL-List info and archive:  http://www.mulberrytech.com/xsl/xsl-list
Thread:
solvej smith
David Carlisle
G. Ken Holman

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