<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<!-- NewPage -->
<html lang="en">
<head>
<!-- Generated by javadoc (1.8.0_265) on Tue Aug 25 19:30:51 UTC 2020 -->
<title>Eml200SAXHandler (MetaCat API)</title>
<meta name="date" content="2020-08-25">
<link rel="stylesheet" type="text/css" href="../../../../stylesheet.css" title="Style">
<script type="text/javascript" src="../../../../script.js"></script>
</head>
<body>
<script type="text/javascript"><!--
    try {
        if (location.href.indexOf('is-external=true') == -1) {
            parent.document.title="Eml200SAXHandler (MetaCat API)";
        }
    }
    catch(err) {
    }
//-->
var methods = {"i0":10,"i1":10,"i2":10,"i3":10,"i4":10,"i5":10,"i6":10,"i7":10,"i8":10,"i9":9,"i10":10,"i11":10};
var tabs = {65535:["t0","All Methods"],1:["t1","Static Methods"],2:["t2","Instance Methods"],8:["t4","Concrete Methods"]};
var altColor = "altColor";
var rowColor = "rowColor";
var tableTab = "tableTab";
var activeTableTab = "activeTableTab";
</script>
<noscript>
<div>JavaScript is disabled on your browser.</div>
</noscript>
<!-- ========= START OF TOP NAVBAR ======= -->
<div class="topNav"><a name="navbar.top">
<!--   -->
</a>
<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
<a name="navbar.top.firstrow">
<!--   -->
</a>
<ul class="navList" title="Navigation">
<li><a href="../../../../overview-summary.html">Overview</a></li>
<li><a href="package-summary.html">Package</a></li>
<li class="navBarCell1Rev">Class</li>
<li><a href="class-use/Eml200SAXHandler.html">Use</a></li>
<li><a href="package-tree.html">Tree</a></li>
<li><a href="../../../../deprecated-list.html">Deprecated</a></li>
<li><a href="../../../../index-all.html">Index</a></li>
<li><a href="../../../../help-doc.html">Help</a></li>
</ul>
</div>
<div class="subNav">
<ul class="navList">
<li><a href="../../../../edu/ucsb/nceas/metacat/ElementNode.html" title="class in edu.ucsb.nceas.metacat"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
<li><a href="../../../../edu/ucsb/nceas/metacat/EML201DocumentCorrector.html" title="class in edu.ucsb.nceas.metacat"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
</ul>
<ul class="navList">
<li><a href="../../../../index.html?edu/ucsb/nceas/metacat/Eml200SAXHandler.html" target="_top">Frames</a></li>
<li><a href="Eml200SAXHandler.html" target="_top">No&nbsp;Frames</a></li>
</ul>
<ul class="navList" id="allclasses_navbar_top">
<li><a href="../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
</ul>
<div>
<script type="text/javascript"><!--
  allClassesLink = document.getElementById("allclasses_navbar_top");
  if(window==top) {
    allClassesLink.style.display = "block";
  }
  else {
    allClassesLink.style.display = "none";
  }
  //-->
</script>
</div>
<div>
<ul class="subNavList">
<li>Summary:&nbsp;</li>
<li>Nested&nbsp;|&nbsp;</li>
<li><a href="#field.summary">Field</a>&nbsp;|&nbsp;</li>
<li><a href="#constructor.summary">Constr</a>&nbsp;|&nbsp;</li>
<li><a href="#method.summary">Method</a></li>
</ul>
<ul class="subNavList">
<li>Detail:&nbsp;</li>
<li><a href="#field.detail">Field</a>&nbsp;|&nbsp;</li>
<li><a href="#constructor.detail">Constr</a>&nbsp;|&nbsp;</li>
<li><a href="#method.detail">Method</a></li>
</ul>
</div>
<a name="skip.navbar.top">
<!--   -->
</a></div>
<!-- ========= END OF TOP NAVBAR ========= -->
<!-- ======== START OF CLASS DATA ======== -->
<div class="header">
<div class="subTitle">edu.ucsb.nceas.metacat</div>
<h2 title="Class Eml200SAXHandler" class="title">Class Eml200SAXHandler</h2>
</div>
<div class="contentContainer">
<ul class="inheritance">
<li>java.lang.Object</li>
<li>
<ul class="inheritance">
<li>org.xml.sax.helpers.DefaultHandler</li>
<li>
<ul class="inheritance">
<li><a href="../../../../edu/ucsb/nceas/metacat/DBSAXHandler.html" title="class in edu.ucsb.nceas.metacat">edu.ucsb.nceas.metacat.DBSAXHandler</a></li>
<li>
<ul class="inheritance">
<li>edu.ucsb.nceas.metacat.Eml200SAXHandler</li>
</ul>
</li>
</ul>
</li>
</ul>
</li>
</ul>
<div class="description">
<ul class="blockList">
<li class="blockList">
<dl>
<dt>All Implemented Interfaces:</dt>
<dd>edu.ucsb.nceas.utilities.access.AccessControlInterface, org.xml.sax.ContentHandler, org.xml.sax.DTDHandler, org.xml.sax.EntityResolver, org.xml.sax.ErrorHandler, org.xml.sax.ext.DeclHandler, org.xml.sax.ext.LexicalHandler</dd>
</dl>
<hr>
<br>
<pre>public class <span class="typeNameLabel">Eml200SAXHandler</span>
extends <a href="../../../../edu/ucsb/nceas/metacat/DBSAXHandler.html" title="class in edu.ucsb.nceas.metacat">DBSAXHandler</a>
implements edu.ucsb.nceas.utilities.access.AccessControlInterface</pre>
<div class="block">A database aware Class implementing callback methods for the SAX parser to
 call when processing the XML stream and generating events
 Here is the rules for user which has write permission in top level access
 rules(he can update metadata but can't update access module) try to update
 a document:
 1. Checking access part (both in top level and additional level, node by node)
    If something was modified, reject the document. Note: for additional part
    The access subtree startnode starts at "<describe>" rather than <access>.
    This is because make sure ids wouldn't be mess up by user.
 2. Checking ids in additional access part, if they points a distribution
    module with online or inline. If some ids don't, reject the documents.
 3. For inline distribution:
    If user can't read the inline data, the empty string in inline element
    will be send to user if he read this eml document(user has read access
    at top level - metadata, but user couldn't read inline data).
    Here is some interested scenario: If user does have read and write
    permission in top level access rules(for metadata)
    but 1) user doesn't have read and write permission in inline data block,
    so if user update the document with some inline data rather than
    empty string in same inline data block(same distribution inline id),
    this means user updated the inline data. So the document should be
    rejected.
    2) user doesn't have read permission, but has write permission in
    inline data block. If user send back inline data block with empty
    string, we will think user doesn't update inline data and we will
    copy old inline data back to the new one. If user send something
    else, we will overwrite the old inline data by new one.
 4. For online distribution:
    It is easy than inline distribution. When the user try to change a external
    document id, we will checking if the user have "all" permission to it.
    If don't have, reject the document. If have, delete the old rules and apply
    The new rules.


 Here is some info about additional access rules ( data object rules):
  The data access rules format looks like:
  <additionalMetadata>
    <describes>100</describes>
    <describes>300</describes>
    <access>rulesone</access>
  </additionalMetadata>
  <additionalMetadata>
    <describes>200</describes>
    <access>rulesthree</access>
  </additionalMetadata>
  Because eml additionalMetadata is (describes+, any) and any ocurrence is 1.
  So following xml will be rejected by xerces.
  <additionalMetadata>
    <describes>100</describes>
    <describes>300</describes>
    <other>....</other>
    <access>rulesone</access>
  </additionalMetadata></div>
