IP Library Granted Patent US 8,055,611
Granted Patent B1
US 8,055,611 · App. 12/058,889 · Granted Nov 8, 2011

Simplified XPath evaluation in XML document validation

View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 8,055,611
App. No.
12/058,889
Granted
Nov 8, 2011
Kind
B1
Abstract

Simplified XPath evaluation in Extensible Markup Language (XML) document validation. XML schema is compiled into a one dimensional array of schema nodes, where a schema node represents a complex/simple type definition in the XML scheme. Identity constraints are processed during compilation and Xpath expressions within these constraints are extracted and parsed. Further, these Xpath expressions are evaluated at compilation time to identify the schema nodes corresponding to the XML nodes referred in the identity constraints. The identity constraints are then enforced at runtime without the need to evaluate the Xpath expressions at the runtime.

Claims (36)

1. A computer implemented method comprising:

at compile time:

parsing XPath expressions included in identity constraints of an XML schema;

evaluating XPath expressions to identify one or more schema nodes in an XML schema corresponding to XML nodes referred in identity constraints as one or more XPath expressions, wherein one or more XPath expressions are evaluated at compile time;

marking the one or more schema nodes identified as identity constraints with at least unique or key;

at runtime:

enforcing the identity constraints on an XML document without evaluating the XPath expressions; and

responsive to encountering an XML node marked as unique or key, storing a value field associated with the XML node if another XML node having the same value is not already present in the list and indicating violation if the same value is already present.

2. The computer implemented method of claim 1 further comprising, prior to identifying:

compiling an XML schema and generating compiled XML schema, wherein the compiled XML schema comprises a one-dimensional array of schema nodes corresponding to type definitions of elements and attributes defined in the compiled XML schema.

3. The computer implemented method of claim 1 , wherein marking one or more schema nodes comprises:

marking one or more schema nodes identified in a one-dimensional schema node array of the compiled XML schema.

4. The computer implemented method of claim 1 , wherein the identity constraints comprises at least one of key, keyref and unique.

5. A computer implemented system comprising:

an XPath parser, in an XML schema compiler, to parse XPath expressions included in identity constraints of an XML schema at compile time;

an identifying module, in an XML schema compiler, to identify one or more schema nodes in an XML schema corresponding to XML nodes referred in identity constraints as one or more XPath expressions, wherein one or more XPath expressions are evaluated at compile time;

a marking module for marking the one or more schema nodes identified as identify constraints with at least unique or key at compile time; and

an identity constraint enforcing module, in an XML schema validator, for enforcing the identity constraints on an XML document without evaluating the one or more Xpath expressions specified in the identity constraints at runtime, and responsive to encountering an XML node marked as unique or key, storing a value field associated with the XML node if another XML node having the same value is not already present in the list and indicating violation if the same value is already present.

6. The computer implemented system of claim 5 , further comprising:

the XML schema compiler for compiling an XML schema and generating compiled XML schema wherein the compiled XML schema comprises a one-dimensional schema node array including one or more type definitions of elements and attributes defined in the compiled XML schema; and

an XPath parser for evaluating the one or more XPath expressions at the compile time.

7. The computer implemented system of claim 5 , wherein the marking module marks the one or more schema nodes in the compiled one-dimensional schema node array as nodes referred in identity constraints.

8. The computer implemented system of claim 5 , wherein the identity constraints comprises at least one of key, keyref and unique.

9. A non-transitory machine-readable medium product, comprising instructions operable to cause a programmable processor to perform:

at compile time:

parsing XPath expressions included in identity constraints of an XML schema;

evaluating XPath expressions to identify one or more schema nodes in an XML schema corresponding to XML nodes referred in identity constraints as one or more XPath expressions, wherein one or more XPath expressions are evaluated at compile time;

marking the one or more schema nodes identified as identity constraints with at least unique or key;

at runtime:

enforcing the identity constraints on an XML document without evaluating the one or more XPath expressions; and

responsive to encountering an XML node marked as unique or key, storing a value field associated with the XML node if another XML node having the same value is not already present in the list and indicating violation if the same value is already present.

10. The machine-readable medium product of claim 9 further comprising instructions operable to cause a programmable processor to perform, prior to identifying:

compiling an XML schema and generating compiled XML schema, wherein the compiled XML schema comprises a one-dimensional array including one or more type definitions of elements and attributes defined in the compiled XML schema.

11. The machine-readable medium product of claim 9 , wherein marking one or more schema nodes comprises:

marking one or more schema nodes in a compiled one-dimensional schema node array of the compiled XML schema as nodes referred in identity constraints.

12. The machine-readable medium product of claim 9 , wherein the identity constraints comprises at least one of key, keyref and unique.

Assignments (5)
CHANGE OF NAME Recorded Oct 5, 2017
From: GOOGLE INC.
To: GOOGLE LLC
Reel/Frame 044129/0001 →
CHANGE OF NAME Recorded Feb 13, 2017
From: SONOA NETWORKS (INDIA) PRIVATE LIMITED
To: APIGEE TECHNOLOGIES (INDIA) PRIVATE LIMITED
Reel/Frame 041696/0245 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jan 12, 2017
From: APIGEE CORPORATION
To: GOOGLE INC.
Reel/Frame 040955/0070 →
CHANGE OF NAME Recorded Aug 20, 2013
From: APIGEE TECHNOLOGIES (INDIA) PRIVATE LIMITED
To: APIGEE CORPORATION
Reel/Frame 031040/0098 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded May 2, 2008
From: KUMAR, ARUN; NETHI, RAMESH
To: SONOA NETWORKS INDIA (PVT) LTD.
Reel/Frame 020895/0808 →