Re: [xml] validation & xpath
- From: Daniel Veillard <veillard redhat com>
- To: laurent marzu org
- Cc: xml gnome org
- Subject: Re: [xml] validation & xpath
- Date: Sat, 23 May 2009 11:17:27 +0200
On Tue, May 19, 2009 at 01:26:04PM +0200, laurent marzu org wrote:
Hello,
I'm trying to use XPath with libxml2 and I came accross a strange behavior
which I do not understand:
Here a summary of the parsing of my doc and the XPath evaluation:
I took the code sometime ago from the "xmlCreateURLParserCtxt( const char*
filename , int options )"
xmlParserCtxtPtr ctxt;
xmlParserInputPtr inputStream;
char *directory = NULL;
ctxt->_private = this;
ctxt->sax->serror = libxml2_gcdk_error_handler_adapter;
ctxt->linenumbers = 1;
ctxt->replaceEntities = 1;
ctxt->validate = 0;
inputStream = NULL;
inputStream = xmlLoadExternalEntity(p_filename, NULL, ctxt);
inputPush(ctxt, inputStream);
if ((ctxt->directory == NULL) &
if ((ctxt->directory == NULL) &
ctxt->validate = 1;
xmlParseDocument( ctxt );
And it seems that in this case, my XPath expressions does not gave any
result node, while when I initialize ctxt->validate to 0, It gave me the
good results.
Is there anyone who could explain me what I'm doing wrong please ?
I really don't understand why you don't use xmlReadDoc directly
for parsing !
Why XPath works without validation versus with validation might
be due to a defaulted default namespace coming from the DTD.
But you're doing things in a very complex way and I can't see a good
reason for this. Use the existing API instead of copy/pasting stuff ...
Daniel
--
Daniel Veillard | libxml Gnome XML XSLT toolkit http://xmlsoft.org/
daniel veillard com | Rpmfind RPM search engine http://rpmfind.net/
http://veillard.com/ | virtualization library http://libvirt.org/
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]