Beefy Boxes and Bandwidth Generously Provided by pair Networks
No such thing as a small change
 
PerlMonks  

Re: Namespace error when parsing with XML::LibXML

by shriken (Priest)
on Oct 06, 2010 at 13:54 UTC ( #863791=note: print w/ replies, xml ) Need Help??


in reply to Namespace error when parsing with XML::LibXML

My understanding of properly formed XML is that those namespace attributes should only have a single URI in them -- not two URIs separated by a space. It appears XML::LibXML would agree with me.

So if the XML is not well formed, I see only two optoins: You must either fix it at the source or munge the XML before trying to parse it. If you can't fix it at the source, I'd just hack in a very specific string substitution to convert that literal double-URI string into a single URI string.


Comment on Re: Namespace error when parsing with XML::LibXML
Re^2: Namespace error when parsing with XML::LibXML
by mathieu (Novice) on Oct 06, 2010 at 14:58 UTC

    Hi shriken,

    thanks for your reply, it's my understanding also.

    Anyway I added the following sed code to remove the additionnal namespace delcaration :

    my $file = 'namespace.xml'; system('sed -i "s/http:\/\/www.exchangefortravel.org\/xft\/current //g +" '.$file);

    The errors are gone, but now my XPATH expression doesn't return any nodes. Do you have any idea on what is going on ? Is it related to the namespace pb ?

    Thanks for your help.

      You removed the wrong one. It's the second uri that should be the one that's removed since it's a link to the schema.

Log In?
Username:
Password:

What's my password?
Create A New User
Node Status?
node history
Node Type: note [id://863791]
help
Chatterbox?
and the web crawler heard nothing...

How do I use this? | Other CB clients
Other Users?
Others rifling through the Monastery: (4)
As of 2015-07-06 07:57 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?

    The top three priorities of my open tasks are (in descending order of likelihood to be worked on) ...









    Results (70 votes), past polls