<!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:50 UTC 2020 --> <title>DBTransform (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="DBTransform (MetaCat API)"; } } catch(err) { } //--> var methods = {"i0":10,"i1":9,"i2":9,"i3":9,"i4":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/DBTransform.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/DBSimpleQuery.html" title="class in edu.ucsb.nceas.metacat"><span class="typeNameLink">Prev Class</span></a></li> <li><a href="../../../../edu/ucsb/nceas/metacat/DBUtil.html" title="class in edu.ucsb.nceas.metacat"><span class="typeNameLink">Next Class</span></a></li> </ul> <ul class="navList"> <li><a href="../../../../index.html?edu/ucsb/nceas/metacat/DBTransform.html" target="_top">Frames</a></li> <li><a href="DBTransform.html" target="_top">No Frames</a></li> </ul> <ul class="navList" id="allclasses_navbar_top"> <li><a href="../../../../allclasses-noframe.html">All 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: </li> <li>Nested | </li> <li>Field | </li> <li><a href="#constructor.summary">Constr</a> | </li> <li><a href="#method.summary">Method</a></li> </ul> <ul class="subNavList"> <li>Detail: </li> <li>Field | </li> <li><a href="#constructor.detail">Constr</a> | </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 DBTransform" class="title">Class DBTransform</h2> </div> <div class="contentContainer"> <ul class="inheritance"> <li>java.lang.Object</li> <li> <ul class="inheritance"> <li>edu.ucsb.nceas.metacat.DBTransform</li> </ul> </li> </ul> <div class="description"> <ul class="blockList"> <li class="blockList"> <hr> <br> <pre>public class <span class="typeNameLabel">DBTransform</span> extends java.lang.Object</pre> <div class="block">A Class that transforms XML documents utitlizing XSL style sheets Building a transformer from the .xsl is expensive, so Templates are used as an intermediate construct to allow lightweight construction of Transformers. (Transformers themselves are not thread safe, so can't be reused)</div> </li> </ul> </div> <div class="summary"> <ul class="blockList"> <li class="blockList"> <!-- ======== 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"> </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/DBTransform.html#DBTransform--">DBTransform</a></span>()</code> <div class="block">construct a DBTransform instance.</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"> </span></span><span id="t1" class="tableTab"><span><a href="javascript:show(1);">Static Methods</a></span><span class="tabEnd"> </span></span><span id="t2" class="tableTab"><span><a href="javascript:show(2);">Instance Methods</a></span><span class="tabEnd"> </span></span><span id="t4" class="tableTab"><span><a href="javascript:show(8);">Concrete Methods</a></span><span class="tabEnd"> </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>protected void</code></td> <td class="colLast"><code><span class="memberNameLink"><a href="../../../../edu/ucsb/nceas/metacat/DBTransform.html#doTransform-javax.xml.transform.stream.StreamSource-javax.xml.transform.stream.StreamResult-java.lang.String-java.util.Hashtable-java.lang.String-java.lang.String-">doTransform</a></span>(javax.xml.transform.stream.StreamSource xml, javax.xml.transform.stream.StreamResult resultOutput, java.lang.String xslSystemId, java.util.Hashtable<java.lang.String,java.lang.String[]> param, java.lang.String qformat, java.lang.String sessionid)</code> <div class="block">Reads skin's config file if it exists, and populates Transformer paramaters with its contents.</div> </td> </tr> <tr id="i1" class="rowColor"> <td class="colFirst"><code>static org.w3c.dom.NodeList</code></td> <td class="colLast"><code><span class="memberNameLink"><a href="../../../../edu/ucsb/nceas/metacat/DBTransform.html#getPathContent-java.io.File-java.lang.String-">getPathContent</a></span>(java.io.File f, java.lang.String path)</code> <div class="block">gets the content of a tag in a given xml file with the given path</div> </td> </tr> <tr id="i2" class="altColor"> <td class="colFirst"><code>protected static javax.xml.transform.Transformer</code></td> <td class="colLast"><code><span class="memberNameLink"><a href="../../../../edu/ucsb/nceas/metacat/DBTransform.html#getTransformer-java.lang.String-">getTransformer</a></span>(java.lang.String xslSystemId)</code> <div class="block">The method that manages the Templates Map instances that will be used to build transformers from.</div> </td> </tr> <tr id="i3" class="rowColor"> <td class="colFirst"><code>static void</code></td> <td class="colLast"><code><span class="memberNameLink"><a href="../../../../edu/ucsb/nceas/metacat/DBTransform.html#setForceRebuild-boolean-">setForceRebuild</a></span>(boolean forceBuild)</code> <div class="block">Set the field of forceRebuild</div> </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/DBTransform.html#transformXMLDocument-java.lang.String-java.lang.String-java.lang.String-java.lang.String-java.io.Writer-java.util.Hashtable-java.lang.String-">transformXMLDocument</a></span>(java.lang.String doc, java.lang.String sourceType, java.lang.String targetType, java.lang.String qformat, java.io.Writer w, java.util.Hashtable<java.lang.String,java.lang.String[]> param, java.lang.String sessionid)</code> <div class="block">Transform an XML document using the stylesheet reference from the db</div> </td> </tr> </table> <ul class="blockList"> <li class="blockList"><a name="methods.inherited.from.class.java.lang.Object"> <!-- --> </a> <h3>Methods inherited from class 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"> <!-- ========= CONSTRUCTOR DETAIL ======== --> <ul class="blockList"> <li class="blockList"><a name="constructor.detail"> <!-- --> </a> <h3>Constructor Detail</h3> <a name="DBTransform--"> <!-- --> </a> <ul class="blockListLast"> <li class="blockList"> <h4>DBTransform</h4> <pre>public DBTransform() throws java.io.IOException, java.sql.SQLException, java.lang.ClassNotFoundException, edu.ucsb.nceas.utilities.PropertyNotFoundException</pre> <div class="block">construct a DBTransform instance. Generally, one calls transformXMLDocument() after constructing the instance</div> <dl> <dt><span class="paramLabel">Parameters:</span></dt> <dd><code>conn</code> - the database connection from which to lookup the public ids</dd> <dt><span class="throwsLabel">Throws:</span></dt> <dd><code>java.io.IOException</code></dd> <dd><code>java.sql.SQLException</code></dd> <dd><code>java.lang.ClassNotFoundException</code></dd> <dd><code>edu.ucsb.nceas.utilities.PropertyNotFoundException</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="getTransformer-java.lang.String-"> <!-- --> </a> <ul class="blockList"> <li class="blockList"> <h4>getTransformer</h4> <pre>protected static javax.xml.transform.Transformer getTransformer(java.lang.String xslSystemId) throws javax.xml.transform.TransformerConfigurationException</pre> <div class="block">The method that manages the Templates Map instances that will be used to build transformers from.</div> <dl> <dt><span class="paramLabel">Parameters:</span></dt> <dd><code>xslSystemId</code> - - the URL for the stylesheet</dd> <dd><code>forceRebuild</code> - - if true, forces reload of the stylesheet from the system, else use the existing one, if there</dd> <dt><span class="returnLabel">Returns:</span></dt> <dt><span class="throwsLabel">Throws:</span></dt> <dd><code>javax.xml.transform.TransformerConfigurationException</code></dd> </dl> </li> </ul> <a name="transformXMLDocument-java.lang.String-java.lang.String-java.lang.String-java.lang.String-java.io.Writer-java.util.Hashtable-java.lang.String-"> <!-- --> </a> <ul class="blockList"> <li class="blockList"> <h4>transformXMLDocument</h4> <pre>public void transformXMLDocument(java.lang.String doc, java.lang.String sourceType, java.lang.String targetType, java.lang.String qformat, java.io.Writer w, java.util.Hashtable<java.lang.String,java.lang.String[]> param, java.lang.String sessionid)</pre> <div class="block">Transform an XML document using the stylesheet reference from the db</div> <dl> <dt><span class="paramLabel">Parameters:</span></dt> <dd><code>doc</code> - the document to be transformed</dd> <dd><code>sourcetype</code> - the document type of the source</dd> <dd><code>targettype</code> - the target document type</dd> <dd><code>qformat</code> - the name of the style set to use</dd> <dd><code>pw</code> - the PrintWriter to which output is printed</dd> <dd><code>params</code> - some parameters for eml2 transformation</dd> </dl> </li> </ul> <a name="doTransform-javax.xml.transform.stream.StreamSource-javax.xml.transform.stream.StreamResult-java.lang.String-java.util.Hashtable-java.lang.String-java.lang.String-"> <!-- --> </a> <ul class="blockList"> <li class="blockList"> <h4>doTransform</h4> <pre>protected void doTransform(javax.xml.transform.stream.StreamSource xml, javax.xml.transform.stream.StreamResult resultOutput, java.lang.String xslSystemId, java.util.Hashtable<java.lang.String,java.lang.String[]> param, java.lang.String qformat, java.lang.String sessionid) throws edu.ucsb.nceas.utilities.PropertyNotFoundException, javax.xml.transform.TransformerException</pre> <div class="block">Reads skin's config file if it exists, and populates Transformer paramaters with its contents. It then adds the parameters passed to it via Hashtable param to the Transformer. It then calls the Transformer.transform method.</div> <dl> <dt><span class="throwsLabel">Throws:</span></dt> <dd><code>edu.ucsb.nceas.utilities.PropertyNotFoundException</code></dd> <dd><code>javax.xml.transform.TransformerException</code></dd> </dl> </li> </ul> <a name="getPathContent-java.io.File-java.lang.String-"> <!-- --> </a> <ul class="blockList"> <li class="blockList"> <h4>getPathContent</h4> <pre>public static org.w3c.dom.NodeList getPathContent(java.io.File f, java.lang.String path)</pre> <div class="block">gets the content of a tag in a given xml file with the given path</div> <dl> <dt><span class="paramLabel">Parameters:</span></dt> <dd><code>f</code> - the file to parse</dd> <dd><code>path</code> - the path to get the content from</dd> </dl> </li> </ul> <a name="setForceRebuild-boolean-"> <!-- --> </a> <ul class="blockListLast"> <li class="blockList"> <h4>setForceRebuild</h4> <pre>public static void setForceRebuild(boolean forceBuild)</pre> <div class="block">Set the field of forceRebuild</div> <dl> <dt><span class="paramLabel">Parameters:</span></dt> <dd><code>forceRebuild</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/DBTransform.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/DBSimpleQuery.html" title="class in edu.ucsb.nceas.metacat"><span class="typeNameLink">Prev Class</span></a></li> <li><a href="../../../../edu/ucsb/nceas/metacat/DBUtil.html" title="class in edu.ucsb.nceas.metacat"><span class="typeNameLink">Next Class</span></a></li> </ul> <ul class="navList"> <li><a href="../../../../index.html?edu/ucsb/nceas/metacat/DBTransform.html" target="_top">Frames</a></li> <li><a href="DBTransform.html" target="_top">No Frames</a></li> </ul> <ul class="navList" id="allclasses_navbar_bottom"> <li><a href="../../../../allclasses-noframe.html">All 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: </li> <li>Nested | </li> <li>Field | </li> <li><a href="#constructor.summary">Constr</a> | </li> <li><a href="#method.summary">Method</a></li> </ul> <ul class="subNavList"> <li>Detail: </li> <li>Field | </li> <li><a href="#constructor.detail">Constr</a> | </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>