Re: [xml] Bug/Patch in xinclude when using empty href
- From: Daniel Veillard <veillard redhat com>
- To: Chris Ryan <xgbe yahoo com>
- Cc: xml gnome org
- Subject: Re: [xml] Bug/Patch in xinclude when using empty href
- Date: Wed, 6 Feb 2008 09:14:57 -0500
On Tue, Feb 05, 2008 at 05:56:14AM -0800, Chris Ryan wrote:
Hello All,
I've been working with libxml2 and xsltproc to process docbook files. The editor that we use creates
xinclude tags that use empty href tags when referring to the same file. The problem I am encountering is
that when using xmllint, or the library in general, in this scenario it warns about a recursion. I've
attached a sample xml file for demonstration. Running 'xmllint --xinclude a.xml' will produce the following
error:
a.xml:3: element include: XInclude error : detected a recursion in a.xml
I was able to determine that the URI was being correctly calculated but that the code was not setting
the local flag when the href was empty while it was doing so for a missing href or an href starting with a
# character. I added an additional statement in xinclude.c to check for an empty href and set local to a
true value and it corrected the problem. I have attached a diff file showing the change for convenience.
I used the latest version, 2.6.31, for all my testing and changes. I also checked the xinclude spec to
make sure this was indeed the intended behavior. Your consideration on this issue and submission is greatly
appreciated.
Well, the 'local' test is a bit of a hack, reusing it is fair,
but the problem is that it's okay to set it if href="" only if there
is also an xpointer attribute. I think the patch is incomplete without
that test, could you extend it ? The change can probably be moved just
before
if ((!local) && (xml == 1)) {
and extended to check for the fragment value,
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]