</li>
</ul>
</div>
<div class="summary">
<ul class="blockList">
<li class="blockList">
<!-- =========== FIELD SUMMARY =========== -->
<ul class="blockList">
<li class="blockList"><a name="field.summary">
<!--   -->
</a>
<h3>Field Summary</h3>
<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Field Summary table, listing fields, and an explanation">
<caption><span>Fields</span><span class="tabEnd">&nbsp;</span></caption>
<tr>
<th class="colFirst" scope="col">Modifier and Type</th>
<th class="colLast" scope="col">Field and Description</th>
</tr>
<tr class="altColor">
<td class="colFirst"><code>static java.lang.String</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../edu/ucsb/nceas/metacat/Eml200SAXHandler.html#DATAACCESSLEVEL">DATAACCESSLEVEL</a></span></code>&nbsp;</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>static java.lang.String</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../edu/ucsb/nceas/metacat/Eml200SAXHandler.html#INLINE">INLINE</a></span></code>&nbsp;</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>static java.lang.String</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../edu/ucsb/nceas/metacat/Eml200SAXHandler.html#TOPLEVEL">TOPLEVEL</a></span></code>&nbsp;</td>
</tr>
</table>
<ul class="blockList">
<li class="blockList"><a name="fields.inherited.from.class.edu.ucsb.nceas.metacat.DBSAXHandler">
<!--   -->
</a>
<h3>Fields inherited from class&nbsp;edu.ucsb.nceas.metacat.<a href="../../../../edu/ucsb/nceas/metacat/DBSAXHandler.html" title="class in edu.ucsb.nceas.metacat">DBSAXHandler</a></h3>
<code><a href="../../../../edu/ucsb/nceas/metacat/DBSAXHandler.html#action">action</a>, <a href="../../../../edu/ucsb/nceas/metacat/DBSAXHandler.html#atFirstElement">atFirstElement</a>, <a href="../../../../edu/ucsb/nceas/metacat/DBSAXHandler.html#catalogid">catalogid</a>, <a href="../../../../edu/ucsb/nceas/metacat/DBSAXHandler.html#connection">connection</a>, <a href="../../../../edu/ucsb/nceas/metacat/DBSAXHandler.html#createDate">createDate</a>, <a href="../../../../edu/ucsb/nceas/metacat/DBSAXHandler.html#currentDocument">currentDocument</a>, <a href="../../../../edu/ucsb/nceas/metacat/DBSAXHandler.html#docid">docid</a>, <a href="../../../../edu/ucsb/nceas/metacat/DBSAXHandler.html#docname">docname</a>, <a href="../../../../edu/ucsb/nceas/metacat/DBSAXHandler.html#doctype">doctype</a>, <a href="../../../../edu/ucsb/nceas/metacat/DBSAXHandler.html#ECOGRID">ECOGRID</a>, <a href="../../../../edu/ucsb/nceas/metacat/DBSAXHandler.html#encoding">encoding</a>, <a href="../../../../edu/ucsb/nceas/metacat/DBSAXHandler.html#endNodeId">endNodeId</a>, <a href="../../../../edu/ucsb/nceas/metacat/DBSAXHandler.html#groups">groups</a>, <a href="../../../../edu/ucsb/nceas/metacat/DBSAXHandler.html#hitTextNode">hitTextNode</a>, <a href="../../../../edu/ucsb/nceas/metacat/DBSAXHandler.html#ignoreDenyFirst">ignoreDenyFirst</a>, <a href="../../../../edu/ucsb/nceas/metacat/DBSAXHandler.html#MAXDATACHARS">MAXDATACHARS</a>, <a href="../../../../edu/ucsb/nceas/metacat/DBSAXHandler.html#namespaces">namespaces</a>, <a href="../../../../edu/ucsb/nceas/metacat/DBSAXHandler.html#nodeIndex">nodeIndex</a>, <a href="../../../../edu/ucsb/nceas/metacat/DBSAXHandler.html#nodeStack">nodeStack</a>, <a href="../../../../edu/ucsb/nceas/metacat/DBSAXHandler.html#processingDTD">processingDTD</a>, <a href="../../../../edu/ucsb/nceas/metacat/DBSAXHandler.html#pub">pub</a>, <a href="../../../../edu/ucsb/nceas/metacat/DBSAXHandler.html#revision">revision</a>, <a href="../../../../edu/ucsb/nceas/metacat/DBSAXHandler.html#rootNode">rootNode</a>, <a href="../../../../edu/ucsb/nceas/metacat/DBSAXHandler.html#schemaList">schemaList</a>, <a href="../../../../edu/ucsb/nceas/metacat/DBSAXHandler.html#serverCode">serverCode</a>, <a href="../../../../edu/ucsb/nceas/metacat/DBSAXHandler.html#systemid">systemid</a>, <a href="../../../../edu/ucsb/nceas/metacat/DBSAXHandler.html#textBuffer">textBuffer</a>, <a href="../../../../edu/ucsb/nceas/metacat/DBSAXHandler.html#updateDate">updateDate</a>, <a href="../../../../edu/ucsb/nceas/metacat/DBSAXHandler.html#user">user</a>, <a href="../../../../edu/ucsb/nceas/metacat/DBSAXHandler.html#writeAccessRules">writeAccessRules</a></code></li>
</ul>
<ul class="blockList">
<li class="blockList"><a name="fields.inherited.from.class.edu.ucsb.nceas.utilities.access.AccessControlInterface">
<!--   -->
</a>
<h3>Fields inherited from interface&nbsp;edu.ucsb.nceas.utilities.access.AccessControlInterface</h3>
<code>ACCESS, ACLID, ALL, ALLOW, ALLOWFIRST, ALLSTRING, CHMOD, CHMODSTRING, DENY, DENYFIRST, PERMISSION, PRINCIPAL, PUBLIC, READ, READSTRING, WRITE, WRITESTRING</code></li>
</ul>
</li>
</ul>
<!-- ======== CONSTRUCTOR SUMMARY ======== -->
<ul class="blockList">
<li class="blockList"><a name="constructor.summary">
<!--   -->
</a>
<h3>Constructor Summary</h3>
<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Constructor Summary table, listing constructors, and an explanation">
<caption><span>Constructors</span><span class="tabEnd">&nbsp;</span></caption>
<tr>
<th class="colOne" scope="col">Constructor and Description</th>
</tr>
<tr class="altColor">
<td class="colOne"><code><span class="memberNameLink"><a href="../../../../edu/ucsb/nceas/metacat/Eml200SAXHandler.html#Eml200SAXHandler-edu.ucsb.nceas.metacat.database.DBConnection-java.lang.String-java.lang.String-java.lang.String-java.lang.String-java.lang.String:A-java.lang.String-int-java.util.Date-java.util.Date-boolean-java.util.Vector-">Eml200SAXHandler</a></span>(<a href="../../../../edu/ucsb/nceas/metacat/database/DBConnection.html" title="class in edu.ucsb.nceas.metacat.database">DBConnection</a>&nbsp;conn,
                java.lang.String&nbsp;action,
                java.lang.String&nbsp;docid,
                java.lang.String&nbsp;revision,
                java.lang.String&nbsp;user,
                java.lang.String[]&nbsp;groups,
                java.lang.String&nbsp;pub,
                int&nbsp;serverCode,
                java.util.Date&nbsp;createDate,
                java.util.Date&nbsp;updateDate,
                boolean&nbsp;writeAccessRules,
                java.util.Vector&lt;java.lang.String&gt;&nbsp;guidsToSync)</code>
