Re: [xml] xsltproc, xsl:version, and alternate prefixes
- From: Daniel Veillard <veillard redhat com>
- To: "Fred L. Drake, Jr." <fdrake acm org>
- Cc: xml gnome org
- Subject: Re: [xml] xsltproc, xsl:version, and alternate prefixes
- Date: Thu, 31 May 2007 10:52:45 -0400
On Thu, May 31, 2007 at 12:03:04AM -0400, Fred L. Drake, Jr. wrote:
I have a stylesheet that starts this way:
<xs:stylesheet
xmlns="http://www.w3.org/1999/xhtml"
xmlns:xs="http://www.w3.org/1999/XSL/Transform"
xs:version="1.0">
This used to work just fine with xsltproc, as of a year or more ago. I'm not
sure what version I used to use, but it was probably whatever was packaged in
Ubuntu at the time.
This evening I went to use that transform again, and it didn't work. I got
this error message:
compilation error: file /home/fdrake/projects/.../xform.xsl line 4 element
stylesheet
xsl:version is missing: document may not be a stylesheet
I checked the specification (1.0, 1.1, 2.0), and it's quite clear that this is
processed in the usual way regarding the namespaces specification. The
output file seems to be generated without any problems, so I'm unsure why
there's any output claiming an error.
the version attribute should not have a namespace
http://www.w3.org/TR/xslt#stylesheet-element
And the rule is set in the preceeding paragraph:
http://www.w3.org/TR/xslt#xslt-namespace
"An element from the XSLT namespace may have any attribute not from the XSLT namespace, provided that the
expanded-name of the attribute has a non-null namespace URI. The presence of such attributes must not change
the behavior of XSLT elements and functions defined in this document."
so basically per the spec the
xs:version
attribute is ignored, leading to the compilation layer complaining about it
being missing.
Running "xsltproc --version" gives me:
Using libxml 20627, libxslt 10120 and libexslt 813
xsltproc was compiled against libxml 20627, libxslt 10120 and libexslt 813
libxslt 10120 was compiled against libxml 20627
libexslt 813 was compiled against libxml 20627
This is a stock install on Ubuntu 7.04.
I guess older version were more lax about namespacing of attributes,
Any ideas? I hate ignoring error conditions, but this seems totally bogus.
The error sounds right to me except maybe the message should avoid
adding a prefix.
Just fix your stylesheet by removing the 'xs:' prefix for version attribute.
Daniel
--
Red Hat Virtualization group http://redhat.com/virtualization/
Daniel Veillard | virtualization library http://libvirt.org/
veillard redhat com | libxml GNOME XML XSLT toolkit http://xmlsoft.org/
http://veillard.com/ | Rpmfind RPM search engine http://rpmfind.net/
[
Date Prev][Date Next] [
Thread Prev][Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]