You are viewing a plain text version of this content. The canonical link for it is here.
Posted to notifications@freemarker.apache.org by dd...@apache.org on 2017/03/26 11:14:53 UTC

[27/37] incubator-freemarker-site git commit: Site updates for 2.3.26.

http://git-wip-us.apache.org/repos/asf/incubator-freemarker-site/blob/0e8012e0/docs/api/freemarker/ext/dom/NodeModel.html
----------------------------------------------------------------------
diff --git a/docs/api/freemarker/ext/dom/NodeModel.html b/docs/api/freemarker/ext/dom/NodeModel.html
index ce6c146..fd8c25a 100644
--- a/docs/api/freemarker/ext/dom/NodeModel.html
+++ b/docs/api/freemarker/ext/dom/NodeModel.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_66) on Tue Jul 05 21:19:03 CEST 2016 -->
+<!-- Generated by javadoc (1.8.0_66) on Sat Mar 25 11:54:39 CET 2017 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>NodeModel (FreeMarker 2.3.25-incubating API)</title>
-<meta name="date" content="2016-07-05">
+<title>NodeModel (FreeMarker 2.3.26-incubating API)</title>
+<meta name="date" content="2017-03-25">
 <link rel="stylesheet" type="text/css" href="../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../script.js"></script>
 </head>
@@ -13,14 +13,14 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="NodeModel (FreeMarker 2.3.25-incubating API)";
+            parent.document.title="NodeModel (FreeMarker 2.3.26-incubating API)";
         }
     }
     catch(err) {
     }
 //-->
-var methods = {"i0":10,"i1":10,"i2":10,"i3":10,"i4":10,"i5":10,"i6":10,"i7":9,"i8":9,"i9":10,"i10":10,"i11":10,"i12":10,"i13":10,"i14":9,"i15":10,"i16":9,"i17":9,"i18":9,"i19":9,"i20":9,"i21":9,"i22":9,"i23":9,"i24":9,"i25":9,"i26":9,"i27":10,"i28":9,"i29":9,"i30":9,"i31":9,"i32":9};
-var tabs = {65535:["t0","All Methods"],1:["t1","Static Methods"],2:["t2","Instance Methods"],8:["t4","Concrete Methods"]};
+var methods = {"i0":10,"i1":10,"i2":10,"i3":10,"i4":10,"i5":10,"i6":10,"i7":9,"i8":9,"i9":10,"i10":10,"i11":10,"i12":10,"i13":10,"i14":10,"i15":10,"i16":9,"i17":10,"i18":9,"i19":9,"i20":9,"i21":9,"i22":9,"i23":9,"i24":9,"i25":41,"i26":41,"i27":9,"i28":9,"i29":10,"i30":9,"i31":9,"i32":9,"i33":9,"i34":9};
+var tabs = {65535:["t0","All Methods"],1:["t1","Static Methods"],2:["t2","Instance Methods"],8:["t4","Concrete Methods"],32:["t6","Deprecated Methods"]};
 var altColor = "altColor";
 var rowColor = "rowColor";
 var tableTab = "tableTab";
@@ -110,23 +110,28 @@ var activeTableTab = "activeTableTab";
 <li class="blockList">
 <dl>
 <dt>All Implemented Interfaces:</dt>
-<dd>freemarker.core._UnexpectedTypeErrorExplainerTemplateModel, <a href="../../../freemarker/ext/util/WrapperTemplateModel.html" title="interface in freemarker.ext.util">WrapperTemplateModel</a>, <a href="../../../freemarker/template/AdapterTemplateModel.html" title="interface in freemarker.template">AdapterTemplateModel</a>, <a href="../../../freemarker/template/TemplateHashModel.html" title="interface in freemarker.template">TemplateHashModel</a>, <a href="../../../freemarker/template/TemplateModel.html" title="interface in freemarker.template">TemplateModel</a>, <a href="../../../freemarker/template/TemplateNodeModel.html" title="interface in freemarker.template">TemplateNodeModel</a>, <a href="../../../freemarker/template/TemplateSequenceModel.html" title="interface in freemarker.template">TemplateSequenceModel</a></dd>
+<dd>freemarker.core._UnexpectedTypeErrorExplainerTemplateModel, <a href="../../../freemarker/ext/util/WrapperTemplateModel.html" title="interface in freemarker.ext.util">WrapperTemplateModel</a>, <a href="../../../freemarker/template/AdapterTemplateModel.html" title="interface in freemarker.template">AdapterTemplateModel</a>, <a href="../../../freemarker/template/TemplateHashModel.html" title="interface in freemarker.template">TemplateHashModel</a>, <a href="../../../freemarker/template/TemplateModel.html" title="interface in freemarker.template">TemplateModel</a>, <a href="../../../freemarker/template/TemplateNodeModel.html" title="interface in freemarker.template">TemplateNodeModel</a>, <a href="../../../freemarker/template/TemplateNodeModelEx.html" title="interface in freemarker.template">TemplateNodeModelEx</a>, <a href="../../../freemarker/template/TemplateSequenceModel.html" title="interface in freemarker.template">TemplateSequenceModel</a></dd>
 </dl>
 <hr>
 <br>
 <pre>public abstract class <span class="typeNameLabel">NodeModel</span>
 extends <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a>
-implements <a href="../../../freemarker/template/TemplateNodeModel.html" title="interface in freemarker.template">TemplateNodeModel</a>, <a href="../../../freemarker/template/TemplateHashModel.html" title="interface in freemarker.template">TemplateHashModel</a>, <a href="../../../freemarker/template/TemplateSequenceModel.html" title="interface in freemarker.template">TemplateSequenceModel</a>, <a href="../../../freemarker/template/AdapterTemplateModel.html" title="interface in freemarker.template">AdapterTemplateModel</a>, <a href="../../../freemarker/ext/util/WrapperTemplateModel.html" title="interface in freemarker.ext.util">WrapperTemplateModel</a>, freemarker.core._UnexpectedTypeErrorExplainerTemplateModel</pre>
+implements <a href="../../../freemarker/template/TemplateNodeModelEx.html" title="interface in freemarker.template">TemplateNodeModelEx</a>, <a href="../../../freemarker/template/TemplateHashModel.html" title="interface in freemarker.template">TemplateHashModel</a>, <a href="../../../freemarker/template/TemplateSequenceModel.html" title="interface in freemarker.template">TemplateSequenceModel</a>, <a href="../../../freemarker/template/AdapterTemplateModel.html" title="interface in freemarker.template">AdapterTemplateModel</a>, <a href="../../../freemarker/ext/util/WrapperTemplateModel.html" title="interface in freemarker.ext.util">WrapperTemplateModel</a>, freemarker.core._UnexpectedTypeErrorExplainerTemplateModel</pre>
 <div class="block">A base class for wrapping a single W3C DOM Node as a FreeMarker template model.
  
  <p>
- Note that <a href="../../../freemarker/template/DefaultObjectWrapper.html" title="class in freemarker.template"><code>DefaultObjectWrapper</code></a> automatically wraps W3C DOM <a href="http://docs.oracle.com/javase/8/docs/api/org/w3c/dom/Node.html?is-external=true" title="class or interface in org.w3c.dom"><code>Node</code></a>-s into this, so you may not need to
- do that with this class manually. Though, before dropping the <a href="http://docs.oracle.com/javase/8/docs/api/org/w3c/dom/Node.html?is-external=true" title="class or interface in org.w3c.dom"><code>Node</code></a>-s into the data-model, you may want to
+ Note that <a href="../../../freemarker/template/DefaultObjectWrapper.html" title="class in freemarker.template"><code>DefaultObjectWrapper</code></a> automatically wraps W3C DOM <a href="http://docs.oracle.com/javase/8/docs/api/org/w3c/dom/Node.html?is-external=true" title="class or interface in org.w3c.dom"><code>Node</code></a>-s into this, so you may need do that
+ with this class manually. However, before dropping the <a href="http://docs.oracle.com/javase/8/docs/api/org/w3c/dom/Node.html?is-external=true" title="class or interface in org.w3c.dom"><code>Node</code></a>-s into the data-model, you certainly want to
  apply <a href="../../../freemarker/ext/dom/NodeModel.html#simplify-org.w3c.dom.Node-"><code>simplify(Node)</code></a> on them.
  
  <p>
- Note that this class shouldn't be used to represent a result set of 0 or multiple nodes (we use <code>NodeListModel</code>
- then), but should be used to represent a node set of exactly 1 node.</div>
+ This class is not guaranteed to be thread safe, so instances of this shouldn't be used as shared variable (
+ <a href="../../../freemarker/template/Configuration.html#setSharedVariable-java.lang.String-java.lang.Object-"><code>Configuration.setSharedVariable(String, Object)</code></a>).
+ 
+ <p>
+ To represent a node sequence (such as a query result) of exactly 1 nodes, this class should be used instead of
+ <code>NodeListModel</code>, as it adds extra capabilities by utilizing that we have exactly 1 node. If you need to wrap a
+ node sequence of 0 or multiple nodes, you must use <code>NodeListModel</code>.</div>
 </li>
 </ul>
 </div>
@@ -174,7 +179,7 @@ implements <a href="../../../freemarker/template/TemplateNodeModel.html" title="
 </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>
+<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><span id="t6" class="tableTab"><span><a href="javascript:show(32);">Deprecated 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>
@@ -216,147 +221,169 @@ implements <a href="../../../freemarker/template/TemplateNodeModel.html" title="
 </tr>
 <tr id="i7" class="rowColor">
 <td class="colFirst"><code>static <a href="http://docs.oracle.com/javase/8/docs/api/javax/xml/parsers/DocumentBuilderFactory.html?is-external=true" title="class or interface in javax.xml.parsers">DocumentBuilderFactory</a></code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../freemarker/ext/dom/NodeModel.html#getDocumentBuilderFactory--">getDocumentBuilderFactory</a></span>()</code>&nbsp;</td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../freemarker/ext/dom/NodeModel.html#getDocumentBuilderFactory--">getDocumentBuilderFactory</a></span>()</code>