<div class="block">Construct an instance of the handler class In this constructor, user can
 specify the version need to upadate</div>
</td>
</tr>
</table>
</li>
</ul>
<!-- ========== METHOD SUMMARY =========== -->
<ul class="blockList">
<li class="blockList"><a name="method.summary">
<!--   -->
</a>
<h3>Method Summary</h3>
<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Method Summary table, listing methods, and an explanation">
<caption><span id="t0" class="activeTableTab"><span>All Methods</span><span class="tabEnd">&nbsp;</span></span><span id="t1" class="tableTab"><span><a href="javascript:show(1);">Static Methods</a></span><span class="tabEnd">&nbsp;</span></span><span id="t2" class="tableTab"><span><a href="javascript:show(2);">Instance Methods</a></span><span class="tabEnd">&nbsp;</span></span><span id="t4" class="tableTab"><span><a href="javascript:show(8);">Concrete Methods</a></span><span class="tabEnd">&nbsp;</span></span></caption>
<tr>
<th class="colFirst" scope="col">Modifier and Type</th>
<th class="colLast" scope="col">Method and Description</th>
</tr>
<tr id="i0" class="altColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../edu/ucsb/nceas/metacat/Eml200SAXHandler.html#characters-char:A-int-int-">characters</a></span>(char[]&nbsp;cbuf,
          int&nbsp;start,
          int&nbsp;len)</code>
