On Fri, Jan 19, 2007 at 11:00:07AM -0800, Bob Stayton wrote:
> I'm a big fan of XInclude, and I use xmllint and xsltproc extensively 
> because they support the xpointer() scheme of XInclude.  I recently tried 
> to process some DocBook5 documents which are in the docbook namespace, and 
> I'm not having much luck.  It seems the xmlns() scheme must be specified as 
> part of the xpointer attribute for the include element, but it doesn't seem 
> to work in libxml2.
> 
> <xi:include href="booktest5.xml"
>   xpointer="xmlns(db=http://docbook.org/ns/docbook) 
> xpointer(//db:dedication)"
>   xmlns:xi="http://www.w3.org/2001/XInclude"/>
> 
> Am I doing something wrong, or is xmlns() not supported with the xpointer 
> scheme?

  That looks right, and libxml2 has the xmlns() scheme support compiled in
if xpointer. However I don't see any test in the regression suite covering
xmlns(), the code in xpointer.c looks fine though, it registers the binding
in the XPath context. If you could make a tiny example showing the problem
with xmllint ...
  Might be broken though:

paphio:~/XML -> cat test.xml
<bar xmlns="http://foo/"/>
paphio:~/XML -> testXPath --xptr 'xmlns(foo=http://foo/)xpointer(//foo:bar)' 
test.xml
Object is empty (NULL)
Object is a Node Set :
Set contains 0 nodes:
paphio:~/XML -> testXPath --xptr 'xpointer(//foo:bar)' test.xml
XPath error : Undefined namespace prefix
Object is empty (NULL)
Object is a Node Set :
Set contains 0 nodes:
paphio:~/XML -> 

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