[XSL-LIST Mailing List Archive Home] [By Thread] [By Date] [Recent Entries] [Reply To This Message]

Re: === Identifying a unique node in a DOM tree ===

Subject: Re: === Identifying a unique node in a DOM tree ===
From: "Khalid Asad" <asad@xxxxxxxxxxxxx>
Date: Wed, 31 May 2000 10:34:07 -0400
identifying xml nodes with xsl
Unique IDs are sometimes a problem, because there is the issue of how to get
them into a document that does not already have 'em. And then there's the
issue of inserting them into a doc that has a DTD with no place for 'em.

Khalid

----- Original Message -----
From: "Dan Morrison" <dman@xxxxxxxx>
To: <xsl-list@xxxxxxxxxxxxxxxx>
Sent: Sunday, May 28, 2000 7:57 PM
Subject: Re: === Identifying a unique node in a DOM tree ===


> I (.dan.) posted a while back...
>
> > > Although you probably understand what I mean if I was to
> > > indicate a path
> > > like "http://my.xml.com/document.xml#/root/chapter/section",
> > > the fact is
> > > that that notation CANNOT work.
> >
> Kevin Williams wrote:
> >
> > Only in the sense that a (hypothetical) construct like
> >
> > c:/documents/root*/chapter*/section*
> >
> > doesn't work.
>
> That was my point exactly, it's those _implicit_ wildcards that I would
> label a 'gotcha'.
>
> > One of the
> > nice things about XPointer (IMO) is that you can use it to point to more
> > than one node
>
> V. true! It is totally powerful for doing this job. It just 'thinks
> different' if you're used to unique paths...
> Coming from SQL, where every 'Select' returns an array, it's less of a
> brain-strain.
>
> And as for the question raised in this thread, the correct answer was
> posted by
>
> Khalid Asad
> > If you have an xapth = '/doc/name[4]/@first'  you will get the 'first'
> > attribute node of the 4th 'name' element. You can refer to this node to
> > update the original document.
>
> Which mimics the solution indicated in my original post:
> > something like document.xml#/root[0]/chapter[1]/section[1]
>
> So quite clearly it can be done!
>
> From Johnathan's question
> > is there an XML or DOM implementaion
> > that uniquely identifies a node?
>
> ... well sure. My observation was just a caveat to do specifically with
> XSLT, and most extant programatical implimentations have even more
> control than my pseudo XPATH example. (ooOOoo big words...)
>
> The later question :
> > I want to be able to ask the node.."Who are you" and it would reply "I
am
> > currently /.people.person.name.John"
>
> Relys on an external index. What do you mean by 'currently'? Is that a
> variable, or something to do with the order of processing?
> If your structure was
>
> <people>
>   <person userid="55"><name>John</name><title>Mr</title></person>
>   <person userid="66"><name>Jack</name><title>Sir</title></person>
> </people>
>
> ...It's trivial to use
> <xsl:template match="person"><xsl:value-of select="name"
> /></xsl:template>
>
> OTOH, you can also construct a query for
>
> <xsl:value-of select="/people/person/[@userid='55']/name" />
>
> (there may be something wrong with that syntax)
> ... if you know which one you're trying to ID. Otherwise you use the
> ordinal index.
>
> ... So Unique IDs are the other way to go. And very handy they are too.
> That's why Cocoon1 presented me with such F***ed-up paths when it was
> trying to id an XML node as an URL. Eventually I understood its
> 'wisdom'.
>
> .dan.
>
>
> :=====================:====================:
> : Dan Morrison        : The Web Limited    :
> :  http://here.is/dan :  http://web.co.nz  :
> :  dman@xxxxxxxx      :  danm@xxxxxxxxx    :
> :  04 384 1472        :  04 495 8250       :
> :  025 207 1140       :                    :
> :.....................:....................:
> : If ignorance is bliss, why aren't more people happy?
> :.........................................:
>
>
>  XSL-List info and archive:  http://www.mulberrytech.com/xsl/xsl-list


 XSL-List info and archive:  http://www.mulberrytech.com/xsl/xsl-list


Current Thread

PURCHASE STYLUS STUDIO ONLINE TODAY!

Purchasing Stylus Studio from our online shop is Easy, Secure and Value Priced!

Buy Stylus Studio Now

Download The World's Best XML IDE!

Accelerate XML development with our award-winning XML IDE - Download a free trial today!

Don't miss another message! Subscribe to this list today.
Email
First Name
Last Name
Company
Subscribe in XML format
RSS 2.0
Atom 0.3
Site Map | Privacy Policy | Terms of Use | Trademarks
Free Stylus Studio XML Training:
W3C Member
Stylus Studio® and DataDirect XQuery ™are products from DataDirect Technologies, is a registered trademark of Progress Software Corporation, in the U.S. and other countries. © 2004-2013 All Rights Reserved.