<div class="block">SAX Handler that is called for each XML text node</div>
</td>
</tr>
<tr id="i1" class="rowColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../edu/ucsb/nceas/metacat/Eml200SAXHandler.html#comment-char:A-int-int-">comment</a></span>(char[]&nbsp;ch,
       int&nbsp;start,
       int&nbsp;length)</code>
<div class="block">SAX Handler that receives notification of comments in the DTD</div>
</td>
</tr>
<tr id="i2" class="altColor">
<td class="colFirst"><code>boolean</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../edu/ucsb/nceas/metacat/Eml200SAXHandler.html#compareInlineDataFiles-java.lang.String-java.lang.String-">compareInlineDataFiles</a></span>(java.lang.String&nbsp;oldFileName,
                      java.lang.String&nbsp;newFileName)</code>&nbsp;</td>
</tr>
<tr id="i3" class="rowColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../edu/ucsb/nceas/metacat/Eml200SAXHandler.html#copyInlineFile-java.lang.String-java.lang.String-">copyInlineFile</a></span>(java.lang.String&nbsp;inlineDistributionId,
              java.lang.String&nbsp;newFileName)</code>&nbsp;</td>
</tr>
<tr id="i4" class="altColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../edu/ucsb/nceas/metacat/Eml200SAXHandler.html#deleteInlineFiles--">deleteInlineFiles</a></span>()</code>&nbsp;</td>
</tr>
<tr id="i5" class="rowColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../edu/ucsb/nceas/metacat/Eml200SAXHandler.html#endDocument--">endDocument</a></span>()</code>
<div class="block">SAX Handler that receives notification of end of the document</div>
</td>
</tr>
<tr id="i6" class="altColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../edu/ucsb/nceas/metacat/Eml200SAXHandler.html#endElement-java.lang.String-java.lang.String-java.lang.String-">endElement</a></span>(java.lang.String&nbsp;uri,
          java.lang.String&nbsp;localName,
          java.lang.String&nbsp;qName)</code>
<div class="block">SAX Handler that is called at the end of each XML element</div>
</td>
</tr>
<tr id="i7" class="rowColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../edu/ucsb/nceas/metacat/Eml200SAXHandler.html#ignorableWhitespace-char:A-int-int-">ignorableWhitespace</a></span>(char[]&nbsp;cbuf,
                   int&nbsp;start,
                   int&nbsp;len)</code>
<div class="block">SAX Handler that is called for each XML text node that is Ignorable
 white space</div>
</td>
</tr>
<tr id="i8" class="altColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../edu/ucsb/nceas/metacat/Eml200SAXHandler.html#processingInstruction-java.lang.String-java.lang.String-">processingInstruction</a></span>(java.lang.String&nbsp;target,
                     java.lang.String&nbsp;data)</code>
<div class="block">SAX Handler called once for each processing instruction found: node that
 PI may occur before or after the root element.</div>
</td>
</tr>
<tr id="i9" class="rowColor">
<td class="colFirst"><code>static java.io.Reader</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../edu/ucsb/nceas/metacat/Eml200SAXHandler.html#readInlineDataFromFileSystem-java.lang.String-java.lang.String-">readInlineDataFromFileSystem</a></span>(java.lang.String&nbsp;fileName,
                            java.lang.String&nbsp;encoding)</code>&nbsp;</td>
</tr>
<tr id="i10" class="altColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../edu/ucsb/nceas/metacat/Eml200SAXHandler.html#startElement-java.lang.String-java.lang.String-java.lang.String-org.xml.sax.Attributes-">startElement</a></span>(java.lang.String&nbsp;uri,
            java.lang.String&nbsp;localName,
            java.lang.String&nbsp;qName,
            org.xml.sax.Attributes&nbsp;atts)</code>
<div class="block">SAX Handler that is called at the start of each XML element</div>
</td>
</tr>
<tr id="i11" class="rowColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../edu/ucsb/nceas/metacat/Eml200SAXHandler.html#startPrefixMapping-java.lang.String-java.lang.String-">startPrefixMapping</a></span>(java.lang.String&nbsp;prefix,
                  java.lang.String&nbsp;uri)</code>