+<div class="block">Returns the DOM parser implementation that is used when building <a href="../../../freemarker/ext/dom/NodeModel.html" title="class in freemarker.ext.dom"><code>NodeModel</code></a> objects from XML files or from
+ <a href="http://docs.oracle.com/javase/8/docs/api/java/io/InputStream.html?is-external=true" title="class or interface in java.io"><code>InputStream</code></a> with the static convenience methods of <a href="../../../freemarker/ext/dom/NodeModel.html" title="class in freemarker.ext.dom"><code>NodeModel</code></a>.</div>
+</td>
 </tr>
 <tr id="i8" class="altColor">
 <td class="colFirst"><code>static <a href="http://docs.oracle.com/javase/8/docs/api/org/xml/sax/ErrorHandler.html?is-external=true" title="class or interface in org.xml.sax">ErrorHandler</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../freemarker/ext/dom/NodeModel.html#getErrorHandler--">getErrorHandler</a></span>()</code>&nbsp;</td>
 </tr>
 <tr id="i9" class="rowColor">
+<td class="colFirst"><code><a href="../../../freemarker/template/TemplateNodeModelEx.html" title="interface in freemarker.template">TemplateNodeModelEx</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../freemarker/ext/dom/NodeModel.html#getNextSibling--">getNextSibling</a></span>()</code>&nbsp;</td>
+</tr>
+<tr id="i10" class="altColor">
 <td class="colFirst"><code><a href="http://docs.oracle.com/javase/8/docs/api/org/w3c/dom/Node.html?is-external=true" title="class or interface in org.w3c.dom">Node</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../freemarker/ext/dom/NodeModel.html#getNode--">getNode</a></span>()</code>&nbsp;</td>
 </tr>
-<tr id="i10" class="altColor">
+<tr id="i11" class="rowColor">
 <td class="colFirst"><code><a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../freemarker/ext/dom/NodeModel.html#getNodeNamespace--">getNodeNamespace</a></span>()</code>&nbsp;</td>
 </tr>
-<tr id="i11" class="rowColor">
+<tr id="i12" class="altColor">
 <td class="colFirst"><code><a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../freemarker/ext/dom/NodeModel.html#getNodeType--">getNodeType</a></span>()</code>&nbsp;</td>
 </tr>
-<tr id="i12" class="altColor">
+<tr id="i13" class="rowColor">
 <td class="colFirst"><code><a href="../../../freemarker/template/TemplateNodeModel.html" title="interface in freemarker.template">TemplateNodeModel</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../freemarker/ext/dom/NodeModel.html#getParentNode--">getParentNode</a></span>()</code>&nbsp;</td>
 </tr>
-<tr id="i13" class="rowColor">
+<tr id="i14" class="altColor">
+<td class="colFirst"><code><a href="../../../freemarker/template/TemplateNodeModelEx.html" title="interface in freemarker.template">TemplateNodeModelEx</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../freemarker/ext/dom/NodeModel.html#getPreviousSibling--">getPreviousSibling</a></span>()</code>&nbsp;</td>
+</tr>
+<tr id="i15" class="rowColor">
 <td class="colFirst"><code><a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../freemarker/ext/dom/NodeModel.html#getWrappedObject--">getWrappedObject</a></span>()</code>
 <div class="block">Retrieves the original object wrapped by this model.</div>
 </td>
 </tr>
-<tr id="i14" class="altColor">
+<tr id="i16" class="altColor">
 <td class="colFirst"><code>static <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Class.html?is-external=true" title="class or interface in java.lang">Class</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../freemarker/ext/dom/NodeModel.html#getXPathSupportClass--">getXPathSupportClass</a></span>()</code>
 <div class="block">Get the currently used freemarker.ext.dom.XPathSupport used as the XPath engine.</div>
 </td>
 </tr>
-<tr id="i15" class="rowColor">
+<tr id="i17" class="rowColor">
 <td class="colFirst"><code>int</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../freemarker/ext/dom/NodeModel.html#hashCode--">hashCode</a></span>()</code>&nbsp;</td>
 </tr>
-<tr id="i16" class="altColor">
+<tr id="i18" class="altColor">
 <td class="colFirst"><code>static void</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../freemarker/ext/dom/NodeModel.html#mergeAdjacentText-org.w3c.dom.Node-">mergeAdjacentText</a></span>(<a href="http://docs.oracle.com/javase/8/docs/api/org/w3c/dom/Node.html?is-external=true" title="class or interface in org.w3c.dom">Node</a>&nbsp;node)</code>
-<div class="block">Merges adjacent text/cdata nodes, so that there are no 
- adjacent text/cdata nodes.</div>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../freemarker/ext/dom/NodeModel.html#mergeAdjacentText-org.w3c.dom.Node-">mergeAdjacentText</a></span>(<a href="http://docs.oracle.com/javase/8/docs/api/org/w3c/dom/Node.html?is-external=true" title="class or interface in org.w3c.dom">Node</a>&nbsp;parent)</code>
+<div class="block">Merges adjacent text nodes (where CDATA counts as text node too).</div>
 </td>
 </tr>
-<tr id="i17" class="rowColor">
+<tr id="i19" class="rowColor">
 <td class="colFirst"><code>static <a href="../../../freemarker/ext/dom/NodeModel.html" title="class in freemarker.ext.dom">NodeModel</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../freemarker/ext/dom/NodeModel.html#parse-java.io.File-">parse</a></span>(<a href="http://docs.oracle.com/javase/8/docs/api/java/io/File.html?is-external=true" title="class or interface in java.io">File</a>&nbsp;f)</code>
-<div class="block">Create a NodeModel from an XML file.</div>
+<div class="block">Same as <a href="../../../freemarker/ext/dom/NodeModel.html#parse-org.xml.sax.InputSource-boolean-boolean-"><code>parse(source, true, true)</code></a>, but loads from a <a href="http://docs.oracle.com/javase/8/docs/api/java/io/File.html?is-external=true" title="class or interface in java.io"><code>File</code></a>;
+ don't miss the security warnings documented there.</div>
 </td>
 </tr>
-<tr id="i18" class="altColor">
+<tr id="i20" class="altColor">
 <td class="colFirst"><code>static <a href="../../../freemarker/ext/dom/NodeModel.html" title="class in freemarker.ext.dom">NodeModel</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../freemarker/ext/dom/NodeModel.html#parse-java.io.File-boolean-boolean-">parse</a></span>(<a href="http://docs.oracle.com/javase/8/docs/api/java/io/File.html?is-external=true" title="class or interface in java.io">File</a>&nbsp;f,
      boolean&nbsp;removeComments,
      boolean&nbsp;removePIs)</code>
-<div class="block">Create a NodeModel from an XML file.</div>
+<div class="block">Same as <a href="../../../freemarker/ext/dom/NodeModel.html#parse-org.xml.sax.InputSource-boolean-boolean-"><code>parse(InputSource, boolean, boolean)</code></a>, but loads from a <a href="http://docs.oracle.com/javase/8/docs/api/java/io/File.html?is-external=true" title="class or interface in java.io"><code>File</code></a>; don't miss the security
+ warnings documented there.</div>
 </td>
 </tr>
-<tr id="i19" class="rowColor">
+<tr id="i21" class="rowColor">
 <td class="colFirst"><code>static <a href="../../../freemarker/ext/dom/NodeModel.html" title="class in freemarker.ext.dom">NodeModel</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../freemarker/ext/dom/NodeModel.html#parse-org.xml.sax.InputSource-">parse</a></span>(<a href="http://docs.oracle.com/javase/8/docs/api/org/xml/sax/InputSource.html?is-external=true" title="class or interface in org.xml.sax">InputSource</a>&nbsp;is)</code>
-<div class="block">Create a NodeModel from an XML input source.</div>
+<div class="block">Same as <a href="../../../freemarker/ext/dom/NodeModel.html#parse-org.xml.sax.InputSource-boolean-boolean-"><code>parse(is, true, true)</code></a>; don't miss the security warnings
+ documented there.</div>
 </td>
 </tr>
-<tr id="i20" class="altColor">
+<tr id="i22" class="altColor">
 <td class="colFirst"><code>static <a href="../../../freemarker/ext/dom/NodeModel.html" title="class in freemarker.ext.dom">NodeModel</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../freemarker/ext/dom/NodeModel.html#parse-org.xml.sax.InputSource-boolean-boolean-">parse</a></span>(<a href="http://docs.oracle.com/javase/8/docs/api/org/xml/sax/InputSource.html?is-external=true" title="class or interface in org.xml.sax">InputSource</a>&nbsp;is,
      boolean&nbsp;removeComments,
      boolean&nbsp;removePIs)</code>
-<div class="block">Create a NodeModel from a SAX input source.</div>
+<div class="block">Convenience method to create a <a href="../../../freemarker/ext/dom/NodeModel.html" title="class in freemarker.ext.dom"><code>NodeModel</code></a> from a SAX <a href="http://docs.oracle.com/javase/8/docs/api/org/xml/sax/InputSource.html?is-external=true" title="class or interface in org.xml.sax"><code>InputSource</code></a>; please see the security warning
+ further down.</div>
 </td>
 </tr>
-<tr id="i21" class="rowColor">
+<tr id="i23" class="rowColor">
 <td class="colFirst"><code>static void</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../freemarker/ext/dom/NodeModel.html#removeComments-org.w3c.dom.Node-">removeComments</a></span>(<a href="http://docs.oracle.com/javase/8/docs/api/org/w3c/dom/Node.html?is-external=true" title="class or interface in org.w3c.dom">Node</a>&nbsp;node)</code>
-<div class="block">Recursively removes all comment nodes
- from the subtree.</div>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../freemarker/ext/dom/NodeModel.html#removeComments-org.w3c.dom.Node-">removeComments</a></span>(<a href="http://docs.oracle.com/javase/8/docs/api/org/w3c/dom/Node.html?is-external=true" title="class or interface in org.w3c.dom">Node</a>&nbsp;parent)</code>
+<div class="block">Recursively removes all comment nodes from the subtree.</div>
 </td>
 </tr>
-<tr id="i22" class="altColor">
+<tr id="i24" class="altColor">
 <td class="colFirst"><code>static void</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../freemarker/ext/dom/NodeModel.html#removePIs-org.w3c.dom.Node-">removePIs</a></span>(<a href="http://docs.oracle.com/javase/8/docs/api/org/w3c/dom/Node.html?is-external=true" title="class or interface in org.w3c.dom">Node</a>&nbsp;node)</code>
-<div class="block">Recursively removes all processing instruction nodes
- from the subtree.</div>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../freemarker/ext/dom/NodeModel.html#removePIs-org.w3c.dom.Node-">removePIs</a></span>(<a href="http://docs.oracle.com/javase/8/docs/api/org/w3c/dom/Node.html?is-external=true" title="class or interface in org.w3c.dom">Node</a>&nbsp;parent)</code>
+<div class="block">Recursively removes all processing instruction nodes from the subtree.</div>
 </td>
 </tr>
