At top level, the loop in i continuously reiterates the collection of descent 
paths stored in stack d in the format root.node-collection...leaf.node. 
Starting from an initial depth of 0 (ie. the leaf-node itself), each such 
string is then parsed in turn to determine if it has a node at this depth. 
Obviously, every string in d with have a leaf-node, so the condition "if ( j < 
str.length )" will evaluate to true. The node in question is then stripped from 
the string and stored in the temporary variable baseObject, where it is tested 
against each entry in baseTerms, a stack of "parent" or "container" nodes 
(nodes which have children) already identified at this depth within the XML 
document. If no match is found an entry is generated in newTerms, an array of 
stacks which records each node tagname, followed by the set of all node 
tagnames that have been found to occur as immediate children of that node 
anywhere in the XML document. If, however, a match is found, then an entry must 
have already been generated in newTerms, so baseObject is added to the end of 
the relevant stack, so long as it hasn't been added before. After each string 
in d has been tested at depth 0, loop i repeats at depth 1, and so on, until 
the parsing depth exceeds the depth of the XML document.


For example, our control sample will have generated the following stack of "paths" in d:


	AUTHORS . AUTHOR . FIRSTNAME
	AUTHORS . AUTHOR . INITIAL1
	AUTHORS . AUTHOR . SURNAME
	AUTHORS . AUTHOR . FIRSTNAME
	AUTHORS . AUTHOR . EMAIL
	AUTHORS . AUTHOR . INITIAL2
	AUTHORS . AUTHOR . SPECIALFLAGS . FLAGS1
	AUTHORS . AUTHOR . SPECIALFLAGS . FLAGS4
	AUTHORS . PSEUDOAUTHOR . TITLE


Parsing at depth 1, and reading these paths from right to left, newTerms becomes primed as follows:


	[ 0 ] : [ 0 ] AUTHORS; [ 1 ] PSEUDOAUTHOR; [ 2 ] AUTHOR


Parsing at depth 2, newTerms becomes:


[ 0 ] : [ 0 ] AUTHOR; [ 1 ] SPECIALFLAGS; [ 2 ] INITIAL2; [ 3 ] EMAIL; 
[ 4 ] SURNAME; [ 5 ] INITIAL1; [ 6 ] FIRSTNAME 
	[ 1 ] : [ 0 ] PSEUDOATHOR; [ 1 ] TITLE


And at depth 3:


	[ 0 ] : [ 0 ] PSEUDOAUTHOR; [ 1 ] TITLE
	[ 1 ] : [ 0 ] SPECIALFLAGS; [ 1 ] FLAGS4; [ 2 ] FLAGS1