Subject: RE: Should You Comment XSLT And If So, How?
From: David N Bertoni/Cambridge/IBM <david_n_bertoni@xxxxxxxxxx>
Date: Tue, 18 Feb 2003 23:09:03 -0800
|
Ryan Gallagher <binerman@xxxxxxxxxxxxxxxxxxxxx> wrote:
> Use XML TAGS in your xsl...
>
> <doc type="variable">
> <desc>This variable is for X</desc>
> </doc>
> <xsl:variable name="foobar" select="Hello World!"/>
>
> <doc type="template">
> <desc type="short">This template does foo.</desc>
> <desc type="long">I'm the verbose desc...</desc>
> </doc>
> <xsl:template match="foo">
> ...
> </xsl:template>
Your example is illegal because top-level elements may not have a null
namespace URI:
http://www.w3.org/TR/xslt#stylesheet-element
"In addition, the xsl:stylesheet element may contain any element not
from the XSLT namespace, provided that the expanded-name of the element
has a non-null namespace URI. The presence of such top-level elements
must not change the behavior of XSLT elements and functions defined in
this document; for example, it would not be permitted for such a
top-level element to specify that xsl:apply-templates was to use
different rules to resolve conflicts. Thus, an XSLT processor is always
free to ignore such top-level elements, and must ignore a top-level
element without giving an error if it does not recognize the namespace
URI."
> If you like you can even give your comments a namespace and DTD, but from
what
> i've read/understand anything not in the xsl namespace will be safely
ignored
> outside of templates. Inside templates i'm not positive, but namespaces
would
> certainly resolve the conflicts.
Such elements inside templates won't work because they are literal result
elements and will be copied to the result tree:
<xsl:template match="/" xmlns:doc="http://mycompany.com/doc">
<doc:doc type="something">
</doc:doc>
</xsl:template>
Other top-level elements may not allow children, may restrict what sort of
children are allowed, or will consider elements not in the XSLT namespace
as literal result elements.
Dave
XSL-List info and archive: http://www.mulberrytech.com/xsl/xsl-list
|