Various features enable an XML data stream to be parsed without the need to
build a hierarchical tree structure for the XML document. In the described
embodiment, the concept of an element or namespace stack is utilized as a
way of organizing parsing activities and maintaining a definable place
within the structure of the XML document. Various structures work together
with the element or namespace stack to facilitate piecewise parsing of the
XML data stream. One structure is a namespace hierarchy that is a
collection of namespace objects that each represent a namespace
specification that is encountered in the XML data stream. Each object
includes a namespace prefix and an associated namespace specification.
This structure creates a hierarchical organization that is used for
mapping a particular encountered namespace specification into a unique
value that represents both the namespace specification and an element tag
in which the namespace specification occurs. Another structure is a
dictionary collection that contains one or more dictionaries. Each
dictionary is specifically associated with a namespace specification that
is encountered in the XML data stream. The dictionaries contain entries
for one or more tag names and each name's associated unique token. The
token is returned and placed on the element stack along with another
special value that enables the proper state to be maintained during
processing of the XML data stream. The stack also includes a text
accumulation buffer that can hold any text that is contained within an
element (between the element tags). When an XML element is encountered,
the element stack is used to organize parsing activities as the parser
makes its way through the XML data stream.
Le varie caratteristiche permettono ad un flusso di dati di XML di essere analizzate senza la necessità di sviluppare una struttura arborescente gerarchica per il documento di XML. Nell'incorporamento descritto, il concetto di un elemento o della pila del namespace è utilizzato come senso di organizzazione effettuare e delle attività analizzare un posto definibile all'interno della struttura del documento di XML. Le varie strutture collaborano con l'elemento o la pila del namespace per facilitare a tratti analizzare del flusso di dati di XML. Una struttura è una gerarchia del namespace che è una collezione di namespace obietta che ciascuno rappresenta una specifica del namespace che è incontrata nel flusso di dati di XML. Ogni oggetto include un prefisso del namespace e una specifica collegata del namespace. Questa struttura genera un'organizzazione gerarchica che è usata per il tracciato della specifica del namespace incontrata particolare in un valore unico che rappresenta sia la specifica del namespace che una modifica dell'elemento in cui la specifica del namespace si presenta. Un'altra struttura è una collezione del dizionario che contiene uno o più dizionari. Ogni dizionario specificamente è associato con una specifica del namespace che è incontrata nel flusso di dati di XML. I dizionari contengono le entrate per uno o più nomi della modifica e segno unico associato di ogni nome. Il segno è restituito e disposto sulla pila dell'elemento con un altro valore speciale che permette il adeguato dichiari per essere effettuato durante l'elaborazione del flusso di dati di XML. La pila inoltre include un amplificatore di accumulazione del testo che può tenere tutto il testo che è contenuto all'interno di un elemento (fra le modifiche dell'elemento). Quando un elemento di XML è incontrato, la pila dell'elemento è usata per organizzare le attività analizzare mentre l'analizzatore fa il relativo senso attraverso il flusso di dati di XML.