-<tr id="i23" class="rowColor">
+<tr id="i25" class="rowColor">
 <td class="colFirst"><code>static void</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../freemarker/ext/dom/NodeModel.html#setDocumentBuilderFactory-javax.xml.parsers.DocumentBuilderFactory-">setDocumentBuilderFactory</a></span>(<a href="http://docs.oracle.com/javase/8/docs/api/javax/xml/parsers/DocumentBuilderFactory.html?is-external=true" title="class or interface in javax.xml.parsers">DocumentBuilderFactory</a>&nbsp;docBuilderFactory)</code>
-<div class="block">Sets the DOM Parser implementation to be used when building NodeModel
- objects from XML files.</div>
+<div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;
+<div class="block"><span class="deprecationComment">It's a bad practice to change static fields, as if multiple independent components do that in the
+             same JVM, they unintentionally affect each other. Therefore it's recommended to leave this static
+             value at its default.</span></div>
+</div>
 </td>
 </tr>
-<tr id="i24" class="altColor">
+<tr id="i26" class="altColor">
 <td class="colFirst"><code>static void</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../freemarker/ext/dom/NodeModel.html#setErrorHandler-org.xml.sax.ErrorHandler-">setErrorHandler</a></span>(<a href="http://docs.oracle.com/javase/8/docs/api/org/xml/sax/ErrorHandler.html?is-external=true" title="class or interface in org.xml.sax">ErrorHandler</a>&nbsp;errorHandler)</code>
-<div class="block">sets the error handler to use when parsing the document.</div>
+<div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;
+<div class="block"><span class="deprecationComment">It's a bad practice to change static fields, as if multiple independent components do that in the
+             same JVM, they unintentionally affect each other. Therefore it's recommended to leave this static
+             value at its default.</span></div>
+</div>
 </td>
 </tr>
-<tr id="i25" class="rowColor">
+<tr id="i27" class="rowColor">
 <td class="colFirst"><code>static void</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../freemarker/ext/dom/NodeModel.html#setXPathSupportClass-java.lang.Class-">setXPathSupportClass</a></span>(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Class.html?is-external=true" title="class or interface in java.lang">Class</a>&nbsp;cl)</code>
 <div class="block">Set an alternative implementation of freemarker.ext.dom.XPathSupport to use
  as the XPath engine.</div>
 </td>
 </tr>
-<tr id="i26" class="altColor">
+<tr id="i28" class="altColor">
 <td class="colFirst"><code>static void</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../freemarker/ext/dom/NodeModel.html#simplify-org.w3c.dom.Node-">simplify</a></span>(<a href="http://docs.oracle.com/javase/8/docs/api/org/w3c/dom/Node.html?is-external=true" title="class or interface in org.w3c.dom">Node</a>&nbsp;node)</code>
-<div class="block">Removes comments and processing instruction, and then unites adjacent text nodes.</div>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../freemarker/ext/dom/NodeModel.html#simplify-org.w3c.dom.Node-">simplify</a></span>(<a href="http://docs.oracle.com/javase/8/docs/api/org/w3c/dom/Node.html?is-external=true" title="class or interface in org.w3c.dom">Node</a>&nbsp;parent)</code>
+<div class="block">Removes all comments and processing instruction, and unites adjacent text nodes (here CDATA counts as text as
+ well).</div>
 </td>
 </tr>
-<tr id="i27" class="rowColor">
+<tr id="i29" class="rowColor">
 <td class="colFirst"><code>int</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../freemarker/ext/dom/NodeModel.html#size--">size</a></span>()</code>&nbsp;</td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../freemarker/ext/dom/NodeModel.html#size--">size</a></span>()</code>
+<div class="block">Always returns 1.</div>
+</td>
 </tr>
-<tr id="i28" class="altColor">
+<tr id="i30" class="altColor">
 <td class="colFirst"><code>static void</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../freemarker/ext/dom/NodeModel.html#useDefaultXPathSupport--">useDefaultXPathSupport</a></span>()</code>
 <div class="block">Tells the system to use (restore) the default (initial) XPath system used by
  this FreeMarker version on this system.</div>
 </td>
 </tr>
-<tr id="i29" class="rowColor">
+<tr id="i31" class="rowColor">
 <td class="colFirst"><code>static void</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../freemarker/ext/dom/NodeModel.html#useJaxenXPathSupport--">useJaxenXPathSupport</a></span>()</code>
 <div class="block">Convenience method.</div>
 </td>
 </tr>
-<tr id="i30" class="altColor">
+<tr id="i32" class="altColor">
 <td class="colFirst"><code>static void</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../freemarker/ext/dom/NodeModel.html#useSunInternalXPathSupport--">useSunInternalXPathSupport</a></span>()</code>&nbsp;</td>
 </tr>
-<tr id="i31" class="rowColor">
+<tr id="i33" class="rowColor">
 <td class="colFirst"><code>static void</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../freemarker/ext/dom/NodeModel.html#useXalanXPathSupport--">useXalanXPathSupport</a></span>()</code>
 <div class="block">Convenience method.</div>
 </td>
 </tr>
-<tr id="i32" class="altColor">
+<tr id="i34" class="altColor">
 <td class="colFirst"><code>static <a href="../../../freemarker/ext/dom/NodeModel.html" title="class in freemarker.ext.dom">NodeModel</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../freemarker/ext/dom/NodeModel.html#wrap-org.w3c.dom.Node-">wrap</a></span>(<a href="http://docs.oracle.com/javase/8/docs/api/org/w3c/dom/Node.html?is-external=true" title="class or interface in org.w3c.dom">Node</a>&nbsp;node)</code>&nbsp;</td>
 </tr>
@@ -419,9 +446,18 @@ implements <a href="../../../freemarker/template/TemplateNodeModel.html" title="
 <ul class="blockList">
 <li class="blockList">
 <h4>setDocumentBuilderFactory</h4>
-<pre>public static&nbsp;void&nbsp;setDocumentBuilderFactory(<a href="http://docs.oracle.com/javase/8/docs/api/javax/xml/parsers/DocumentBuilderFactory.html?is-external=true" title="class or interface in javax.xml.parsers">DocumentBuilderFactory</a>&nbsp;docBuilderFactory)</pre>
-<div class="block">Sets the DOM Parser implementation to be used when building NodeModel
- objects from XML files.</div>
+<pre><a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Deprecated.html?is-external=true" title="class or interface in java.lang">@Deprecated</a>
+public static&nbsp;void&nbsp;setDocumentBuilderFactory(<a href="http://docs.oracle.com/javase/8/docs/api/javax/xml/parsers/DocumentBuilderFactory.html?is-external=true" title="class or interface in javax.xml.parsers">DocumentBuilderFactory</a>&nbsp;docBuilderFactory)</pre>
+<div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;<span class="deprecationComment">It's a bad practice to change static fields, as if multiple independent components do that in the
+             same JVM, they unintentionally affect each other. Therefore it's recommended to leave this static
+             value at its default.</span></div>
+<div class="block">Sets the DOM parser implementation to be used when building <a href="../../../freemarker/ext/dom/NodeModel.html" title="class in freemarker.ext.dom"><code>NodeModel</code></a> objects from XML files or from
+ <a href="http://docs.oracle.com/javase/8/docs/api/java/io/InputStream.html?is-external=true" title="class or interface in java.io"><code>InputStream</code></a> with the static convenience methods of <a href="../../../freemarker/ext/dom/NodeModel.html" title="class in freemarker.ext.dom"><code>NodeModel</code></a>. Otherwise FreeMarker itself doesn't
+ use this.</div>
+<dl>
+<dt><span class="seeLabel">See Also:</span></dt>
+<dd><a href="../../../freemarker/ext/dom/NodeModel.html#getDocumentBuilderFactory--"><code>getDocumentBuilderFactory()</code></a></dd>
+</dl>
 </li>
 </ul>
 <a name="getDocumentBuilderFactory--">
@@ -431,10 +467,12 @@ implements <a href="../../../freemarker/template/TemplateNodeModel.html" title="
 <li class="blockList">
 <h4>getDocumentBuilderFactory</h4>
 <pre>public static&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/javax/xml/parsers/DocumentBuilderFactory.html?is-external=true" title="class or interface in javax.xml.parsers">DocumentBuilderFactory</a>&nbsp;getDocumentBuilderFactory()</pre>
+<div class="block">Returns the DOM parser implementation that is used when building <a href="../../../freemarker/ext/dom/NodeModel.html" title="class in freemarker.ext.dom"><code>NodeModel</code></a> objects from XML files or from
+ <a href="http://docs.oracle.com/javase/8/docs/api/java/io/InputStream.html?is-external=true" title="class or interface in java.io"><code>InputStream</code></a> with the static convenience methods of <a href="../../../freemarker/ext/dom/NodeModel.html" title="class in freemarker.ext.dom"><code>NodeModel</code></a>. Otherwise FreeMarker itself doesn't
+ use this.</div>
 <dl>
-<dt><span class="returnLabel">Returns:</span></dt>
-<dd>the DOM Parser implementation that is used when 
- building NodeModel objects from XML files.</dd>
+<dt><span class="seeLabel">See Also:</span></dt>
+<dd><a href="../../../freemarker/ext/dom/NodeModel.html#setDocumentBuilderFactory-javax.xml.parsers.DocumentBuilderFactory-"><code>setDocumentBuilderFactory(DocumentBuilderFactory)</code></a></dd>
 </dl>
 </li>
 </ul>
@@ -444,8 +482,16 @@ implements <a href="../../../freemarker/template/TemplateNodeModel.html" title="
 <ul class="blockList">
 <li class="blockList">
 <h4>setErrorHandler</h4>
