Alex,
I'm sorry you found yourself heading down the
literal-result-element-as-stylesheet rathole. As Mike said, the feature
proves to be not all that useful. That's why none of these are FAQs.
At 12:17 PM 10/22/2003, you wrote:
Since the Simplified Syntax is actually useless
for producing real-life XHTML (no control over
DOCTYPE),
That's not the only reason. A "Literal Result Element as Stylesheet" (not
generally referred to as "Simplified Syntax" since it doesn't simplify much
and doesn't change the syntax, just the organization of a stylesheet) must
also be a stylesheet with a single template. This is next to useless for
any real-world transformations of documentary data (such as you commonly
make into HTML), since you are restricted to "pulling" data from the source
into a fixed order. (For strictly ordered data sets it's not always
unworkable.)
I am switching to the regular XSLT syntax.
Good: you won't be distracted any more by that particular garden path. :->
Now my HTML entities need to be
declared somewhere. Is there a standard template
for this?
By this I assume you mean declaring the entities to be used in the
stylesheet. If your output comes with the correct DOCTYPE declaration, as
you have noted, it will be taken care of by its own DTD.
I don't know of any "standard" way to pull HTML entities into your
stylesheet, beyond simply pulling the relevant piece of the XHTML DTD in
and declaring it for your stylesheet. (And it wouldn't be a template; it'd
be a DTD module referred to in a DOCTYPE declaration for your stylesheet.)
I assume people are using XSLT to
produce HTML with editors that notice these sorts
of problems. (I am using nxml emacs mode).
Many of us are content not to use named entity references in our
stylesheets, or to declare locally only those that we need. The commonest
HTML entity is probably &_nbsp; (no underscore) -- and this *is* a FAQ --
which can be easily gotten with the corresponding Unicode character
reference, &_#160;. It works fine, no entity declaration is needed, and
most HTML serializers will turn this into the &_nbsp; entity when they
write the output file.
I sometimes have a DOCTYPE such as
<!DOCTYPE xsl:stylesheet [
<!ENTITY ldquo "&_#x201C;" ><!-- "&_#x201C;" =double quotation mark, left-->
<!ENTITY rdquo "&_#x201D;" ><!-- "&_#x201D;" =double quotation mark, right-->
]>
[again, underscores inserted to fool "helpful" mailers]
...this is just so I don't have to memorize the funky Unicode points, but
can use the named entity. But I don't bother with the entire HTML set --
only with the entities I am actually likely to need in my stylesheet.
Entities in the document are, of course, taken care of by the parser on
input and serializer on output. Using them in your stylesheet has no
bearing on this whatsoever; it's merely a convenience for the stylesheet
author/maintainer.
Cheers,
Wendell
======================================================================
Wendell Piez
mailto:wapiez(_at_)mulberrytech(_dot_)com
Mulberry Technologies, Inc. http://www.mulberrytech.com
17 West Jefferson Street Direct Phone: 301/315-9635
Suite 207 Phone: 301/315-9631
Rockville, MD 20850 Fax: 301/315-8285
----------------------------------------------------------------------
Mulberry Technologies: A Consultancy Specializing in SGML and XML
======================================================================
XSL-List info and archive: http://www.mulberrytech.com/xsl/xsl-list