[xsl] XSLT for usable yet valid XHTML

Subject: [xsl] XSLT for usable yet valid XHTML
From: "Jonah Gold" <jonah@xxxxxxxxxxxx>
Date: Wed, 6 Apr 2005 10:52:33 -0400
Hi -

First off, greetings as I am new to this list. I may not be sticking
around too long though, I should warn, as I may not be doing XSL dev
full-time too much longer. But so long as I'm here I have a question.

We are using XSLT 1.0, parsed by jd.xslt, to transform XML into XHTML.
For output we are currently using <xsl:output method="html" etc... >

This obviously doesn't produce valid xhtml - the slash is removed from
singleton tags, 'checked="checked"' is transformed to simply 'checked',
and some other similar things. This is not surprising, since our method
is set to "html", which defaults to html 4, but ideally we would like
this not to be the case - we are fairly interested in making our XHTML
as valid as possible.

So why, you ask, are we not using 'method="xml"'? This would solve the
above problems, true, but we've had problems with it because our content
is variable enough that we may have the situation of empty tags (i.e.
'<h3></h3>') being converted into singleton tags (i.e. <h3/>) by the
parser, which, while valid XHTML, is viewed as an open tag without
closure by practically all current web browsers. It is a possibility
that we might be able to, say, append a '&nbsp;' to every tag set that
might ever be empty, to prevent them from collapsing in this manner, but
we'd really rather not, as it will mess up some formatting and generally
be a pain.

My question - is there any compromise we can find between these two
problems, making our XHTML valid (or at least less invalid) but not
causing empty tags to collapse into singletons? I am fairly new to XSLT,
so apologies if this is an obvious or ill-advised question. But any
advice anyone has would be appreciated.



Current Thread