Re: newbie XPATH newsgroup ?
"rvj" <[email protected]>
| Newsgroups | gmane.comp.mozilla.devel.xml |
|---|---|
| Organization | Another Netscape Collabra Server User |
| Message-ID | <[email protected]> |
PS I'm not sure where the attachment came from in the previous post so IGNORE it! "rvj" <[email protected]> wrote in message news:[email protected]... > OK > > > > I'm not sure about your question, > > First of all neither am I ! > > This is day #6 of my XPath investigations. > > What I am trying to understand are the implications of namespaces for XPath > expressions. !! > > As I understand it, XPath support two basic namespace approaches > > 1) Using QNames which in turn define two distinct syntaxes > a) URL based which are RESOLVABLE because they point to real locations > (versioning) > b) URN based which are abstract references but are essentially UNRESOLVABLE > ! > > 2) Universal/Expanded names which as I understand are NOT XML namespace > recommendations BUT nevertheless are an appendix to the XML Namspace > specification and provide a physical reference for a namespace !! > > Universal/Expanded names have NOT been recommended purely because they are > a little more verbose. > > ******************************************************* > > Thats just the introduction !!! > > Now XPATH (as far as I am concerned ) has nothing to do wish XSL! (XSL and > XSLT are just utilities) > > ******************************************************** > The issue is HOW BEST TO DECLARE XPATH NAMESPACES > ******************************************************** > > Firstly, should it be > > a) universal namespaces OR > b) namespace versioning > > So if we take a simple example of multiple namespace document a > non-resolvable XPath expression such as > > /ns1:author/ns2:author > > what is the best way of converting this to a resolvable XPath expression > > Currently (if you are using the MS parser) you identify the namespaces using > a separate property called SelectNamespaces. > > An XPath expression assumes that the document contains the relevant > namespace declarations > > xpath="/ns1:author[@id='x']/ns2:author[@id='y']" > > However resolvable references can be provided (for verification purposes) > using > > a) universal/expanded names > > xpath= > "<{http://www.somepath/or/other}author[@id='x']/<{http://www.someotherpath/o > r/other}:author[@id='y']" > > > b) namespace versioning > > > xpath="http:/www.namespace1/author[@id='x']/http:/www.namespace2/author[@id= > 'y']" > > ************************************************************************** > > Secondly, (and this is off-the-wall stuff), it appears that it would be much > simpler to declare namespaces using an XML XPATH structure that mimics the > structure of the source document (XML) > > For example, lets assume that an XPATH expression COULD also be represented > as an XML structure via an element called XPATH with an attribute called > XPATH. > > For example > > <xpath xpath= "/ns1:author[@id='x']/ns2:author[@id='y'] /> > > In otherwords instead of parsing a literal string, the parser could accept > an XML structure ! > > It appears that this is also simpler to declare resolveable XPATH expression > using standard namespace declarations. For example > > <xpath> > <ns1:author xmlns:ns1="www.namespace1" xpath="@id='x'"> > <ns2:author xmlns:ns2="www.namespace2" xpath="@id='y'"/> > <ns1:author> > </xpath> > > **************************************************************** > Does any of this make sense ? > **************************************************************** > > BTW The article that has provided the basis of my confusion is > > http://msdn.microsoft.com/library/default.asp?url=/library/en-us/dnexxml/htm > l/xml05202002.asp > > > > > > > > > > > > > > > > > > > > > > > > > > "Markus Siebeneicher" <[email protected]> wrote in message > news:[email protected]... > > Markus Siebeneicher wrote: > > > > > rvj wrote: > > > > > >> correction : something like > > >> > > >> > > >>> <ns1:author ns1:author="www.foo1" xpath="author[@id='x']> > > >>> <ns2:author ns2:author=www.foo2 xpath="author[@id='y']/> > > >>> <ns1:author> > > >>> > > >> > > >> > > >> "rvj" <[email protected]> wrote in message > > >> news:[email protected]... > > >> > > >>> I think the correct term is serialized but really what I am trying to > > >>> understand is XPath with multiple namespaces > > >>> > > >>> For example if you search for an attribute called 'author' but with > > >>> multiple namespaces. Given > > >>> > > >>> xpath= "/ns1:author[@id='x']/ns2:author[@id='y'] > > >>> > > >>> is it possible to declare the namespace references in the xpath? > > >>> > > >>> It seems that a serialized xpath format would make this a lot > > >>> easier to > > >>> read > > >>> > > >>> <ns1:author ns1:author="www.foo1" xpath="@id='x'> > > >>> <ns2:author ns2:author=www.foo2 xpath="@id='y'/> > > >>> <ns1:author> > > >>> > > >>> Any recommended reading for XPath+multiple namespaces? > > >>> > > >>> > > >>> "rvj" <[email protected]> wrote in message > > >>> news:[email protected]... > > >>> > > >>>> a) is there a XPath newsgroup > > >>>> > > >>>> b) very simply all I want to know is there is a mechanism > > >>> > > >>> > > >>> (exists/proposed) > > >>> > > >>>> for switching between a compact XPath representation and a more > verbose > > >>> > > >>> > > >>> XML > > >>> > > >>>> structured representation ? > > >>>> > > >>>> where > > >>>> > > >>>> /provider[@id=123]/library[@id=234]/detail[@id=345]/* > > >>>> > > >>>> can be alternatively represented something like > > >>>> > > >>>> <provider xpath="[@id=123]" > > > >>>> <library xpath="[@id=234]" > > > >>>> <detail xpath="[id=345]/*" /> > > >>>> </library> > > >>>> </provider> > > >>>> > > >>>> > > >>> > > >> > > >> > > > > > > I'm not sure about your question, but maybe this is a usefull suggestion > > > to your research -> > > > /*[name()='ns1:author'][@id='123']/*[name()='ns2:author'][@id='234'] > > > > a proper mailing list about xsl and xpath is definitly the xsl mulberry > > list, (http://www.mulberrytech.com/xsl/xsl-list). > > >