-<pre>public static&nbsp;void&nbsp;setErrorHandler(<a href="http://docs.oracle.com/javase/8/docs/api/org/xml/sax/ErrorHandler.html?is-external=true" title="class or interface in org.xml.sax">ErrorHandler</a>&nbsp;errorHandler)</pre>
-<div class="block">sets the error handler to use when parsing the document.</div>
+<pre><a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Deprecated.html?is-external=true" title="class or interface in java.lang">@Deprecated</a>
+public static&nbsp;void&nbsp;setErrorHandler(<a href="http://docs.oracle.com/javase/8/docs/api/org/xml/sax/ErrorHandler.html?is-external=true" title="class or interface in org.xml.sax">ErrorHandler</a>&nbsp;errorHandler)</pre>
+<div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;<span class="deprecationComment">It's a bad practice to change static fields, as if multiple independent components do that in the
+             same JVM, they unintentionally affect each other. Therefore it's recommended to leave this static
+             value at its default.</span></div>
+<div class="block">Sets the error handler to use when parsing the document with the static convenience methods of <a href="../../../freemarker/ext/dom/NodeModel.html" title="class in freemarker.ext.dom"><code>NodeModel</code></a>.</div>
+<dl>
+<dt><span class="seeLabel">See Also:</span></dt>
+<dd><a href="../../../freemarker/ext/dom/NodeModel.html#getErrorHandler--"><code>getErrorHandler()</code></a></dd>
+</dl>
 </li>
 </ul>
 <a name="getErrorHandler--">
@@ -458,6 +504,8 @@ implements <a href="../../../freemarker/template/TemplateNodeModel.html" title="
 <dl>
 <dt><span class="simpleTagLabel">Since:</span></dt>
 <dd>2.3.20</dd>
+<dt><span class="seeLabel">See Also:</span></dt>
+<dd><a href="../../../freemarker/ext/dom/NodeModel.html#setErrorHandler-org.xml.sax.ErrorHandler-"><code>setErrorHandler(ErrorHandler)</code></a></dd>
 </dl>
 </li>
 </ul>
@@ -473,14 +521,31 @@ implements <a href="../../../freemarker/template/TemplateNodeModel.html" title="
                        throws <a href="http://docs.oracle.com/javase/8/docs/api/org/xml/sax/SAXException.html?is-external=true" title="class or interface in org.xml.sax">SAXException</a>,
                               <a href="http://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a>,
                               <a href="http://docs.oracle.com/javase/8/docs/api/javax/xml/parsers/ParserConfigurationException.html?is-external=true" title="class or interface in javax.xml.parsers">ParserConfigurationException</a></pre>
-<div class="block">Create a NodeModel from a SAX input source. Adjacent text nodes will be merged (and CDATA sections
- are considered as text nodes).</div>
+<div class="block">Convenience method to create a <a href="../../../freemarker/ext/dom/NodeModel.html" title="class in freemarker.ext.dom"><code>NodeModel</code></a> from a SAX <a href="http://docs.oracle.com/javase/8/docs/api/org/xml/sax/InputSource.html?is-external=true" title="class or interface in org.xml.sax"><code>InputSource</code></a>; please see the security warning
+ further down. Adjacent text nodes will be merged (and CDATA sections are considered as text nodes) as with
+ <a href="../../../freemarker/ext/dom/NodeModel.html#mergeAdjacentText-org.w3c.dom.Node-"><code>mergeAdjacentText(Node)</code></a>. Further simplifications are applied depending on the parameters. If all
+ simplifications are turned on, then it applies <a href="../../../freemarker/ext/dom/NodeModel.html#simplify-org.w3c.dom.Node-"><code>simplify(Node)</code></a> on the loaded DOM.
+ 
+ <p>
+ Note that <code>parse(...)</code> is only a convenience method, and FreeMarker itself doesn't use it (except when you
+ call the other similar static convenience methods, as they may build on each other). In particular, if you want
+ full control over the <a href="http://docs.oracle.com/javase/8/docs/api/javax/xml/parsers/DocumentBuilderFactory.html?is-external=true" title="class or interface in javax.xml.parsers"><code>DocumentBuilderFactory</code></a> used, create the <a href="http://docs.oracle.com/javase/8/docs/api/org/w3c/dom/Node.html?is-external=true" title="class or interface in org.w3c.dom"><code>Node</code></a> with your own
+ <a href="http://docs.oracle.com/javase/8/docs/api/javax/xml/parsers/DocumentBuilderFactory.html?is-external=true" title="class or interface in javax.xml.parsers"><code>DocumentBuilderFactory</code></a>, apply <a href="../../../freemarker/ext/dom/NodeModel.html#simplify-org.w3c.dom.Node-"><code>simplify(Node)</code></a> (or such) on it, then call
+ <a href="../../../freemarker/ext/dom/NodeModel.html#wrap-org.w3c.dom.Node-"><code>wrap(Node)</code></a>.
+ 
+ <p>
+ <b>Security warning:</b> If the XML to load is coming from a source that you can't fully trust, you shouldn't use
+ this method, as the <a href="http://docs.oracle.com/javase/8/docs/api/javax/xml/parsers/DocumentBuilderFactory.html?is-external=true" title="class or interface in javax.xml.parsers"><code>DocumentBuilderFactory</code></a> it uses by default supports external entities, and so it
+ doesn't prevent XML External Entity (XXE) attacks. Note that XXE attacks are not specific to FreeMarker, they
+ affect all XML parsers in general. If that's a problem in your application, OWASP has a cheat sheet to set up a
+ <a href="http://docs.oracle.com/javase/8/docs/api/javax/xml/parsers/DocumentBuilderFactory.html?is-external=true" title="class or interface in javax.xml.parsers"><code>DocumentBuilderFactory</code></a> that has limited functionality but is immune to XXE attacks. Because it's just a
+ convenience method, you can just use your own <a href="http://docs.oracle.com/javase/8/docs/api/javax/xml/parsers/DocumentBuilderFactory.html?is-external=true" title="class or interface in javax.xml.parsers"><code>DocumentBuilderFactory</code></a> and do a few extra steps instead
+ (see earlier).</div>
 <dl>
 <dt><span class="paramLabel">Parameters:</span></dt>
