Subject: Re: [xsl] Re: The Solution -- Re: how to rearrange nodes based on a dependency graph? From: Gunther Schadow <gunther@xxxxxxxxxxxxxxxxxxxxxx> Date: Fri, 21 Dec 2001 17:43:16 -0500 |
It is true, that without the xx:node-set() function, XSLT 1.0 is 50%
crippled.
but apparently this orders things in the document order, not in the order specified. It's weird that the XPath spec talks about node sets when in reality they are ordered. And all of this only to prevent the user from rearranging the ordering.
Sets are un-ordered by definition. Document order is a "canonical ordering" so that
everybody will enumerate a set in a standard way. In the same way in mathematics we
may enumerate a set of numbers by their increasing value. Everybody knows that this
is just for convenience and that sets do not have order.
Obviously, there had to be such canonical ordering.
The xx:node-set() function is necessary in case nodes must be re-ordered and used later during the same transformation.
Hmm, I wonder, however, if the notion of node *set* is really appropriate for most of the use cases here. Why did they not call it node-sequence? The sequence of stuff is what we're mostly interested in. Well, instead of wondering about the specs, I discovered a related problem with your topological sort. As beautiful as it is, it disturbs document order where it isn't warranted by the dependencies. For example, let's say I have 3 cliques of dependent nodes and no link between them. What happens with top sort is that those three cliques are all intermingled. The trick is to keep the document sort order if it doesn't need to be changed. I may end up to go back to my naive check-off list approach (recurse through node list and walk the dependencies, always propagating a node set of already processed nodes, and checking that a node isn't in the done set before processing it. I couldn't make this to work only because I refused to use the node-set function. Now I am free to do so :-)
regards -Gunther
-- Gunther Schadow, M.D., Ph.D. gschadow@xxxxxxxxxxxxxxx Medical Information Scientist Regenstrief Institute for Health Care Adjunct Assistant Professor Indiana University School of Medicine tel:1(317)630-7960 http://aurora.regenstrief.org
Current Thread |
---|
|
<- Previous | Index | Next -> |
---|---|---|
Re: [xsl] Re: The Solution -- Re: h, Dimitre Novatchev | Thread | Re: [xsl] Re: The Solution -- Re: h, Dimitre Novatchev |
[xsl] XPath Expressions inside a va, Richard Garcia | Date | RE: [xsl] XPath Question., Avula, Raj |
Month |