|
Subject: [xsl] Creating HTML and XHTML with one stylesheet with namespace-alias From: Deborah Pickett <debbiep-list-xsl@xxxxxxxxxx> Date: Mon, 03 Sep 2007 10:04:53 +1000 |
Can someone please confirm if what I'm doing here conforms to the XSLT
1.0 spec? It seems to crash Xalan-J 2.7.0, but Saxon 6 and MSXML 4 do
what I want. (XSLT 2.0 clearly states that this works, and indeed Saxon
8 does so.)
I am using a large stylesheet, call it foo2html.xsl, which generates
HTML 4 (un-namespaced, as HTML should be) using literal result elements:
<!-- Lots of templates like this. -->
<xsl:template match="/foo">
<html>
<xsl:apply-templates/>
</html>
</xsl:template>
I want to use that same stylesheet to generate equivalent,
properly-namespaced, XHTML 1.0, by importing it into a "shell"
stylesheet that maps the null namespace to the XHTML namespace. I use
xsl:namespace-alias to map the default namespace prefix, in this case no
namespace, to the XHTML namespace.
<xsl:stylesheet version="1.0"
xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
xmlns:xhtml="http://www.w3.org/1999/xhtml/">
<xsl:import href="foo2html.xsl"/>
<xsl:output method="xml" doctype-system=
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"
doctype-public="-//W3C//DTD XHTML 1.0 Transitional//EN" />
<xsl:namespace-alias
stylesheet-prefix="#default"
result-prefix="xhtml"/>
</xsl:stylesheet>
I'm not fussy about whether the output makes use of default namespaces
or not, provided that it's valid XHTML. I would prefer to do the
transform in one pass.
Specifically, what I want to know is:
Is is allowed for namespace-alias to map the null namespace in XSLT 1.0?
Thanks.
| Current Thread |
|---|
|
| <- Previous | Index | Next -> |
|---|---|---|
| Re: [xsl] Unexpected behaviour with, J.Pietschmann | Thread | Re: [xsl] Creating HTML and XHTML w, G. Ken Holman |
| Re: [xsl] Unexpected behaviour with, Kamal Bhatt | Date | Re: [xsl] Creating HTML and XHTML w, G. Ken Holman |
| Month |