On Sun, Jan 10, 2010 at 9:24 PM, Thomas Larsen Wessel <[email protected]>wrote:

> As far as I have been told, xmllint should offer a command line tool to
> work with xml, and than includes xhtml.
>
> But it seems that I can not browse around in the xmllint shell, when the
> xml file has a default namespace. E.g. as in this file, minimum.xml:
>
> <?xml version="1.0" encoding="UTF-8"?>
> <!DOCTYPE html PUBLIC
>   "-//W3C//DTD XHTML 1.0 Strict//EN"
>   "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd";>
> <html xmlns="http://www.w3.org/1999/xhtml"; xml:lang="en" lang="en">
>     <head> <title> minimum </title> </head>
>     <body>
>         <p> Time for text </p>
>     </body>
> </html>
>
> Now trying to use the xmllint shell from command line:
> m...@borneo:~$ xmllint --shell foo.xml
> / > cd html
> html is a 0 Node Set
> / >
>
> If I remove the line "xmlns="http://www.w3.org/1999/xhtml";, then I can
> browse around.
>
> How can I browse around a document with a default namespace?
>
Register the name space in the shell:

/ > setns x=http://www.w3.org/1999/xhtml
/ > cd x:html

If you want to avoid the registration of namespaces you can also use xpath
xpressions:
/ > cd *
html > cd *[1]
head >

But you will be better with namespaces :)

-- 
Emmanuel Rodriguez
_______________________________________________
xml mailing list, project page  http://xmlsoft.org/
[email protected]
http://mail.gnome.org/mailman/listinfo/xml

Reply via email to