-<dd><code>removeComments</code> - whether to remove all comment nodes 
- (recursively) from the tree before processing</dd>
-<dd><code>removePIs</code> - whether to remove all processing instruction nodes
- (recursively from the tree before processing</dd>
+<dd><code>removeComments</code> - Whether to remove all comment nodes (recursively); this is like calling <a href="../../../freemarker/ext/dom/NodeModel.html#removeComments-org.w3c.dom.Node-"><code>removeComments(Node)</code></a></dd>
+<dd><code>removePIs</code> - Whether to remove all processing instruction nodes (recursively); this is like calling
+            <a href="../../../freemarker/ext/dom/NodeModel.html#removePIs-org.w3c.dom.Node-"><code>removePIs(Node)</code></a></dd>
 <dt><span class="throwsLabel">Throws:</span></dt>
 <dd><code><a href="http://docs.oracle.com/javase/8/docs/api/org/xml/sax/SAXException.html?is-external=true" title="class or interface in org.xml.sax">SAXException</a></code></dd>
 <dd><code><a href="http://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></code></dd>
@@ -498,9 +563,8 @@ implements <a href="../../../freemarker/template/TemplateNodeModel.html" title="
                        throws <a href="http://docs.oracle.com/javase/8/docs/api/org/xml/sax/SAXException.html?is-external=true" title="class or interface in org.xml.sax">SAXException</a>,
                               <a href="http://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a>,
                               <a href="http://docs.oracle.com/javase/8/docs/api/javax/xml/parsers/ParserConfigurationException.html?is-external=true" title="class or interface in javax.xml.parsers">ParserConfigurationException</a></pre>
-<div class="block">Create a NodeModel from an XML input source. By default,
- all comments and processing instruction nodes are 
- stripped from the tree.</div>
+<div class="block">Same as <a href="../../../freemarker/ext/dom/NodeModel.html#parse-org.xml.sax.InputSource-boolean-boolean-"><code>parse(is, true, true)</code></a>; don't miss the security warnings
+ documented there.</div>
 <dl>
 <dt><span class="throwsLabel">Throws:</span></dt>
 <dd><code><a href="http://docs.oracle.com/javase/8/docs/api/org/xml/sax/SAXException.html?is-external=true" title="class or interface in org.xml.sax">SAXException</a></code></dd>
@@ -521,13 +585,9 @@ implements <a href="../../../freemarker/template/TemplateNodeModel.html" title="
                        throws <a href="http://docs.oracle.com/javase/8/docs/api/org/xml/sax/SAXException.html?is-external=true" title="class or interface in org.xml.sax">SAXException</a>,
                               <a href="http://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a>,
                               <a href="http://docs.oracle.com/javase/8/docs/api/javax/xml/parsers/ParserConfigurationException.html?is-external=true" title="class or interface in javax.xml.parsers">ParserConfigurationException</a></pre>
-<div class="block">Create a NodeModel from an XML file.</div>
+<div class="block">Same as <a href="../../../freemarker/ext/dom/NodeModel.html#parse-org.xml.sax.InputSource-boolean-boolean-"><code>parse(InputSource, boolean, boolean)</code></a>, but loads from a <a href="http://docs.oracle.com/javase/8/docs/api/java/io/File.html?is-external=true" title="class or interface in java.io"><code>File</code></a>; don't miss the security
+ warnings documented there.</div>
 <dl>
-<dt><span class="paramLabel">Parameters:</span></dt>
-<dd><code>removeComments</code> - whether to remove all comment nodes 
- (recursively) from the tree before processing</dd>
-<dd><code>removePIs</code> - whether to remove all processing instruction nodes
- (recursively from the tree before processing</dd>
 <dt><span class="throwsLabel">Throws:</span></dt>
 <dd><code><a href="http://docs.oracle.com/javase/8/docs/api/org/xml/sax/SAXException.html?is-external=true" title="class or interface in org.xml.sax">SAXException</a></code></dd>
 <dd><code><a href="http://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></code></dd>
@@ -545,9 +605,8 @@ implements <a href="../../../freemarker/template/TemplateNodeModel.html" title="
                        throws <a href="http://docs.oracle.com/javase/8/docs/api/org/xml/sax/SAXException.html?is-external=true" title="class or interface in org.xml.sax">SAXException</a>,
                               <a href="http://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a>,
                               <a href="http://docs.oracle.com/javase/8/docs/api/javax/xml/parsers/ParserConfigurationException.html?is-external=true" title="class or interface in javax.xml.parsers">ParserConfigurationException</a></pre>
-<div class="block">Create a NodeModel from an XML file. By default,
- all comments and processing instruction nodes are 
- stripped from the tree.</div>
+<div class="block">Same as <a href="../../../freemarker/ext/dom/NodeModel.html#parse-org.xml.sax.InputSource-boolean-boolean-"><code>parse(source, true, true)</code></a>, but loads from a <a href="http://docs.oracle.com/javase/8/docs/api/java/io/File.html?is-external=true" title="class or interface in java.io"><code>File</code></a>;
+ don't miss the security warnings documented there.</div>
 <dl>
 <dt><span class="throwsLabel">Throws:</span></dt>
 <dd><code><a href="http://docs.oracle.com/javase/8/docs/api/org/xml/sax/SAXException.html?is-external=true" title="class or interface in org.xml.sax">SAXException</a></code></dd>
@@ -610,6 +669,42 @@ implements <a href="../../../freemarker/template/TemplateNodeModel.html" title="
 </dl>
 </li>
 </ul>
+<a name="getPreviousSibling--">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>getPreviousSibling</h4>
+<pre>public&nbsp;<a href="../../../freemarker/template/TemplateNodeModelEx.html" title="interface in freemarker.template">TemplateNodeModelEx</a>&nbsp;getPreviousSibling()
+                                       throws <a href="../../../freemarker/template/TemplateModelException.html" title="class in freemarker.template">TemplateModelException</a></pre>
+<dl>
+<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
+<dd><code><a href="../../../freemarker/template/TemplateNodeModelEx.html#getPreviousSibling--">getPreviousSibling</a></code>&nbsp;in interface&nbsp;<code><a href="../../../freemarker/template/TemplateNodeModelEx.html" title="interface in freemarker.template">TemplateNodeModelEx</a></code></dd>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>The immediate previous sibling of this node, or <code>null</code> if there's no such node.</dd>
+<dt><span class="throwsLabel">Throws:</span></dt>
+<dd><code><a href="../../../freemarker/template/TemplateModelException.html" title="class in freemarker.template">TemplateModelException</a></code></dd>
+</dl>
+</li>
+</ul>
+<a name="getNextSibling--">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>getNextSibling</h4>
+<pre>public&nbsp;<a href="../../../freemarker/template/TemplateNodeModelEx.html" title="interface in freemarker.template">TemplateNodeModelEx</a>&nbsp;getNextSibling()
+                                   throws <a href="../../../freemarker/template/TemplateModelException.html" title="class in freemarker.template">TemplateModelException</a></pre>
+<dl>
+<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
+<dd><code><a href="../../../freemarker/template/TemplateNodeModelEx.html#getNextSibling--">getNextSibling</a></code>&nbsp;in interface&nbsp;<code><a href="../../../freemarker/template/TemplateNodeModelEx.html" title="interface in freemarker.template">TemplateNodeModelEx</a></code></dd>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>The immediate next sibling of this node, or <code>null</code> if there's no such node.</dd>
+<dt><span class="throwsLabel">Throws:</span></dt>
+<dd><code><a href="../../../freemarker/template/TemplateModelException.html" title="class in freemarker.template">TemplateModelException</a></code></dd>
+</dl>
+</li>
+</ul>
 <a name="getChildNodes--">
 <!--   -->
 </a>
@@ -670,6 +765,7 @@ implements <a href="../../../freemarker/template/TemplateNodeModel.html" title="
 <li class="blockList">
 <h4>size</h4>
 <pre>public final&nbsp;int&nbsp;size()</pre>
+<div class="block">Always returns 1.</div>
 <dl>
 <dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
 <dd><code><a href="../../../freemarker/template/TemplateSequenceModel.html#size--">size</a></code>&nbsp;in interface&nbsp;<code><a href="../../../freemarker/template/TemplateSequenceModel.html" title="interface in freemarker.template">TemplateSequenceModel</a></code></dd>
@@ -758,9 +854,8 @@ implements <a href="../../../freemarker/template/TemplateNodeModel.html" title="
 <ul class="blockList">
 <li class="blockList">
 <h4>removeComments</h4>
-<pre>public static&nbsp;void&nbsp;removeComments(<a href="http://docs.oracle.com/javase/8/docs/api/org/w3c/dom/Node.html?is-external=true" title="class or interface in org.w3c.dom">Node</a>&nbsp;node)</pre>
-<div class="block">Recursively removes all comment nodes
- from the subtree.</div>
+<pre>public static&nbsp;void&nbsp;removeComments(<a href="http://docs.oracle.com/javase/8/docs/api/org/w3c/dom/Node.html?is-external=true" title="class or interface in org.w3c.dom">Node</a>&nbsp;parent)</pre>
+<div class="block">Recursively removes all comment nodes from the subtree.</div>
 <dl>
 <dt><span class="seeLabel">See Also:</span></dt>
 <dd><a href="../../../freemarker/ext/dom/NodeModel.html#simplify-org.w3c.dom.Node-"><code>simplify(org.w3c.dom.Node)</code></a></dd>
@@ -773,9 +868,8 @@ implements <a href="../../../freemarker/template/TemplateNodeModel.html" title="
 <ul class="blockList">
 <li class="blockList">
 <h4>removePIs</h4>
-<pre>public static&nbsp;void&nbsp;removePIs(<a href="http://docs.oracle.com/javase/8/docs/api/org/w3c/dom/Node.html?is-external=true" title="class or interface in org.w3c.dom">Node</a>&nbsp;node)</pre>
-<div class="block">Recursively removes all processing instruction nodes
- from the subtree.</div>
+<pre>public static&nbsp;void&nbsp;removePIs(<a href="http://docs.oracle.com/javase/8/docs/api/org/w3c/dom/Node.html?is-external=true" title="class or interface in org.w3c.dom">Node</a>&nbsp;parent)</pre>
+<div class="block">Recursively removes all processing instruction nodes from the subtree.</div>
 <dl>
 <dt><span class="seeLabel">See Also:</span></dt>
 <dd><a href="../../../freemarker/ext/dom/NodeModel.html#simplify-org.w3c.dom.Node-"><code>simplify(org.w3c.dom.Node)</code></a></dd>
@@ -788,11 +882,13 @@ implements <a href="../../../freemarker/template/TemplateNodeModel.html" title="
 <ul class="blockList">
 <li class="blockList">
 <h4>mergeAdjacentText</h4>
-<pre>public static&nbsp;void&nbsp;mergeAdjacentText(<a href="http://docs.oracle.com/javase/8/docs/api/org/w3c/dom/Node.html?is-external=true" title="class or interface in org.w3c.dom">Node</a>&nbsp;node)</pre>
-<div class="block">Merges adjacent text/cdata nodes, so that there are no 
- adjacent text/cdata nodes. Operates recursively 
- on the entire subtree. You thus lose information
- about any CDATA sections occurring in the doc.</div>
+<pre>public static&nbsp;void&nbsp;mergeAdjacentText(<a href="http://docs.oracle.com/javase/8/docs/api/org/w3c/dom/Node.html?is-external=true" title="class or interface in org.w3c.dom">Node</a>&nbsp;parent)</pre>
+<div class="block">Merges adjacent text nodes (where CDATA counts as text node too). Operates recursively on the entire subtree.
+ The merged node will have the type of the first node of the adjacent merged nodes.
+ 
+ <p>Because XPath assumes that there are no adjacent text nodes in the tree, not doing this can have
+ undesirable side effects. Xalan queries like <code>text()</code> will only return the first of a list of matching
+ adjacent text nodes instead of all of them, while Jaxen will return all of them as intuitively expected.</div>
 <dl>
 <dt><span class="seeLabel">See Also:</span></dt>
 <dd><a href="../../../freemarker/ext/dom/NodeModel.html#simplify-org.w3c.dom.Node-"><code>simplify(org.w3c.dom.Node)</code></a></dd>
@@ -805,9 +901,10 @@ implements <a href="../../../freemarker/template/TemplateNodeModel.html" title="
 <ul class="blockList">
 <li class="blockList">
 <h4>simplify</h4>
-<pre>public static&nbsp;void&nbsp;simplify(<a href="http://docs.oracle.com/javase/8/docs/api/org/w3c/dom/Node.html?is-external=true" title="class or interface in org.w3c.dom">Node</a>&nbsp;node)</pre>
-<div class="block">Removes comments and processing instruction, and then unites adjacent text nodes.
- Note that CDATA sections count as text nodes.</div>
+<pre>public static&nbsp;void&nbsp;simplify(<a href="http://docs.oracle.com/javase/8/docs/api/org/w3c/dom/Node.html?is-external=true" title="class or interface in org.w3c.dom">Node</a>&nbsp;parent)</pre>
+<div class="block">Removes all comments and processing instruction, and unites adjacent text nodes (here CDATA counts as text as
+ well). This is similar to applying <a href="../../../freemarker/ext/dom/NodeModel.html#removeComments-org.w3c.dom.Node-"><code>removeComments(Node)</code></a>, <a href="../../../freemarker/ext/dom/NodeModel.html#removePIs-org.w3c.dom.Node-"><code>removePIs(Node)</code></a>, and finally
+ <a href="../../../freemarker/ext/dom/NodeModel.html#mergeAdjacentText-org.w3c.dom.Node-"><code>mergeAdjacentText(Node)</code></a>, but it does all that somewhat faster.</div>
 </li>
 </ul>
 <a name="useDefaultXPathSupport--">

http://git-wip-us.apache.org/repos/asf/incubator-freemarker-site/blob/0e8012e0/docs/api/freemarker/ext/dom/Transform.html
----------------------------------------------------------------------
diff --git a/docs/api/freemarker/ext/dom/Transform.html b/docs/api/freemarker/ext/dom/Transform.html
index e7db1d6..a23ffbf 100644
--- a/docs/api/freemarker/ext/dom/Transform.html
+++ b/docs/api/freemarker/ext/dom/Transform.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_66) on Tue Jul 05 21:19:03 CEST 2016 -->
+<!-- Generated by javadoc (1.8.0_66) on Sat Mar 25 11:54:39 CET 2017 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>Transform (FreeMarker 2.3.25-incubating API)</title>
-<meta name="date" content="2016-07-05">
+<title>Transform (FreeMarker 2.3.26-incubating API)</title>
+<meta name="date" content="2017-03-25">
 <link rel="stylesheet" type="text/css" href="../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="Transform (FreeMarker 2.3.25-incubating API)";
+            parent.document.title="Transform (FreeMarker 2.3.26-incubating API)";
         }
     }
     catch(err) {

http://git-wip-us.apache.org/repos/asf/incubator-freemarker-site/blob/0e8012e0/docs/api/freemarker/ext/dom/XPathSupport.html
----------------------------------------------------------------------
diff --git a/docs/api/freemarker/ext/dom/XPathSupport.html b/docs/api/freemarker/ext/dom/XPathSupport.html
index 2f5eca1..68c79e9 100644
--- a/docs/api/freemarker/ext/dom/XPathSupport.html
+++ b/docs/api/freemarker/ext/dom/XPathSupport.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_66) on Tue Jul 05 21:19:03 CEST 2016 -->
+<!-- Generated by javadoc (1.8.0_66) on Sat Mar 25 11:54:39 CET 2017 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>XPathSupport (FreeMarker 2.3.25-incubating API)</title>
-<meta name="date" content="2016-07-05">
+<title>XPathSupport (FreeMarker 2.3.26-incubating API)</title>
+<meta name="date" content="2017-03-25">
 <link rel="stylesheet" type="text/css" href="../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="XPathSupport (FreeMarker 2.3.25-incubating API)";