<div class="block">SAX Handler that is called at the start of Namespace</div>
</td>
</tr>
</table>
<ul class="blockList">
<li class="blockList"><a name="methods.inherited.from.class.edu.ucsb.nceas.metacat.DBSAXHandler">
<!--   -->
</a>
<h3>Methods inherited from class&nbsp;edu.ucsb.nceas.metacat.<a href="../../../../edu/ucsb/nceas/metacat/DBSAXHandler.html" title="class in edu.ucsb.nceas.metacat">DBSAXHandler</a></h3>
<code><a href="../../../../edu/ucsb/nceas/metacat/DBSAXHandler.html#attributeDecl-java.lang.String-java.lang.String-java.lang.String-java.lang.String-java.lang.String-">attributeDecl</a>, <a href="../../../../edu/ucsb/nceas/metacat/DBSAXHandler.html#elementDecl-java.lang.String-java.lang.String-">elementDecl</a>, <a href="../../../../edu/ucsb/nceas/metacat/DBSAXHandler.html#endCDATA--">endCDATA</a>, <a href="../../../../edu/ucsb/nceas/metacat/DBSAXHandler.html#endDTD--">endDTD</a>, <a href="../../../../edu/ucsb/nceas/metacat/DBSAXHandler.html#endEntity-java.lang.String-">endEntity</a>, <a href="../../../../edu/ucsb/nceas/metacat/DBSAXHandler.html#error-org.xml.sax.SAXParseException-">error</a>, <a href="../../../../edu/ucsb/nceas/metacat/DBSAXHandler.html#externalEntityDecl-java.lang.String-java.lang.String-java.lang.String-">externalEntityDecl</a>, <a href="../../../../edu/ucsb/nceas/metacat/DBSAXHandler.html#fatalError-org.xml.sax.SAXParseException-">fatalError</a>, <a href="../../../../edu/ucsb/nceas/metacat/DBSAXHandler.html#getCatalogId--">getCatalogId</a>, <a href="../../../../edu/ucsb/nceas/metacat/DBSAXHandler.html#getDocname--">getDocname</a>, <a href="../../../../edu/ucsb/nceas/metacat/DBSAXHandler.html#getDocumentName--">getDocumentName</a>, <a href="../../../../edu/ucsb/nceas/metacat/DBSAXHandler.html#getDocumentType--">getDocumentType</a>, <a href="../../../../edu/ucsb/nceas/metacat/DBSAXHandler.html#getEncoding--">getEncoding</a>, <a href="../../../../edu/ucsb/nceas/metacat/DBSAXHandler.html#getIsRevisionDoc--">getIsRevisionDoc</a>, <a href="../../../../edu/ucsb/nceas/metacat/DBSAXHandler.html#getRootNodeId--">getRootNodeId</a>, <a href="../../../../edu/ucsb/nceas/metacat/DBSAXHandler.html#internalEntityDecl-java.lang.String-java.lang.String-">internalEntityDecl</a>, <a href="../../../../edu/ucsb/nceas/metacat/DBSAXHandler.html#processingDTD--">processingDTD</a>, <a href="../../../../edu/ucsb/nceas/metacat/DBSAXHandler.html#setEncoding-java.lang.String-">setEncoding</a>, <a href="../../../../edu/ucsb/nceas/metacat/DBSAXHandler.html#setIsRevisionDoc-boolean-">setIsRevisionDoc</a>, <a href="../../../../edu/ucsb/nceas/metacat/DBSAXHandler.html#startCDATA--">startCDATA</a>, <a href="../../../../edu/ucsb/nceas/metacat/DBSAXHandler.html#startDocument--">startDocument</a>, <a href="../../../../edu/ucsb/nceas/metacat/DBSAXHandler.html#startDTD-java.lang.String-java.lang.String-java.lang.String-">startDTD</a>, <a href="../../../../edu/ucsb/nceas/metacat/DBSAXHandler.html#startEntity-java.lang.String-">startEntity</a>, <a href="../../../../edu/ucsb/nceas/metacat/DBSAXHandler.html#warning-org.xml.sax.SAXParseException-">warning</a>, <a href="../../../../edu/ucsb/nceas/metacat/DBSAXHandler.html#writeTextForDBSAXNode-long-java.lang.StringBuffer-edu.ucsb.nceas.metacat.DBSAXNode-">writeTextForDBSAXNode</a></code></li>
</ul>
<ul class="blockList">
<li class="blockList"><a name="methods.inherited.from.class.org.xml.sax.helpers.DefaultHandler">
<!--   -->
</a>
<h3>Methods inherited from class&nbsp;org.xml.sax.helpers.DefaultHandler</h3>
<code>endPrefixMapping, notationDecl, resolveEntity, setDocumentLocator, skippedEntity, unparsedEntityDecl</code></li>
</ul>
<ul class="blockList">
<li class="blockList"><a name="methods.inherited.from.class.java.lang.Object">
<!--   -->
</a>
<h3>Methods inherited from class&nbsp;java.lang.Object</h3>
<code>clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait</code></li>
</ul>
</li>
</ul>
</li>
</ul>
</div>
<div class="details">
<ul class="blockList">
<li class="blockList">
<!-- ============ FIELD DETAIL =========== -->
<ul class="blockList">
<li class="blockList"><a name="field.detail">
<!--   -->
</a>
<h3>Field Detail</h3>
<a name="INLINE">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>INLINE</h4>
<pre>public static final&nbsp;java.lang.String INLINE</pre>
<dl>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><a href="../../../../constant-values.html#edu.ucsb.nceas.metacat.Eml200SAXHandler.INLINE">Constant Field Values</a></dd>
</dl>
</li>
</ul>
<a name="TOPLEVEL">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>TOPLEVEL</h4>
<pre>public static final&nbsp;java.lang.String TOPLEVEL</pre>
<dl>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><a href="../../../../constant-values.html#edu.ucsb.nceas.metacat.Eml200SAXHandler.TOPLEVEL">Constant Field Values</a></dd>
</dl>
</li>
</ul>
<a name="DATAACCESSLEVEL">
<!--   -->
</a>
<ul class="blockListLast">
<li class="blockList">
<h4>DATAACCESSLEVEL</h4>
<pre>public static final&nbsp;java.lang.String DATAACCESSLEVEL</pre>
<dl>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><a href="../../../../constant-values.html#edu.ucsb.nceas.metacat.Eml200SAXHandler.DATAACCESSLEVEL">Constant Field Values</a></dd>
</dl>
</li>
</ul>
</li>
</ul>
<!-- ========= CONSTRUCTOR DETAIL ======== -->
<ul class="blockList">
<li class="blockList"><a name="constructor.detail">
<!--   -->
</a>
<h3>Constructor Detail</h3>
<a name="Eml200SAXHandler-edu.ucsb.nceas.metacat.database.DBConnection-java.lang.String-java.lang.String-java.lang.String-java.lang.String-java.lang.String:A-java.lang.String-int-java.util.Date-java.util.Date-boolean-java.util.Vector-">
<!--   -->
</a>
<ul class="blockListLast">
<li class="blockList">
<h4>Eml200SAXHandler</h4>
<pre>public&nbsp;Eml200SAXHandler(<a href="../../../../edu/ucsb/nceas/metacat/database/DBConnection.html" title="class in edu.ucsb.nceas.metacat.database">DBConnection</a>&nbsp;conn,
                        java.lang.String&nbsp;action,
                        java.lang.String&nbsp;docid,
                        java.lang.String&nbsp;revision,
                        java.lang.String&nbsp;user,
                        java.lang.String[]&nbsp;groups,
                        java.lang.String&nbsp;pub,
                        int&nbsp;serverCode,
                        java.util.Date&nbsp;createDate,
                        java.util.Date&nbsp;updateDate,
                        boolean&nbsp;writeAccessRules,
                        java.util.Vector&lt;java.lang.String&gt;&nbsp;guidsToSync)
                 throws org.xml.sax.SAXException</pre>
