Re: [PHP-XML-DEV] namespacing fun(?)

[email protected] (Christian Stocker) Fri, 30 Jan 2004 18:07:47 +0100
Newsgroups php.xml.dev
Message-ID <[email protected]>
Hi

please provide the shortest possible example of your code and/or file a bug.

this should actually work as you suggested. I don't think it's a PHP 
problem..

chregu


On 1/30/04 5:48 PM, Daniel Pupius wrote:

> Hey there,
> 
> I'm using the DOM XML and XPATH queries.  My application has to accept XML
> formats based on an IMS standard,  both generated in our company and
> externally by others.
> 
> Now the problem, most people use the same naming convensions for namespaces,
> but a couple of people do not.  This causes the XPATH queries to fail.
> 
> For example, consider the following XML documents:
> 
> 
> <demo xmlns="http://somenamespace">
>   <node>
>     <child />
>     <child />
>   </node>
> </demo>
> 
> <ns:demo xmlns:ns="http://somenamespace">
>   <ns:node>
>     <ns:child />
>     <ns:child />
>   </ns:node>
> </ns:demo>
> 
> <fun:demo xmlns:fun="http://somenamespace">
>   <fun:node>
>     <fun:child />
>     <fun:child />
>   </fun:node>
> </fun:demo>
> 
> 
> They all represent the same structure, bound to the same namespace.  And are
> thus all esentially equal to:
> <http://somenamespace:demo>
>   .... etc ....
> </http://somenamespace:demo>
> 
> 
> When creating the XPATH queries, you'd register the namespace:
>     xpath_register_ns($xpath,"ns", "http://somenamespace");
> 
> And format your queries like so:
>     /ns:demo/ns:node/ns:child
> 
> I'd expect this to match all the above xml files, since the "ns" in the
> xpath query refers to the namespace rather than the textual abrieviation of
> the namespace.  Am I correct in this assumption?  Of course, it doens't seem
> to work with PHPs parser.
> 
> I was therefore wondering if anyone had any ideas on how to get round this
> problem...
> 
> Cheers
> 
> Dan
> 

-- 
christian stocker | Bitflux GmbH | schoeneggstrasse 5 | ch-8004 zurich
phone +41 1 240 56 70 | mobile +41 76 561 88 60  | fax +41 1 240 56 71
http://www.bitflux.ch  |  [email protected]  |  gnupg-keyid 0x5CE1DECB