+            parent.document.title="XPathSupport (FreeMarker 2.3.26-incubating API)";
         }
     }
     catch(err) {

http://git-wip-us.apache.org/repos/asf/incubator-freemarker-site/blob/0e8012e0/docs/api/freemarker/ext/dom/class-use/NodeModel.html
----------------------------------------------------------------------
diff --git a/docs/api/freemarker/ext/dom/class-use/NodeModel.html b/docs/api/freemarker/ext/dom/class-use/NodeModel.html
index 4351f75..a8dbd32 100644
--- a/docs/api/freemarker/ext/dom/class-use/NodeModel.html
+++ b/docs/api/freemarker/ext/dom/class-use/NodeModel.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_66) on Tue Jul 05 21:19:04 CEST 2016 -->
+<!-- Generated by javadoc (1.8.0_66) on Sat Mar 25 11:54:40 CET 2017 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>Uses of Class freemarker.ext.dom.NodeModel (FreeMarker 2.3.25-incubating API)</title>
-<meta name="date" content="2016-07-05">
+<title>Uses of Class freemarker.ext.dom.NodeModel (FreeMarker 2.3.26-incubating API)</title>
+<meta name="date" content="2017-03-25">
 <link rel="stylesheet" type="text/css" href="../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="Uses of Class freemarker.ext.dom.NodeModel (FreeMarker 2.3.25-incubating API)";
+            parent.document.title="Uses of Class freemarker.ext.dom.NodeModel (FreeMarker 2.3.26-incubating API)";
         }
     }
     catch(err) {
@@ -109,7 +109,8 @@ see <a href="http://freemarker.org/docs/xgui.html" target="_blank">in the Manual
 <tr class="altColor">
 <td class="colFirst"><code>static <a href="../../../../freemarker/ext/dom/NodeModel.html" title="class in freemarker.ext.dom">NodeModel</a></code></td>
 <td class="colLast"><span class="typeNameLabel">NodeModel.</span><code><span class="memberNameLink"><a href="../../../../freemarker/ext/dom/NodeModel.html#parse-java.io.File-">parse</a></span>(<a href="http://docs.oracle.com/javase/8/docs/api/java/io/File.html?is-external=true" title="class or interface in java.io">File</a>&nbsp;f)</code>
-<div class="block">Create a NodeModel from an XML file.</div>
+<div class="block">Same as <a href="../../../../freemarker/ext/dom/NodeModel.html#parse-org.xml.sax.InputSource-boolean-boolean-"><code>parse(source, true, true)</code></a>, but loads from a <a href="http://docs.oracle.com/javase/8/docs/api/java/io/File.html?is-external=true" title="class or interface in java.io"><code>File</code></a>;
+ don't miss the security warnings documented there.</div>
 </td>
 </tr>
 <tr class="rowColor">
@@ -117,13 +118,15 @@ see <a href="http://freemarker.org/docs/xgui.html" target="_blank">in the Manual
 <td class="colLast"><span class="typeNameLabel">NodeModel.</span><code><span class="memberNameLink"><a href="../../../../freemarker/ext/dom/NodeModel.html#parse-java.io.File-boolean-boolean-">parse</a></span>(<a href="http://docs.oracle.com/javase/8/docs/api/java/io/File.html?is-external=true" title="class or interface in java.io">File</a>&nbsp;f,
      boolean&nbsp;removeComments,
      boolean&nbsp;removePIs)</code>
-<div class="block">Create a NodeModel from an XML file.</div>
+<div class="block">Same as <a href="../../../../freemarker/ext/dom/NodeModel.html#parse-org.xml.sax.InputSource-boolean-boolean-"><code>parse(InputSource, boolean, boolean)</code></a>, but loads from a <a href="http://docs.oracle.com/javase/8/docs/api/java/io/File.html?is-external=true" title="class or interface in java.io"><code>File</code></a>; don't miss the security
+ warnings documented there.</div>
 </td>
 </tr>
 <tr class="altColor">
 <td class="colFirst"><code>static <a href="../../../../freemarker/ext/dom/NodeModel.html" title="class in freemarker.ext.dom">NodeModel</a></code></td>
 <td class="colLast"><span class="typeNameLabel">NodeModel.</span><code><span class="memberNameLink"><a href="../../../../freemarker/ext/dom/NodeModel.html#parse-org.xml.sax.InputSource-">parse</a></span>(<a href="http://docs.oracle.com/javase/8/docs/api/org/xml/sax/InputSource.html?is-external=true" title="class or interface in org.xml.sax">InputSource</a>&nbsp;is)</code>
-<div class="block">Create a NodeModel from an XML input source.</div>
+<div class="block">Same as <a href="../../../../freemarker/ext/dom/NodeModel.html#parse-org.xml.sax.InputSource-boolean-boolean-"><code>parse(is, true, true)</code></a>; don't miss the security warnings
+ documented there.</div>
 </td>
 </tr>
 <tr class="rowColor">
@@ -131,7 +134,8 @@ see <a href="http://freemarker.org/docs/xgui.html" target="_blank">in the Manual
 <td class="colLast"><span class="typeNameLabel">NodeModel.</span><code><span class="memberNameLink"><a href="../../../../freemarker/ext/dom/NodeModel.html#parse-org.xml.sax.InputSource-boolean-boolean-">parse</a></span>(<a href="http://docs.oracle.com/javase/8/docs/api/org/xml/sax/InputSource.html?is-external=true" title="class or interface in org.xml.sax">InputSource</a>&nbsp;is,
      boolean&nbsp;removeComments,
      boolean&nbsp;removePIs)</code>
-<div class="block">Create a NodeModel from a SAX input source.</div>
+<div class="block">Convenience method to create a <a href="../../../../freemarker/ext/dom/NodeModel.html" title="class in freemarker.ext.dom"><code>NodeModel</code></a> from a SAX <a href="http://docs.oracle.com/javase/8/docs/api/org/xml/sax/InputSource.html?is-external=true" title="class or interface in org.xml.sax"><code>InputSource</code></a>; please see the security warning
+ further down.</div>
 </td>
 </tr>
 <tr class="altColor">

http://git-wip-us.apache.org/repos/asf/incubator-freemarker-site/blob/0e8012e0/docs/api/freemarker/ext/dom/class-use/Transform.html
----------------------------------------------------------------------
diff --git a/docs/api/freemarker/ext/dom/class-use/Transform.html b/docs/api/freemarker/ext/dom/class-use/Transform.html
index 460e825..21c43e8 100644
--- a/docs/api/freemarker/ext/dom/class-use/Transform.html
+++ b/docs/api/freemarker/ext/dom/class-use/Transform.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_66) on Tue Jul 05 21:19:04 CEST 2016 -->
+<!-- Generated by javadoc (1.8.0_66) on Sat Mar 25 11:54:40 CET 2017 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>Uses of Class freemarker.ext.dom.Transform (FreeMarker 2.3.25-incubating API)</title>
-<meta name="date" content="2016-07-05">
+<title>Uses of Class freemarker.ext.dom.Transform (FreeMarker 2.3.26-incubating API)</title>
+<meta name="date" content="2017-03-25">
 <link rel="stylesheet" type="text/css" href="../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="Uses of Class freemarker.ext.dom.Transform (FreeMarker 2.3.25-incubating API)";
+            parent.document.title="Uses of Class freemarker.ext.dom.Transform (FreeMarker 2.3.26-incubating API)";
         }
     }
     catch(err) {

http://git-wip-us.apache.org/repos/asf/incubator-freemarker-site/blob/0e8012e0/docs/api/freemarker/ext/dom/class-use/XPathSupport.html
----------------------------------------------------------------------
diff --git a/docs/api/freemarker/ext/dom/class-use/XPathSupport.html b/docs/api/freemarker/ext/dom/class-use/XPathSupport.html
index a353d0a..c32046d 100644
--- a/docs/api/freemarker/ext/dom/class-use/XPathSupport.html
+++ b/docs/api/freemarker/ext/dom/class-use/XPathSupport.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_66) on Tue Jul 05 21:19:04 CEST 2016 -->
+<!-- Generated by javadoc (1.8.0_66) on Sat Mar 25 11:54:40 CET 2017 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>Uses of Interface freemarker.ext.dom.XPathSupport (FreeMarker 2.3.25-incubating API)</title>
-<meta name="date" content="2016-07-05">
+<title>Uses of Interface freemarker.ext.dom.XPathSupport (FreeMarker 2.3.26-incubating API)</title>
+<meta name="date" content="2017-03-25">
 <link rel="stylesheet" type="text/css" href="../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="Uses of Interface freemarker.ext.dom.XPathSupport (FreeMarker 2.3.25-incubating API)";
+            parent.document.title="Uses of Interface freemarker.ext.dom.XPathSupport (FreeMarker 2.3.26-incubating API)";
         }
     }
     catch(err) {

http://git-wip-us.apache.org/repos/asf/incubator-freemarker-site/blob/0e8012e0/docs/api/freemarker/ext/dom/package-frame.html
----------------------------------------------------------------------
diff --git a/docs/api/freemarker/ext/dom/package-frame.html b/docs/api/freemarker/ext/dom/package-frame.html
index 09655c3..8983057 100644
--- a/docs/api/freemarker/ext/dom/package-frame.html
+++ b/docs/api/freemarker/ext/dom/package-frame.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_66) on Tue Jul 05 21:19:04 CEST 2016 -->
+<!-- Generated by javadoc (1.8.0_66) on Sat Mar 25 11:54:40 CET 2017 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>freemarker.ext.dom (FreeMarker 2.3.25-incubating API)</title>
-<meta name="date" content="2016-07-05">
+<title>freemarker.ext.dom (FreeMarker 2.3.26-incubating API)</title>
+<meta name="date" content="2017-03-25">
 <link rel="stylesheet" type="text/css" href="../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../script.js"></script>
 </head>

