Methods and systems for processing XML documents
First Claim
1. A method for processing an extensible mark up language (XML) document comprising:
- parsing the XML document into a stream of schema elements and data elements;
receiving the stream of schema elements using an API;
converting the stream of schema elements into data type definition (DTD) objects;
validating the stream of data elements using the DTD objects; and
if valid, passing the stream of data elements to an application using the API;
wherein the converting step comprises;
obtaining a parameter from a static table; and
calling a function to construct a DTD object based on the schema element, the function constructing the DTD object based on the parameter from the static table.
2 Assignments
0 Petitions
Accused Products
Abstract
An architecture for processing an Extensible Markup Language (XML) document converts schema elements in the XML document to data type definition (DTD) objects that can be used to validate data elements in the XML document. The architecture utilizes a node factory design in which an XML parser calls one or more node factory interfaces to construct an in-memory tree representation of an XML document. One of the node factory interfaces is a schema node factory, which is a thin layer that receives calls from the parser to build nodes in the tree representation and translates those calls to calls to a schema builder. The schema builder is a table driven interface that converts the schema elements in the XML document into DTD objects. The DTD objects are then used to validate the data elements as belonging to the schema. If valid, the data elements are used to construct the tree representation.
129 Citations
17 Claims
-
1. A method for processing an extensible mark up language (XML) document comprising:
-
parsing the XML document into a stream of schema elements and data elements; receiving the stream of schema elements using an API; converting the stream of schema elements into data type definition (DTD) objects; validating the stream of data elements using the DTD objects; and if valid, passing the stream of data elements to an application using the API;
wherein the converting step comprises;obtaining a parameter from a static table; and calling a function to construct a DTD object based on the schema element, the function constructing the DTD object based on the parameter from the static table. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11)
-
-
12. A computer implemented with an architecture for processing an extensible mark up language (XML) document comprising:
-
a parser to parse the XML document into a stream of elements including a stream of schema elements and a stream of data elements; a converter to convert the stream of schema elements into data type definition (DTD) objects using an API and to validate the stream of data elements using the DTD objects; wherein the converter further obtains a parameter from a static table and calls a function to construct a DTD object based on the schema element, the function constructing the DTD object based on the parameter from the static table; and a schema node factory to pass valid data elements to an application using the API. - View Dependent Claims (13, 14, 15, 16)
-
-
17. A computer implemented with an architecture for processing an extensible mark up language (XML) document comprising:
-
a parser to parse the XML document into a stream of elements including a stream of schema elements and a stream of data elements; a converter to convert the stream of schema elements into data type definition (DTD) objects using an API and to validate the stream of data elements using the DTD objects; and a schema node factory to pass valid data elements to an application using the API;
wherein the converter further obtains a parameter from a static table and calls a function to construct a DTD object based on the schema element including;identifying a new schema element in the static table; pushing the new schema element onto a stack; initializing at least one data structure for the new schema element; and creating an empty DTD object for the new schema element, wherein the function to construct the DTD object is based on the parameter from the static table and including one of signaling a new schema is being processed, signaling that an end of a schema has been reached, determining if it is valid to have text in a current position of a schema document, determining if all content for a current schema element has been corrected provided, creating a DTD content model node for describing a default value, and wherein the static table is organized in a hierarchical arrangement including a schema root table at a top of the hierarchical arrangement, an attribute table for providing an attribute of a schema element including at least one field listing a type of attribute in the schema and corresponding functions for handling the attribute, and an element table including at least one field listing a type of element permitted in the schema element, the element table further referencing at least one function table containing a function pertaining to node events, and wherein the step of calling the function includes parsing the attribute table for an attribute value corresponding to the schema element and calling a function corresponding to the attribute value.
-
Specification