[xml] Possible bug in canonicalization
- From: Elliotte Harold <elharo metalab unc edu>
- To: xml gnome org
- Cc: xmlstar-devel lists sourceforge net
- Subject: [xml] Possible bug in canonicalization
- Date: Sun, 08 Feb 2004 15:51:31 -0500
I've encountered a likely bug in libxml's canonicalization. I am using 
libxml 2.6.5, the latest released version. I probably don't have the 
latest release of libxslt, though. This is on Red Hat Linux 8. I am not 
certain of this bug only because I am only accessing canonicalization 
through xmlstarlet, rather than through my own code. It is possible the 
problem is in xmlstarlet's interface to libxml2. However, the nature of 
the bug does mean that if it's in the libxml code it should be easy to 
spot. Ditto if it's in xmlstarlet.
In brief, the canonicalization is placing a line feed at the end of the 
canonicalized document, at least when there are no comments or PIs in 
the epilog (I haven't tested what happens when there are such nodes in 
the epilog). According to the canonical XML spec, section 4.3, this is 
wrong:
The C14N-20000119 
<http://www.w3.org/TR/2001/REC-xml-c14n-20010315#C14N-20000119> 
Canonical XML draft placed a #xA after each PI outside of the document 
element as well as a #xA after the end tag of the document element. The 
method in this specification performs the same function except for 
omitting the final #xA after the last PI (or comment or end tag of the 
document element). This technique ensures that PI (and comment) children 
of the root are separated from markup by a line feed even if root node 
or the document element are omitted from the output node-set.
--
Elliotte Rusty Harold
[
Date Prev][
Date Next]   [
Thread Prev][
Thread Next]   
[
Thread Index]
[
Date Index]
[
Author Index]