http://git-wip-us.apache.org/repos/asf/incubator-freemarker-site/blob/0e8012e0/docs/api/freemarker/ext/dom/package-summary.html
----------------------------------------------------------------------
diff --git a/docs/api/freemarker/ext/dom/package-summary.html b/docs/api/freemarker/ext/dom/package-summary.html
index 416d606..fe59b1c 100644
--- a/docs/api/freemarker/ext/dom/package-summary.html
+++ b/docs/api/freemarker/ext/dom/package-summary.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_66) on Tue Jul 05 21:19:04 CEST 2016 -->
+<!-- Generated by javadoc (1.8.0_66) on Sat Mar 25 11:54:40 CET 2017 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>freemarker.ext.dom (FreeMarker 2.3.25-incubating API)</title>
-<meta name="date" content="2016-07-05">
+<title>freemarker.ext.dom (FreeMarker 2.3.26-incubating API)</title>
+<meta name="date" content="2017-03-25">
 <link rel="stylesheet" type="text/css" href="../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="freemarker.ext.dom (FreeMarker 2.3.25-incubating API)";
+            parent.document.title="freemarker.ext.dom (FreeMarker 2.3.26-incubating API)";
         }
     }
     catch(err) {

http://git-wip-us.apache.org/repos/asf/incubator-freemarker-site/blob/0e8012e0/docs/api/freemarker/ext/dom/package-tree.html
----------------------------------------------------------------------
diff --git a/docs/api/freemarker/ext/dom/package-tree.html b/docs/api/freemarker/ext/dom/package-tree.html
index bbdb64d..58ceac0 100644
--- a/docs/api/freemarker/ext/dom/package-tree.html
+++ b/docs/api/freemarker/ext/dom/package-tree.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_66) on Tue Jul 05 21:19:04 CEST 2016 -->
+<!-- Generated by javadoc (1.8.0_66) on Sat Mar 25 11:54:40 CET 2017 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>freemarker.ext.dom Class Hierarchy (FreeMarker 2.3.25-incubating API)</title>
-<meta name="date" content="2016-07-05">
+<title>freemarker.ext.dom Class Hierarchy (FreeMarker 2.3.26-incubating API)</title>
+<meta name="date" content="2017-03-25">
 <link rel="stylesheet" type="text/css" href="../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="freemarker.ext.dom Class Hierarchy (FreeMarker 2.3.25-incubating API)";
+            parent.document.title="freemarker.ext.dom Class Hierarchy (FreeMarker 2.3.26-incubating API)";
         }
     }
     catch(err) {
@@ -82,7 +82,7 @@
 <ul>
 <li type="circle">java.lang.<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang"><span class="typeNameLink">Object</span></a>
 <ul>
-<li type="circle">freemarker.ext.dom.<a href="../../../freemarker/ext/dom/NodeModel.html" title="class in freemarker.ext.dom"><span class="typeNameLink">NodeModel</span></a> (implements freemarker.core._UnexpectedTypeErrorExplainerTemplateModel, freemarker.template.<a href="../../../freemarker/template/AdapterTemplateModel.html" title="interface in freemarker.template">AdapterTemplateModel</a>, freemarker.template.<a href="../../../freemarker/template/TemplateHashModel.html" title="interface in freemarker.template">TemplateHashModel</a>, freemarker.template.<a href="../../../freemarker/template/TemplateNodeModel.html" title="interface in freemarker.template">TemplateNodeModel</a>, freemarker.template.<a href="../../../freemarker/template/TemplateSequenceModel.html" title="interface in freemarker.template">TemplateSequenceModel</a>, freemarker.ext.util.<a href="../../../freemarker/ext/util/WrapperTemplateModel.html" title="interface in freemarker.ext.util">WrapperTemplateModel</a>)</
 li>
+<li type="circle">freemarker.ext.dom.<a href="../../../freemarker/ext/dom/NodeModel.html" title="class in freemarker.ext.dom"><span class="typeNameLink">NodeModel</span></a> (implements freemarker.core._UnexpectedTypeErrorExplainerTemplateModel, freemarker.template.<a href="../../../freemarker/template/AdapterTemplateModel.html" title="interface in freemarker.template">AdapterTemplateModel</a>, freemarker.template.<a href="../../../freemarker/template/TemplateHashModel.html" title="interface in freemarker.template">TemplateHashModel</a>, freemarker.template.<a href="../../../freemarker/template/TemplateNodeModelEx.html" title="interface in freemarker.template">TemplateNodeModelEx</a>, freemarker.template.<a href="../../../freemarker/template/TemplateSequenceModel.html" title="interface in freemarker.template">TemplateSequenceModel</a>, freemarker.ext.util.<a href="../../../freemarker/ext/util/WrapperTemplateModel.html" title="interface in freemarker.ext.util">WrapperTemplateModel</a
 >)</li>
 <li type="circle">freemarker.ext.dom.<a href="../../../freemarker/ext/dom/Transform.html" title="class in freemarker.ext.dom"><span class="typeNameLink">Transform</span></a></li>
 </ul>
 </li>

http://git-wip-us.apache.org/repos/asf/incubator-freemarker-site/blob/0e8012e0/docs/api/freemarker/ext/dom/package-use.html
----------------------------------------------------------------------
diff --git a/docs/api/freemarker/ext/dom/package-use.html b/docs/api/freemarker/ext/dom/package-use.html
index 2b5e935..e44fad2 100644
--- a/docs/api/freemarker/ext/dom/package-use.html
+++ b/docs/api/freemarker/ext/dom/package-use.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_66) on Tue Jul 05 21:19:04 CEST 2016 -->
+<!-- Generated by javadoc (1.8.0_66) on Sat Mar 25 11:54:41 CET 2017 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>Uses of Package freemarker.ext.dom (FreeMarker 2.3.25-incubating API)</title>
-<meta name="date" content="2016-07-05">
+<title>Uses of Package freemarker.ext.dom (FreeMarker 2.3.26-incubating API)</title>
+<meta name="date" content="2017-03-25">
 <link rel="stylesheet" type="text/css" href="../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="Uses of Package freemarker.ext.dom (FreeMarker 2.3.25-incubating API)";
+            parent.document.title="Uses of Package freemarker.ext.dom (FreeMarker 2.3.26-incubating API)";
         }
     }
     catch(err) {

http://git-wip-us.apache.org/repos/asf/incubator-freemarker-site/blob/0e8012e0/docs/api/freemarker/ext/jdom/NodeListModel.html
----------------------------------------------------------------------
diff --git a/docs/api/freemarker/ext/jdom/NodeListModel.html b/docs/api/freemarker/ext/jdom/NodeListModel.html
index 15cf727..bfbc9ff 100644
--- a/docs/api/freemarker/ext/jdom/NodeListModel.html
+++ b/docs/api/freemarker/ext/jdom/NodeListModel.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_66) on Tue Jul 05 21:19:03 CEST 2016 -->
+<!-- Generated by javadoc (1.8.0_66) on Sat Mar 25 11:54:39 CET 2017 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>NodeListModel (FreeMarker 2.3.25-incubating API)</title>
-<meta name="date" content="2016-07-05">
+<title>NodeListModel (FreeMarker 2.3.26-incubating API)</title>
+<meta name="date" content="2017-03-25">
 <link rel="stylesheet" type="text/css" href="../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="NodeListModel (FreeMarker 2.3.25-incubating API)";
+            parent.document.title="NodeListModel (FreeMarker 2.3.26-incubating API)";
         }
     }
     catch(err) {

http://git-wip-us.apache.org/repos/asf/incubator-freemarker-site/blob/0e8012e0/docs/api/freemarker/ext/jdom/class-use/NodeListModel.html
----------------------------------------------------------------------
diff --git a/docs/api/freemarker/ext/jdom/class-use/NodeListModel.html b/docs/api/freemarker/ext/jdom/class-use/NodeListModel.html
index 1553fe5..b41d426 100644
--- a/docs/api/freemarker/ext/jdom/class-use/NodeListModel.html
+++ b/docs/api/freemarker/ext/jdom/class-use/NodeListModel.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_66) on Tue Jul 05 21:19:04 CEST 2016 -->
+<!-- Generated by javadoc (1.8.0_66) on Sat Mar 25 11:54:40 CET 2017 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>Uses of Class freemarker.ext.jdom.NodeListModel (FreeMarker 2.3.25-incubating API)</title>
-<meta name="date" content="2016-07-05">
+<title>Uses of Class freemarker.ext.jdom.NodeListModel (FreeMarker 2.3.26-incubating API)</title>
+<meta name="date" content="2017-03-25">
 <link rel="stylesheet" type="text/css" href="../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="Uses of Class freemarker.ext.jdom.NodeListModel (FreeMarker 2.3.25-incubating API)";
+            parent.document.title="Uses of Class freemarker.ext.jdom.NodeListModel (FreeMarker 2.3.26-incubating API)";
         }
     }
     catch(err) {

http://git-wip-us.apache.org/repos/asf/incubator-freemarker-site/blob/0e8012e0/docs/api/freemarker/ext/jdom/package-frame.html
----------------------------------------------------------------------
diff --git a/docs/api/freemarker/ext/jdom/package-frame.html b/docs/api/freemarker/ext/jdom/package-frame.html
index 0a240e5..ffdf26b 100644
--- a/docs/api/freemarker/ext/jdom/package-frame.html
+++ b/docs/api/freemarker/ext/jdom/package-frame.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_66) on Tue Jul 05 21:19:04 CEST 2016 -->
+<!-- Generated by javadoc (1.8.0_66) on Sat Mar 25 11:54:40 CET 2017 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>freemarker.ext.jdom (FreeMarker 2.3.25-incubating API)</title>
-<meta name="date" content="2016-07-05">
+<title>freemarker.ext.jdom (FreeMarker 2.3.26-incubating API)</title>
+<meta name="date" content="2017-03-25">
 <link rel="stylesheet" type="text/css" href="../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../script.js"></script>
 </head>

