Validating an xml document
US-2019340229-A1 · Nov 7, 2019 · US
US10915703B2 · US · B2
| Field | Value |
|---|---|
| Publication number | US-10915703-B2 |
| Application number | US-201916512825-A |
| Country | US |
| Kind code | B2 |
| Filing date | Jul 16, 2019 |
| Priority date | Jul 24, 2008 |
| Publication date | Feb 9, 2021 |
| Grant date | Feb 9, 2021 |
A practical reading order for non-experts. Skip the full description unless you need deep technical detail.
What the patent document calls the invention.
A short plain-language summary of the technical disclosure.
Who owns or filed the patent and who is credited as inventor.
Filing, priority, publication, and grant dates set the timeline.
The legal scope of protection — read this for what is actually claimed.
Technology tags used to group this patent with similar filings.
Prior art links and similar publications in this corpus.
Official abstract text for this publication.
At least one XML document to be validated is parsed, and XML data in the at least one XML document is represented as data objects in at least one data object model in a memory. At least one rule document is parsed and a rule object model that includes rule objects is created in the memory. At least part of the data objects are extracted from the at least one data object model and at least part of rule objects are extracted from the rule object model. Partial validation is performed in a corresponding execution context that validates the extracted at least part of the data objects based upon the extracted at least part of the rule objects.
Opening claim text (preview).
What claimed is: 1. A method for validating an XML document, comprising: reading, by an XML parser of a validation engine, the XML document inputted into the XML parser, wherein said XML parser provides programmatic access to XML data of the XML document and determines how the XML data is accessed and retrieved; parsing, by the XML parser, at least part of the XML document to be validated and expressing the XML data in the at least part of the XML document as data objects in at least one data object model in a memory, wherein the XML document being parsed is modeled as a node-labeled tree; mapping each element of the XML document parsed by the XML parser to a sub tree of the node-labeled tree, wherein each root node of each sub tree is labelled with a tag describing an element of the sub tree; parsing, by a rule parser of the validation engine, at least part of a rule document inputted into the rule parser, the rule document comprising one or more elements in a hierarchical relationship and outputting rule data parsed from the at least part of the rule document as scoped rule objects in a rule object model in the memory, wherein the rule object data model maintains the hierarchical relationship of the one or more elements; selecting, by a user interface of the validation engine, one or more element of the XML document mapped to at least one sub tree of the node-labeled tree for validation; extracting, the selected one or more element of the XML document from the at least one sub tree and extracting at least part of the scoped rule objects from the rule object model; populating, by a rule context populator of the validation engine, a rule execution context providing a rule execution scope of each rule applied to the one or more element of the XML document selected for validation, wherein the rule execution context supports a fail-fast implementation; and validating the one or more element of the XML document selected for validation by executing the scoped rule objects extracted from the rule object data model under the rule execution context. 2. The method of claim 1 , where the at least part of the rule document comprises a subset of a “phase” element of the rule document, and where the subset of the “phase” element comprises one of a rule or an assertion that respectively specifies the rule execution scope of at least one of the subset of the scoped rule objects. 3. The method of claim 1 , where the at least part of the rule document comprises a hybrid Schematron rule that is a subset of a “phase” element that is based upon multiple Schematron versions, and where the subset of the “phase” element specifies the rule execution scope of at least one of the subset of the scoped rule objects. 4. The method of claim 1 , where the scoped rule objects comprise sharable rule execution contexts reusable during execution by different scoped rule objects. 5. The method of claim 1 , wherein validating the one or more element of the XML document comprises executing a subset of the scoped rule objects hierarchically within a shared rule execution context. 6. The method of claim 1 , further comprising: generating an execution context for at least one scoped rule object according to a predefined function, registering the execution context to a context registry, and performing validation of the at least one scoped rule object in the execution context. 7. The method of claim 1 , where: the rule document comprises a Schematron document and the scoped rule objects in the rule object model maintain a hierarchical relationship within the memory according to a hierarchical relationship of corresponding elements in the Schematron document; and the data objects maintain a hierarchical relationship within the memory according to a hierarchical relationship of corresponding elements in the XML document. 8. A system for validating an XML document, comprising: a memory; and a processor programmed to: read, by an XML parser of a validation engine, the XML document inputted into the XML parser, wherein said XML parser provides programmatic access to XML data of the XML document and determines how the XML data is accessed and retrieved; parse, by the XML parser, at least part of the XML document to be validated and express the XML data in the at least part of the XML document as data objects in at least one data object model in the memory, wherein the XML document being parsed is modeled as a node-labeled tree; map each element of the XML document parsed by the XML parser to a sub tree of the node-labeled tree, wherein each root node of each sub tree is labelled with a tag describing an element of the sub tree; parse, by a rule parser of the validation engine, at least part of a rule document inputted into the rule parser, the rule document comprising one or more elements in a hierarchical relationship and output rule data parsed from the at least part of the rule document as scoped rule objects in a rule object model in the memory, wherein the rule object data model maintains the hierarchical relationship of the one or more elements; select, by a user interface of the validation engine, one or more element of the XML document mapped to at least one sub tree of the node-labeled tree for validation; extract, the selected one or more element of the XML document from the at least one sub tree and extracting at least part of the scoped rule objects from the rule object model; populate, by a rule context populator of the validation engine, a rule execution context providing a rule execution scope of each rule applied to the one or more element of the XML document selected for validation, wherein the rule execution context supports a fail-fast implementation; and validate the one or more element of the XML document selected for validation by executing the scoped rule objects extracted from the rule object data model under the rule execution context. 9. The system of claim 8 , where the at least part of the rule document comprises a subset of a “phase” element of the rule document, and where the subset of the “phase” element comprises one of a rule or an assertion that respectively specifies the rule execution scope of at least one of the subset of the scoped rule objects. 10. The system of claim 8 , where the at least part of the rule document comprises a hybrid Schematron rule that is a subset of a “phase” element that is based upon multiple Schematron versions, and where the subset of the “phase” element specifies the rule execution scope of at least one of the subset of the scoped rule objects. 11. The system of claim 8 , where the scoped rule objects comprise sharable rule execution contexts reusable during execution by different scoped rule objects. 12. The system of claim 8 , where, in being programmed to validate, the processor is programmed to execute a subset of scoped rule objects hierarchically within a shared rule execution context. 13. The system of claim 8 , where the processor is further programmed to: generate an execution context for at least one scoped rule object according to a predefined function, register the execution context to a context registry, and perform validation of the at least one scoped rule object in the execution context. 14. The system of claim 8 , where: the rule document comprises a Schematron document and the scoped rule objects in the rule object model maintain a hierarchical relationship within the memory according to a hierarchical relationship of corresponding elements in the Schematron document; and the data objects maintain a hierarchical relationship within the memory according to a hierarchical relationship
Markup, e.g. Standard Generalized Markup Language [SGML] or Document Type Definition [DTD] · CPC title
of spreadsheets (form-filling G06F40/174) · CPC title
Rule-based translation · CPC title
Validation · CPC title
Machine learning, data mining or chemometrics · CPC title
Related publications grouped by family.
Answers are generated from the same data shown on this page.