<div class="block">Construct an instance of the handler class In this constructor, user can
 specify the version need to upadate</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>conn</code> - the JDBC connection to which information is written</dd>
<dd><code>action</code> - - "INSERT" or "UPDATE"</dd>
<dd><code>docid</code> - to be inserted or updated into JDBC connection</dd>
<dd><code>revision,</code> - the user specified the revision need to be update</dd>
<dd><code>user</code> - the user connected to MetaCat servlet and owns the document</dd>
<dd><code>groups</code> - the groups to which user belongs</dd>
<dd><code>pub</code> - flag for public "read" access on document</dd>
<dd><code>serverCode</code> - the serverid from xml_replication on which this
            document resides.</dd>
<dt><span class="throwsLabel">Throws:</span></dt>
<dd><code>org.xml.sax.SAXException</code></dd>
</dl>
</li>
</ul>
</li>
</ul>
<!-- ============ METHOD DETAIL ========== -->
<ul class="blockList">
<li class="blockList"><a name="method.detail">
<!--   -->
</a>
<h3>Method Detail</h3>
<a name="startElement-java.lang.String-java.lang.String-java.lang.String-org.xml.sax.Attributes-">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>startElement</h4>
<pre>public&nbsp;void&nbsp;startElement(java.lang.String&nbsp;uri,
                         java.lang.String&nbsp;localName,
                         java.lang.String&nbsp;qName,
                         org.xml.sax.Attributes&nbsp;atts)
                  throws org.xml.sax.SAXException</pre>
<div class="block">SAX Handler that is called at the start of each XML element</div>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code>startElement</code>&nbsp;in interface&nbsp;<code>org.xml.sax.ContentHandler</code></dd>
<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
<dd><code><a href="../../../../edu/ucsb/nceas/metacat/DBSAXHandler.html#startElement-java.lang.String-java.lang.String-java.lang.String-org.xml.sax.Attributes-">startElement</a></code>&nbsp;in class&nbsp;<code><a href="../../../../edu/ucsb/nceas/metacat/DBSAXHandler.html" title="class in edu.ucsb.nceas.metacat">DBSAXHandler</a></code></dd>
<dt><span class="throwsLabel">Throws:</span></dt>
<dd><code>org.xml.sax.SAXException</code></dd>
</dl>
</li>
</ul>
<a name="characters-char:A-int-int-">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>characters</h4>
<pre>public&nbsp;void&nbsp;characters(char[]&nbsp;cbuf,
                       int&nbsp;start,
                       int&nbsp;len)
                throws org.xml.sax.SAXException</pre>
<div class="block">SAX Handler that is called for each XML text node</div>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code>characters</code>&nbsp;in interface&nbsp;<code>org.xml.sax.ContentHandler</code></dd>
<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
<dd><code><a href="../../../../edu/ucsb/nceas/metacat/DBSAXHandler.html#characters-char:A-int-int-">characters</a></code>&nbsp;in class&nbsp;<code><a href="../../../../edu/ucsb/nceas/metacat/DBSAXHandler.html" title="class in edu.ucsb.nceas.metacat">DBSAXHandler</a></code></dd>
<dt><span class="throwsLabel">Throws:</span></dt>
<dd><code>org.xml.sax.SAXException</code></dd>
</dl>
</li>
</ul>
<a name="endElement-java.lang.String-java.lang.String-java.lang.String-">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>endElement</h4>
<pre>public&nbsp;void&nbsp;endElement(java.lang.String&nbsp;uri,
                       java.lang.String&nbsp;localName,
                       java.lang.String&nbsp;qName)
                throws org.xml.sax.SAXException</pre>
