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/
[EMAIL PROTECTED]  | libxml GNOME XML XSLT toolkit  http://xmlsoft.org/
http://veillard.com/ | Rpmfind RPM search engine  http://rpmfind.net/
_______________________________________________
xml mailing list, project page  http://xmlsoft.org/
[email protected]
http://mail.gnome.org/mailman/listinfo/xml

Reply via email to