Subject: Re: [xsl] Processing HTML document. From: Mike Brown <mike@xxxxxxxx> Date: Tue, 4 Jun 2002 12:41:40 -0600 (MDT) |
Antonio Fiol wrote: > Oleg Tkachenko wrote: > > > Declare xhtml namespace in the stylesheet and use something like > > "x:html/x:body/x:table...", where x is a defined by you xhtml > > namespace prefix. > > > I tried that just _before_ reading your e-mail. It worked. > > However, it should be possible to use the raw "html/body/table...", > shouldn't it? > > When I have an XML input (home made XML, using default namespace, just > like the HTML file I'm inputting), I simply name the tags I want, and it > works just fine (!) Yes, it does, but only because XPath expressions are designed to be so convenient for working with elements that are in no namespace. Once you introduce namespaces, they become more complex (yet in a way, they're still very simple...) The XPath expression foo/bar/baz means child::foo/child::bar/child::baz. In practice, child::foo is essentially equivalent to: child::*[namespace-uri()='' and local-name()='foo'] It is not, as you might hope, equivalent to child::*[name()='foo']. If you have x:foo instead of foo, by definition it means 'element "foo" in the namespace URI that is bound to the "x" prefix'. If that URI is "http://some/unique/URI", then child::x:foo essentially means: child::*[namespace-uri()='http://some/unique/URI' and local-name()='foo'] I hope this helps. - Mike ____________________________________________________________________________ mike j. brown | xml/xslt: http://skew.org/xml/ denver/boulder, colorado, usa | resume: http://skew.org/~mike/resume/ XSL-List info and archive: http://www.mulberrytech.com/xsl/xsl-list
Current Thread |
---|
|
<- Previous | Index | Next -> |
---|---|---|
Re: [xsl] Processing HTML document., Antonio Fiol | Thread | Re: [xsl] Processing HTML document., David Carlisle |
Re: [xsl] Processing HTML document., Oleg Tkachenko | Date | Re: [xsl] Can you pass a parameter , Joerg Heinicke |
Month |