You are viewing a plain text version of this content. The canonical link for it is here.
Posted to notifications@freemarker.apache.org by wo...@apache.org on 2017/11/03 01:38:55 UTC
[13/16] incubator-freemarker-site git commit: Uploading new manual
(2.3.27) to asf-site
http://git-wip-us.apache.org/repos/asf/incubator-freemarker-site/blob/5decc99a/docs/dgui_template_exp.html
----------------------------------------------------------------------
diff --git a/docs/dgui_template_exp.html b/docs/dgui_template_exp.html
index 60bec1b..1d6a9cd 100644
--- a/docs/dgui_template_exp.html
+++ b/docs/dgui_template_exp.html
@@ -14,7 +14,7 @@
<link rel="canonical" href="http://freemarker.org/docs/dgui_template_exp.html">
<link rel="icon" href="favicon.png" type="image/png">
<link rel="stylesheet" type="text/css" href="http://fonts.googleapis.com/css?family=Roboto:500,700,400,300|Droid+Sans+Mono">
-<link rel="stylesheet" type="text/css" href="docgen-resources/docgen.min.css?1491668137263">
+<link rel="stylesheet" type="text/css" href="docgen-resources/docgen.min.css?1509672811897">
<script>
(function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
(i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
@@ -35,14 +35,14 @@ ga('send', 'pageview');
<div class="content-wrapper">
<div id="table-of-contents-wrapper" class="col-left">
<script>var breadcrumb = ["Apache FreeMarker Manual","Template Author\'s Guide","The Template","Expressions"];</script>
- <script src="toc.js?1491668137263"></script>
- <script src="docgen-resources/main.min.js?1491668137263"></script>
+ <script src="toc.js?1509672811897"></script>
+ <script src="docgen-resources/main.min.js?1509672811897"></script>
</div>
<div class="col-right"><div class="page-content"><div class="page-title"><div class="pagers top"><a class="paging-arrow previous" href="dgui_template_directives.html"><span>Previous</span></a><a class="paging-arrow next" href="dgui_template_valueinsertion.html"><span>Next</span></a></div><div class="title-wrapper">
<h1 class="content-header header-section1" id="dgui_template_exp" itemprop="headline">Expressions</h1>
</div></div><div class="page-menu">
<div class="page-menu-title">Page Contents</div>
-<ul><li><a class="page-menu-link" href="#exp_cheatsheet" data-menu-target="exp_cheatsheet">Quick overview (cheat sheet)</a></li><li><a class="page-menu-link" href="#dgui_template_exp_direct" data-menu-target="dgui_template_exp_direct">Specify values directly</a><ul><li><a class="page-menu-link" href="#dgui_template_exp_direct_string" data-menu-target="dgui_template_exp_direct_string">Strings</a></li><li><a class="page-menu-link" href="#dgui_template_exp_direct_number" data-menu-target="dgui_template_exp_direct_number">Numbers</a></li><li><a class="page-menu-link" href="#dgui_template_exp_direct_boolean" data-menu-target="dgui_template_exp_direct_boolean">Booleans</a></li><li><a class="page-menu-link" href="#dgui_template_exp_direct_seuqence" data-menu-target="dgui_template_exp_direct_seuqence">Sequences</a></li><li><a class="page-menu-link" href="#dgui_template_exp_direct_ranges" data-menu-target="dgui_template_exp_direct_ranges">Ranges</a></li><li><a class="page-menu-link" href="#d
gui_template_exp_direct_hash" data-menu-target="dgui_template_exp_direct_hash">Hashes</a></li></ul></li><li><a class="page-menu-link" href="#dgui_template_exp_var" data-menu-target="dgui_template_exp_var">Retrieving variables</a><ul><li><a class="page-menu-link" href="#dgui_template_exp_var_toplevel" data-menu-target="dgui_template_exp_var_toplevel">Top-level variables</a></li><li><a class="page-menu-link" href="#dgui_template_exp_var_hash" data-menu-target="dgui_template_exp_var_hash">Retrieving data from a hash</a></li><li><a class="page-menu-link" href="#dgui_template_exp_var_sequence" data-menu-target="dgui_template_exp_var_sequence">Retrieving data from a sequence</a></li><li><a class="page-menu-link" href="#dgui_template_exp_var_special" data-menu-target="dgui_template_exp_var_special">Special variables</a></li></ul></li><li><a class="page-menu-link" href="#dgui_template_exp_stringop" data-menu-target="dgui_template_exp_stringop">String operations</a><ul><li><a class="page-men
u-link" href="#dgui_template_exp_stringop_interpolation" data-menu-target="dgui_template_exp_stringop_interpolation">Interpolation and concatenation</a></li><li><a class="page-menu-link" href="#dgui_template_exp_get_character" data-menu-target="dgui_template_exp_get_character">Getting a character</a></li><li><a class="page-menu-link" href="#dgui_template_exp_stringop_slice" data-menu-target="dgui_template_exp_stringop_slice">String slicing (substrings)</a></li></ul></li><li><a class="page-menu-link" href="#dgui_template_exp_sequenceop" data-menu-target="dgui_template_exp_sequenceop">Sequence operations</a><ul><li><a class="page-menu-link" href="#dgui_template_exp_sequenceop_cat" data-menu-target="dgui_template_exp_sequenceop_cat">Concatenation</a></li><li><a class="page-menu-link" href="#dgui_template_exp_seqenceop_slice" data-menu-target="dgui_template_exp_seqenceop_slice">Sequence slicing</a></li></ul></li><li><a class="page-menu-link" href="#dgui_template_exp_hashop" data-menu-ta
rget="dgui_template_exp_hashop">Hash operations</a><ul><li><a class="page-menu-link" href="#dgui_template_exp_hashop_cat" data-menu-target="dgui_template_exp_hashop_cat">Concatenation</a></li></ul></li><li><a class="page-menu-link" href="#dgui_template_exp_arit" data-menu-target="dgui_template_exp_arit">Arithmetical calculations</a></li><li><a class="page-menu-link" href="#dgui_template_exp_comparison" data-menu-target="dgui_template_exp_comparison">Comparison</a></li><li><a class="page-menu-link" href="#dgui_template_exp_logicalop" data-menu-target="dgui_template_exp_logicalop">Logical operations</a></li><li><a class="page-menu-link" href="#dgui_template_exp_builtin" data-menu-target="dgui_template_exp_builtin">Built-ins</a></li><li><a class="page-menu-link" href="#dgui_template_exp_methodcall" data-menu-target="dgui_template_exp_methodcall">Method call</a></li><li><a class="page-menu-link" href="#dgui_template_exp_missing" data-menu-target="dgui_template_exp_missing">Handling miss
ing values</a><ul><li><a class="page-menu-link" href="#dgui_template_exp_missing_default" data-menu-target="dgui_template_exp_missing_default">Default value operator</a></li><li><a class="page-menu-link" href="#dgui_template_exp_missing_test" data-menu-target="dgui_template_exp_missing_test">Missing value test operator</a></li></ul></li><li><a class="page-menu-link" href="#dgui_template_exp_assignment" data-menu-target="dgui_template_exp_assignment">Assignment Operators</a></li><li><a class="page-menu-link" href="#dgui_template_exp_parentheses" data-menu-target="dgui_template_exp_parentheses">Parentheses</a></li><li><a class="page-menu-link" href="#dgui_template_exp_whitespace" data-menu-target="dgui_template_exp_whitespace">White-space in expressions</a></li><li><a class="page-menu-link" href="#dgui_template_exp_precedence" data-menu-target="dgui_template_exp_precedence">Operator precedence</a></li></ul> </div><p>When you supply values for interpolations or directive
+<ul><li><a class="page-menu-link" href="#exp_cheatsheet" data-menu-target="exp_cheatsheet">Quick overview (cheat sheet)</a></li><li><a class="page-menu-link" href="#dgui_template_exp_direct" data-menu-target="dgui_template_exp_direct">Specify values directly</a><ul><li><a class="page-menu-link" href="#dgui_template_exp_direct_string" data-menu-target="dgui_template_exp_direct_string">Strings</a></li><li><a class="page-menu-link" href="#dgui_template_exp_direct_number" data-menu-target="dgui_template_exp_direct_number">Numbers</a></li><li><a class="page-menu-link" href="#dgui_template_exp_direct_boolean" data-menu-target="dgui_template_exp_direct_boolean">Booleans</a></li><li><a class="page-menu-link" href="#dgui_template_exp_direct_seuqence" data-menu-target="dgui_template_exp_direct_seuqence">Sequences</a></li><li><a class="page-menu-link" href="#dgui_template_exp_direct_ranges" data-menu-target="dgui_template_exp_direct_ranges">Ranges</a></li><li><a class="page-menu-link" href="#d
gui_template_exp_direct_hash" data-menu-target="dgui_template_exp_direct_hash">Hashes</a></li></ul></li><li><a class="page-menu-link" href="#dgui_template_exp_var" data-menu-target="dgui_template_exp_var">Retrieving variables</a><ul><li><a class="page-menu-link" href="#dgui_template_exp_var_toplevel" data-menu-target="dgui_template_exp_var_toplevel">Top-level variables</a></li><li><a class="page-menu-link" href="#dgui_template_exp_var_hash" data-menu-target="dgui_template_exp_var_hash">Retrieving data from a hash</a></li><li><a class="page-menu-link" href="#dgui_template_exp_var_sequence" data-menu-target="dgui_template_exp_var_sequence">Retrieving data from a sequence</a></li><li><a class="page-menu-link" href="#dgui_template_exp_var_special" data-menu-target="dgui_template_exp_var_special">Special variables</a></li></ul></li><li><a class="page-menu-link" href="#dgui_template_exp_stringop" data-menu-target="dgui_template_exp_stringop">String operations</a><ul><li><a class="page-men
u-link" href="#dgui_template_exp_stringop_interpolation" data-menu-target="dgui_template_exp_stringop_interpolation">Interpolation and concatenation</a></li><li><a class="page-menu-link" href="#dgui_template_exp_get_character" data-menu-target="dgui_template_exp_get_character">Getting a character</a></li><li><a class="page-menu-link" href="#dgui_template_exp_stringop_slice" data-menu-target="dgui_template_exp_stringop_slice">String slicing (substrings)</a></li></ul></li><li><a class="page-menu-link" href="#dgui_template_exp_sequenceop" data-menu-target="dgui_template_exp_sequenceop">Sequence operations</a><ul><li><a class="page-menu-link" href="#dgui_template_exp_sequenceop_cat" data-menu-target="dgui_template_exp_sequenceop_cat">Concatenation</a></li><li><a class="page-menu-link" href="#dgui_template_exp_seqenceop_slice" data-menu-target="dgui_template_exp_seqenceop_slice">Sequence slicing</a></li></ul></li><li><a class="page-menu-link" href="#dgui_template_exp_hashop" data-menu-ta
rget="dgui_template_exp_hashop">Hash operations</a><ul><li><a class="page-menu-link" href="#dgui_template_exp_hashop_cat" data-menu-target="dgui_template_exp_hashop_cat">Concatenation</a></li></ul></li><li><a class="page-menu-link" href="#dgui_template_exp_arit" data-menu-target="dgui_template_exp_arit">Arithmetical calculations</a></li><li><a class="page-menu-link" href="#dgui_template_exp_comparison" data-menu-target="dgui_template_exp_comparison">Comparison</a></li><li><a class="page-menu-link" href="#dgui_template_exp_logicalop" data-menu-target="dgui_template_exp_logicalop">Logical operations</a></li><li><a class="page-menu-link" href="#dgui_template_exp_builtin" data-menu-target="dgui_template_exp_builtin">Built-ins</a></li><li><a class="page-menu-link" href="#dgui_template_exp_methodcall" data-menu-target="dgui_template_exp_methodcall">Method call</a></li><li><a class="page-menu-link" href="#dgui_template_exp_missing" data-menu-target="dgui_template_exp_missing">Handling miss
ing values</a><ul><li><a class="page-menu-link" href="#dgui_template_exp_missing_default" data-menu-target="dgui_template_exp_missing_default">Default value operator</a></li><li><a class="page-menu-link" href="#dgui_template_exp_missing_test" data-menu-target="dgui_template_exp_missing_test">Missing value test operator</a></li></ul></li><li><a class="page-menu-link" href="#dgui_template_exp_assignment" data-menu-target="dgui_template_exp_assignment">Assignment Operators</a></li><li><a class="page-menu-link" href="#dgui_template_exp_parentheses" data-menu-target="dgui_template_exp_parentheses">Parentheses</a></li><li><a class="page-menu-link" href="#dgui_template_exp_whitespace" data-menu-target="dgui_template_exp_whitespace">White-space in expressions</a></li><li><a class="page-menu-link" href="#dgui_template_exp_comment" data-menu-target="dgui_template_exp_comment">Comments in expressions</a></li><li><a class="page-menu-link" href="#dgui_template_exp_precedence" data-menu-target="d
gui_template_exp_precedence">Operator precedence</a></li></ul> </div><p>When you supply values for interpolations or directive
parameters you can use variables or more complex expressions. For
example, if x is the number 8 and y is 5, the value of <code class="inline-code">(x +
y)/2</code> resolves to the numerical value 6.5.</p><p>Before we go into details, let's see some concrete
@@ -874,7 +874,7 @@ baz
<code class="inline-code">book[test]</code>. More examples; these are all
equivalent: <code class="inline-code">book.author.name</code>,
<code class="inline-code">book["author"].name</code>,
- <code class="inline-code">book.author.["name"]</code>,
+ <code class="inline-code">book.author["name"]</code>,
<code class="inline-code">book["author"]["name"]</code>.</p>
<p>When you use the dot syntax, the same restrictions apply
@@ -1112,7 +1112,7 @@ J</pre></div>
- <p>You can a slice a string in the same way as you <a href="#dgui_template_exp_seqenceop_slice">slice a
+ <p>You can slice a string in the same way as you <a href="#dgui_template_exp_seqenceop_slice">slice a
sequence</a> (see there), only here instead of sequence items
you work with characters. Some differences are:</p>
@@ -1129,7 +1129,8 @@ J</pre></div>
multi-typed value), then slicing will slice the sequence
instead of the string. When you are processing XML, such
values are common. In such cases you can use
- <code class="inline-code"><em class="code-color">someXMLnode</em>?string[<em class="code-color">range</em>]</code>.</p>
+ <code class="inline-code"><em class="code-color">someXMLnode</em>?string[<em class="code-color">range</em>]</code>
+ to fore string slicing.</p>
</li>
<li>
@@ -1437,8 +1438,6 @@ Slicing with right-unlimited ranges:
</li>
</ul>
-
-
<p>Example:</p>
@@ -1529,6 +1528,22 @@ ${12 % 6.9} <#-- Prints 0 --></pre></div>
<div class="code-wrapper"><pre class="code-block code-template">${-12 % -5} <#-- Prints -2 -->
${-12 % 5} <#-- Prints -2 -->
${12 % -5} <#-- Prints 2 --></pre></div>
+
+ <p class="programmers-note">About the precision of the operations:
+ By default FreeMarker uses <code class="inline-code">BigDecimal</code>-s for all
+ arithmetical calculations, to avoid rounding and overflow/underflow
+ artifacts, and also keeps the result as
+ <code class="inline-code">BigDecimal</code>-s. So <code class="inline-code">+</code> (addition),
+ <code class="inline-code">-</code> (subtraction) and <code class="inline-code">*</code>
+ (multiplication) are "lossless". Again by default,
+ <code class="inline-code">/</code> (division) results are calculated to 12
+ decimals with half-up rounding (unless some operands have even more
+ decimals, in which case it's calculated with that much decimals).
+ All this behavior depends on the
+ <code class="inline-code">arithmetic_engine</code> configuration setting
+ (<code class="inline-code">Configurable.setArithmericEngine(ArithmericEngine)</code>)
+ though, and some application might use a different value than the
+ default, although that's highly uncommon.</p>
@@ -1606,33 +1621,29 @@ ${12 % -5} <#-- Prints 2 --></pre></div>
<code class="inline-code"><#if (x > y)></code>, although it's considered
to be less elegant.</p>
- <div class="callout note">
- <strong class="callout-label">Note:</strong>
-
- <p>FreeMarker supports some other alternatives too, but these
- are deprecated:</p>
+ <p>FreeMarker supports some more syntactical alternatives:</p>
- <ul>
- <li>
- <p>Writing <code class="inline-code">&gt;</code> and
- <code class="inline-code">&lt;</code> on the place of the problematic
- relation marks, like in: <code class="inline-code"><#if x &gt;
- y></code> or <code class="inline-code"><#if x &gt;=
- y></code> . Note that in general FTL does not support
- entity references (the
- <code class="inline-code">&<em class="code-color">...</em>;</code>
- things) in FTL tags; it's just an exception with the
- arithmetical comparisons.</p>
- </li>
-
- <li>
- <p><code class="inline-code">\lt</code>, <code class="inline-code">\lte</code>,
- <code class="inline-code">\gt</code> and <code class="inline-code">\gte</code> which are
- the same as the ones without the backslash</p>
- </li>
- </ul>
- </div>
+ <ul>
+ <li>
+ <p><code class="inline-code">&gt;</code> and
+ <code class="inline-code">&lt;</code> can also be used, like in:
+ <code class="inline-code"><#if x &gt; y></code> or <code class="inline-code"><#if
+ x &gt;= y></code>. This isn't meant to be entered
+ manually; it's to work around cases where the template gets
+ XML/HTML escaped and the user can't easily prevent that
+ happening. Note that in general FTL does not support entity
+ references (the
+ <code class="inline-code">&<em class="code-color">...</em>;</code> things)
+ in FTL tags; it's just an exception with these operators.</p>
+ </li>
+ <li>
+ <p>Deprecated forms: <code class="inline-code">\lt</code>,
+ <code class="inline-code">\lte</code>, <code class="inline-code">\gt</code> and
+ <code class="inline-code">\gte</code>. These are the same as the ones without
+ the backslash.</p>
+ </li>
+ </ul>
@@ -1680,6 +1691,38 @@ ${12 % -5} <#-- Prints 2 --></pre></div>
<#if <strong>!</strong>hot> <#-- here hot must be a boolean -->
It's not hot.
</#if></pre></div>
+
+ <p>FreeMarker supports some more syntactical alternatives:</p>
+
+ <ul>
+ <li>
+ <p><code class="inline-code">\and</code> (since FreeMarker 2.3.27): In some
+ applications using <code class="inline-code">&&</code> causes problems
+ as it's not valid in XML or HTML. While FreeMarker templates was
+ never intended to be valid XML/HTML, only their output should be
+ that, in reality there are some applications that expect the
+ template itself to be valid XML/HTML regardless. This syntax is
+ a workaround for such cases. Also note that unlike with the
+ comparison operators, <code class="inline-code">and</code> without
+ <code class="inline-code">\</code> is not supported due to backward
+ compatibility restrictions.</p>
+ </li>
+
+ <li>
+ <p><code class="inline-code">&amp;&amp;</code> (since FreeMarker
+ 2.3.27): This isn't meant to be entered manually; it's to work
+ around cases where the template gets XML/HTML escaped and the
+ user can't easily prevent that happening. Note that in general
+ FTL does not support entity references (the
+ <code class="inline-code">&<em class="code-color">...</em>;</code> things)
+ in FTL tags; it's just an exception with these operators.</p>
+ </li>
+
+ <li>
+ <p>Deprecated forms: <code class="inline-code">&</code> and
+ <code class="inline-code">|</code>. Don't use them anymore.</p>
+ </li>
+ </ul>
@@ -2181,6 +2224,33 @@ ${("green " + "mouse")?upper_case} <#-- GREEN MOUSE --&g
+<h2 class="content-header header-section2" id="dgui_template_exp_comment">Comments in expressions</h2>
+
+
+
+
+ <p>Expression may contain comments anywhere where they can
+ contain ignored white-space (<a href="#dgui_template_exp_whitespace">see above</a>). Comments
+ look like <code class="inline-code"><#-- ... --></code> or as <code class="inline-code">[#--
+ ... --]</code>. Example:</p>
+
+
+
+<div class="code-wrapper"><pre class="code-block code-template"><#assign x <#-- A comment --> = 123 <#-- A comment -->>
+<#function f(x <#-- A comment -->, y <#-- A comment -->)>
+ <#return <#-- A comment --> 1 <#-- A comment -->>
+</#function>
+<#assign someHash = {
+ "foo": 123, <#-- A comment -->
+ "bar": x <#-- A comment --> + 1,
+ <#-- A comment -->
+ "baaz": f(1 <#-- A comment -->, 2 <#-- A comment -->)
+} <#-- A comment -->></pre></div>
+
+
+
+
+
<h2 class="content-header header-section2" id="dgui_template_exp_precedence">Operator precedence</h2>
@@ -2327,7 +2397,7 @@ ${("green " + "mouse")?upper_case} <#-- GREEN MOUSE --&g
</div>
<div class="site-footer"><div class="site-width"><div class="footer-top"><div class="col-left sitemap"><div class="column"><h3 class="column-header">Overview</h3><ul><li><a href="http://freemarker.org/">What is FreeMarker?</a></li><li><a href="http://freemarker.org/freemarkerdownload.html">Download</a></li><li><a href="app_versions.html">Version history</a></li><li><a href="http://freemarker.org/history.html">About us</a></li><li><a itemprop="license" href="app_license.html">License</a></li></ul></div><div class="column"><h3 class="column-header">Handy stuff</h3><ul><li><a href="http://freemarker-online.kenshoo.com/">Try template online</a></li><li><a href="dgui_template_exp.html#exp_cheatsheet">Expressions cheatsheet</a></li><li><a href="ref_directive_alphaidx.html">#directives</a></li><li><a href="ref_builtins_alphaidx.html">?built_ins</a></li><li><a href="ref_specvar.html">.special_vars</a></li></ul></div><div class="column"><h3 class="column-header">Community</h3><ul><li><a href
="https://github.com/freemarker/freemarker">FreeMarker on Github</a></li><li><a href="https://twitter.com/freemarker">Follow us on Twitter</a></li><li><a href="https://issues.apache.org/jira/browse/FREEMARKER/">Report a bug</a></li><li><a href="http://stackoverflow.com/questions/ask?tags=freemarker">Ask a question</a></li><li><a href="http://freemarker.org/mailing-lists.html">Mailing lists</a></li></ul></div></div><div class="col-right"><ul class="social-icons"><li><a class="github" href="https://github.com/freemarker/freemarker">Github</a></li><li><a class="twitter" href="https://twitter.com/freemarker">Twitter</a></li><li><a class="stack-overflow" href="http://stackoverflow.com/questions/ask?tags=freemarker">Stack Overflow</a></li></ul><a class="xxe" href="http://www.xmlmind.com/xmleditor/" rel="nofollow" title="Edited with XMLMind XML Editor"><span>Edited with XMLMind XML Editor</span></a></div></div><div class="footer-bottom"> <p class="last-generated">
Last generated:
-<time itemprop="dateModified" datetime="2017-04-08T16:15:37Z" title="Saturday, April 8, 2017 4:15:37 PM GMT">2017-04-08 16:15:37 GMT</time>, for Freemarker 2.3.26 </p>
+<time itemprop="dateModified" datetime="2017-11-03T01:33:31Z" title="Friday, November 3, 2017 1:33:31 AM GMT">2017-11-03 01:33:31 GMT</time>, for Freemarker 2.3.27 </p>
<p class="copyright">
© <span itemprop="copyrightYear">1999</span>–2017
<a itemtype="http://schema.org/Organization" itemprop="copyrightHolder" href="http://apache.org/">The Apache Software Foundation</a>. Apache FreeMarker, FreeMarker, Apache Incubator, Apache, the Apache FreeMarker logo are trademarks of The Apache Software Foundation. </p>
http://git-wip-us.apache.org/repos/asf/incubator-freemarker-site/blob/5decc99a/docs/dgui_template_overallstructure.html
----------------------------------------------------------------------
diff --git a/docs/dgui_template_overallstructure.html b/docs/dgui_template_overallstructure.html
index 3843193..5d8b982 100644
--- a/docs/dgui_template_overallstructure.html
+++ b/docs/dgui_template_overallstructure.html
@@ -14,7 +14,7 @@
<link rel="canonical" href="http://freemarker.org/docs/dgui_template_overallstructure.html">
<link rel="icon" href="favicon.png" type="image/png">
<link rel="stylesheet" type="text/css" href="http://fonts.googleapis.com/css?family=Roboto:500,700,400,300|Droid+Sans+Mono">
-<link rel="stylesheet" type="text/css" href="docgen-resources/docgen.min.css?1491668137263">
+<link rel="stylesheet" type="text/css" href="docgen-resources/docgen.min.css?1509672811897">
<script>
(function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
(i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
@@ -35,8 +35,8 @@ ga('send', 'pageview');
<div class="content-wrapper">
<div id="table-of-contents-wrapper" class="col-left">
<script>var breadcrumb = ["Apache FreeMarker Manual","Template Author\'s Guide","The Template","Overall structure"];</script>
- <script src="toc.js?1491668137263"></script>
- <script src="docgen-resources/main.min.js?1491668137263"></script>
+ <script src="toc.js?1509672811897"></script>
+ <script src="docgen-resources/main.min.js?1509672811897"></script>
</div>
<div class="col-right"><div class="page-content"><div class="page-title"><div class="pagers top"><a class="paging-arrow previous" href="dgui_template.html"><span>Previous</span></a><a class="paging-arrow next" href="dgui_template_directives.html"><span>Next</span></a></div><div class="title-wrapper">
<h1 class="content-header header-section1" id="dgui_template_overallstructure" itemprop="headline">Overall structure</h1>
@@ -123,7 +123,7 @@ ga('send', 'pageview');
</div>
<div class="site-footer"><div class="site-width"><div class="footer-top"><div class="col-left sitemap"><div class="column"><h3 class="column-header">Overview</h3><ul><li><a href="http://freemarker.org/">What is FreeMarker?</a></li><li><a href="http://freemarker.org/freemarkerdownload.html">Download</a></li><li><a href="app_versions.html">Version history</a></li><li><a href="http://freemarker.org/history.html">About us</a></li><li><a itemprop="license" href="app_license.html">License</a></li></ul></div><div class="column"><h3 class="column-header">Handy stuff</h3><ul><li><a href="http://freemarker-online.kenshoo.com/">Try template online</a></li><li><a href="dgui_template_exp.html#exp_cheatsheet">Expressions cheatsheet</a></li><li><a href="ref_directive_alphaidx.html">#directives</a></li><li><a href="ref_builtins_alphaidx.html">?built_ins</a></li><li><a href="ref_specvar.html">.special_vars</a></li></ul></div><div class="column"><h3 class="column-header">Community</h3><ul><li><a href
="https://github.com/freemarker/freemarker">FreeMarker on Github</a></li><li><a href="https://twitter.com/freemarker">Follow us on Twitter</a></li><li><a href="https://issues.apache.org/jira/browse/FREEMARKER/">Report a bug</a></li><li><a href="http://stackoverflow.com/questions/ask?tags=freemarker">Ask a question</a></li><li><a href="http://freemarker.org/mailing-lists.html">Mailing lists</a></li></ul></div></div><div class="col-right"><ul class="social-icons"><li><a class="github" href="https://github.com/freemarker/freemarker">Github</a></li><li><a class="twitter" href="https://twitter.com/freemarker">Twitter</a></li><li><a class="stack-overflow" href="http://stackoverflow.com/questions/ask?tags=freemarker">Stack Overflow</a></li></ul><a class="xxe" href="http://www.xmlmind.com/xmleditor/" rel="nofollow" title="Edited with XMLMind XML Editor"><span>Edited with XMLMind XML Editor</span></a></div></div><div class="footer-bottom"> <p class="last-generated">
Last generated:
-<time itemprop="dateModified" datetime="2017-04-08T16:15:37Z" title="Saturday, April 8, 2017 4:15:37 PM GMT">2017-04-08 16:15:37 GMT</time>, for Freemarker 2.3.26 </p>
+<time itemprop="dateModified" datetime="2017-11-03T01:33:31Z" title="Friday, November 3, 2017 1:33:31 AM GMT">2017-11-03 01:33:31 GMT</time>, for Freemarker 2.3.27 </p>
<p class="copyright">
© <span itemprop="copyrightYear">1999</span>–2017
<a itemtype="http://schema.org/Organization" itemprop="copyrightHolder" href="http://apache.org/">The Apache Software Foundation</a>. Apache FreeMarker, FreeMarker, Apache Incubator, Apache, the Apache FreeMarker logo are trademarks of The Apache Software Foundation. </p>
http://git-wip-us.apache.org/repos/asf/incubator-freemarker-site/blob/5decc99a/docs/dgui_template_valueinsertion.html
----------------------------------------------------------------------
diff --git a/docs/dgui_template_valueinsertion.html b/docs/dgui_template_valueinsertion.html
index b0afdc3..dcb6f4c 100644
--- a/docs/dgui_template_valueinsertion.html
+++ b/docs/dgui_template_valueinsertion.html
@@ -14,7 +14,7 @@
<link rel="canonical" href="http://freemarker.org/docs/dgui_template_valueinsertion.html">
<link rel="icon" href="favicon.png" type="image/png">
<link rel="stylesheet" type="text/css" href="http://fonts.googleapis.com/css?family=Roboto:500,700,400,300|Droid+Sans+Mono">
-<link rel="stylesheet" type="text/css" href="docgen-resources/docgen.min.css?1491668137263">
+<link rel="stylesheet" type="text/css" href="docgen-resources/docgen.min.css?1509672811897">
<script>
(function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
(i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
@@ -35,8 +35,8 @@ ga('send', 'pageview');
<div class="content-wrapper">
<div id="table-of-contents-wrapper" class="col-left">
<script>var breadcrumb = ["Apache FreeMarker Manual","Template Author\'s Guide","The Template","Interpolations"];</script>
- <script src="toc.js?1491668137263"></script>
- <script src="docgen-resources/main.min.js?1491668137263"></script>
+ <script src="toc.js?1509672811897"></script>
+ <script src="docgen-resources/main.min.js?1509672811897"></script>
</div>
<div class="col-right"><div class="page-content"><div class="page-title"><div class="pagers top"><a class="paging-arrow previous" href="dgui_template_exp.html"><span>Previous</span></a><a class="paging-arrow next" href="dgui_misc.html"><span>Next</span></a></div><div class="title-wrapper">
<h1 class="content-header header-section1" id="dgui_template_valueinsertion" itemprop="headline">Interpolations</h1>
@@ -302,7 +302,7 @@ ga('send', 'pageview');
</div>
<div class="site-footer"><div class="site-width"><div class="footer-top"><div class="col-left sitemap"><div class="column"><h3 class="column-header">Overview</h3><ul><li><a href="http://freemarker.org/">What is FreeMarker?</a></li><li><a href="http://freemarker.org/freemarkerdownload.html">Download</a></li><li><a href="app_versions.html">Version history</a></li><li><a href="http://freemarker.org/history.html">About us</a></li><li><a itemprop="license" href="app_license.html">License</a></li></ul></div><div class="column"><h3 class="column-header">Handy stuff</h3><ul><li><a href="http://freemarker-online.kenshoo.com/">Try template online</a></li><li><a href="dgui_template_exp.html#exp_cheatsheet">Expressions cheatsheet</a></li><li><a href="ref_directive_alphaidx.html">#directives</a></li><li><a href="ref_builtins_alphaidx.html">?built_ins</a></li><li><a href="ref_specvar.html">.special_vars</a></li></ul></div><div class="column"><h3 class="column-header">Community</h3><ul><li><a href
="https://github.com/freemarker/freemarker">FreeMarker on Github</a></li><li><a href="https://twitter.com/freemarker">Follow us on Twitter</a></li><li><a href="https://issues.apache.org/jira/browse/FREEMARKER/">Report a bug</a></li><li><a href="http://stackoverflow.com/questions/ask?tags=freemarker">Ask a question</a></li><li><a href="http://freemarker.org/mailing-lists.html">Mailing lists</a></li></ul></div></div><div class="col-right"><ul class="social-icons"><li><a class="github" href="https://github.com/freemarker/freemarker">Github</a></li><li><a class="twitter" href="https://twitter.com/freemarker">Twitter</a></li><li><a class="stack-overflow" href="http://stackoverflow.com/questions/ask?tags=freemarker">Stack Overflow</a></li></ul><a class="xxe" href="http://www.xmlmind.com/xmleditor/" rel="nofollow" title="Edited with XMLMind XML Editor"><span>Edited with XMLMind XML Editor</span></a></div></div><div class="footer-bottom"> <p class="last-generated">
Last generated:
-<time itemprop="dateModified" datetime="2017-04-08T16:15:37Z" title="Saturday, April 8, 2017 4:15:37 PM GMT">2017-04-08 16:15:37 GMT</time>, for Freemarker 2.3.26 </p>
+<time itemprop="dateModified" datetime="2017-11-03T01:33:31Z" title="Friday, November 3, 2017 1:33:31 AM GMT">2017-11-03 01:33:31 GMT</time>, for Freemarker 2.3.27 </p>
<p class="copyright">
© <span itemprop="copyrightYear">1999</span>–2017
<a itemtype="http://schema.org/Organization" itemprop="copyrightHolder" href="http://apache.org/">The Apache Software Foundation</a>. Apache FreeMarker, FreeMarker, Apache Incubator, Apache, the Apache FreeMarker logo are trademarks of The Apache Software Foundation. </p>
http://git-wip-us.apache.org/repos/asf/incubator-freemarker-site/blob/5decc99a/docs/eclipse-toc.xml
----------------------------------------------------------------------
diff --git a/docs/eclipse-toc.xml b/docs/eclipse-toc.xml
index a8fcc31..6eb0fa1 100644
--- a/docs/eclipse-toc.xml
+++ b/docs/eclipse-toc.xml
@@ -336,7 +336,7 @@
href="ref_directive_include.html"
></topic>
<topic
- label="list, else, items, sep, break"
+ label="list, else, items, sep, break, continue"
href="ref_directive_list.html"
></topic>
<topic
@@ -480,6 +480,10 @@
href="app_versions.html"
>
<topic
+ label="2.3.27 (incubating at Apache)"
+ href="versions_2_3_27.html"
+ ></topic>
+<topic
label="2.3.26 (incubating at Apache)"
href="versions_2_3_26.html"
></topic>
http://git-wip-us.apache.org/repos/asf/incubator-freemarker-site/blob/5decc99a/docs/gloss.html
----------------------------------------------------------------------
diff --git a/docs/gloss.html b/docs/gloss.html
index d3351e2..388e186 100644
--- a/docs/gloss.html
+++ b/docs/gloss.html
@@ -14,7 +14,7 @@
<link rel="canonical" href="http://freemarker.org/docs/gloss.html">
<link rel="icon" href="favicon.png" type="image/png">
<link rel="stylesheet" type="text/css" href="http://fonts.googleapis.com/css?family=Roboto:500,700,400,300|Droid+Sans+Mono">
-<link rel="stylesheet" type="text/css" href="docgen-resources/docgen.min.css?1491668137263">
+<link rel="stylesheet" type="text/css" href="docgen-resources/docgen.min.css?1509672811897">
<script>
(function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
(i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
@@ -35,13 +35,13 @@ ga('send', 'pageview');
<div class="content-wrapper">
<div id="table-of-contents-wrapper" class="col-left">
<script>var breadcrumb = ["Apache FreeMarker Manual","Glossary"];</script>
- <script src="toc.js?1491668137263"></script>
- <script src="docgen-resources/main.min.js?1491668137263"></script>
+ <script src="toc.js?1509672811897"></script>
+ <script src="docgen-resources/main.min.js?1509672811897"></script>
</div>
<div class="col-right"><div class="page-content"><div class="page-title"><div class="pagers top"><a class="paging-arrow previous" href="app_eccn.html"><span>Previous</span></a><a class="paging-arrow next" href="alphaidx.html"><span>Next</span></a></div><div class="title-wrapper">
<h1 class="content-header header-part" id="gloss" itemprop="headline">Glossary</h1>
</div></div> <p>
-<a href="#gloss.attribute">A</a> | <a href="#gloss.boolean">B</a> | <a href="#gloss.character">C</a> | <a href="#gloss.dataModel">D</a> | <a href="#gloss.element">E</a> | <a href="#gloss.FTL">F</a> | <a href="#gloss.hashVariable">H</a> | <a href="#gloss.lineBreak">L</a> | <a href="#gloss.macroDefinitionBody">M</a> | <a href="#gloss.outputEncoding">O</a> | <a href="#gloss.parseTimeError">P</a> | <a href="#gloss.regularExpression">R</a> | <a href="#gloss.scalarVariable">S</a> | <a href="#gloss.tag">T</a> | <a href="#gloss.UCS">U</a> | <a href="#gloss.whiteSpace">W</a> | <a href="#autoid_295">X</a> </p>
+<a href="#gloss.attribute">A</a> | <a href="#gloss.boolean">B</a> | <a href="#gloss.character">C</a> | <a href="#gloss.dataModel">D</a> | <a href="#gloss.element">E</a> | <a href="#gloss.FTL">F</a> | <a href="#gloss.hashVariable">H</a> | <a href="#gloss.lineBreak">L</a> | <a href="#gloss.macroDefinitionBody">M</a> | <a href="#gloss.outputEncoding">O</a> | <a href="#gloss.parseTimeError">P</a> | <a href="#gloss.regularExpression">R</a> | <a href="#gloss.scalarVariable">S</a> | <a href="#gloss.tag">T</a> | <a href="#gloss.UCS">U</a> | <a href="#gloss.whiteSpace">W</a> | <a href="#autoid_288">X</a> </p>
<dl>
@@ -242,7 +242,7 @@ ga('send', 'pageview');
</dd>
- <dt><a name="autoid_293"></a>FTL</dt>
+ <dt><a name="autoid_286"></a>FTL</dt>
<dd>See
@@ -537,7 +537,7 @@ ga('send', 'pageview');
</dd>
- <dt><a name="autoid_294"></a>SGML</dt>
+ <dt><a name="autoid_287"></a>SGML</dt>
<dd>See
@@ -750,7 +750,7 @@ ga('send', 'pageview');
</dd>
- <dt><a name="autoid_295"></a>XML</dt>
+ <dt><a name="autoid_288"></a>XML</dt>
<dd>See
@@ -762,7 +762,7 @@ ga('send', 'pageview');
</div>
<div class="site-footer"><div class="site-width"><div class="footer-top"><div class="col-left sitemap"><div class="column"><h3 class="column-header">Overview</h3><ul><li><a href="http://freemarker.org/">What is FreeMarker?</a></li><li><a href="http://freemarker.org/freemarkerdownload.html">Download</a></li><li><a href="app_versions.html">Version history</a></li><li><a href="http://freemarker.org/history.html">About us</a></li><li><a itemprop="license" href="app_license.html">License</a></li></ul></div><div class="column"><h3 class="column-header">Handy stuff</h3><ul><li><a href="http://freemarker-online.kenshoo.com/">Try template online</a></li><li><a href="dgui_template_exp.html#exp_cheatsheet">Expressions cheatsheet</a></li><li><a href="ref_directive_alphaidx.html">#directives</a></li><li><a href="ref_builtins_alphaidx.html">?built_ins</a></li><li><a href="ref_specvar.html">.special_vars</a></li></ul></div><div class="column"><h3 class="column-header">Community</h3><ul><li><a href
="https://github.com/freemarker/freemarker">FreeMarker on Github</a></li><li><a href="https://twitter.com/freemarker">Follow us on Twitter</a></li><li><a href="https://issues.apache.org/jira/browse/FREEMARKER/">Report a bug</a></li><li><a href="http://stackoverflow.com/questions/ask?tags=freemarker">Ask a question</a></li><li><a href="http://freemarker.org/mailing-lists.html">Mailing lists</a></li></ul></div></div><div class="col-right"><ul class="social-icons"><li><a class="github" href="https://github.com/freemarker/freemarker">Github</a></li><li><a class="twitter" href="https://twitter.com/freemarker">Twitter</a></li><li><a class="stack-overflow" href="http://stackoverflow.com/questions/ask?tags=freemarker">Stack Overflow</a></li></ul><a class="xxe" href="http://www.xmlmind.com/xmleditor/" rel="nofollow" title="Edited with XMLMind XML Editor"><span>Edited with XMLMind XML Editor</span></a></div></div><div class="footer-bottom"> <p class="last-generated">
Last generated:
-<time itemprop="dateModified" datetime="2017-04-08T16:15:37Z" title="Saturday, April 8, 2017 4:15:37 PM GMT">2017-04-08 16:15:37 GMT</time>, for Freemarker 2.3.26 </p>
+<time itemprop="dateModified" datetime="2017-11-03T01:33:31Z" title="Friday, November 3, 2017 1:33:31 AM GMT">2017-11-03 01:33:31 GMT</time>, for Freemarker 2.3.27 </p>
<p class="copyright">
© <span itemprop="copyrightYear">1999</span>–2017
<a itemtype="http://schema.org/Organization" itemprop="copyrightHolder" href="http://apache.org/">The Apache Software Foundation</a>. Apache FreeMarker, FreeMarker, Apache Incubator, Apache, the Apache FreeMarker logo are trademarks of The Apache Software Foundation. </p>
http://git-wip-us.apache.org/repos/asf/incubator-freemarker-site/blob/5decc99a/docs/index.html
----------------------------------------------------------------------
diff --git a/docs/index.html b/docs/index.html
index 444ce1e..6496e38 100644
--- a/docs/index.html
+++ b/docs/index.html
@@ -14,7 +14,7 @@
<link rel="canonical" href="http://freemarker.org/docs/index.html">
<link rel="icon" href="favicon.png" type="image/png">
<link rel="stylesheet" type="text/css" href="http://fonts.googleapis.com/css?family=Roboto:500,700,400,300|Droid+Sans+Mono">
-<link rel="stylesheet" type="text/css" href="docgen-resources/docgen.min.css?1491668137263">
+<link rel="stylesheet" type="text/css" href="docgen-resources/docgen.min.css?1509672811897">
<script>
(function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
(i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
@@ -35,19 +35,19 @@ ga('send', 'pageview');
<div class="content-wrapper">
<div id="table-of-contents-wrapper" class="col-left">
<script>var breadcrumb = [];</script>
- <script src="toc.js?1491668137263"></script>
- <script src="docgen-resources/main.min.js?1491668137263"></script>
+ <script src="toc.js?1509672811897"></script>
+ <script src="docgen-resources/main.min.js?1509672811897"></script>
</div>
<div class="col-right"><div class="page-content"><div class="page-title"><div class="pagers top"><span class="paging-arrow disabled previous"><span>Previous</span></span><a class="paging-arrow next" href="dgui.html"><span>Next</span></a></div><div class="title-wrapper">
-<h1 class="content-header header-book" id="autoid_1" itemprop="headline">Apache FreeMarker Manual <span class="subtitle productname">For Freemarker 2.3.26</span>
+<h1 class="content-header header-book" id="autoid_1" itemprop="headline">Apache FreeMarker Manual <span class="subtitle productname">For Freemarker 2.3.27</span>
</h1>
</div></div><div class="page-menu">
<div class="page-menu-title">Table of Contents</div>
-<ul><li><a class="page-menu-link" href="dgui.html" data-menu-target="dgui">Template Author's Guide</a><ul><li><a class="page-menu-link" href="dgui_quickstart.html" data-menu-target="dgui_quickstart">Getting Started</a><ul><li><a class="page-menu-link" href="dgui_quickstart_basics.html" data-menu-target="dgui_quickstart_basics">Template + data-model = output</a></li><li><a class="page-menu-link" href="dgui_quickstart_datamodel.html" data-menu-target="dgui_quickstart_datamodel">The data-model at a glance</a></li><li><a class="page-menu-link" href="dgui_quickstart_template.html" data-menu-target="dgui_quickstart_template">The template at a glance</a></li></ul></li><li><a class="page-menu-link" href="dgui_datamodel.html" data-menu-target="dgui_datamodel">Values, Types</a><ul><li><a class="page-menu-link" href="dgui_datamodel_basics.html" data-menu-target="dgui_datamodel_basics">Basics</a></li><li><a class="page-menu-link" href="dgui_datamodel_types.html" data-menu-target="dgui_datam
odel_types">The types</a></li></ul></li><li><a class="page-menu-link" href="dgui_template.html" data-menu-target="dgui_template">The Template</a><ul><li><a class="page-menu-link" href="dgui_template_overallstructure.html" data-menu-target="dgui_template_overallstructure">Overall structure</a></li><li><a class="page-menu-link" href="dgui_template_directives.html" data-menu-target="dgui_template_directives">Directives</a></li><li><a class="page-menu-link" href="dgui_template_exp.html" data-menu-target="dgui_template_exp">Expressions</a></li><li><a class="page-menu-link" href="dgui_template_valueinsertion.html" data-menu-target="dgui_template_valueinsertion">Interpolations</a></li></ul></li><li><a class="page-menu-link" href="dgui_misc.html" data-menu-target="dgui_misc">Miscellaneous</a><ul><li><a class="page-menu-link" href="dgui_misc_userdefdir.html" data-menu-target="dgui_misc_userdefdir">Defining your own directives</a></li><li><a class="page-menu-link" href="dgui_misc_var.html" da
ta-menu-target="dgui_misc_var">Defining variables in the template</a></li><li><a class="page-menu-link" href="dgui_misc_namespace.html" data-menu-target="dgui_misc_namespace">Namespaces</a></li><li><a class="page-menu-link" href="dgui_misc_autoescaping.html" data-menu-target="dgui_misc_autoescaping">Auto-escaping and output formats</a></li><li><a class="page-menu-link" href="dgui_misc_whitespace.html" data-menu-target="dgui_misc_whitespace">White-space handling</a></li><li><a class="page-menu-link" href="dgui_misc_alternativesyntax.html" data-menu-target="dgui_misc_alternativesyntax">Alternative (square bracket) syntax</a></li></ul></li></ul></li><li><a class="page-menu-link" href="pgui.html" data-menu-target="pgui">Programmer's Guide</a><ul><li><a class="page-menu-link" href="pgui_quickstart.html" data-menu-target="pgui_quickstart">Getting Started</a><ul><li><a class="page-menu-link" href="pgui_quickstart_createconfiguration.html" data-menu-target="pgui_quickstart_createconfigu
ration">Create a configuration instance</a></li><li><a class="page-menu-link" href="pgui_quickstart_createdatamodel.html" data-menu-target="pgui_quickstart_createdatamodel">Create a data-model</a></li><li><a class="page-menu-link" href="pgui_quickstart_gettemplate.html" data-menu-target="pgui_quickstart_gettemplate">Get the template</a></li><li><a class="page-menu-link" href="pgui_quickstart_merge.html" data-menu-target="pgui_quickstart_merge">Merging the template with the data-model</a></li><li><a class="page-menu-link" href="pgui_quickstart_all.html" data-menu-target="pgui_quickstart_all">Putting all together</a></li></ul></li><li><a class="page-menu-link" href="pgui_datamodel.html" data-menu-target="pgui_datamodel">The Data Model</a><ul><li><a class="page-menu-link" href="pgui_datamodel_basics.html" data-menu-target="pgui_datamodel_basics">Basics</a></li><li><a class="page-menu-link" href="pgui_datamodel_scalar.html" data-menu-target="pgui_datamodel_scalar">Scalars</a></li><li><a
class="page-menu-link" href="pgui_datamodel_parent.html" data-menu-target="pgui_datamodel_parent">Containers</a></li><li><a class="page-menu-link" href="pgui_datamodel_method.html" data-menu-target="pgui_datamodel_method">Methods</a></li><li><a class="page-menu-link" href="pgui_datamodel_directive.html" data-menu-target="pgui_datamodel_directive">Directives</a></li><li><a class="page-menu-link" href="pgui_datamodel_node.html" data-menu-target="pgui_datamodel_node">Node variables</a></li><li><a class="page-menu-link" href="pgui_datamodel_objectWrapper.html" data-menu-target="pgui_datamodel_objectWrapper">Object wrappers</a></li></ul></li><li><a class="page-menu-link" href="pgui_config.html" data-menu-target="pgui_config">The Configuration</a><ul><li><a class="page-menu-link" href="pgui_config_basics.html" data-menu-target="pgui_config_basics">Basics</a></li><li><a class="page-menu-link" href="pgui_config_sharedvariables.html" data-menu-target="pgui_config_sharedvariables">Shared var
iables</a></li><li><a class="page-menu-link" href="pgui_config_settings.html" data-menu-target="pgui_config_settings">Settings</a></li><li><a class="page-menu-link" href="pgui_config_templateloading.html" data-menu-target="pgui_config_templateloading">Template loading</a></li><li><a class="page-menu-link" href="pgui_config_errorhandling.html" data-menu-target="pgui_config_errorhandling">Error handling</a></li><li><a class="page-menu-link" href="pgui_config_templateconfigurations.html" data-menu-target="pgui_config_templateconfigurations">Template configurations</a></li><li><a class="page-menu-link" href="pgui_config_outputformatsautoesc.html" data-menu-target="pgui_config_outputformatsautoesc">Associating output formats with templates</a></li><li><a class="page-menu-link" href="pgui_config_custom_formats.html" data-menu-target="pgui_config_custom_formats">Custom number and date/time formats</a></li><li><a class="page-menu-link" href="pgui_config_incompatible_improvements.html" data-
menu-target="pgui_config_incompatible_improvements">The "incompatible improvements" setting</a></li></ul></li><li><a class="page-menu-link" href="pgui_misc.html" data-menu-target="pgui_misc">Miscellaneous</a><ul><li><a class="page-menu-link" href="pgui_misc_var.html" data-menu-target="pgui_misc_var">Variables, scopes</a></li><li><a class="page-menu-link" href="pgui_misc_charset.html" data-menu-target="pgui_misc_charset">Charset issues</a></li><li><a class="page-menu-link" href="pgui_misc_multithreading.html" data-menu-target="pgui_misc_multithreading">Multithreading</a></li><li><a class="page-menu-link" href="pgui_misc_beanwrapper.html" data-menu-target="pgui_misc_beanwrapper">Bean wrapper</a></li><li><a class="page-menu-link" href="pgui_misc_logging.html" data-menu-target="pgui_misc_logging">Logging</a></li><li><a class="page-menu-link" href="pgui_misc_servlet.html" data-menu-target="pgui_misc_servlet">Using FreeMarker with servlets</a></li><li><a class="page-menu-link" h
ref="pgui_misc_secureenv.html" data-menu-target="pgui_misc_secureenv">Configuring security policy for FreeMarker</a></li><li><a class="page-menu-link" href="pgui_misc_xml_legacy.html" data-menu-target="pgui_misc_xml_legacy">Legacy XML wrapper implementation</a></li><li><a class="page-menu-link" href="pgui_misc_ant.html" data-menu-target="pgui_misc_ant">Using FreeMarker with Ant</a></li><li><a class="page-menu-link" href="pgui_misc_jythonwrapper.html" data-menu-target="pgui_misc_jythonwrapper">Jython wrapper</a></li></ul></li></ul></li><li><a class="page-menu-link" href="ref.html" data-menu-target="ref">Template Language Reference</a><ul><li><a class="page-menu-link" href="ref_builtins.html" data-menu-target="ref_builtins">Built-in Reference</a><ul><li><a class="page-menu-link" href="ref_builtins_alphaidx.html" data-menu-target="ref_builtins_alphaidx">Alphabetical index</a></li><li><a class="page-menu-link" href="ref_builtins_string.html" data-menu-target="ref_builtins_string">Built-
ins for strings</a></li><li><a class="page-menu-link" href="ref_builtins_number.html" data-menu-target="ref_builtins_number">Built-ins for numbers</a></li><li><a class="page-menu-link" href="ref_builtins_date.html" data-menu-target="ref_builtins_date">Built-ins for date/time/date-time values</a></li><li><a class="page-menu-link" href="ref_builtins_boolean.html" data-menu-target="ref_builtins_boolean">Built-ins for booleans</a></li><li><a class="page-menu-link" href="ref_builtins_sequence.html" data-menu-target="ref_builtins_sequence">Built-ins for sequences</a></li><li><a class="page-menu-link" href="ref_builtins_hash.html" data-menu-target="ref_builtins_hash">Built-ins for hashes</a></li><li><a class="page-menu-link" href="ref_builtins_node.html" data-menu-target="ref_builtins_node">Built-ins for nodes (for XML)</a></li><li><a class="page-menu-link" href="ref_builtins_loop_var.html" data-menu-target="ref_builtins_loop_var">Loop variable built-ins</a></li><li><a class="page-menu-lin
k" href="ref_builtins_type_independent.html" data-menu-target="ref_builtins_type_independent">Type independent built-ins</a></li><li><a class="page-menu-link" href="ref_builtins_expert.html" data-menu-target="ref_builtins_expert">Seldom used and expert built-ins</a></li></ul></li><li><a class="page-menu-link" href="ref_directives.html" data-menu-target="ref_directives">Directive Reference</a><ul><li><a class="page-menu-link" href="ref_directive_alphaidx.html" data-menu-target="ref_directive_alphaidx">Alphabetical index</a></li><li><a class="page-menu-link" href="ref_directive_assign.html" data-menu-target="ref_directive_assign">assign</a></li><li><a class="page-menu-link" href="ref_directive_attempt.html" data-menu-target="ref_directive_attempt">attempt, recover</a></li><li><a class="page-menu-link" href="ref_directive_autoesc.html" data-menu-target="ref_directive_autoesc">autoesc</a></li><li><a class="page-menu-link" href="ref_directive_compress.html" data-menu-target="ref_directiv
e_compress">compress</a></li><li><a class="page-menu-link" href="ref_directive_escape.html" data-menu-target="ref_directive_escape">escape, noescape (deprecated)</a></li><li><a class="page-menu-link" href="ref_directive_flush.html" data-menu-target="ref_directive_flush">flush</a></li><li><a class="page-menu-link" href="ref_directive_ftl.html" data-menu-target="ref_directive_ftl">ftl</a></li><li><a class="page-menu-link" href="ref_directive_function.html" data-menu-target="ref_directive_function">function, return</a></li><li><a class="page-menu-link" href="ref_directive_global.html" data-menu-target="ref_directive_global">global</a></li><li><a class="page-menu-link" href="ref_directive_if.html" data-menu-target="ref_directive_if">if, else, elseif</a></li><li><a class="page-menu-link" href="ref_directive_import.html" data-menu-target="ref_directive_import">import</a></li><li><a class="page-menu-link" href="ref_directive_include.html" data-menu-target="ref_directive_include">include</a
></li><li><a class="page-menu-link" href="ref_directive_list.html" data-menu-target="ref_directive_list">list, else, items, sep, break</a></li><li><a class="page-menu-link" href="ref_directive_local.html" data-menu-target="ref_directive_local">local</a></li><li><a class="page-menu-link" href="ref_directive_macro.html" data-menu-target="ref_directive_macro">macro, nested, return</a></li><li><a class="page-menu-link" href="ref_directive_noautoesc.html" data-menu-target="ref_directive_noautoesc">noautoesc</a></li><li><a class="page-menu-link" href="ref_directive_noparse.html" data-menu-target="ref_directive_noparse">noparse</a></li><li><a class="page-menu-link" href="ref_directive_nt.html" data-menu-target="ref_directive_nt">nt</a></li><li><a class="page-menu-link" href="ref_directive_outputformat.html" data-menu-target="ref_directive_outputformat">outputformat</a></li><li><a class="page-menu-link" href="ref_directive_setting.html" data-menu-target="ref_directive_setting">setting</a></
li><li><a class="page-menu-link" href="ref_directive_stop.html" data-menu-target="ref_directive_stop">stop</a></li><li><a class="page-menu-link" href="ref_directive_switch.html" data-menu-target="ref_directive_switch">switch, case, default, break</a></li><li><a class="page-menu-link" href="ref_directive_t.html" data-menu-target="ref_directive_t">t, lt, rt</a></li><li><a class="page-menu-link" href="ref_directive_userDefined.html" data-menu-target="ref_directive_userDefined">User-defined directive (<@...>)</a></li><li><a class="page-menu-link" href="ref_directive_visit.html" data-menu-target="ref_directive_visit">visit, recurse, fallback</a></li></ul></li><li><a class="page-menu-link" href="ref_specvar.html" data-menu-target="ref_specvar">Special Variable Reference</a></li><li><a class="page-menu-link" href="ref_reservednames.html" data-menu-target="ref_reservednames">Reserved names in FTL</a></li><li><a class="page-menu-link" href="ref_deprecated.html" data-menu-target="ref_de
precated">Deprecated FTL constructs</a><ul><li><a class="page-menu-link" href="ref_depr_directive.html" data-menu-target="ref_depr_directive">List of deprecated directives</a></li><li><a class="page-menu-link" href="ref_depr_builtin.html" data-menu-target="ref_depr_builtin">List of deprecated built-ins</a></li><li><a class="page-menu-link" href="ref_depr_oldmacro.html" data-menu-target="ref_depr_oldmacro">Old-style macro and call directives</a></li><li><a class="page-menu-link" href="ref_depr_transform.html" data-menu-target="ref_depr_transform">Transform directive</a></li><li><a class="page-menu-link" href="ref_depr_oldsyntax.html" data-menu-target="ref_depr_oldsyntax">Old FTL syntax</a></li><li><a class="page-menu-link" href="ref_depr_numerical_interpolation.html" data-menu-target="ref_depr_numerical_interpolation">#{...}: Numerical interpolation</a></li></ul></li></ul></li><li><a class="page-menu-link" href="xgui.html" data-menu-target="xgui">XML Processing Guide</a><ul><li><a cl
ass="page-menu-link" href="xgui_preface.html" data-menu-target="xgui_preface">Preface</a></li><li><a class="page-menu-link" href="xgui_expose.html" data-menu-target="xgui_expose">Exposing XML documents</a><ul><li><a class="page-menu-link" href="xgui_expose_dom.html" data-menu-target="xgui_expose_dom">The DOM tree</a></li><li><a class="page-menu-link" href="xgui_expose_put.html" data-menu-target="xgui_expose_put">Putting the XML into the data-model</a></li></ul></li><li><a class="page-menu-link" href="xgui_imperative.html" data-menu-target="xgui_imperative">Imperative XML processing</a><ul><li><a class="page-menu-link" href="xgui_imperative_learn.html" data-menu-target="xgui_imperative_learn">Basics</a></li><li><a class="page-menu-link" href="xgui_imperative_formal.html" data-menu-target="xgui_imperative_formal">Details</a></li></ul></li><li><a class="page-menu-link" href="xgui_declarative.html" data-menu-target="xgui_declarative">Declarative XML processing</a><ul><li><a class="page-
menu-link" href="xgui_declarative_basics.html" data-menu-target="xgui_declarative_basics">Basics</a></li><li><a class="page-menu-link" href="xgui_declarative_details.html" data-menu-target="xgui_declarative_details">Details</a></li></ul></li></ul></li><li><a class="page-menu-link" href="app.html" data-menu-target="app">Appendixes</a><ul><li><a class="page-menu-link" href="app_faq.html" data-menu-target="app_faq">FAQ</a></li><li><a class="page-menu-link" href="app_versions.html" data-menu-target="app_versions">Version history</a><ul><li><a class="page-menu-link" href="versions_2_3_26.html" data-menu-target="versions_2_3_26">2.3.26 (incubating at Apache)</a></li><li><a class="page-menu-link" href="versions_2_3_25.html" data-menu-target="versions_2_3_25">2.3.25 (incubating at Apache)</a></li><li><a class="page-menu-link" href="versions_2_3_24.html" data-menu-target="versions_2_3_24">2.3.24 (incubating at Apache)</a></li><li><a class="page-menu-link" href="versions_2_3_23.html" data-men
u-target="versions_2_3_23">2.3.23</a></li><li><a class="page-menu-link" href="versions_2_3_22.html" data-menu-target="versions_2_3_22">2.3.22</a></li><li><a class="page-menu-link" href="versions_2_3_21.html" data-menu-target="versions_2_3_21">2.3.21</a></li><li><a class="page-menu-link" href="versions_2_3_20.html" data-menu-target="versions_2_3_20">2.3.20</a></li><li><a class="page-menu-link" href="versions_2_3_19.html" data-menu-target="versions_2_3_19">2.3.19</a></li><li><a class="page-menu-link" href="versions_2_3_18.html" data-menu-target="versions_2_3_18">2.3.18</a></li><li><a class="page-menu-link" href="versions_2_3_17.html" data-menu-target="versions_2_3_17">2.3.17</a></li><li><a class="page-menu-link" href="versions_2_3_16.html" data-menu-target="versions_2_3_16">2.3.16</a></li><li><a class="page-menu-link" href="versions_2_3_15.html" data-menu-target="versions_2_3_15">2.3.15</a></li><li><a class="page-menu-link" href="versions_2_3_14.html" data-menu-target="versions_2_3_14
">2.3.14</a></li><li><a class="page-menu-link" href="versions_2_3_13.html" data-menu-target="versions_2_3_13">2.3.13</a></li><li><a class="page-menu-link" href="versions_2_3_12.html" data-menu-target="versions_2_3_12">2.3.12</a></li><li><a class="page-menu-link" href="versions_2_3_11.html" data-menu-target="versions_2_3_11">2.3.11</a></li><li><a class="page-menu-link" href="versions_2_3_10.html" data-menu-target="versions_2_3_10">2.3.10</a></li><li><a class="page-menu-link" href="versions_2_3_9.html" data-menu-target="versions_2_3_9">2.3.9</a></li><li><a class="page-menu-link" href="versions_2_3_8.html" data-menu-target="versions_2_3_8">2.3.8</a></li><li><a class="page-menu-link" href="versions_2_3_7.html" data-menu-target="versions_2_3_7">2.3.7</a></li><li><a class="page-menu-link" href="versions_2_3_7rc1.html" data-menu-target="versions_2_3_7rc1">2.3.7 RC1</a></li><li><a class="page-menu-link" href="versions_2_3_6.html" data-menu-target="versions_2_3_6">2.3.6</a></li><li><a class=
"page-menu-link" href="versions_2_3_5.html" data-menu-target="versions_2_3_5">2.3.5</a></li><li><a class="page-menu-link" href="versions_2_3_4.html" data-menu-target="versions_2_3_4">2.3.4</a></li><li><a class="page-menu-link" href="versions_2_3_3.html" data-menu-target="versions_2_3_3">2.3.3</a></li><li><a class="page-menu-link" href="versions_2_3_2.html" data-menu-target="versions_2_3_2">2.3.2</a></li><li><a class="page-menu-link" href="versions_2_3_1.html" data-menu-target="versions_2_3_1">2.3.1</a></li><li><a class="page-menu-link" href="versions_2_3.html" data-menu-target="versions_2_3">2.3</a></li><li><a class="page-menu-link" href="versions_2_2_8.html" data-menu-target="versions_2_2_8">2.2.8</a></li><li><a class="page-menu-link" href="versions_2_2_7.html" data-menu-target="versions_2_2_7">2.2.7</a></li><li><a class="page-menu-link" href="versions_2_2_6.html" data-menu-target="versions_2_2_6">2.2.6</a></li><li><a class="page-menu-link" href="versions_2_2_5.html" data-menu-targ
et="versions_2_2_5">2.2.5</a></li><li><a class="page-menu-link" href="versions_2_2_4.html" data-menu-target="versions_2_2_4">2.2.4</a></li><li><a class="page-menu-link" href="versions_2_2_3.html" data-menu-target="versions_2_2_3">2.2.3</a></li><li><a class="page-menu-link" href="versions_2_2_2.html" data-menu-target="versions_2_2_2">2.2.2</a></li><li><a class="page-menu-link" href="versions_2_2_1.html" data-menu-target="versions_2_2_1">2.2.1</a></li><li><a class="page-menu-link" href="versions_2_2.html" data-menu-target="versions_2_2">2.2</a></li><li><a class="page-menu-link" href="versions_2_1_5.html" data-menu-target="versions_2_1_5">2.1.5</a></li><li><a class="page-menu-link" href="versions_2_1_4.html" data-menu-target="versions_2_1_4">2.1.4</a></li><li><a class="page-menu-link" href="versions_2_1_3.html" data-menu-target="versions_2_1_3">2.1.3</a></li><li><a class="page-menu-link" href="versions_2_1_2.html" data-menu-target="versions_2_1_2">2.1.2</a></li><li><a class="page-menu-
link" href="versions_2_1_1.html" data-menu-target="versions_2_1_1">2.1.1</a></li><li><a class="page-menu-link" href="versions_2_1.html" data-menu-target="versions_2_1">2.1</a></li><li><a class="page-menu-link" href="versions_2_01.html" data-menu-target="versions_2_01">2.01</a></li><li><a class="page-menu-link" href="versions_2_0.html" data-menu-target="versions_2_0">2.0</a></li><li><a class="page-menu-link" href="versions_2_0RC3.html" data-menu-target="versions_2_0RC3">2.0 RC3</a></li><li><a class="page-menu-link" href="versions_2_0RC2.html" data-menu-target="versions_2_0RC2">2.0 RC2</a></li><li><a class="page-menu-link" href="versions_2_0RC1.html" data-menu-target="versions_2_0RC1">2.0 RC1</a></li></ul></li><li><a class="page-menu-link" href="app_install.html" data-menu-target="app_install">Installing FreeMarker</a></li><li><a class="page-menu-link" href="app_legal.html" data-menu-target="app_legal">Legal</a><ul><li><a class="page-menu-link" href="app_license.html" data-menu-target
="app_license">License</a></li><li><a class="page-menu-link" href="app_eccn.html" data-menu-target="app_eccn">Export Control</a></li></ul></li></ul></li><li><a class="page-menu-link" href="gloss.html" data-menu-target="gloss">Glossary</a></li><li><a class="page-menu-link" href="alphaidx.html" data-menu-target="alphaidx">Alphabetical Index</a></li></ul> </div><div class="bottom-pagers-wrapper"><div class="pagers bottom"><span class="paging-arrow disabled previous"><span>Previous</span></span><a class="paging-arrow next" href="dgui.html"><span>Next</span></a></div></div></div></div> </div>
+<ul><li><a class="page-menu-link" href="dgui.html" data-menu-target="dgui">Template Author's Guide</a><ul><li><a class="page-menu-link" href="dgui_quickstart.html" data-menu-target="dgui_quickstart">Getting Started</a><ul><li><a class="page-menu-link" href="dgui_quickstart_basics.html" data-menu-target="dgui_quickstart_basics">Template + data-model = output</a></li><li><a class="page-menu-link" href="dgui_quickstart_datamodel.html" data-menu-target="dgui_quickstart_datamodel">The data-model at a glance</a></li><li><a class="page-menu-link" href="dgui_quickstart_template.html" data-menu-target="dgui_quickstart_template">The template at a glance</a></li></ul></li><li><a class="page-menu-link" href="dgui_datamodel.html" data-menu-target="dgui_datamodel">Values, Types</a><ul><li><a class="page-menu-link" href="dgui_datamodel_basics.html" data-menu-target="dgui_datamodel_basics">Basics</a></li><li><a class="page-menu-link" href="dgui_datamodel_types.html" data-menu-target="dgui_datam
odel_types">The types</a></li></ul></li><li><a class="page-menu-link" href="dgui_template.html" data-menu-target="dgui_template">The Template</a><ul><li><a class="page-menu-link" href="dgui_template_overallstructure.html" data-menu-target="dgui_template_overallstructure">Overall structure</a></li><li><a class="page-menu-link" href="dgui_template_directives.html" data-menu-target="dgui_template_directives">Directives</a></li><li><a class="page-menu-link" href="dgui_template_exp.html" data-menu-target="dgui_template_exp">Expressions</a></li><li><a class="page-menu-link" href="dgui_template_valueinsertion.html" data-menu-target="dgui_template_valueinsertion">Interpolations</a></li></ul></li><li><a class="page-menu-link" href="dgui_misc.html" data-menu-target="dgui_misc">Miscellaneous</a><ul><li><a class="page-menu-link" href="dgui_misc_userdefdir.html" data-menu-target="dgui_misc_userdefdir">Defining your own directives</a></li><li><a class="page-menu-link" href="dgui_misc_var.html" da
ta-menu-target="dgui_misc_var">Defining variables in the template</a></li><li><a class="page-menu-link" href="dgui_misc_namespace.html" data-menu-target="dgui_misc_namespace">Namespaces</a></li><li><a class="page-menu-link" href="dgui_misc_autoescaping.html" data-menu-target="dgui_misc_autoescaping">Auto-escaping and output formats</a></li><li><a class="page-menu-link" href="dgui_misc_whitespace.html" data-menu-target="dgui_misc_whitespace">White-space handling</a></li><li><a class="page-menu-link" href="dgui_misc_alternativesyntax.html" data-menu-target="dgui_misc_alternativesyntax">Alternative (square bracket) syntax</a></li></ul></li></ul></li><li><a class="page-menu-link" href="pgui.html" data-menu-target="pgui">Programmer's Guide</a><ul><li><a class="page-menu-link" href="pgui_quickstart.html" data-menu-target="pgui_quickstart">Getting Started</a><ul><li><a class="page-menu-link" href="pgui_quickstart_createconfiguration.html" data-menu-target="pgui_quickstart_createconfigu
ration">Create a configuration instance</a></li><li><a class="page-menu-link" href="pgui_quickstart_createdatamodel.html" data-menu-target="pgui_quickstart_createdatamodel">Create a data-model</a></li><li><a class="page-menu-link" href="pgui_quickstart_gettemplate.html" data-menu-target="pgui_quickstart_gettemplate">Get the template</a></li><li><a class="page-menu-link" href="pgui_quickstart_merge.html" data-menu-target="pgui_quickstart_merge">Merging the template with the data-model</a></li><li><a class="page-menu-link" href="pgui_quickstart_all.html" data-menu-target="pgui_quickstart_all">Putting all together</a></li></ul></li><li><a class="page-menu-link" href="pgui_datamodel.html" data-menu-target="pgui_datamodel">The Data Model</a><ul><li><a class="page-menu-link" href="pgui_datamodel_basics.html" data-menu-target="pgui_datamodel_basics">Basics</a></li><li><a class="page-menu-link" href="pgui_datamodel_scalar.html" data-menu-target="pgui_datamodel_scalar">Scalars</a></li><li><a
class="page-menu-link" href="pgui_datamodel_parent.html" data-menu-target="pgui_datamodel_parent">Containers</a></li><li><a class="page-menu-link" href="pgui_datamodel_method.html" data-menu-target="pgui_datamodel_method">Methods</a></li><li><a class="page-menu-link" href="pgui_datamodel_directive.html" data-menu-target="pgui_datamodel_directive">Directives</a></li><li><a class="page-menu-link" href="pgui_datamodel_node.html" data-menu-target="pgui_datamodel_node">Node variables</a></li><li><a class="page-menu-link" href="pgui_datamodel_objectWrapper.html" data-menu-target="pgui_datamodel_objectWrapper">Object wrappers</a></li></ul></li><li><a class="page-menu-link" href="pgui_config.html" data-menu-target="pgui_config">The Configuration</a><ul><li><a class="page-menu-link" href="pgui_config_basics.html" data-menu-target="pgui_config_basics">Basics</a></li><li><a class="page-menu-link" href="pgui_config_sharedvariables.html" data-menu-target="pgui_config_sharedvariables">Shared var
iables</a></li><li><a class="page-menu-link" href="pgui_config_settings.html" data-menu-target="pgui_config_settings">Settings</a></li><li><a class="page-menu-link" href="pgui_config_templateloading.html" data-menu-target="pgui_config_templateloading">Template loading</a></li><li><a class="page-menu-link" href="pgui_config_errorhandling.html" data-menu-target="pgui_config_errorhandling">Error handling</a></li><li><a class="page-menu-link" href="pgui_config_templateconfigurations.html" data-menu-target="pgui_config_templateconfigurations">Template configurations</a></li><li><a class="page-menu-link" href="pgui_config_outputformatsautoesc.html" data-menu-target="pgui_config_outputformatsautoesc">Associating output formats with templates</a></li><li><a class="page-menu-link" href="pgui_config_custom_formats.html" data-menu-target="pgui_config_custom_formats">Custom number and date/time formats</a></li><li><a class="page-menu-link" href="pgui_config_incompatible_improvements.html" data-
menu-target="pgui_config_incompatible_improvements">The "incompatible improvements" setting</a></li></ul></li><li><a class="page-menu-link" href="pgui_misc.html" data-menu-target="pgui_misc">Miscellaneous</a><ul><li><a class="page-menu-link" href="pgui_misc_var.html" data-menu-target="pgui_misc_var">Variables, scopes</a></li><li><a class="page-menu-link" href="pgui_misc_charset.html" data-menu-target="pgui_misc_charset">Charset issues</a></li><li><a class="page-menu-link" href="pgui_misc_multithreading.html" data-menu-target="pgui_misc_multithreading">Multithreading</a></li><li><a class="page-menu-link" href="pgui_misc_beanwrapper.html" data-menu-target="pgui_misc_beanwrapper">Bean wrapper</a></li><li><a class="page-menu-link" href="pgui_misc_logging.html" data-menu-target="pgui_misc_logging">Logging</a></li><li><a class="page-menu-link" href="pgui_misc_servlet.html" data-menu-target="pgui_misc_servlet">Using FreeMarker with servlets</a></li><li><a class="page-menu-link" h
ref="pgui_misc_secureenv.html" data-menu-target="pgui_misc_secureenv">Configuring security policy for FreeMarker</a></li><li><a class="page-menu-link" href="pgui_misc_xml_legacy.html" data-menu-target="pgui_misc_xml_legacy">Legacy XML wrapper implementation</a></li><li><a class="page-menu-link" href="pgui_misc_ant.html" data-menu-target="pgui_misc_ant">Using FreeMarker with Ant</a></li><li><a class="page-menu-link" href="pgui_misc_jythonwrapper.html" data-menu-target="pgui_misc_jythonwrapper">Jython wrapper</a></li></ul></li></ul></li><li><a class="page-menu-link" href="ref.html" data-menu-target="ref">Template Language Reference</a><ul><li><a class="page-menu-link" href="ref_builtins.html" data-menu-target="ref_builtins">Built-in Reference</a><ul><li><a class="page-menu-link" href="ref_builtins_alphaidx.html" data-menu-target="ref_builtins_alphaidx">Alphabetical index</a></li><li><a class="page-menu-link" href="ref_builtins_string.html" data-menu-target="ref_builtins_string">Built-
ins for strings</a></li><li><a class="page-menu-link" href="ref_builtins_number.html" data-menu-target="ref_builtins_number">Built-ins for numbers</a></li><li><a class="page-menu-link" href="ref_builtins_date.html" data-menu-target="ref_builtins_date">Built-ins for date/time/date-time values</a></li><li><a class="page-menu-link" href="ref_builtins_boolean.html" data-menu-target="ref_builtins_boolean">Built-ins for booleans</a></li><li><a class="page-menu-link" href="ref_builtins_sequence.html" data-menu-target="ref_builtins_sequence">Built-ins for sequences</a></li><li><a class="page-menu-link" href="ref_builtins_hash.html" data-menu-target="ref_builtins_hash">Built-ins for hashes</a></li><li><a class="page-menu-link" href="ref_builtins_node.html" data-menu-target="ref_builtins_node">Built-ins for nodes (for XML)</a></li><li><a class="page-menu-link" href="ref_builtins_loop_var.html" data-menu-target="ref_builtins_loop_var">Loop variable built-ins</a></li><li><a class="page-menu-lin
k" href="ref_builtins_type_independent.html" data-menu-target="ref_builtins_type_independent">Type independent built-ins</a></li><li><a class="page-menu-link" href="ref_builtins_expert.html" data-menu-target="ref_builtins_expert">Seldom used and expert built-ins</a></li></ul></li><li><a class="page-menu-link" href="ref_directives.html" data-menu-target="ref_directives">Directive Reference</a><ul><li><a class="page-menu-link" href="ref_directive_alphaidx.html" data-menu-target="ref_directive_alphaidx">Alphabetical index</a></li><li><a class="page-menu-link" href="ref_directive_assign.html" data-menu-target="ref_directive_assign">assign</a></li><li><a class="page-menu-link" href="ref_directive_attempt.html" data-menu-target="ref_directive_attempt">attempt, recover</a></li><li><a class="page-menu-link" href="ref_directive_autoesc.html" data-menu-target="ref_directive_autoesc">autoesc</a></li><li><a class="page-menu-link" href="ref_directive_compress.html" data-menu-target="ref_directiv
e_compress">compress</a></li><li><a class="page-menu-link" href="ref_directive_escape.html" data-menu-target="ref_directive_escape">escape, noescape (deprecated)</a></li><li><a class="page-menu-link" href="ref_directive_flush.html" data-menu-target="ref_directive_flush">flush</a></li><li><a class="page-menu-link" href="ref_directive_ftl.html" data-menu-target="ref_directive_ftl">ftl</a></li><li><a class="page-menu-link" href="ref_directive_function.html" data-menu-target="ref_directive_function">function, return</a></li><li><a class="page-menu-link" href="ref_directive_global.html" data-menu-target="ref_directive_global">global</a></li><li><a class="page-menu-link" href="ref_directive_if.html" data-menu-target="ref_directive_if">if, else, elseif</a></li><li><a class="page-menu-link" href="ref_directive_import.html" data-menu-target="ref_directive_import">import</a></li><li><a class="page-menu-link" href="ref_directive_include.html" data-menu-target="ref_directive_include">include</a
></li><li><a class="page-menu-link" href="ref_directive_list.html" data-menu-target="ref_directive_list">list, else, items, sep, break, continue</a></li><li><a class="page-menu-link" href="ref_directive_local.html" data-menu-target="ref_directive_local">local</a></li><li><a class="page-menu-link" href="ref_directive_macro.html" data-menu-target="ref_directive_macro">macro, nested, return</a></li><li><a class="page-menu-link" href="ref_directive_noautoesc.html" data-menu-target="ref_directive_noautoesc">noautoesc</a></li><li><a class="page-menu-link" href="ref_directive_noparse.html" data-menu-target="ref_directive_noparse">noparse</a></li><li><a class="page-menu-link" href="ref_directive_nt.html" data-menu-target="ref_directive_nt">nt</a></li><li><a class="page-menu-link" href="ref_directive_outputformat.html" data-menu-target="ref_directive_outputformat">outputformat</a></li><li><a class="page-menu-link" href="ref_directive_setting.html" data-menu-target="ref_directive_setting">set
ting</a></li><li><a class="page-menu-link" href="ref_directive_stop.html" data-menu-target="ref_directive_stop">stop</a></li><li><a class="page-menu-link" href="ref_directive_switch.html" data-menu-target="ref_directive_switch">switch, case, default, break</a></li><li><a class="page-menu-link" href="ref_directive_t.html" data-menu-target="ref_directive_t">t, lt, rt</a></li><li><a class="page-menu-link" href="ref_directive_userDefined.html" data-menu-target="ref_directive_userDefined">User-defined directive (<@...>)</a></li><li><a class="page-menu-link" href="ref_directive_visit.html" data-menu-target="ref_directive_visit">visit, recurse, fallback</a></li></ul></li><li><a class="page-menu-link" href="ref_specvar.html" data-menu-target="ref_specvar">Special Variable Reference</a></li><li><a class="page-menu-link" href="ref_reservednames.html" data-menu-target="ref_reservednames">Reserved names in FTL</a></li><li><a class="page-menu-link" href="ref_deprecated.html" data-menu-targ
et="ref_deprecated">Deprecated FTL constructs</a><ul><li><a class="page-menu-link" href="ref_depr_directive.html" data-menu-target="ref_depr_directive">List of deprecated directives</a></li><li><a class="page-menu-link" href="ref_depr_builtin.html" data-menu-target="ref_depr_builtin">List of deprecated built-ins</a></li><li><a class="page-menu-link" href="ref_depr_oldmacro.html" data-menu-target="ref_depr_oldmacro">Old-style macro and call directives</a></li><li><a class="page-menu-link" href="ref_depr_transform.html" data-menu-target="ref_depr_transform">Transform directive</a></li><li><a class="page-menu-link" href="ref_depr_oldsyntax.html" data-menu-target="ref_depr_oldsyntax">Old FTL syntax</a></li><li><a class="page-menu-link" href="ref_depr_numerical_interpolation.html" data-menu-target="ref_depr_numerical_interpolation">#{...}: Numerical interpolation</a></li></ul></li></ul></li><li><a class="page-menu-link" href="xgui.html" data-menu-target="xgui">XML Processing Guide</a><ul
><li><a class="page-menu-link" href="xgui_preface.html" data-menu-target="xgui_preface">Preface</a></li><li><a class="page-menu-link" href="xgui_expose.html" data-menu-target="xgui_expose">Exposing XML documents</a><ul><li><a class="page-menu-link" href="xgui_expose_dom.html" data-menu-target="xgui_expose_dom">The DOM tree</a></li><li><a class="page-menu-link" href="xgui_expose_put.html" data-menu-target="xgui_expose_put">Putting the XML into the data-model</a></li></ul></li><li><a class="page-menu-link" href="xgui_imperative.html" data-menu-target="xgui_imperative">Imperative XML processing</a><ul><li><a class="page-menu-link" href="xgui_imperative_learn.html" data-menu-target="xgui_imperative_learn">Basics</a></li><li><a class="page-menu-link" href="xgui_imperative_formal.html" data-menu-target="xgui_imperative_formal">Details</a></li></ul></li><li><a class="page-menu-link" href="xgui_declarative.html" data-menu-target="xgui_declarative">Declarative XML processing</a><ul><li><a cl
ass="page-menu-link" href="xgui_declarative_basics.html" data-menu-target="xgui_declarative_basics">Basics</a></li><li><a class="page-menu-link" href="xgui_declarative_details.html" data-menu-target="xgui_declarative_details">Details</a></li></ul></li></ul></li><li><a class="page-menu-link" href="app.html" data-menu-target="app">Appendixes</a><ul><li><a class="page-menu-link" href="app_faq.html" data-menu-target="app_faq">FAQ</a></li><li><a class="page-menu-link" href="app_versions.html" data-menu-target="app_versions">Version history</a><ul><li><a class="page-menu-link" href="versions_2_3_27.html" data-menu-target="versions_2_3_27">2.3.27 (incubating at Apache)</a></li><li><a class="page-menu-link" href="versions_2_3_26.html" data-menu-target="versions_2_3_26">2.3.26 (incubating at Apache)</a></li><li><a class="page-menu-link" href="versions_2_3_25.html" data-menu-target="versions_2_3_25">2.3.25 (incubating at Apache)</a></li><li><a class="page-menu-link" href="versions_2_3_24.html
" data-menu-target="versions_2_3_24">2.3.24 (incubating at Apache)</a></li><li><a class="page-menu-link" href="versions_2_3_23.html" data-menu-target="versions_2_3_23">2.3.23</a></li><li><a class="page-menu-link" href="versions_2_3_22.html" data-menu-target="versions_2_3_22">2.3.22</a></li><li><a class="page-menu-link" href="versions_2_3_21.html" data-menu-target="versions_2_3_21">2.3.21</a></li><li><a class="page-menu-link" href="versions_2_3_20.html" data-menu-target="versions_2_3_20">2.3.20</a></li><li><a class="page-menu-link" href="versions_2_3_19.html" data-menu-target="versions_2_3_19">2.3.19</a></li><li><a class="page-menu-link" href="versions_2_3_18.html" data-menu-target="versions_2_3_18">2.3.18</a></li><li><a class="page-menu-link" href="versions_2_3_17.html" data-menu-target="versions_2_3_17">2.3.17</a></li><li><a class="page-menu-link" href="versions_2_3_16.html" data-menu-target="versions_2_3_16">2.3.16</a></li><li><a class="page-menu-link" href="versions_2_3_15.html"
data-menu-target="versions_2_3_15">2.3.15</a></li><li><a class="page-menu-link" href="versions_2_3_14.html" data-menu-target="versions_2_3_14">2.3.14</a></li><li><a class="page-menu-link" href="versions_2_3_13.html" data-menu-target="versions_2_3_13">2.3.13</a></li><li><a class="page-menu-link" href="versions_2_3_12.html" data-menu-target="versions_2_3_12">2.3.12</a></li><li><a class="page-menu-link" href="versions_2_3_11.html" data-menu-target="versions_2_3_11">2.3.11</a></li><li><a class="page-menu-link" href="versions_2_3_10.html" data-menu-target="versions_2_3_10">2.3.10</a></li><li><a class="page-menu-link" href="versions_2_3_9.html" data-menu-target="versions_2_3_9">2.3.9</a></li><li><a class="page-menu-link" href="versions_2_3_8.html" data-menu-target="versions_2_3_8">2.3.8</a></li><li><a class="page-menu-link" href="versions_2_3_7.html" data-menu-target="versions_2_3_7">2.3.7</a></li><li><a class="page-menu-link" href="versions_2_3_7rc1.html" data-menu-target="versions_2_3_7
rc1">2.3.7 RC1</a></li><li><a class="page-menu-link" href="versions_2_3_6.html" data-menu-target="versions_2_3_6">2.3.6</a></li><li><a class="page-menu-link" href="versions_2_3_5.html" data-menu-target="versions_2_3_5">2.3.5</a></li><li><a class="page-menu-link" href="versions_2_3_4.html" data-menu-target="versions_2_3_4">2.3.4</a></li><li><a class="page-menu-link" href="versions_2_3_3.html" data-menu-target="versions_2_3_3">2.3.3</a></li><li><a class="page-menu-link" href="versions_2_3_2.html" data-menu-target="versions_2_3_2">2.3.2</a></li><li><a class="page-menu-link" href="versions_2_3_1.html" data-menu-target="versions_2_3_1">2.3.1</a></li><li><a class="page-menu-link" href="versions_2_3.html" data-menu-target="versions_2_3">2.3</a></li><li><a class="page-menu-link" href="versions_2_2_8.html" data-menu-target="versions_2_2_8">2.2.8</a></li><li><a class="page-menu-link" href="versions_2_2_7.html" data-menu-target="versions_2_2_7">2.2.7</a></li><li><a class="page-menu-link" href=
"versions_2_2_6.html" data-menu-target="versions_2_2_6">2.2.6</a></li><li><a class="page-menu-link" href="versions_2_2_5.html" data-menu-target="versions_2_2_5">2.2.5</a></li><li><a class="page-menu-link" href="versions_2_2_4.html" data-menu-target="versions_2_2_4">2.2.4</a></li><li><a class="page-menu-link" href="versions_2_2_3.html" data-menu-target="versions_2_2_3">2.2.3</a></li><li><a class="page-menu-link" href="versions_2_2_2.html" data-menu-target="versions_2_2_2">2.2.2</a></li><li><a class="page-menu-link" href="versions_2_2_1.html" data-menu-target="versions_2_2_1">2.2.1</a></li><li><a class="page-menu-link" href="versions_2_2.html" data-menu-target="versions_2_2">2.2</a></li><li><a class="page-menu-link" href="versions_2_1_5.html" data-menu-target="versions_2_1_5">2.1.5</a></li><li><a class="page-menu-link" href="versions_2_1_4.html" data-menu-target="versions_2_1_4">2.1.4</a></li><li><a class="page-menu-link" href="versions_2_1_3.html" data-menu-target="versions_2_1_3">2.
1.3</a></li><li><a class="page-menu-link" href="versions_2_1_2.html" data-menu-target="versions_2_1_2">2.1.2</a></li><li><a class="page-menu-link" href="versions_2_1_1.html" data-menu-target="versions_2_1_1">2.1.1</a></li><li><a class="page-menu-link" href="versions_2_1.html" data-menu-target="versions_2_1">2.1</a></li><li><a class="page-menu-link" href="versions_2_01.html" data-menu-target="versions_2_01">2.01</a></li><li><a class="page-menu-link" href="versions_2_0.html" data-menu-target="versions_2_0">2.0</a></li><li><a class="page-menu-link" href="versions_2_0RC3.html" data-menu-target="versions_2_0RC3">2.0 RC3</a></li><li><a class="page-menu-link" href="versions_2_0RC2.html" data-menu-target="versions_2_0RC2">2.0 RC2</a></li><li><a class="page-menu-link" href="versions_2_0RC1.html" data-menu-target="versions_2_0RC1">2.0 RC1</a></li></ul></li><li><a class="page-menu-link" href="app_install.html" data-menu-target="app_install">Installing FreeMarker</a></li><li><a class="page-menu
-link" href="app_legal.html" data-menu-target="app_legal">Legal</a><ul><li><a class="page-menu-link" href="app_license.html" data-menu-target="app_license">License</a></li><li><a class="page-menu-link" href="app_eccn.html" data-menu-target="app_eccn">Export Control</a></li></ul></li></ul></li><li><a class="page-menu-link" href="gloss.html" data-menu-target="gloss">Glossary</a></li><li><a class="page-menu-link" href="alphaidx.html" data-menu-target="alphaidx">Alphabetical Index</a></li></ul> </div><div class="bottom-pagers-wrapper"><div class="pagers bottom"><span class="paging-arrow disabled previous"><span>Previous</span></span><a class="paging-arrow next" href="dgui.html"><span>Next</span></a></div></div></div></div> </div>
</div>
<div class="site-footer"><div class="site-width"><div class="footer-top"><div class="col-left sitemap"><div class="column"><h3 class="column-header">Overview</h3><ul><li><a href="http://freemarker.org/">What is FreeMarker?</a></li><li><a href="http://freemarker.org/freemarkerdownload.html">Download</a></li><li><a href="app_versions.html">Version history</a></li><li><a href="http://freemarker.org/history.html">About us</a></li><li><a itemprop="license" href="app_license.html">License</a></li></ul></div><div class="column"><h3 class="column-header">Handy stuff</h3><ul><li><a href="http://freemarker-online.kenshoo.com/">Try template online</a></li><li><a href="dgui_template_exp.html#exp_cheatsheet">Expressions cheatsheet</a></li><li><a href="ref_directive_alphaidx.html">#directives</a></li><li><a href="ref_builtins_alphaidx.html">?built_ins</a></li><li><a href="ref_specvar.html">.special_vars</a></li></ul></div><div class="column"><h3 class="column-header">Community</h3><ul><li><a href
="https://github.com/freemarker/freemarker">FreeMarker on Github</a></li><li><a href="https://twitter.com/freemarker">Follow us on Twitter</a></li><li><a href="https://issues.apache.org/jira/browse/FREEMARKER/">Report a bug</a></li><li><a href="http://stackoverflow.com/questions/ask?tags=freemarker">Ask a question</a></li><li><a href="http://freemarker.org/mailing-lists.html">Mailing lists</a></li></ul></div></div><div class="col-right"><ul class="social-icons"><li><a class="github" href="https://github.com/freemarker/freemarker">Github</a></li><li><a class="twitter" href="https://twitter.com/freemarker">Twitter</a></li><li><a class="stack-overflow" href="http://stackoverflow.com/questions/ask?tags=freemarker">Stack Overflow</a></li></ul><a class="xxe" href="http://www.xmlmind.com/xmleditor/" rel="nofollow" title="Edited with XMLMind XML Editor"><span>Edited with XMLMind XML Editor</span></a></div></div><div class="footer-bottom"> <p class="last-generated">
Last generated:
-<time itemprop="dateModified" datetime="2017-04-08T16:15:37Z" title="Saturday, April 8, 2017 4:15:37 PM GMT">2017-04-08 16:15:37 GMT</time>, for Freemarker 2.3.26 </p>
+<time itemprop="dateModified" datetime="2017-11-03T01:33:31Z" title="Friday, November 3, 2017 1:33:31 AM GMT">2017-11-03 01:33:31 GMT</time>, for Freemarker 2.3.27 </p>
<p class="copyright">
© <span itemprop="copyrightYear">1999</span>–2017
<a itemtype="http://schema.org/Organization" itemprop="copyrightHolder" href="http://apache.org/">The Apache Software Foundation</a>. Apache FreeMarker, FreeMarker, Apache Incubator, Apache, the Apache FreeMarker logo are trademarks of The Apache Software Foundation. </p>