1. A data processing system, comprising: a token processor configured to receive data comprising a structured electronic document in serialized format and to identify one or more entities in the data; a name recognition engine configured to recognize one or more names of elements of the structured electronic document and to recognize one or more names of attributes of the elements; a finite state automaton comprising states and transitions representing structural relationships among elements and attributes of one or more structured path expressions and state look-ahead logic that is configured to determine one or more active states of the automaton and one or more next states of the automaton; logic encoded in one or more computer-readable storage media for execution and when executed by one or more processors operable to cause: receiving at the token processor one or more messages comprising the structured electronic document in serialized format; identifying, at the token processor, one or more entities in the one or more messages; determining, at the name recognition engine, whether at least one entity of the one or more entities corresponds to at least one of the one or more next states of the automaton; sending to the automaton, from the name recognition engine, the at least one entity when the at least one entity corresponds to at least one of the one or more next states of the automaton; the automaton performing, based on the at least one entity, one or more state transitions resulting in reaching a final state of the automaton; outputting the final state of the automaton; wherein the name recognition engine comprises a data table and a tree; wherein the tree comprises a root node corresponding to a character position in names of elements or attributes in the structured electronic document; wherein the logic is further configured to walk the tree to seek a match for a name of a specified entity among the one or more entities, by: selecting a letter in a position specified by a label of the root node and comparing the selected letter to other letters that label links to a child node; determining that a specified entity's name is of no interest if the specified entity's name matches none of the other letters; traversing a link labeled by the letter when there is a match; upon reaching a leaf node, comparing all remaining letters and determining a match.
1. A data processing system, comprising: a token processor configured to receive data comprising a structured electronic document in serialized format and to identify one or more entities in the data; a name recognition engine configured to recognize one or more names of elements of the structured electronic document and to recognize one or more names of attributes of the elements; a finite state automaton comprising states and transitions representing structural relationships among elements and attributes of one or more structured path expressions and state look-ahead logic that is configured to determine one or more active states of the automaton and one or more next states of the automaton; logic encoded in one or more computer-readable storage media for execution and when executed by one or more processors operable to cause: receiving at the token processor one or more messages comprising the structured electronic document in serialized format; identifying, at the token processor, one or more entities in the one or more messages; determining, at the name recognition engine, whether at least one entity of the one or more entities corresponds to at least one of the one or more next states of the automaton; sending to the automaton, from the name recognition engine, the at least one entity when the at least one entity corresponds to at least one of the one or more next states of the automaton; the automaton performing, based on the at least one entity, one or more state transitions resulting in reaching a final state of the automaton; outputting the final state of the automaton; wherein the name recognition engine comprises a data table and a tree; wherein the tree comprises a root node corresponding to a character position in names of elements or attributes in the structured electronic document; wherein the logic is further configured to walk the tree to seek a match for a name of a specified entity among the one or more entities, by: selecting a letter in a position specified by a label of the root node and comparing the selected letter to other letters that label links to a child node; determining that a specified entity's name is of no interest if the specified entity's name matches none of the other letters; traversing a link labeled by the letter when there is a match; upon reaching a leaf node, comparing all remaining letters and determining a match. 4. The system of claim 1 , wherein rows in the data table correspond to the names of elements or attributes in the structured electronic document, wherein columns in the data table correspond to characters of the names, wherein a column rank of each column comprises a maximum number of times that one of the characters occurs in that column, wherein the root node is associated with one of the columns having a lowest column rank.