For the benefit of both OO and non-OO node manipulation, I am going to add more node properties. As a result, I need to make some changes to some property names.
The current property list is
Txt CHAR FirstChildNum INT NextSiblingNum INT PrevSiblingNum INT TypeNum INT IndexNum INT ParentNum INT FileNum INT LineNum INT ColumnNum INT RecordOffSet INT Type CLASS NodeType FirstChild CLASS node NextSibling CLASS node PrevSibling CLASS node Parent CLASS node
as you can see, fields with "num" as a suffix are the actual node numbers themselves (with the exception of FileNum, LineNum and ColumnNum). So, FirstChildNum is the node number of the first child of a node, whereas FirstChild is the actual node object of the first child.