Where a SAX parser will treat the beginning of an element as one event and the end of the element as a separate event, OmniMark treats the occurrence of an element as a single event that fires a single rule. Since elements can contain nested elements, this leads to the creation of a hierarchy of fired rules. Thus the hierarchy of the document is modeled by the call stack of the program. Hierarchical parsing is based on a streaming programming model in which data is streamed from a source to a destination and processed as it flows. During parsing, data content is streamed directly to output, while output generated by user code is interpolated into the output stream.
Context management is provided automatically by the hierarchy of program rule execution.
In B2B activities where the parties are all computers, this is of little concern. Computers after all are used to working with complex and unappealing codes, in fact that is their normal way of working. That is a difficult trick and reams of materials continuously published on this matter attest to the difficulty of the task. XML has added a new dimension to the problem by introducing a new layer of complexity to the user interface. This presentation will review strategies for attacking the problem and consider the advantages and disadvantages of each.