<div class="block">SAX Handler that is called at the end of each XML element</div>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code>endElement</code>&nbsp;in interface&nbsp;<code>org.xml.sax.ContentHandler</code></dd>
<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
<dd><code><a href="../../../../edu/ucsb/nceas/metacat/DBSAXHandler.html#endElement-java.lang.String-java.lang.String-java.lang.String-">endElement</a></code>&nbsp;in class&nbsp;<code><a href="../../../../edu/ucsb/nceas/metacat/DBSAXHandler.html" title="class in edu.ucsb.nceas.metacat">DBSAXHandler</a></code></dd>
<dt><span class="throwsLabel">Throws:</span></dt>
<dd><code>org.xml.sax.SAXException</code></dd>
</dl>
</li>
</ul>
<a name="comment-char:A-int-int-">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>comment</h4>
<pre>public&nbsp;void&nbsp;comment(char[]&nbsp;ch,
                    int&nbsp;start,
                    int&nbsp;length)
             throws org.xml.sax.SAXException</pre>
<div class="block">SAX Handler that receives notification of comments in the DTD</div>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code>comment</code>&nbsp;in interface&nbsp;<code>org.xml.sax.ext.LexicalHandler</code></dd>
<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
<dd><code><a href="../../../../edu/ucsb/nceas/metacat/DBSAXHandler.html#comment-char:A-int-int-">comment</a></code>&nbsp;in class&nbsp;<code><a href="../../../../edu/ucsb/nceas/metacat/DBSAXHandler.html" title="class in edu.ucsb.nceas.metacat">DBSAXHandler</a></code></dd>
<dt><span class="throwsLabel">Throws:</span></dt>
<dd><code>org.xml.sax.SAXException</code></dd>
</dl>
</li>
</ul>
<a name="processingInstruction-java.lang.String-java.lang.String-">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>processingInstruction</h4>
<pre>public&nbsp;void&nbsp;processingInstruction(java.lang.String&nbsp;target,
                                  java.lang.String&nbsp;data)
                           throws org.xml.sax.SAXException</pre>
<div class="block">SAX Handler called once for each processing instruction found: node that
 PI may occur before or after the root element.</div>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code>processingInstruction</code>&nbsp;in interface&nbsp;<code>org.xml.sax.ContentHandler</code></dd>
<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
<dd><code><a href="../../../../edu/ucsb/nceas/metacat/DBSAXHandler.html#processingInstruction-java.lang.String-java.lang.String-">processingInstruction</a></code>&nbsp;in class&nbsp;<code><a href="../../../../edu/ucsb/nceas/metacat/DBSAXHandler.html" title="class in edu.ucsb.nceas.metacat">DBSAXHandler</a></code></dd>
<dt><span class="throwsLabel">Throws:</span></dt>
<dd><code>org.xml.sax.SAXException</code></dd>
</dl>
</li>
</ul>
<a name="startPrefixMapping-java.lang.String-java.lang.String-">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>startPrefixMapping</h4>
<pre>public&nbsp;void&nbsp;startPrefixMapping(java.lang.String&nbsp;prefix,
                               java.lang.String&nbsp;uri)
                        throws org.xml.sax.SAXException</pre>
<div class="block">SAX Handler that is called at the start of Namespace</div>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code>startPrefixMapping</code>&nbsp;in interface&nbsp;<code>org.xml.sax.ContentHandler</code></dd>
<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
<dd><code><a href="../../../../edu/ucsb/nceas/metacat/DBSAXHandler.html#startPrefixMapping-java.lang.String-java.lang.String-">startPrefixMapping</a></code>&nbsp;in class&nbsp;<code><a href="../../../../edu/ucsb/nceas/metacat/DBSAXHandler.html" title="class in edu.ucsb.nceas.metacat">DBSAXHandler</a></code></dd>
<dt><span class="throwsLabel">Throws:</span></dt>
<dd><code>org.xml.sax.SAXException</code></dd>
</dl>
</li>
</ul>
<a name="ignorableWhitespace-char:A-int-int-">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>ignorableWhitespace</h4>
<pre>public&nbsp;void&nbsp;ignorableWhitespace(char[]&nbsp;cbuf,
                                int&nbsp;start,
                                int&nbsp;len)
                         throws org.xml.sax.SAXException</pre>
<div class="block">SAX Handler that is called for each XML text node that is Ignorable
 white space</div>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code>ignorableWhitespace</code>&nbsp;in interface&nbsp;<code>org.xml.sax.ContentHandler</code></dd>
<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
<dd><code><a href="../../../../edu/ucsb/nceas/metacat/DBSAXHandler.html#ignorableWhitespace-char:A-int-int-">ignorableWhitespace</a></code>&nbsp;in class&nbsp;<code><a href="../../../../edu/ucsb/nceas/metacat/DBSAXHandler.html" title="class in edu.ucsb.nceas.metacat">DBSAXHandler</a></code></dd>
<dt><span class="throwsLabel">Throws:</span></dt>
<dd><code>org.xml.sax.SAXException</code></dd>
</dl>
</li>
</ul>
<a name="endDocument--">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>endDocument</h4>
<pre>public&nbsp;void&nbsp;endDocument()
                 throws org.xml.sax.SAXException</pre>
<div class="block">SAX Handler that receives notification of end of the document</div>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code>endDocument</code>&nbsp;in interface&nbsp;<code>org.xml.sax.ContentHandler</code></dd>
<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
<dd><code><a href="../../../../edu/ucsb/nceas/metacat/DBSAXHandler.html#endDocument--">endDocument</a></code>&nbsp;in class&nbsp;<code><a href="../../../../edu/ucsb/nceas/metacat/DBSAXHandler.html" title="class in edu.ucsb.nceas.metacat">DBSAXHandler</a></code></dd>
<dt><span class="throwsLabel">Throws:</span></dt>
<dd><code>org.xml.sax.SAXException</code></dd>
</dl>
</li>
</ul>
<a name="compareInlineDataFiles-java.lang.String-java.lang.String-">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>compareInlineDataFiles</h4>
<pre>public&nbsp;boolean&nbsp;compareInlineDataFiles(java.lang.String&nbsp;oldFileName,
                                      java.lang.String&nbsp;newFileName)
                               throws <a href="../../../../edu/ucsb/nceas/metacat/McdbException.html" title="class in edu.ucsb.nceas.metacat">McdbException</a></pre>
