Patent ID: 7873663

Claim:
A method for converting a markup language representation to a data structure format containing representations of constructs in the markup language representation, the method comprising: receiving a markup language representation containing encoded items representative of markup language constructs, by receiving a stream of encoded items containing type, length, value representations of extensible markup language constructs within the markup language representation; identifying a sequence of encoded items within an intermediate representation that represents a respective markup language construct, wherein identifying a sequence of encoded items within the intermediate representation that represents a respective markup language construct comprises: obtaining at least one encoded item from the received markup language representation; providing a pre-allocated buffer of nodes including at least two of: i) a new attribute node within the buffer of nodes; ii) a new element node within the buffer of nodes; iii) a new processing instruction node within the buffer of nodes; and iv) a new content node within the buffer of nodes; establishing, within a buffer of nodes, a new node for the sequence of encoded items that represents a respective markup language construct; by: allocating an appropriate type of node from the pre-allocated buffer of nodes, based on the type of at least one encoded item in the sequence of encoded items, as the new node within the buffer of nodes; setting data fields within the new node with corresponding data associated with the at least one encoded item, the data fields including a node type data field and a set of related node data fields associating the new node to at least one other node previously allocated in the buffer; creating, from the buffer of nodes, a linked data structure that represents relationships between the markup language constructs represented within the markup language representation, wherein creating, from the buffer of nodes, a linked data structure comprises: creating a tree data structure from the buffer of nodes, the tree data structure containing linked nodes that represent a hierarchical relationship existing between the markup language constructs represented within the markup language representation; and generating a numeric representation of a value field of the at least one encoded item including generating a QNAME for data within the value field of the at least one encoded item by combining QCODE values for a prefix portion, namespace portion, and suffix portion associated with the data in the value field of the at least one encoded item; wherein a QCODE is a hash of the data within the value field of the at least one encoded item and the hash provides a numeric reference that uniquely matches the data that is hashed.