[xml] Rer: Re: XPath question



Hi!

The prefix is not "nil". NIL is Delphi syntax for a NULL pointer in C. If you look at the definition for 
xmlns in <DenDynamiskeBlanket> there is no prefix specified.

It is quite obvoius looking at the source in xpath.c why xmlXPathRegisterNs won't work with a NULL prefix. It 
return -1. If I register the namespace with any prefix for instance xmlXPathRegisterNs("nil", 
"http://www.medcom.dk/DenDynamiskeBlanket/2006-01-30/";) XPath will work if I just remember to prefix my 
queries witj "nil" as you suggest.

I just don't get it why it is necessary to register the namespace at all...

Regards,
Erik

Rob Richards<rrichards ctindustries net> 21.11.2006 14:29:39 >>>
Erik F. Andersen wrote:
Hello!

I use LibXML version 2.6.17 on Windows and I have a problem with an XML document where I cannot get XPath 
to return any nodes.

The start of the XML looks like this:

<?xml version="1.0" encoding="UTF-8"?>
<DenDynamiskeBlanket xmlns="http://www.medcom.dk/DenDynamiskeBlanket/2006-01-30/";
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance";
    xsi:schemaLocation="http://www.medcom.dk/DenDynamiskeBlanket/2006-01-30/ 
file:/C:/Documents%20and%20Settings/Jacob/workspace/Den%20Dynamiske%20Blanket%20Fremviser/xml/xsds/ddb.xsd">
    <Form>
        <Identifier></Identifier>
        <SentDateTime>2002-02-02T23:23:23</SentDateTime>
        <TypeCode>LÆ255</TypeCode>
        <VersionCode></VersionCode>
        <StatisticalCode></StatisticalCode>
        <PageStock>A4</PageStock>
        <Graphics>

My problem is that no matter what I do I cannot locate any nodes with XPath. I tried registering the 
namespace using xmlXPathRegisterNs (the prefix is nil). Is there a problem with the XML above or am I doing 
something wrong?  If I remove the xmlns attribute I have no problems. I think the XML is wrong but I don't 
know what it is...
  
Are you using the registered prefix in your query?
i.e. //nil:Form should return all the Form element nodes (assuming you 
registered "http://www.medcom.dk/DenDynamiskeBlanket/2006-01-30/"; with 
the prefix "nil")

Rob



[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]