XML query engines

John Cowan cowan at locke.ccil.org
Mon Feb 1 00:35:56 GMT 1999

Jarle Stabell scripsit:

> The basic idea is to assign an interval (using a pair of integers) to each 
> node, and assigning them such that Interval(n1) contains Interval(n2) if 
> and only if n2 is a subnode of n1.

Or, equivalently:
Assign a sequentially increasing number to each *tag* (start-tag or end-tag)
in the document, treating an empty tag as a start-tag followed by an
end-tag.  Then e1 is a descendant of e2 iff e1.start > e2.start
and e1.end < e2.end.  Also, e1 is a left sibling of e2 (and e2 is
a right sibling of e1) iff e1.end + 1 = e2.start; e1 is the leftmost
child of e2 iff e1.start = e2.start + 1.  Modeling the child/parent
relationship is not so easy, and requires iteration.

John Cowan					cowan at ccil.org
		e'osai ko sarji la lojban.

xml-dev: A list for W3C XML Developers. To post, mailto:xml-dev at ic.ac.uk
Archived as: http://www.lists.ic.ac.uk/hypermail/xml-dev/
To (un)subscribe, mailto:majordomo at ic.ac.uk the following message;
(un)subscribe xml-dev
To subscribe to the digests, mailto:majordomo at ic.ac.uk the following message;
subscribe xml-dev-digest
List coordinator, Henry Rzepa (mailto:rzepa at ic.ac.uk)

More information about the Xml-dev mailing list