Programmer's Guide > Interfaces > ARange interface
  
ARange interface
The Arbortext extension to the W3C DOM Range interface.
ARange adds four read-only attributes (startOID, startPos, endOID, endPos) that give the start and end points of the Range as strings that may be spliced into ACL commands. Note that ACL represents a point as an OID/POS pair.
Arbortext Editor (and Arbortext Publishing Engine) and the DOM represent ranges differently. Therefore, the individual components of a DOM range endpoint (attributes startNode, startOffset) and an Arbortext endpoint (attributes startOID, startPos) may differ. That is, the OID indicated by startOID will not necessarily be the starting OID for the node indicated by startNode, and the integer value startOffset will not necessarily be equal to the integer value startPos. Nor will there necessarily be equivalences between endNode and endOID or endOffset and endPos.
PTC only guarantees that the point in the document represented by the pair (startNode, startOffset) will be the same point as that indicated by the pair (startOID, startPos) and that the point represented by the pair (endNode, endOffset) will be the same point as that represented by the pair (endOID, endPos).
The DOM allows the endpoint of a range to be within a processing instruction; Arbortext products do not. If a DOM (node, offset) pair is located within a processing instruction, the corresponding (OID, pos) pair will indicate the point just before the start of the processing instruction (if the [node, offset] is the start of the range) or just after the end of the processing instruction (if the [node, offset] is the end of the range).