Validating an XML document

US10915703B2 · US · B2

Patent metadata
FieldValue
Publication numberUS-10915703-B2
Application numberUS-201916512825-A
CountryUS
Kind codeB2
Filing dateJul 16, 2019
Priority dateJul 24, 2008
Publication dateFeb 9, 2021
Grant dateFeb 9, 2021

How to read this patent

A practical reading order for non-experts. Skip the full description unless you need deep technical detail.

  1. Title

    What the patent document calls the invention.

  2. Abstract

    A short plain-language summary of the technical disclosure.

  3. Assignees and inventors

    Who owns or filed the patent and who is credited as inventor.

  4. Key dates

    Filing, priority, publication, and grant dates set the timeline.

  5. First independent claim

    The legal scope of protection — read this for what is actually claimed.

  6. CPC / IPC classifications

    Technology tags used to group this patent with similar filings.

  7. Citations and related patents

    Prior art links and similar publications in this corpus.

Abstract

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.

First claim

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

Assignees

Inventors

Classifications

  • G06F40/143Primary

    Markup, e.g. Standard Generalized Markup Language [SGML] or Document Type Definition [DTD] · CPC title

  • G06F40/18Primary

    of spreadsheets (form-filling G06F40/174) · CPC title

  • Rule-based translation · CPC title

  • Validation · CPC title

  • Machine learning, data mining or chemometrics · CPC title

Patent family

Related publications grouped by family.

External sources

Frequently asked questions

Answers are generated from the same data shown on this page.

What does patent US10915703B2 cover?
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 …
Who is the assignee on this patent?
IBM
What technology area does this patent fall under?
Primary CPC classification G06F40/143. Mapped technology areas include Physics.
When was this patent published?
Publication date Tue Feb 09 2021 00:00:00 GMT+0000 (Coordinated Universal Time) (B2). Legal status and post-grant events are not shown on this page.
What related patents are in patentsdb?
We list 3 related publications on this page (citations in our corpus or others sharing the same primary CPC).