edu.ucsb.nceas.metacat
Class DBSAXNode

java.lang.Object
  extended byedu.ucsb.nceas.metacat.BasicNode
      extended byedu.ucsb.nceas.metacat.DBSAXNode

public class DBSAXNode
extends BasicNode

A Class that represents an XML node and its contents and can write its own representation to a database connection


Constructor Summary
DBSAXNode(DBConnection conn, java.lang.String docid)
          Construct a new node instance for DOCUMENT nodes
DBSAXNode(DBConnection conn, java.lang.String qName, java.lang.String lName, DBSAXNode parentNode, long rootnodeid, java.lang.String docid, java.lang.String doctype)
          Construct a new node instance for ELEMENT nodes
DBSAXNode(DBConnection conn, java.lang.String docName, java.lang.String publicId, java.lang.String systemId, DBSAXNode parentNode, long rootnodeid, java.lang.String docid)
          Construct a new node instance for DTD nodes This Node will write docname, publicId and systemId into db.
 
Method Summary
 DBSAXNode getParentNode()
          get the parent of this node
 long setAttribute(java.lang.String attName, java.lang.String attValue, java.lang.String docid)
          Add a new attribute to this node, or set its value
 long setNamespace(java.lang.String prefix, java.lang.String uri, java.lang.String docid)
          Add a namespace to this node
 void updateNodeIndex(DBConnection conn, java.lang.String docid, java.lang.String doctype)
          USED FROM SEPARATE THREAD RUNNED from DBSAXHandler on endDocument() Update the node index (xml_index) for this node by generating test strings that represent all of the relative and absolute paths through the XML tree from document root to this node
 void updateRootNodeID(long nodeid)
          update rootnodeid=nodeid for 'DOCUMENT' type of nodes only
 long writeChildNodeToDB(java.lang.String nodetype, java.lang.String nodename, java.lang.String data, java.lang.String docid)
          creates SQL code and inserts new node into DB connection
 long writeDTDNodeToDB(java.lang.String nodename, java.lang.String data, java.lang.String docid)
          creates SQL code and inserts new node into DB connection
 void writeNodename(java.lang.String nodename)
          creates SQL code to put nodename for the document node into DB connection
 
Methods inherited from class edu.ucsb.nceas.metacat.BasicNode
addChildNode, getAttribute, getAttributes, getChildren, getDocID, getNamespace, getNodeID, getNodeIndex, getNodeType, getParentID, getRootNodeID, getTagName, incChildNum, setAttribute, setDocID, setNamespace, setNodeID, setNodeIndex, setNodeType, setParentID, setRootNodeID, setTagName
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

DBSAXNode

public DBSAXNode(DBConnection conn,
                 java.lang.String docid)
          throws org.xml.sax.SAXException
Construct a new node instance for DOCUMENT nodes

Parameters:
conn - the JDBC Connection to which all information is written

DBSAXNode

public DBSAXNode(DBConnection conn,
                 java.lang.String qName,
                 java.lang.String lName,
                 DBSAXNode parentNode,
                 long rootnodeid,
                 java.lang.String docid,
                 java.lang.String doctype)
          throws org.xml.sax.SAXException
Construct a new node instance for ELEMENT nodes

Parameters:
conn - the JDBC Connection to which all information is written
parentNode - the parent node for this node being created

DBSAXNode

public DBSAXNode(DBConnection conn,
                 java.lang.String docName,
                 java.lang.String publicId,
                 java.lang.String systemId,
                 DBSAXNode parentNode,
                 long rootnodeid,
                 java.lang.String docid)
          throws org.xml.sax.SAXException
Construct a new node instance for DTD nodes This Node will write docname, publicId and systemId into db. Only handle systemid existed.(external dtd)

Parameters:
conn - the JDBC Connection to which all information is written
parentNode - the parent node for this node being created
Method Detail

writeChildNodeToDB

public long writeChildNodeToDB(java.lang.String nodetype,
                               java.lang.String nodename,
                               java.lang.String data,
                               java.lang.String docid)
                        throws org.xml.sax.SAXException
creates SQL code and inserts new node into DB connection

Throws:
org.xml.sax.SAXException

updateRootNodeID

public void updateRootNodeID(long nodeid)
                      throws org.xml.sax.SAXException
update rootnodeid=nodeid for 'DOCUMENT' type of nodes only

Throws:
org.xml.sax.SAXException

writeNodename

public void writeNodename(java.lang.String nodename)
                   throws org.xml.sax.SAXException
creates SQL code to put nodename for the document node into DB connection

Throws:
org.xml.sax.SAXException

writeDTDNodeToDB

public long writeDTDNodeToDB(java.lang.String nodename,
                             java.lang.String data,
                             java.lang.String docid)
                      throws org.xml.sax.SAXException
creates SQL code and inserts new node into DB connection

Throws:
org.xml.sax.SAXException

setAttribute

public long setAttribute(java.lang.String attName,
                         java.lang.String attValue,
                         java.lang.String docid)
                  throws org.xml.sax.SAXException
Add a new attribute to this node, or set its value

Throws:
org.xml.sax.SAXException

setNamespace

public long setNamespace(java.lang.String prefix,
                         java.lang.String uri,
                         java.lang.String docid)
                  throws org.xml.sax.SAXException
Add a namespace to this node

Throws:
org.xml.sax.SAXException

updateNodeIndex

public void updateNodeIndex(DBConnection conn,
                            java.lang.String docid,
                            java.lang.String doctype)
                     throws org.xml.sax.SAXException
USED FROM SEPARATE THREAD RUNNED from DBSAXHandler on endDocument() Update the node index (xml_index) for this node by generating test strings that represent all of the relative and absolute paths through the XML tree from document root to this node

Throws:
org.xml.sax.SAXException

getParentNode

public DBSAXNode getParentNode()
get the parent of this node



Copyright © 2000 National Center for Ecological Analysis and Synthesis. All Rights Reserved.