<dl>
<dt><span class="throwsLabel">Throws:</span></dt>
<dd><code><a href="../../../../edu/ucsb/nceas/metacat/McdbException.html" title="class in edu.ucsb.nceas.metacat">McdbException</a></code></dd>
</dl>
</li>
</ul>
<a name="copyInlineFile-java.lang.String-java.lang.String-">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>copyInlineFile</h4>
<pre>public&nbsp;void&nbsp;copyInlineFile(java.lang.String&nbsp;inlineDistributionId,
                           java.lang.String&nbsp;newFileName)
                    throws org.xml.sax.SAXException</pre>
<dl>
<dt><span class="throwsLabel">Throws:</span></dt>
<dd><code>org.xml.sax.SAXException</code></dd>
</dl>
</li>
</ul>
<a name="deleteInlineFiles--">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>deleteInlineFiles</h4>
<pre>public&nbsp;void&nbsp;deleteInlineFiles()
                       throws org.xml.sax.SAXException</pre>
<dl>
<dt><span class="throwsLabel">Throws:</span></dt>
<dd><code>org.xml.sax.SAXException</code></dd>
</dl>
</li>
</ul>
<a name="readInlineDataFromFileSystem-java.lang.String-java.lang.String-">
<!--   -->
</a>
<ul class="blockListLast">
<li class="blockList">
<h4>readInlineDataFromFileSystem</h4>
<pre>public static&nbsp;java.io.Reader&nbsp;readInlineDataFromFileSystem(java.lang.String&nbsp;fileName,
                                                          java.lang.String&nbsp;encoding)
                                                   throws <a href="../../../../edu/ucsb/nceas/metacat/McdbException.html" title="class in edu.ucsb.nceas.metacat">McdbException</a></pre>
<dl>
<dt><span class="throwsLabel">Throws:</span></dt>
<dd><code><a href="../../../../edu/ucsb/nceas/metacat/McdbException.html" title="class in edu.ucsb.nceas.metacat">McdbException</a></code></dd>
</dl>
</li>
</ul>
</li>
</ul>
</li>
</ul>
</div>
</div>
<!-- ========= END OF CLASS DATA ========= -->
<!-- ======= START OF BOTTOM NAVBAR ====== -->
<div class="bottomNav"><a name="navbar.bottom">
<!--   -->
</a>
<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
<a name="navbar.bottom.firstrow">
<!--   -->
</a>
<ul class="navList" title="Navigation">
<li><a href="../../../../overview-summary.html">Overview</a></li>
<li><a href="package-summary.html">Package</a></li>
<li class="navBarCell1Rev">Class</li>
<li><a href="class-use/Eml200SAXHandler.html">Use</a></li>
<li><a href="package-tree.html">Tree</a></li>
<li><a href="../../../../deprecated-list.html">Deprecated</a></li>
<li><a href="../../../../index-all.html">Index</a></li>
<li><a href="../../../../help-doc.html">Help</a></li>
</ul>
</div>
<div class="subNav">
<ul class="navList">
<li><a href="../../../../edu/ucsb/nceas/metacat/ElementNode.html" title="class in edu.ucsb.nceas.metacat"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
<li><a href="../../../../edu/ucsb/nceas/metacat/EML201DocumentCorrector.html" title="class in edu.ucsb.nceas.metacat"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
</ul>
<ul class="navList">
<li><a href="../../../../index.html?edu/ucsb/nceas/metacat/Eml200SAXHandler.html" target="_top">Frames</a></li>
<li><a href="Eml200SAXHandler.html" target="_top">No&nbsp;Frames</a></li>
</ul>
<ul class="navList" id="allclasses_navbar_bottom">
<li><a href="../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
</ul>
<div>
<script type="text/javascript"><!--
  allClassesLink = document.getElementById("allclasses_navbar_bottom");
  if(window==top) {
    allClassesLink.style.display = "block";
  }
  else {
    allClassesLink.style.display = "none";
  }
  //-->
</script>
</div>
<div>
<ul class="subNavList">
<li>Summary:&nbsp;</li>
<li>Nested&nbsp;|&nbsp;</li>
<li><a href="#field.summary">Field</a>&nbsp;|&nbsp;</li>
<li><a href="#constructor.summary">Constr</a>&nbsp;|&nbsp;</li>
<li><a href="#method.summary">Method</a></li>
</ul>
<ul class="subNavList">
<li>Detail:&nbsp;</li>
<li><a href="#field.detail">Field</a>&nbsp;|&nbsp;</li>
<li><a href="#constructor.detail">Constr</a>&nbsp;|&nbsp;</li>
<li><a href="#method.detail">Method</a></li>
</ul>
</div>
<a name="skip.navbar.bottom">
<!--   -->
</a></div>
<!-- ======== END OF BOTTOM NAVBAR ======= -->
<p class="legalCopy"><small><i>Copyright © 2020 Regents of the University of California. All Rights Reserved.</i></small></p>
</body>
</html>