Techniques for streaming validation-based XML processing directions
First Claim
1. A method comprising the computer-implemented steps of:
- after an XML processor, which is configured to send validated XML data to an application, starts performing a validation operation on an XML-based input stream, and before said XML processor completes performing said validation operation on said XML-based input stream, performing the steps of;
after starting to validate a particular XML element in said XML-based input stream, and before completion of validating said particular XML element in said XML-based input stream, performing the computer-implemented step of said XML processor receiving one or more requests for particular information relating to said validation operation, wherein said one or more requests include at least one of;
(a) a request for whether said particular XML element is defined in corresponding information that dictates the structure of said XML data in said XML-based input stream;
(b) a request for the name of said particular XML element;
(c) a request for the data type of said particular XML element;
(d) a request for whether said particular XML element conforms to the corresponding information that dictates the structure of said XML data in said XML-based input stream;
(e) a request for the current validation mode of said validation operation;
(f) a request for the current state of said validation operation;
or(g) a request for one or more annotations that are associated with said particular XML element;
said XML processor generating one or more messages that include said particular information; and
said XML processor responding to said one or more requests for said particular information by providing said one or more messages.
1 Assignment
0 Petitions
Accused Products
Abstract
An XML processing model enables applications that use an XML stream to perform metadata-based or other processing of data during a data validation operation while preserving a streaming processing model. For example, while an XML node is being validated, requests can be received regarding the status of the validation and any processing that may be required with the node in order to conform it to requirements of an external application. A validator exposes public APIs that allow such validation-time requests from an event handler that is associated with an external application and that is registered with the XML stream. Messages that identify schema annotation definitions are provided to an external application to direct the type of processing to be performed on nodes at application runtime. Thus, applications can process a node according to the annotation definition concurrently with validation of the given node by the validator.
21 Citations
45 Claims
-
1. A method comprising the computer-implemented steps of:
after an XML processor, which is configured to send validated XML data to an application, starts performing a validation operation on an XML-based input stream, and before said XML processor completes performing said validation operation on said XML-based input stream, performing the steps of; after starting to validate a particular XML element in said XML-based input stream, and before completion of validating said particular XML element in said XML-based input stream, performing the computer-implemented step of said XML processor receiving one or more requests for particular information relating to said validation operation, wherein said one or more requests include at least one of; (a) a request for whether said particular XML element is defined in corresponding information that dictates the structure of said XML data in said XML-based input stream; (b) a request for the name of said particular XML element; (c) a request for the data type of said particular XML element; (d) a request for whether said particular XML element conforms to the corresponding information that dictates the structure of said XML data in said XML-based input stream; (e) a request for the current validation mode of said validation operation; (f) a request for the current state of said validation operation;
or(g) a request for one or more annotations that are associated with said particular XML element; said XML processor generating one or more messages that include said particular information; and said XML processor responding to said one or more requests for said particular information by providing said one or more messages. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21)
-
22. A computer-readable volatile or non-volatile medium storing instructions for:
a validator that validates elements and attributes in an XML-based input stream against information that dictates the structure of corresponding elements and attributes, said validator comprising; a state machine that receives and responds to requests for particular information associated with a first element in said XML-based input stream, after starting to validate said first element and before completion of validating said first element; wherein said requests for said particular information comprise one or more of; (a) a request for whether said first element is defined in said information that dictates the structure of said corresponding elements and attributes; (b) a request for the name of said first element; (c) a request for the data type of said first element; (d) a request for whether said first element conforms to said information that dictates the structure of said corresponding elements and attributes; (e) a request for the current validation mode for said first element, wherein the current validation mode is one of strict mode, lax mode, and skip mode; (f) a request for the current state of a validation operation currently being performed on said first element;
or(g) a request for one or more annotations that are associated with said first element. - View Dependent Claims (23, 24)
-
25. A computer-readable volatile or non-volatile medium storing one or more sequences of instructions which, when executed by one or more processors, cause the one or more processors to perform the steps of:
after an XML processor, which is configured to send validated XML data to an application, starts performing a validation operation on an XML-based input stream, and before said XML processor completes performing said validation operation on said XML-based input stream, performing the steps of; after starting to validate a particular XML element in said XML-based input stream, and before completion of validating said particular XML element in said XML-based input stream, performing the computer-implemented step of said XML processor receiving one or more requests for particular information relating to said validation operation, wherein said one or more requests include at least one of; (a) a request for whether said particular XML element is defined in corresponding information that dictates the structure of said XML data in said XML-based input stream; (b) a request for the name of said particular XML element; (c) a request for the data type of said particular XML element; (d) a request for whether said particular XML element conforms to the corresponding information that dictates the structure of said XML data in said XML-based input stream; (e) a request for the current validation mode of said validation operation; (f) a request for the current state of said validation operation;
or(g) a request for one or more annotations that are associated with said particular XML element; said XML processor generating one or more messages that include said particular information; and said XML processor responding to said one or more requests for said particular information by providing said one or more messages. - View Dependent Claims (26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45)
Specification