Array-based extensible document storage format
First Claim
1. A computer program product embodied on one or more computer-readable media, the computer program product adapted for representing a source document encoded in an extensible structured notation using a plurality of arrays and comprising:
- computer-readable program code means for generating an element name array, the element name array comprising an element name entry for each element in the source document, wherein each element name entry specifies a starting name position and one of (1) a name length or (2) an ending name position;
computer-readable program code means for generating an element value array, the element value array comprising an element value entry for each element in the source document, wherein each element value entry specifies a starting value position and one of (1) a value length or (2) an ending value position;
computer-readable program code means for generating a parent array, the parent array comprising a parent entry for each element in the source document and wherein a value of each parent entry identifies a parent of the element;
computer-readable program code means for generating a child array, the child array comprising a child entry for each element in the source document and wherein a value of each child entry identifies zero or more children of the element; and
computer-readable program code means for storing the generated arrays in memory or writing the generated arrays to one or more storage media.
1 Assignment
0 Petitions
Accused Products
Abstract
Systems and computer program products are provided having a plurality of arrays used to represent structured documents. The arrays include an element name array including an element name entry for each element in the structure document, an element value array including an element value entry for each element in the structured document, an attribute array including an attribute entry for each element in the structured document, a parent array including a parent entry for each element in the structured document and a child array including a child entry for each element in the structured document, The value of each parent entry identifies a parent of the element and the value of each child entry identifies zero or more children of the element.
104 Citations
18 Claims
-
1. A computer program product embodied on one or more computer-readable media, the computer program product adapted for representing a source document encoded in an extensible structured notation using a plurality of arrays and comprising:
-
computer-readable program code means for generating an element name array, the element name array comprising an element name entry for each element in the source document, wherein each element name entry specifies a starting name position and one of (1) a name length or (2) an ending name position;
computer-readable program code means for generating an element value array, the element value array comprising an element value entry for each element in the source document, wherein each element value entry specifies a starting value position and one of (1) a value length or (2) an ending value position;
computer-readable program code means for generating a parent array, the parent array comprising a parent entry for each element in the source document and wherein a value of each parent entry identifies a parent of the element;
computer-readable program code means for generating a child array, the child array comprising a child entry for each element in the source document and wherein a value of each child entry identifies zero or more children of the element; and
computer-readable program code means for storing the generated arrays in memory or writing the generated arrays to one or more storage media. - View Dependent Claims (2, 3, 4)
-
-
5. A computer program product embodied on one or more computer-readable media, the computer program product adapted for creating a plurality of arrays to represent a source document encoded in a machine-oriented extensible structured notation (“
- mXML”
) and comprising;computer-readable program code means for obtaining a node count from the source document;
computer-readable program code means for generating the arrays based on the node count; and
computer-readable program code means for processing a plurality of node specifications from the source document, further comprising;
computer-readable program code means for obtaining an element name specification from the node specification;
computer-readable program code means for storing element name information in an element name army, using the element name specification;
computer-readable program code means for obtaining an attribute list specification from the node specification;
computer-readable program code means for storing attribute information in an attribute array, using the attribute list specification;
computer-readable program code means for obtaining a child list specification from the node specification;
computer-readable program code means for storing child information in a child array, using the child list specification;
computer-readable program code means for storing parent information in a parent array, using the child list specification;
computer-readable program code means for obtaining an element value specification from the node specification; and
computer-readable program code means for storing element value information in an element value array, using the element specification. - View Dependent Claims (6)
- mXML”
-
7. A computer program product embodied on one or more computer-readable media, the computer program product adapted for transforming a structured document and comprising:
-
computer-readable program code means for creating an array-based representation of the structured document, further comprising;
computer-readable program code means for creating an element name array to store information pertaining to a name of each of a plurality of elements in the structured document;
computer-readable program code means for creating an element value array to store information pertaining to a value of each of the elements;
computer-readable program code means for creating an attribute array to store information pertaining to a name and a value of each of zero or more attributes of each of the elements;
computer-readable program code means for creating a parent array to store information pertaining to a parent of each of the elements; and
computer-readable program code means for creating a child array to store information pertaining to zero or more children of each of the elements;
computer-readable program code means for obtaining an identification of a particular element of the structured document which is to be transformed;
computer-readable program code means for locating an entry for the particular element in the arrays-based representation; and
computer-readable program code means for transforming information represented by the located entry. - View Dependent Claims (8, 9)
-
-
10. A method for representing a source document encoded in an extensible structured notation using a plurality of arrays, comprising the steps of:
-
generating an element name array, the element name array comprising an element name entry for each element in the source document, wherein each element name entry specifies a starting name position and one of (1) a name length or (2) an ending name position;
generating an element value array, the element value array comprising an element value entry for each element in the source document, wherein each element value entry specifies a starting value position and one of (1) a value length or (2) an ending value position;
generating a parent array, the parent array comprising a parent entry for each element in the source document and wherein a value of each parent entry identifies a parent of the element;
generating a child array, the child away comprising a child entry for each element in the source document and wherein a value of each child entry identifies zero or more children of the element; and
storing the generated arrays in memory or writing the generated arrays to one or more storage media. - View Dependent Claims (11, 12, 13)
-
-
14. A method for creating a plurality of arrays to represent a source document encoded in a machine-oriented extensible structured notation (“
- mXML”
), comprising the steps of;obtaining a node count from the source document;
generating the arrays based on the node count; and
processing a plurality of node specifications from the source document, further comprising the steps of;
obtaining an element name specification from the node specification;
storing element name information in an element name array, using the element name specification;
obtaining an attribute list specification from the node specification;
storing attribute information in an attribute array, using the attribute list specification;
obtaining a child list specification from the specification;
storing child information in a child array, using the child list specification;
storing parent information in a parent array, using the child list specification;
obtaining an element value specification from the node specification; and
storing element value information in an element value array, using the element specification. - View Dependent Claims (15)
- mXML”
-
16. A method for transforming a structured document, comprising the steps of:
-
creating an array-based representation of the structured document, further comprising the steps of;
creating an element name array to store information pertaining to a name of each of a plurality of elements in the structured document;
creating an element value array to store information pertaining to a value of each of the elements;
creating an attribute array to store information pertaining to a name and a value of each of zero or more attributes of each of the elements;
creating a parent array to store information pertaining to a parent of each of the elements; and
creating a child array to store information pertaining to zero or more children of each of the elements;
obtaining an identification of a particular element of the structured document which is to be transformed;
locating an entry for the particular element in the arrays-based representation; and
transforming information represented by the located entry. - View Dependent Claims (17, 18)
-
Specification