Managing cyclic constructs of XML schema in a rdbms
AssigneeOracle International Corporation
InventorsAbhyudaya Agrawal, Ravi Murthy, Nipun Agarwal, Sivasankaran Chandrasekar, Eric Sedlar
Life of this patent
Estimating the term…
Abstract
A database system automatically detects a cyclic construct in a XML schema, determines a database representation for the cyclic construct, and maps the XML schema and elements involved in the cyclic construct to the database representation.
Claims18
A method, comprising
- a database server registering a XML schema, wherein registering the XML schema includes:
- traversing a declaration of a first element that comprises a second element;
- while traversing said declaration of said first element:
- tracking on a stack a declaration of an element or a type encountered during said traversing;
- encountering said second element;
- and
- determining that said second element belongs to a type within a hierarchy of inheritance of a certain type of said first element by at least determining that said first element is on the stack;
- and
- in response to determining that said second element belongs to a type within a hierarchy of inheritance of a certain type of the first element, performing:
- determining that said XML schema defines a cyclic construct;
- determining a database representation capable of storing instances of said XML schema that contain said cyclic construct;
- and
- generating a mapping between constructs of said XML schema and said database representation.
A method, comprising
- a database server registering a XML schema, wherein registering the XML schema includes:
- traversing a declaration of a type of a first element that comprises a second element:
- while traversing said declaration of said type of said first element:
- tracking on a stack a declaration of an element or a type encountered during said traversing;
- encountering said second element;
- and
- determining that said second element belongs to a type within a hierarchy of inheritance of a certain type of the first element by at least determining that said certain type of said first element is on the stack;
- and
- in response to determining that said second element belongs to a type within a hierarchy of inheritance of a certain type of the first element, performing:
- determining that said XML schema defines a cyclic construct;
- determining a database representation capable of storing instances of said XML schema that contain said cyclic construct;
- and
- generating a mapping between constructs of said XML schema and said database representation.
A volatile or non-volatile computer-readable medium storing one or more sequences of instructions which, when executed by one or more processors, causes the one or more processors to perform
- a database server registering a XML schema, wherein registering the XML schema includes:
- traversing a declaration of a first element that comprises a second element;
- while traversing said declaration of said first element:
- tracking on a stack a declaration of an element or a type encountered during said traversing;
- encountering said second element;
- and
- determining that said second element belongs to a type within a hierarchy of inheritance of a certain type of said first element by at least determining that said first element is on the stack;
- and
- in response to determining that said second element belongs to a type within a hierarchy of inheritance of a certain type of the first element, performing:
- determining that said XML schema defines a cyclic construct;
- determining a database representation capable of storing instances of said XML schema that contain said cyclic construct;
- and
- generating a mapping between constructs of said XML schema and said database representation.
A volatile or non-volatile computer-readable medium storing one or more sequences of instructions which, when executed by one or more processors, causes the one or more processors to perform
- a database server registering a XML schema, wherein registering the XML schema includes:
- traversing a declaration of a type of a first element that comprises a second element:
- while traversing said declaration of said type of said first element:
- tracking on a stack a declaration of an element or a type encountered during said traversing;
- encountering said second element;
- and
- determining that said second element belongs to a type within a hierarchy of inheritance of a certain type of the first element by at least determining that said certain type of said first element is on the stack;
- and
- in response to determining that said second element belongs to a type within a hierarchy of inheritance of a certain type of the first element, performing:
- determining that said XML schema defines a cyclic construct;
- determining a database representation capable of storing instances of said XML schema that contain said cyclic construct;
- and
- generating a mapping between constructs of said XML schema and said database representation.
Dependencies are inferred from the claim text.