- From: Daniel Brockman <daniel@brockman.nu>
- Date: Fri, 1 Aug 2003 22:22:31 +0200
- To: <mmuguira@cox.net>, <www-html@w3.org>
Hi Nicholas,
> Sorry if I was unclear, let me show you the an example similar to the
pages I've been playing with, only a lot smaller.
>
> test.html:
> <?xml-stylesheet type="text/xml" href="./test.xsl">
> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
"DTD/xhtml1-strict.dtd" >
> <html xmlns="http://www.w3.org/1999/xhtml">
> <myhead>
> <script language="javascript" src="./someRandomScript.js" />
> </myhead>
> <body>
> <h1>Playing with stylesheets</h1>
> </body>
> </html>
>
> test.xsl:
> <?xml version="1.0"?>
> <xsl:stylesheet version="1.0"
xmlns:xsl="http://www.w3.org/1999/XSL/Transform" >
> <xsl:template match="myhead">
> <head>
> <title>Title</title>
> <xsl:value-of select="myhead">
> </head>
> </xsl:template>
> </xsl:stylesheet>
Oh, well this clears everything up instantly. You want to perform a simple
transformation using XSLT! :-)
> And I would like to browser to display an html page with the <myhead> . .
. </myhead> transformed by the rules in the stylesheet. I've tried numerous
variations on this, and I can't help but feel that I'm missing some small
thing.
Indeed you are missing a small thing: You are placing your <myhead> element
in the XHTML namespace, but looking for it in the default namespace. The
best way to fix this is to place your element in a private namespace, such
as "mailto:mmuguira@cox.net," since that will isolate your element nicely
from the rest of the world. In markup:
<xhtml:html xmlns:xhtml="http://www.w3.org/1999/xhtml">
<myns:myhead xmlns:myns="mailto:mmuguira@cox.net">
...
</myns:myhead>
...
</xhtml:html>
And in the stylesheet:
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
xmlns:myns="mailto:mmuguira@cox.net">
<xsl:template match="myns:myhead">
...
</xsl:template>
</xsl:stylesheet>
I hope this helps,
--
Daniel Brockman
daniel@brockman.nu
Received on Friday, 1 August 2003 16:24:41 UTC