http://git-wip-us.apache.org/repos/asf/incubator-freemarker-site/blob/0e8012e0/docs/api/freemarker/ext/jdom/package-summary.html
----------------------------------------------------------------------
diff --git a/docs/api/freemarker/ext/jdom/package-summary.html b/docs/api/freemarker/ext/jdom/package-summary.html
index e4ce0e7..ff723e6 100644
--- a/docs/api/freemarker/ext/jdom/package-summary.html
+++ b/docs/api/freemarker/ext/jdom/package-summary.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_66) on Tue Jul 05 21:19:04 CEST 2016 -->
+<!-- Generated by javadoc (1.8.0_66) on Sat Mar 25 11:54:40 CET 2017 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>freemarker.ext.jdom (FreeMarker 2.3.25-incubating API)</title>
-<meta name="date" content="2016-07-05">
+<title>freemarker.ext.jdom (FreeMarker 2.3.26-incubating API)</title>
+<meta name="date" content="2017-03-25">
 <link rel="stylesheet" type="text/css" href="../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="freemarker.ext.jdom (FreeMarker 2.3.25-incubating API)";
+            parent.document.title="freemarker.ext.jdom (FreeMarker 2.3.26-incubating API)";
         }
     }
     catch(err) {

http://git-wip-us.apache.org/repos/asf/incubator-freemarker-site/blob/0e8012e0/docs/api/freemarker/ext/jdom/package-tree.html
----------------------------------------------------------------------
diff --git a/docs/api/freemarker/ext/jdom/package-tree.html b/docs/api/freemarker/ext/jdom/package-tree.html
index 5102197..ec2d8e2 100644
--- a/docs/api/freemarker/ext/jdom/package-tree.html
+++ b/docs/api/freemarker/ext/jdom/package-tree.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_66) on Tue Jul 05 21:19:04 CEST 2016 -->
+<!-- Generated by javadoc (1.8.0_66) on Sat Mar 25 11:54:40 CET 2017 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>freemarker.ext.jdom Class Hierarchy (FreeMarker 2.3.25-incubating API)</title>
-<meta name="date" content="2016-07-05">
+<title>freemarker.ext.jdom Class Hierarchy (FreeMarker 2.3.26-incubating API)</title>
+<meta name="date" content="2017-03-25">
 <link rel="stylesheet" type="text/css" href="../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="freemarker.ext.jdom Class Hierarchy (FreeMarker 2.3.25-incubating API)";
+            parent.document.title="freemarker.ext.jdom Class Hierarchy (FreeMarker 2.3.26-incubating API)";
         }
     }
     catch(err) {

http://git-wip-us.apache.org/repos/asf/incubator-freemarker-site/blob/0e8012e0/docs/api/freemarker/ext/jdom/package-use.html
----------------------------------------------------------------------
diff --git a/docs/api/freemarker/ext/jdom/package-use.html b/docs/api/freemarker/ext/jdom/package-use.html
index 74fdbab..ad39ece 100644
--- a/docs/api/freemarker/ext/jdom/package-use.html
+++ b/docs/api/freemarker/ext/jdom/package-use.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_66) on Tue Jul 05 21:19:04 CEST 2016 -->
+<!-- Generated by javadoc (1.8.0_66) on Sat Mar 25 11:54:41 CET 2017 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>Uses of Package freemarker.ext.jdom (FreeMarker 2.3.25-incubating API)</title>
-<meta name="date" content="2016-07-05">
+<title>Uses of Package freemarker.ext.jdom (FreeMarker 2.3.26-incubating API)</title>
+<meta name="date" content="2017-03-25">
 <link rel="stylesheet" type="text/css" href="../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="Uses of Package freemarker.ext.jdom (FreeMarker 2.3.25-incubating API)";
+            parent.document.title="Uses of Package freemarker.ext.jdom (FreeMarker 2.3.26-incubating API)";
         }
     }
     catch(err) {

http://git-wip-us.apache.org/repos/asf/incubator-freemarker-site/blob/0e8012e0/docs/api/freemarker/ext/jsp/EventForwarding.html
----------------------------------------------------------------------
diff --git a/docs/api/freemarker/ext/jsp/EventForwarding.html b/docs/api/freemarker/ext/jsp/EventForwarding.html
index 2f99ba0..d3973a9 100644
--- a/docs/api/freemarker/ext/jsp/EventForwarding.html
+++ b/docs/api/freemarker/ext/jsp/EventForwarding.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_66) on Tue Jul 05 21:19:03 CEST 2016 -->
+<!-- Generated by javadoc (1.8.0_66) on Sat Mar 25 11:54:39 CET 2017 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>EventForwarding (FreeMarker 2.3.25-incubating API)</title>
-<meta name="date" content="2016-07-05">
+<title>EventForwarding (FreeMarker 2.3.26-incubating API)</title>
+<meta name="date" content="2017-03-25">
 <link rel="stylesheet" type="text/css" href="../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="EventForwarding (FreeMarker 2.3.25-incubating API)";
+            parent.document.title="EventForwarding (FreeMarker 2.3.26-incubating API)";
         }
     }
     catch(err) {

http://git-wip-us.apache.org/repos/asf/incubator-freemarker-site/blob/0e8012e0/docs/api/freemarker/ext/jsp/FreemarkerTag.html
----------------------------------------------------------------------
diff --git a/docs/api/freemarker/ext/jsp/FreemarkerTag.html b/docs/api/freemarker/ext/jsp/FreemarkerTag.html
index bda5554..a0052bc 100644
--- a/docs/api/freemarker/ext/jsp/FreemarkerTag.html
+++ b/docs/api/freemarker/ext/jsp/FreemarkerTag.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_66) on Tue Jul 05 21:19:03 CEST 2016 -->
+<!-- Generated by javadoc (1.8.0_66) on Sat Mar 25 11:54:39 CET 2017 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>FreemarkerTag (FreeMarker 2.3.25-incubating API)</title>
-<meta name="date" content="2016-07-05">
+<title>FreemarkerTag (FreeMarker 2.3.26-incubating API)</title>
+<meta name="date" content="2017-03-25">
 <link rel="stylesheet" type="text/css" href="../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="FreemarkerTag (FreeMarker 2.3.25-incubating API)";
+            parent.document.title="FreemarkerTag (FreeMarker 2.3.26-incubating API)";
         }
     }
     catch(err) {

http://git-wip-us.apache.org/repos/asf/incubator-freemarker-site/blob/0e8012e0/docs/api/freemarker/ext/jsp/TaglibFactory.ClasspathMetaInfTldSource.html
----------------------------------------------------------------------
diff --git a/docs/api/freemarker/ext/jsp/TaglibFactory.ClasspathMetaInfTldSource.html b/docs/api/freemarker/ext/jsp/TaglibFactory.ClasspathMetaInfTldSource.html
index e662d86..6d081c4 100644
--- a/docs/api/freemarker/ext/jsp/TaglibFactory.ClasspathMetaInfTldSource.html
+++ b/docs/api/freemarker/ext/jsp/TaglibFactory.ClasspathMetaInfTldSource.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_66) on Tue Jul 05 21:19:03 CEST 2016 -->
+<!-- Generated by javadoc (1.8.0_66) on Sat Mar 25 11:54:39 CET 2017 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>TaglibFactory.ClasspathMetaInfTldSource (FreeMarker 2.3.25-incubating API)</title>
-<meta name="date" content="2016-07-05">
+<title>TaglibFactory.ClasspathMetaInfTldSource (FreeMarker 2.3.26-incubating API)</title>
+<meta name="date" content="2017-03-25">
 <link rel="stylesheet" type="text/css" href="../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="TaglibFactory.ClasspathMetaInfTldSource (FreeMarker 2.3.25-incubating API)";
+            parent.document.title="TaglibFactory.ClasspathMetaInfTldSource (FreeMarker 2.3.26-incubating API)";
         }
     }
     catch(err) {

http://git-wip-us.apache.org/repos/asf/incubator-freemarker-site/blob/0e8012e0/docs/api/freemarker/ext/jsp/TaglibFactory.ClearMetaInfTldSource.html
----------------------------------------------------------------------
diff --git a/docs/api/freemarker/ext/jsp/TaglibFactory.ClearMetaInfTldSource.html b/docs/api/freemarker/ext/jsp/TaglibFactory.ClearMetaInfTldSource.html
index e3aa686..9eb39e7 100644
--- a/docs/api/freemarker/ext/jsp/TaglibFactory.ClearMetaInfTldSource.html
+++ b/docs/api/freemarker/ext/jsp/TaglibFactory.ClearMetaInfTldSource.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_66) on Tue Jul 05 21:19:03 CEST 2016 -->
+<!-- Generated by javadoc (1.8.0_66) on Sat Mar 25 11:54:39 CET 2017 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>TaglibFactory.ClearMetaInfTldSource (FreeMarker 2.3.25-incubating API)</title>
-<meta name="date" content="2016-07-05">
+<title>TaglibFactory.ClearMetaInfTldSource (FreeMarker 2.3.26-incubating API)</title>
+<meta name="date" content="2017-03-25">
 <link rel="stylesheet" type="text/css" href="../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="TaglibFactory.ClearMetaInfTldSource (FreeMarker 2.3.25-incubating API)";
+            parent.document.title="TaglibFactory.ClearMetaInfTldSource (FreeMarker 2.3.26-incubating API)";
         }
     }
     catch(err) {

http://git-wip-us.apache.org/repos/asf/incubator-freemarker-site/blob/0e8012e0/docs/api/freemarker/ext/jsp/TaglibFactory.MetaInfTldSource.html
----------------------------------------------------------------------
diff --git a/docs/api/freemarker/ext/jsp/TaglibFactory.MetaInfTldSource.html b/docs/api/freemarker/ext/jsp/TaglibFactory.MetaInfTldSource.html
index d9c2c08..87ffa2c 100644
--- a/docs/api/freemarker/ext/jsp/TaglibFactory.MetaInfTldSource.html
+++ b/docs/api/freemarker/ext/jsp/TaglibFactory.MetaInfTldSource.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (1.8.0_66) on Tue Jul 05 21:19:03 CEST 2016 -->
+<!-- Generated by javadoc (1.8.0_66) on Sat Mar 25 11:54:39 CET 2017 -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>TaglibFactory.MetaInfTldSource (FreeMarker 2.3.25-incubating API)</title>
-<meta name="date" content="2016-07-05">
+<title>TaglibFactory.MetaInfTldSource (FreeMarker 2.3.26-incubating API)</title>
+<meta name="date" content="2017-03-25">
 <link rel="stylesheet" type="text/css" href="../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../script.js"></script>
 </head>
@@ -13,7 +13,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="TaglibFactory.MetaInfTldSource (FreeMarker 2.3.25-incubating API)";
+            parent.document.title="TaglibFactory.MetaInfTldSource (FreeMarker 2.3.26-incubating API)";
         }
     }
     catch(err) {