[Home] [By Thread] [By Date] [Recent Entries]

  • From: John Cowan <cowan@l...>
  • To: xml-dev@i...
  • Date: Sun, 31 Jan 1999 20:24:30 +73900 (EST)

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@c...
		e'osai ko sarji la lojban.

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


Site Map | Privacy Policy | Terms of Use | Trademarks
Free Stylus Studio XML Training:
W3C Member