NodeFromID vs. SelectSingleNode

The GetNodeValue subroutine finds the corresponding nodes in a globalized XML template file and lingo.xml by matching the values of the elements' LID attributes:

lXML.nodeFromID(elem.Attributes(count).nodeValue)

The LitWare developers chose the nodeFromID method over the SelectSingleNode method because SelectSingleNode matches nodes in the two files by applying pattern-matching operations to each node in the lingo.xml file. In other words, for each node in the XML template file, SelectSingleNode iterates through every element in lingo.xml with a pattern string. The nodeFromID method, on the other hand, uses an indexed search that gets the lingo.xml value much more quickly.

NodeFromID, however, requires the use of a schema to indicate that the LID attribute has an id data type for the lingo.xml file. For more information, see Using lingoSchema.xml or Use nodeFromID, rather than selectSingleNode.