Table of Contents
The Document Manager database specification is heavily based on existing XML object models, especially that for libxml2. It takes advantage of PostgreSQL's object inheritance capabilities to allow for abstraction of the various node types that can be encountered in XML documents and DTDs.
The XML_Node_Root provides code data for all nodes in the XML tree. The remainder of the tables described in this section will inherit their core management structure from XML_Node.
Name | Type | Nulls? | Default | Description |
---|---|---|---|---|
Node_ID | integer | N | n/a | Unique ID for this XML Node |
Seq_No | integer | N | n/a | A "revision number" for this row. The sequence number supports locking validation and history. |
Latest_Ind | boolean | N | TRUE | Indicates that this row is the latest entry for this particular Node_ID. (Note that one should also verify that End_Date is NULL to determine that this is an active Xml_Node.) |
Name_Txt | text | Y | NULL | Where applicable, the name of this Xml_Node |
Dtd_Node_ID | integer | Y | n/a | Node_ID of the root node of the DTD in which this node is defined. |
Doc_Node_ID | integer | Y | n/a | Node_ID of the document in which this node was found. |
Top_Node_ID | integer | N | n/a | Node_ID of the top of the document in which this node was found. This will be identical to either the Dtd_Node_ID or the Doc_Node_ID, depending upon from where this node was sourced. |
Level_No | integer | N | n/a | Nesting Depth for this node. Level_No of zero (0) indicates a Doc or DTD root node. |
Sort_No | integer | N | n/a | Order in which this node occured within the document identified by Top_Node_ID |
Range_End_no | integer | N | n/a | Largest Sort_No that can be had by a child of this node. Given two nodes with a parent-child relationship, it will be true that parent.sort_no < child.sort_no <= child.range_end_no <= parent.range_end_no and that parent.level + 1 == child.level. |
Create_Tstp | timestamp | N | 'now' | Timestamp (UTC) at which this particular row was created. |
Update_Tstp | timestamp | N | 'infinity' | Timestamp (UTC) at which this particular row was superceded by one with the next Seq_No. |
Start_Date | date | N | 'today' | Date on which this Node (as identified by its Node_ID) was first created. |
End_Date | date | N | 'infinity' | Data on which this Node (as identified by its Node_ID) was removed from its owning document. |
The XML_Attr represents an attribute and its value within an XML element. The value will be stored in an XML_Element_Text
The tables described in this section are not descended from XML_Node_Root.
Describes namespaces by URL. XML_Ns_Defn associates namespaces to particular references to them in individual documents.
Associates namespaces to 'xmlns:ns=' definitions is individual documents and elements.
Name | Type | Nulls? | Default | Description |
---|---|---|---|---|
Namespace_ID | integer | N | n/a | Unique ID for this XML Node |
Node_ID | integer | N | n/a | Identfier of the node where the namespace was referenced |
Ns_Prefix_Text | text | N | n/a | Text prefix to be used to reference this name space. |