-------- Original Message --------
Subject: Re: Why does Doctype change processing of a document
Date: Wed, 02 May 2007 20:03:38 +0200
From: Ferdinand Soethe <ferdinand@xxxxxxxxxx>
To: Larry Trammell <larryt@xxxxxxxxxxxxx>
References:
<22A20AD271DB4949836F85AACBB90A770892A0@xxxxxxxxxxxxxxxxxxxxxxxx>
Thanks to all of you for helping me understand my mistake. At least I
know what is going wrong now.
Adding xmlns:xhtml="http://www.w3.org/1999/xhtml" to my stylesheet
worked well but added all those ugly xhtml:... to the generated elements.
So I declared xhtml as default namespace
xmlns="http://www.w3.org/1999/xhtml" to make them disappear.
Which worked really well in this template and let to the resulting
document being free of xhtml:...
> <xsl:stylesheet
> xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
> xmlns="http://www.w3.org/1999/xhtml"
> version="1.0" >
>
> <!-- toolbox for copying everything over to the target -->
> <xsl:import href="copyover.xsl"/>
>
> <!-- Match html, disregard the namespace -->
> <xsl:template match="/*[local-name()='html']">
> <xsl:apply-templates select="*[local-name()='body']"/>
> </xsl:template>
>
> <!-- Match body, disregard namespace -->
> <xsl:template match="/*[local-name()='html']/*[local-name()='body']">
> <div class="content">
> <xsl:apply-templates/>
> </div>
> </xsl:template>
except for the div-element.
Has anyone the patience to explain?
And also: I expected to be able to do away with /*[local-name()='html']
now that xhtml is default namespace. But it doesn't work that way. Why?
And when I change the style-sheet to
> <xsl:stylesheet
> xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
> xmlns:xhtml="http://www.w3.org/1999/xhtml"
> version="1.0" exclude-result-prefixes="xhtml">
>
> <!-- toolbox for copying everything over to the target -->
> <xsl:import href="copyover.xsl"/>
>
> <!-- Match html, disregard the namespace -->
> <xsl:template match="/*[local-name()='html']">
> <xsl:apply-templates select="*[local-name()='body']"/>
> </xsl:template>
>
> <!-- Match body, disregard namespace -->
> <xsl:template match="/*[local-name()='html']/*[local-name()='body']">
> <div class="content">
> <xsl:apply-templates/>
> </div>
> </xsl:template>
>
and try to remove xhtml with exclude-result-prefixes then things turn
around. div will no longer have a namespace attribute while all the
copied element do. Misterious really.
Best regards,
Ferdinand Soethe
|
Try Searching:
servers, voip, java, networking, microsoft ...
|
|
|
|