[XML-SIG] xmlpickle.py ?!

M.-A. Lemburg mal@lemburg.com
Wed, 09 Aug 2000 10:06:20 +0200


Mike Olson wrote:
> 
> "M.-A. Lemburg" wrote:
> >
> > Mike Olson wrote:
> > >
> > >
> > > No matter how you do it, XPath won't look like python.  The "." is not
> > > valid in XPath.  Attributes are accessed as with the attribute:: axis
> > > (or @).  Ex.
> > >
> > > <Employees Department="Development"/>
> > >   <Employee name="Mike">
> > >     <Adress>1234 S West Way</Address>
> > >   </Employee>
> > > </Employees>
> > >
> > > To get Mike
> > > /Employees/Employee[@name="Mike"]
> > > To get Mikes Address with employee mike as the context:
> > > Address[0]
> >
> > Hmm, looks like it would be more useful to map object names
> > to element names in this case... it doesn't really make sense
> > to access information on a type basis, e.g.
> > /dictionary/item[@key="Mike"]. But then, structure is given by
> > type, not object name. Oh well :-/
> 
> I agree
>
> > BTW, how would one access "Mike" in this XML file without reverting to
> > positional indexing ?
> >
> > <dictionary>
> >         <item>
> >                 <key>Mike</key>
> >                 <value><address>1234 Main Street</address></value>
> >         </item>
> > </dictionary>
> >
> > It seems that these XPath lookups have to be context senstive...
> 
> Not always.  You can have relative or absolute paths.  You can also have
> paths that don't care about position.  Here are three examples.
> 
> #1  Assume you have an unknown context with the exact document use:
> /dictionary/item/key[text()='Mike']
> #2  Assume you have a context, lets say at item
> key[text()='Mike']
> #3  Assume there are many dictionary objects in your document, all
> scattered at different levels and you want to get all of the keys names
> mike
> //dictionary/key[text()='Mike]

The last one looks like a great way to search an XML file. I suppose
you can then use the looked up tag as context, right ? In that
case finding the item containing "Mike" as key wouldn't be hard.
 
Yah, I really should go and read the specs...

Thanks,
-- 
Marc-Andre Lemburg
______________________________________________________________________
Business:                                      http://www.lemburg.com/
Python Pages:                           http://www.lemburg.com/python/