You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@tapestry.apache.org by bu...@apache.org on 2013/09/23 00:21:27 UTC

svn commit: r879492 [9/30] - in /websites/production/tapestry/content: ./ 2009/ 2009/09/ 2009/09/13/ 2009/10/ 2009/10/27/ 2009/11/ 2009/11/25/ 2010/ 2010/07/ 2010/07/18/ 2010/07/24/ 2010/10/ 2010/10/11/ 2010/10/31/ 2010/11/ 2010/11/18/ 2010/11/19/ 2010...

Modified: websites/production/tapestry/content/component-templates.html
==============================================================================
--- websites/production/tapestry/content/component-templates.html (original)
+++ websites/production/tapestry/content/component-templates.html Sun Sep 22 22:21:21 2013
@@ -24,7 +24,19 @@
     Component Templates -- Apache Tapestry
   </title>
   <link type="text/css" rel="stylesheet" href="/resources/space.css">
+
+    <link href='http://cxf.apache.org/resources/highlighter/styles/shCoreCXF.css' rel='stylesheet' type='text/css' />
+  <link href='http://cxf.apache.org/resources/highlighter/styles/shThemeCXF.css' rel='stylesheet' type='text/css' />
+  <script src='http://cxf.apache.org/resources/highlighter/scripts/shCore.js' type='text/javascript'></script>
+  <script src='http://cxf.apache.org/resources/highlighter/scripts/shBrushJava.js' type='text/javascript'></script>
+  <script src='http://cxf.apache.org/resources/highlighter/scripts/shBrushXml.js' type='text/javascript'></script>
+  <script type="text/javascript">
+  SyntaxHighlighter.defaults['toolbar'] = false;
+  SyntaxHighlighter.all();
+  </script>
+
   <link href="/styles/style.css" rel="stylesheet" type="text/css"/>
+
 </head>
 <body>
   <div class="wrapper bs">
@@ -34,9 +46,9 @@
 </div>
 
 <div id="top">
-<div id="smallbanner"><div class="searchbox" style="float:right;margin: .3em 1em .1em 1em">
+<div id="smallbanner"><div class="searchbox" style="float:right;margin: .3em 1em .1em 1em"><p>
 <span style="color: #999; font-size: 90%">Tapestry docs, issues, wikis &amp; blogs:</span>
-<form enctype="application/x-www-form-urlencoded" method="get" action="http://tapestry.apache.org/search.html">
+</p><form enctype="application/x-www-form-urlencoded" method="get" action="http://tapestry.apache.org/search.html">
   <input type="text" name="q">
   <input type="submit" value="Search">
 </form>
@@ -60,35 +72,35 @@
 
 <div class="navmenu" style="float:right; background:#eee; margin:3px; padding:3px"><table class="tableview" width="100%"><tr><th colspan="1" rowspan="1" style="padding: 3px 3px 3px 0px">Related Articles</th></tr><tr><td colspan="1" rowspan="1">
                                  <span class="icon icon-page" title="Page">Page:</span>
-                         <a shape="rect" href="templating-and-markup-faq.html">Templating and Markup FAQ</a>
+                         <a shape="rect" href="assets.html">Assets</a>
         
                                             </td></tr><tr><td colspan="1" rowspan="1">
                                  <span class="icon icon-page" title="Page">Page:</span>
-                         <a shape="rect" href="request-processing.html">Request Processing</a>
+                         <a shape="rect" href="component-classes.html">Component Classes</a>
         
                                             </td></tr><tr><td colspan="1" rowspan="1">
                                  <span class="icon icon-page" title="Page">Page:</span>
-                         <a shape="rect" href="component-reference.html">Component Reference</a>
+                         <a shape="rect" href="request-processing.html">Request Processing</a>
         
                                             </td></tr><tr><td colspan="1" rowspan="1">
                                  <span class="icon icon-page" title="Page">Page:</span>
-                         <a shape="rect" href="content-type-and-markup.html">Content Type and Markup</a>
+                         <a shape="rect" href="templating-and-markup-faq.html">Templating and Markup FAQ</a>
         
                                             </td></tr><tr><td colspan="1" rowspan="1">
                                  <span class="icon icon-page" title="Page">Page:</span>
-                         <a shape="rect" href="component-libraries.html">Component Libraries</a>
+                         <a shape="rect" href="component-reference.html">Component Reference</a>
         
                                             </td></tr><tr><td colspan="1" rowspan="1">
                                  <span class="icon icon-page" title="Page">Page:</span>
-                         <a shape="rect" href="component-parameters.html">Component Parameters</a>
+                         <a shape="rect" href="component-libraries.html">Component Libraries</a>
         
                                             </td></tr><tr><td colspan="1" rowspan="1">
                                  <span class="icon icon-page" title="Page">Page:</span>
-                         <a shape="rect" href="assets.html">Assets</a>
+                         <a shape="rect" href="component-parameters.html">Component Parameters</a>
         
                                             </td></tr><tr><td colspan="1" rowspan="1">
                                  <span class="icon icon-page" title="Page">Page:</span>
-                         <a shape="rect" href="component-classes.html">Component Classes</a>
+                         <a shape="rect" href="content-type-and-markup.html">Content Type and Markup</a>
         
                                             </td></tr><tr><td colspan="1" rowspan="1">
                                  <span class="icon icon-page" title="Page">Page:</span>
@@ -101,16 +113,16 @@
 
 <p>Component templates are <em>well formed XML documents</em>. That means that every open tag must have a matching close tag, every attribute must be quoted, and so forth.</p>
 
-<div class="panelMacro"><table class="noteMacro"><colgroup span="1"><col span="1" width="24"><col span="1"></colgroup><tr><td colspan="1" rowspan="1" valign="top"><img align="middle" src="/images/confluence/warning.gif" width="16" height="16" alt="" border="0"></td><td colspan="1" rowspan="1">At runtime, Tapestry parses the documents and <em>only</em> checks for wellformedness. Even when the document has a DTD or schema, there are no validity checks.</td></tr></table></div>
+<div class="panelMacro"><table class="noteMacro"><colgroup span="1"><col span="1" width="24"><col span="1"></colgroup><tr><td colspan="1" rowspan="1" valign="top"><img align="middle" src="https://cwiki.apache.org/confluence/images/icons/emoticons/warning.gif" width="16" height="16" alt="" border="0"></td><td colspan="1" rowspan="1">At runtime, Tapestry parses the documents and <em>only</em> checks for wellformedness. Even when the document has a DTD or schema, there are no validity checks.</td></tr></table></div>
 
 <p>For the most part, these templates are standard HTML/XHTML; Tapestry extensions to ordinary markup are provided in the form of a Tapestry namespace:</p>
 
 <div class="code panel" style="border-width: 1px;"><div class="codeHeader panelHeader" style="border-bottom-width: 1px;"><b>A template for a page</b></div><div class="codeContent panelContent">
-<pre class="code-xml">
-<span class="code-tag">&lt;html t:type=<span class="code-quote">"layout"</span> <span class="code-keyword">xmlns:t</span>=<span class="code-quote">"http://tapestry.apache.org/schema/tapestry_5_3.xsd"</span>&gt;</span>
-    <span class="code-tag">&lt;h1&gt;</span>Bonjour from HelloWorld component.<span class="code-tag">&lt;/h1&gt;</span>
-<span class="code-tag">&lt;/html&gt;</span>
-</pre>
+<script class="theme: Default; brush: xml; gutter: false" type="syntaxhighlighter"><![CDATA[
+&lt;html t:type="layout" xmlns:t="http://tapestry.apache.org/schema/tapestry_5_3.xsd"&gt;
+    &lt;h1&gt;Bonjour from HelloWorld component.&lt;/h1&gt;
+&lt;/html&gt;
+]]></script>
 </div></div>
 
 <table class="sectionMacro" border="0" cellpadding="5" cellspacing="0" width="100%"><tbody><tr><td></td></tr></tbody></table>
@@ -141,7 +153,7 @@
 
 <p>A template on the classpath takes precedence over a file in the web application context.</p>
 
-<div class="panelMacro"><table class="warningMacro"><colgroup span="1"><col span="1" width="24"><col span="1"></colgroup><tr><td colspan="1" rowspan="1" valign="top"><img align="middle" src="/images/confluence/forbidden.gif" width="16" height="16" alt="" border="0"></td><td colspan="1" rowspan="1">Allowing pages to store their template in the web context is a feature that may go away at some point. It was included as a way for HTML designers to edit template directly and live preview the template directly, without executing the Tapestry application. This comes with a large number of limitations and leads to a false sense of security that a template that previews correctly will render properly (this is not always the case).</td></tr></table></div>
+<div class="panelMacro"><table class="warningMacro"><colgroup span="1"><col span="1" width="24"><col span="1"></colgroup><tr><td colspan="1" rowspan="1" valign="top"><img align="middle" src="https://cwiki.apache.org/confluence/images/icons/emoticons/forbidden.gif" width="16" height="16" alt="" border="0"></td><td colspan="1" rowspan="1">Allowing pages to store their template in the web context is a feature that may go away at some point. It was included as a way for HTML designers to edit template directly and live preview the template directly, without executing the Tapestry application. This comes with a large number of limitations and leads to a false sense of security that a template that previews correctly will render properly (this is not always the case).</td></tr></table></div>
 
 <h2><a shape="rect" name="ComponentTemplates-TemplateLocalization"></a>Template Localization</h2>
 
@@ -149,7 +161,7 @@
 
 <p>Templates are handled in much the same way as individual files of a component's message catalog: the effective locale is inserted into the name of the file. Thus a German users will see the content generated from <tt>MyPage_de.tml</tt> and French users will see content generated from <tt>MyPage_fr.tml</tt>. When no specific localization is available, the default location (<tt>MyPage.tml</tt>) is used.</p>
 
-<div class="panelMacro"><table class="infoMacro"><colgroup span="1"><col span="1" width="24"><col span="1"></colgroup><tr><td colspan="1" rowspan="1" valign="top"><img align="middle" src="/images/confluence/information.gif" width="16" height="16" alt="" border="0"></td><td colspan="1" rowspan="1">It is necessary to <a shape="rect" href="configuration.html#Configuration-supportedlocales">enable support for a locale</a> before Tapestry will attempt to localize to that locale. This requires configuration in your application module; if you are using the Tapestry Quickstart archetype, only locale "en" will be enabled by default.</td></tr></table></div>
+<div class="panelMacro"><table class="infoMacro"><colgroup span="1"><col span="1" width="24"><col span="1"></colgroup><tr><td colspan="1" rowspan="1" valign="top"><img align="middle" src="https://cwiki.apache.org/confluence/images/icons/emoticons/information.gif" width="16" height="16" alt="" border="0"></td><td colspan="1" rowspan="1">It is necessary to <a shape="rect" href="configuration.html#Configuration-supportedlocales">enable support for a locale</a> before Tapestry will attempt to localize to that locale. This requires configuration in your application module; if you are using the Tapestry Quickstart archetype, only locale "en" will be enabled by default.</td></tr></table></div>
 
 <p><a shape="rect" name="ComponentTemplates-doctypes"></a></p>
 
@@ -162,40 +174,40 @@
 <p>The following are the most common (X)HTML doctypes:</p>
 
 <div class="code panel" style="border-width: 1px;"><div class="codeContent panelContent">
-<pre class="code-xml">
-<span class="code-tag">&lt;!DOCTYPE html&gt;</span>
+<script class="theme: Default; brush: xml; gutter: false" type="syntaxhighlighter"><![CDATA[
+&lt;!DOCTYPE html&gt;
 
-&lt;!DOCTYPE html PUBLIC <span class="code-quote">"-//W3C//DTD XHTML 1.0 Strict//EN"</span>
-   <span class="code-quote">"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"</span>&gt;
+&lt;!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
+   "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"&gt;
 
-&lt;!DOCTYPE html PUBLIC <span class="code-quote">"-//W3C//DTD XHTML 1.0 Transitional//EN"</span>
-   <span class="code-quote">"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"</span>&gt;
+&lt;!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+   "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"&gt;
 
-&lt;!DOCTYPE HTML PUBLIC <span class="code-quote">"-//W3C//DTD HTML 4.01//EN"</span>
-   <span class="code-quote">"http://www.w3.org/TR/html4/strict.dtd"</span>&gt;
+&lt;!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN"
+   "http://www.w3.org/TR/html4/strict.dtd"&gt;
 
-&lt;!DOCTYPE HTML PUBLIC <span class="code-quote">"-//W3C//DTD HTML 4.01 Transitional//EN"</span>
-   <span class="code-quote">"http://www.w3.org/TR/html4/loose.dtd"</span>&gt;
-</pre>
+&lt;!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
+   "http://www.w3.org/TR/html4/loose.dtd"&gt;
+]]></script>
 </div></div>
 
 <p>The first one is for <a shape="rect" class="external-link" href="http://en.wikipedia.org/wiki/HTML5" >HTML5</a> and is recommended for Tapestry 5.2.5 and later. In versions prior to Tapestry 5.2.5, Tapestry didn't support the HTML5 doctype directly (see <a shape="rect" class="external-link" href="https://issues.apache.org/jira/browse/TAP5-1040">TAP5-1040</a>), but there's a partial work-around: just add the following to your page class (or your <a shape="rect" href="layout-component.html" title="Layout Component">layout class</a>, if you use one) <em>instead of</em> adding the doctype to your template (.tml) files:</p>
 
 <div class="code panel" style="border-width: 1px;"><div class="codeContent panelContent">
-<pre class="code-java">
+<script class="theme: Default; brush: java; gutter: false" type="syntaxhighlighter"><![CDATA[
 /**
-* Output the HTML5 doctype, as a work-around to https:<span class="code-comment">//issues.apache.org/jira/browse/TAP5-1040
-</span>*/
+* Output the HTML5 doctype, as a work-around to https://issues.apache.org/jira/browse/TAP5-1040
+*/
 @SetupRender
-<span class="code-keyword">final</span> void renderDocType(<span class="code-keyword">final</span> MarkupWriter writer) {
-    writer.getDocument().raw(<span class="code-quote">"&lt;!DOCTYPE html&gt;"</span>);
+final void renderDocType(final MarkupWriter writer) {
+    writer.getDocument().raw("&lt;!DOCTYPE html&gt;");
 }
-</pre>
+]]></script>
 </div></div>
 
 
 
-<div class="panelMacro"><table class="infoMacro"><colgroup span="1"><col span="1" width="24"><col span="1"></colgroup><tr><td colspan="1" rowspan="1" valign="top"><img align="middle" src="/images/confluence/information.gif" width="16" height="16" alt="" border="0"></td><td colspan="1" rowspan="1"><b>Added in 5.3</b><br clear="none"></td></tr></table></div>
+<div class="panelMacro"><table class="infoMacro"><colgroup span="1"><col span="1" width="24"><col span="1"></colgroup><tr><td colspan="1" rowspan="1" valign="top"><img align="middle" src="https://cwiki.apache.org/confluence/images/icons/emoticons/information.gif" width="16" height="16" alt="" border="0"></td><td colspan="1" rowspan="1"><b>Added in 5.3</b><br clear="none"></td></tr></table></div>
 <div style="border-right: 20px solid #D8E4F1;border-left: 20px solid #D8E4F1;">
 <p>Tapestry 5.3 introduces two significant improvements to template Doctypes.</p>
 
@@ -209,16 +221,16 @@
 <p>Component templates should include the Tapestry namespace, defining it in the root element of the template.</p>
 
 <div class="code panel" style="border-width: 1px;"><div class="codeContent panelContent">
-<pre class="code-xml">
-<span class="code-tag">&lt;html <span class="code-keyword">xmlns:t</span>=<span class="code-quote">"http://tapestry.apache.org/schema/tapestry_5_3.xsd"</span>&gt;</span>
-    <span class="code-tag">&lt;head&gt;</span>
-        <span class="code-tag">&lt;title&gt;</span>Hello World Page<span class="code-tag">&lt;/title&gt;</span>
-    <span class="code-tag">&lt;/head&gt;</span>
-    <span class="code-tag">&lt;body&gt;</span>
-        <span class="code-tag">&lt;h1&gt;</span>Hello World<span class="code-tag">&lt;/h1&gt;</span>
-    <span class="code-tag">&lt;/body&gt;</span>
-<span class="code-tag">&lt;/html&gt;</span>
-</pre>
+<script class="theme: Default; brush: xml; gutter: false" type="syntaxhighlighter"><![CDATA[
+&lt;html xmlns:t="http://tapestry.apache.org/schema/tapestry_5_3.xsd"&gt;
+    &lt;head&gt;
+        &lt;title&gt;Hello World Page&lt;/title&gt;
+    &lt;/head&gt;
+    &lt;body&gt;
+        &lt;h1&gt;Hello World&lt;/h1&gt;
+    &lt;/body&gt;
+&lt;/html&gt;
+]]></script>
 </div></div>
 
 <p>This defines the namespace using the standard prefix, "t:". The examples on this page all assume the use of the standard prefix.</p>
@@ -249,58 +261,58 @@
 <p>The following example is a <a shape="rect" href="layout-component.html" title="Layout Component">Layout component</a>, which adds basic HTML elements <em>around</em> the page-specific content:</p>
 
 <div class="code panel" style="border-width: 1px;"><div class="codeContent panelContent">
-<pre class="code-xml">
-<span class="code-tag">&lt;html <span class="code-keyword">xmlns:t</span>=<span class="code-quote">"http://tapestry.apache.org/schema/tapestry_5_3.xsd"</span>&gt;</span>
-    <span class="code-tag">&lt;head&gt;</span>
-        <span class="code-tag">&lt;title&gt;</span>My Tapestry Application<span class="code-tag">&lt;/title&gt;</span>
-    <span class="code-tag">&lt;/head&gt;</span>
-    <span class="code-tag">&lt;body&gt;</span>
-        <span class="code-tag">&lt;t:body/&gt;</span>
-    <span class="code-tag">&lt;/body&gt;</span>
-<span class="code-tag">&lt;/html&gt;</span>
-</pre>
+<script class="theme: Default; brush: xml; gutter: false" type="syntaxhighlighter"><![CDATA[
+&lt;html xmlns:t="http://tapestry.apache.org/schema/tapestry_5_3.xsd"&gt;
+    &lt;head&gt;
+        &lt;title&gt;My Tapestry Application&lt;/title&gt;
+    &lt;/head&gt;
+    &lt;body&gt;
+        &lt;t:body/&gt;
+    &lt;/body&gt;
+&lt;/html&gt;
+]]></script>
 </div></div>
 
 <p>That "&lt;t:body/&gt;" element marks where the containing page's content will be inserted. A page would then use this component as follow:</p>
 
 <div class="code panel" style="border-width: 1px;"><div class="codeContent panelContent">
-<pre class="code-xml">
-&lt;html t:type=<span class="code-quote">"layout"</span> <span class="code-keyword">xmlns:t</span>=<span class="code-quote">"http://tapestry.apache.org/schema/tapestry_5_3.xsd"</span>
+<script class="theme: Default; brush: xml; gutter: false" type="syntaxhighlighter"><![CDATA[
+&lt;html t:type="layout" xmlns:t="http://tapestry.apache.org/schema/tapestry_5_3.xsd"
 
   My Page Specific Content
 
-<span class="code-tag">&lt;/html&gt;</span>
-</pre>
+&lt;/html&gt;
+]]></script>
 </div></div>
 
 <p>When the page renders, the page's template and the Layout component's template are merged together:</p>
 
 <div class="code panel" style="border-width: 1px;"><div class="codeContent panelContent">
-<pre class="code-xml">
-<span class="code-tag">&lt;html&gt;</span>
-  <span class="code-tag">&lt;head&gt;</span>
-    <span class="code-tag">&lt;title&gt;</span>My Tapestry Application<span class="code-tag">&lt;/title&gt;</span>
-  <span class="code-tag">&lt;/head&gt;</span>
-  <span class="code-tag">&lt;body&gt;</span>
+<script class="theme: Default; brush: xml; gutter: false" type="syntaxhighlighter"><![CDATA[
+&lt;html&gt;
+  &lt;head&gt;
+    &lt;title&gt;My Tapestry Application&lt;/title&gt;
+  &lt;/head&gt;
+  &lt;body&gt;
     My Page Specific Content
-  <span class="code-tag">&lt;/body&gt;</span>
-<span class="code-tag">&lt;/html&gt;</span>
-</pre>
+  &lt;/body&gt;
+&lt;/html&gt;
+]]></script>
 </div></div>
 
-<div class="panelMacro"><table class="infoMacro"><colgroup span="1"><col span="1" width="24"><col span="1"></colgroup><tr><td colspan="1" rowspan="1" valign="top"><img align="middle" src="/images/confluence/information.gif" width="16" height="16" alt="" border="0"></td><td colspan="1" rowspan="1">Tapestry 4 users will recognize the &lt;t:body&gt; element as a replacement for the RenderBody component.</td></tr></table></div>
+<div class="panelMacro"><table class="infoMacro"><colgroup span="1"><col span="1" width="24"><col span="1"></colgroup><tr><td colspan="1" rowspan="1" valign="top"><img align="middle" src="https://cwiki.apache.org/confluence/images/icons/emoticons/information.gif" width="16" height="16" alt="" border="0"></td><td colspan="1" rowspan="1">Tapestry 4 users will recognize the &lt;t:body&gt; element as a replacement for the RenderBody component.</td></tr></table></div>
 
 <h3><a shape="rect" name="ComponentTemplates-The%3Ct%3Acontainer%3EElement"></a>The &lt;t:container&gt; Element</h3>
 
 <p>A &lt;t:container&gt; element contains markup without being considered part of the template. This is useful for components that render several top level tags, for example, a component that renders several columns within a table row:</p>
 
 <div class="code panel" style="border-width: 1px;"><div class="codeContent panelContent">
-<pre class="code-xml">
-<span class="code-tag">&lt;t:container <span class="code-keyword">xmlns:t</span>=<span class="code-quote">"http://tapestry.apache.org/schema/tapestry_5_3.xsd"</span>&gt;</span>
-  <span class="code-tag">&lt;td&gt;</span>${label}<span class="code-tag">&lt;/td&gt;</span>
-  <span class="code-tag">&lt;td&gt;</span>${value}<span class="code-tag">&lt;/td&gt;</span>
-<span class="code-tag">&lt;/t:container&gt;</span>
-</pre>
+<script class="theme: Default; brush: xml; gutter: false" type="syntaxhighlighter"><![CDATA[
+&lt;t:container xmlns:t="http://tapestry.apache.org/schema/tapestry_5_3.xsd"&gt;
+  &lt;td&gt;${label}&lt;/td&gt;
+  &lt;td&gt;${value}&lt;/td&gt;
+&lt;/t:container&gt;
+]]></script>
 </div></div>
 
 <p>This component only makes sense when used inside a &lt;tr&gt; element of its container's template.</p>
@@ -315,13 +327,13 @@
 
 <p>A block may be anonymous, or it may have an id (specified with the id attribute). Only blocks with an id may be <a shape="rect" href="injection.html" title="Injection">injected</a> into the component.</p>
 
-<div class="panelMacro"><table class="warningMacro"><colgroup span="1"><col span="1" width="24"><col span="1"></colgroup><tr><td colspan="1" rowspan="1" valign="top"><img align="middle" src="/images/confluence/forbidden.gif" width="16" height="16" alt="" border="0"></td><td colspan="1" rowspan="1">A &lt;t:block&gt; must be in the Tapestry namespace, but the id attribute should not be. This is different from components in the template, where the t:id attribute that defines the component id <em>must</em> be in the Tapestry namespace.</td></tr></table></div>
+<div class="panelMacro"><table class="warningMacro"><colgroup span="1"><col span="1" width="24"><col span="1"></colgroup><tr><td colspan="1" rowspan="1" valign="top"><img align="middle" src="https://cwiki.apache.org/confluence/images/icons/emoticons/forbidden.gif" width="16" height="16" alt="" border="0"></td><td colspan="1" rowspan="1">A &lt;t:block&gt; must be in the Tapestry namespace, but the id attribute should not be. This is different from components in the template, where the t:id attribute that defines the component id <em>must</em> be in the Tapestry namespace.</td></tr></table></div>
 
 <p>Ids must be valid Java identifiers: start with a letter, and contain only letters, numbers and underscores.</p>
 
 <h3><a shape="rect" name="ComponentTemplates-The%3Ct%3Aparameter%3EElement"></a>The &lt;t:parameter&gt; Element</h3>
 
-<div class="panelMacro"><table class="noteMacro"><colgroup span="1"><col span="1" width="24"><col span="1"></colgroup><tr><td colspan="1" rowspan="1" valign="top"><img align="middle" src="/images/confluence/warning.gif" width="16" height="16" alt="" border="0"></td><td colspan="1" rowspan="1">This element was deprecated starting in Tapestry 5.1 and <em>removed</em> in 5.3. Use <em><a shape="rect" href="#ComponentTemplates-parameternamespaces">parameter namespaces</a></em> (below) instead.</td></tr></table></div>
+<div class="panelMacro"><table class="noteMacro"><colgroup span="1"><col span="1" width="24"><col span="1"></colgroup><tr><td colspan="1" rowspan="1" valign="top"><img align="middle" src="https://cwiki.apache.org/confluence/images/icons/emoticons/warning.gif" width="16" height="16" alt="" border="0"></td><td colspan="1" rowspan="1">This element was deprecated starting in Tapestry 5.1 and <em>removed</em> in 5.3. Use <em><a shape="rect" href="#ComponentTemplates-parameternamespaces">parameter namespaces</a></em> (below) instead.</td></tr></table></div>
 
 <p>A &lt;parameter&gt; element is a special kind of block. It is placed inside the body of an embedded component. The block defined by the &lt;parameter&gt; is passed to the component. &lt;parameter&gt; includes a mandatory name attribute to identify which parameter of the component to bind.</p>
 
@@ -347,9 +359,9 @@
 <p>Another option when rendering output is the use of <em>expansions</em>. Expansions are special strings that may be embedded in template bodies, and borrow some syntax from the <a shape="rect" class="external-link" href="http://ant.apache.org">Ant</a> build tool.</p>
 
 <div class="code panel" style="border-width: 1px;"><div class="codeContent panelContent">
-<pre class="code-xml">
+<script class="theme: Default; brush: xml; gutter: false" type="syntaxhighlighter"><![CDATA[
   Welcome, ${userId}!
-</pre>
+]]></script>
 </div></div>
 
 <p>Here, <tt>${userId</tt>} is the expansion. In this example, the userId property of the component is extracted, converted to a string, and streamed into the output.</p>
@@ -357,18 +369,18 @@
 <p>Expansions are allowed inside text, and inside attributes of ordinary elements, and component elements. For example:</p>
 
 <div class="code panel" style="border-width: 1px;"><div class="codeContent panelContent">
-<pre class="code-xml">
-  <span class="code-tag">&lt;img src=<span class="code-quote">"${request.contextPath}/images/catalog/product_${productId}.png"</span>/&gt;</span>
-</pre>
+<script class="theme: Default; brush: xml; gutter: false" type="syntaxhighlighter"><![CDATA[
+  &lt;img src="${request.contextPath}/images/catalog/product_${productId}.png"/&gt;
+]]></script>
 </div></div>
 
 <p>In this hypothetical example, the component class is providing a request property and a productId property, and these are being used inside the template to assemble the src attribute of the &lt;img&gt; element. This is component-like behavior without actual components.</p>
 
 <p>Under the covers, expansions are the same as <a shape="rect" href="component-parameters.html#ComponentParameters-bindingparameters">parameter bindings</a>. The default binding prefix for expansions is "prop:" (that is, the name of a property or a <a shape="rect" href="property-expressions.html" title="Property Expressions">property expression</a>), but other binding prefixes are useful, especially "message:" (to access a localized message from the component's message catalog).</p>
 
-<div class="panelMacro"><table class="warningMacro"><colgroup span="1"><col span="1" width="24"><col span="1"></colgroup><tr><td colspan="1" rowspan="1" valign="top"><img align="middle" src="/images/confluence/forbidden.gif" width="16" height="16" alt="" border="0"></td><td colspan="1" rowspan="1">Do not use expansions in component parameters if the parameter's default or explicit binding prefix is "prop:" or "var:". Expansions convert the value to an immutable string, resulting in a runtime exception if the component tries to update the value. Even for read-only parameters, expansions are not as desirable, since they always convert to a string, and from there to the parameter's declared type.</td></tr></table></div>
+<div class="panelMacro"><table class="warningMacro"><colgroup span="1"><col span="1" width="24"><col span="1"></colgroup><tr><td colspan="1" rowspan="1" valign="top"><img align="middle" src="https://cwiki.apache.org/confluence/images/icons/emoticons/forbidden.gif" width="16" height="16" alt="" border="0"></td><td colspan="1" rowspan="1">Do not use expansions in component parameters if the parameter's default or explicit binding prefix is "prop:" or "var:". Expansions convert the value to an immutable string, resulting in a runtime exception if the component tries to update the value. Even for read-only parameters, expansions are not as desirable, since they always convert to a string, and from there to the parameter's declared type.</td></tr></table></div>
 
-<div class="panelMacro"><table class="infoMacro"><colgroup span="1"><col span="1" width="24"><col span="1"></colgroup><tr><td colspan="1" rowspan="1" valign="top"><img align="middle" src="/images/confluence/information.gif" width="16" height="16" alt="" border="0"></td><td colspan="1" rowspan="1">Tapestry 4 users will note that expansions are a concise, easy replacement for the Insert component, and for the &lt;span key="..."&gt; directive.</td></tr></table></div>
+<div class="panelMacro"><table class="infoMacro"><colgroup span="1"><col span="1" width="24"><col span="1"></colgroup><tr><td colspan="1" rowspan="1" valign="top"><img align="middle" src="https://cwiki.apache.org/confluence/images/icons/emoticons/information.gif" width="16" height="16" alt="" border="0"></td><td colspan="1" rowspan="1">Tapestry 4 users will note that expansions are a concise, easy replacement for the Insert component, and for the &lt;span key="..."&gt; directive.</td></tr></table></div>
 
 <p>Note that expansions escape any HTML reserved characters. Specifically, any less-than (&lt;), greater than (&gt;) and ampersand (&amp;) are replaced with &amp;lt;, &amp;ampgt; and &amp;amp; respectively. That is usually what you want. However, if your property contains HTML that you want rendered as raw markup, you can use the <a shape="rect" class="external-link" href="http://tapestry.apache.org/current/apidocs/org/apache/tapestry5/corelib/components/OutputRaw.html">OutputRaw</a> component instead, like this: <tt>&lt;t:OutputRaw value="someContent"/&gt;</tt> where <tt>someContent</tt> is a property containing HTML markup.</p>
 
@@ -379,15 +391,15 @@
 <p>An embedded component is identified within the template as an element in the t: namespace. Example:</p>
 
 <div class="code panel" style="border-width: 1px;"><div class="codeContent panelContent">
-<pre class="code-xml">
+<script class="theme: Default; brush: xml; gutter: false" type="syntaxhighlighter"><![CDATA[
   You have ${cartItems.size()} items in your cart.
-  <span class="code-tag">&lt;t:actionlink t:id=<span class="code-quote">"clear"</span>&gt;</span>Remove All<span class="code-tag">&lt;/t:actionlink&gt;</span>.
-</pre>
+  &lt;t:actionlink t:id="clear"&gt;Remove All&lt;/t:actionlink&gt;.
+]]></script>
 </div></div>
 
 <p>The element name, "actionlink" is used to select the type of component, ActionLink.</p>
 
-<div class="panelMacro"><table class="infoMacro"><colgroup span="1"><col span="1" width="24"><col span="1"></colgroup><tr><td colspan="1" rowspan="1" valign="top"><img align="middle" src="/images/confluence/information.gif" width="16" height="16" alt="" border="0"></td><td colspan="1" rowspan="1">As elsewhere, Tapestry is insensitive to case when mapping from a component type to a component class.</td></tr></table></div>
+<div class="panelMacro"><table class="infoMacro"><colgroup span="1"><col span="1" width="24"><col span="1"></colgroup><tr><td colspan="1" rowspan="1" valign="top"><img align="middle" src="https://cwiki.apache.org/confluence/images/icons/emoticons/information.gif" width="16" height="16" alt="" border="0"></td><td colspan="1" rowspan="1">As elsewhere, Tapestry is insensitive to case when mapping from a component type to a component class.</td></tr></table></div>
 
 <p>Embedded components may have two Tapestry-specific <a shape="rect" href="component-parameters.html" title="Component Parameters">parameters</a>:</p>
 
@@ -398,7 +410,7 @@
 
 <p>If the id attribute is omitted, Tapestry will assign a unique id for the element.</p>
 
-<div class="panelMacro"><table class="noteMacro"><colgroup span="1"><col span="1" width="24"><col span="1"></colgroup><tr><td colspan="1" rowspan="1" valign="top"><img align="middle" src="/images/confluence/warning.gif" width="16" height="16" alt="" border="0"></td><td colspan="1" rowspan="1">Non-trivial components should always be assigned a specific id, rather than letting Tapestry do it. You'll end up with shorter, more readable URLs and code that's easier to debug, because it will be more obvious how the request URL maps to your pages and components. This is even more strongly encouraged for form control components, where the component id will usually be the same as the query parameter that stores the value provided by the end user.</td></tr></table></div>
+<div class="panelMacro"><table class="noteMacro"><colgroup span="1"><col span="1" width="24"><col span="1"></colgroup><tr><td colspan="1" rowspan="1" valign="top"><img align="middle" src="https://cwiki.apache.org/confluence/images/icons/emoticons/warning.gif" width="16" height="16" alt="" border="0"></td><td colspan="1" rowspan="1">Non-trivial components should always be assigned a specific id, rather than letting Tapestry do it. You'll end up with shorter, more readable URLs and code that's easier to debug, because it will be more obvious how the request URL maps to your pages and components. This is even more strongly encouraged for form control components, where the component id will usually be the same as the query parameter that stores the value provided by the end user.</td></tr></table></div>
 
 <p>Ids must be valid Java identifiers: start with a letter, and contain only letters, numbers and underscores.</p>
 
@@ -409,18 +421,18 @@
 <p>The open and close tags of a Tapestry component element define the <b>body</b> of the component. It is quite common for additional components to be <b>enclosed</b> in the body of another component:</p>
 
 <div class="code panel" style="border-width: 1px;"><div class="codeContent panelContent">
-<pre class="code-xml">
-<span class="code-tag">&lt;t:form&gt;</span>
-  <span class="code-tag">&lt;t:errors/&gt;</span>
-  <span class="code-tag">&lt;t:label for=<span class="code-quote">"userId"</span>/&gt;</span>
-  <span class="code-tag">&lt;t:textfield t:id=<span class="code-quote">"userId"</span>/&gt;</span>
-  <span class="code-tag">&lt;br/&gt;</span>
-  <span class="code-tag">&lt;t:label for=<span class="code-quote">"password"</span>/&gt;</span>
-  <span class="code-tag">&lt;t:passwordfield t:id=<span class="code-quote">"password"</span>/&gt;</span>
-  <span class="code-tag">&lt;br/&gt;</span>
-  <span class="code-tag">&lt;input type=<span class="code-quote">"submit"</span> value=<span class="code-quote">"Login"</span>/&gt;</span>
-<span class="code-tag">&lt;/t:form&gt;</span>
-</pre>
+<script class="theme: Default; brush: xml; gutter: false" type="syntaxhighlighter"><![CDATA[
+&lt;t:form&gt;
+  &lt;t:errors/&gt;
+  &lt;t:label for="userId"/&gt;
+  &lt;t:textfield t:id="userId"/&gt;
+  &lt;br/&gt;
+  &lt;t:label for="password"/&gt;
+  &lt;t:passwordfield t:id="password"/&gt;
+  &lt;br/&gt;
+  &lt;input type="submit" value="Login"/&gt;
+&lt;/t:form&gt;
+]]></script>
 </div></div>
 
 <p>In this example, the &lt;t:form&gt; component's body contains the other components. Structurally, all of these components (the Form, Errors, Label, etc.) are peers: children of the page. They are all <em>embedded</em> within the page.  The Errors, Label, TextField and so forth are <em>enclosed</em> within the Form's body ... meaning that the Form controls if, when, and under what circumstances those components will render.</p>
@@ -429,7 +441,7 @@
 
 <p>It is possible to place Tapestry components in sub-packages. For example, your application may have a package org.example.myapp.components.ajax.Dialog. This component's normal type name is "ajax/dialog" (because it is in the ajax sub-folder). This name is problematic, as it is not valid to define an XML element with an element name <tt>&lt;t:ajax/dialog&gt;</tt>. Instead, just replace the slashes with periods: <tt>&lt;t:ajax.dialog&gt;</tt>.  Library namespaces (described in the next section) are a preferred way of handling components in sub-folders.</p>
 
-<div class="panelMacro"><table class="infoMacro"><colgroup span="1"><col span="1" width="24"><col span="1"></colgroup><tr><td colspan="1" rowspan="1" valign="top"><img align="middle" src="/images/confluence/information.gif" width="16" height="16" alt="" border="0"></td><td colspan="1" rowspan="1">When using a component library, the library will map its components to a <em>virtual sub-folder</em> of the application. The same naming mechanism works whether its is a real sub-folder or a component library sub-folder.</td></tr></table></div>
+<div class="panelMacro"><table class="infoMacro"><colgroup span="1"><col span="1" width="24"><col span="1"></colgroup><tr><td colspan="1" rowspan="1" valign="top"><img align="middle" src="https://cwiki.apache.org/confluence/images/icons/emoticons/information.gif" width="16" height="16" alt="" border="0"></td><td colspan="1" rowspan="1">When using a component library, the library will map its components to a <em>virtual sub-folder</em> of the application. The same naming mechanism works whether its is a real sub-folder or a component library sub-folder.</td></tr></table></div>
 
 <p><a shape="rect" name="ComponentTemplates-LibraryNamespaces"></a></p>
 <h2><a shape="rect" name="ComponentTemplates-LibraryNamespaces"></a>Library Namespaces</h2>
@@ -441,17 +453,17 @@
 <p>Borrowing from the above example, all of the following are equivalent:</p>
 
 <div class="code panel" style="border-width: 1px;"><div class="codeContent panelContent">
-<pre class="code-xml">
-<span class="code-tag">&lt;html <span class="code-keyword">xmlns:t</span>=<span class="code-quote">"http://tapestry.apache.org/schema/tapestry_5_3.xsd"</span> <span class="code-keyword">xmlns:a</span>=<span class="code-quote">"tapestry-library:ajax"</span>&gt;</span>
+<script class="theme: Default; brush: xml; gutter: false" type="syntaxhighlighter"><![CDATA[
+&lt;html xmlns:t="http://tapestry.apache.org/schema/tapestry_5_3.xsd" xmlns:a="tapestry-library:ajax"&gt;
 
-  <span class="code-tag">&lt;t:ajax.dialog/&gt;</span>
+  &lt;t:ajax.dialog/&gt;
 
-  <span class="code-tag">&lt;span t:type=<span class="code-quote">"ajax/dialog"</span>/&gt;</span>
+  &lt;span t:type="ajax/dialog"/&gt;
 
-  <span class="code-tag">&lt;a:dialog/&gt;</span>
+  &lt;a:dialog/&gt;
 
   . . .
-</pre>
+]]></script>
 </div></div>
 
 <p>In other words, the virtual folder, <tt>ajax</tt>, defined in the namespace URI takes the place of the path prefixes <tt>ajax.</tt> seen in the first element, or <tt>ajax/</tt> seen in the second. As far as Tapestry is concerned, they are all equivalent.</p>
@@ -463,15 +475,15 @@
 <p>Invisible instrumentation involves using <em>namespaced</em> id or type attributes to mark an ordinary (X)HTML element as a component. For example:</p>
 
 <div class="code panel" style="border-width: 1px;"><div class="codeContent panelContent">
-<pre class="code-xml">
-<span class="code-tag">&lt;html <span class="code-keyword">xmlns:t</span>=<span class="code-quote">"http://tapestry.apache.org/schema/tapestry_5_3.xsd"</span>&gt;</span>
-<span class="code-tag">&lt;p&gt;</span>
+<script class="theme: Default; brush: xml; gutter: false" type="syntaxhighlighter"><![CDATA[
+&lt;html xmlns:t="http://tapestry.apache.org/schema/tapestry_5_3.xsd"&gt;
+&lt;p&gt;
     Merry Christmas:
-    <span class="code-tag">&lt;span t:type=<span class="code-quote">"Count"</span> end=<span class="code-quote">"3"</span>&gt;</span>
+    &lt;span t:type="Count" end="3"&gt;
         Ho!
-    <span class="code-tag">&lt;/span&gt;</span>
-<span class="code-tag">&lt;/p&gt;</span>
-</pre>
+    &lt;/span&gt;
+&lt;/p&gt;
+]]></script>
 </div></div>
 
 <p>The t:type attribute above marks the span element as a component of type Count. When rendered, the span element will be <em>replaced</em> by the output of the Count component.</p>
@@ -486,15 +498,15 @@
 <p>In <em>most</em> cases, it is merely an aesthetic choice whether to use invisible instrumentation in your templates. However, in a very few cases the behavior of the component is influenced by your choice. For example, when your template includes the Loop component using the invisible instrumentation approach, the original tag (and its informal parameters) will render repeatedly around the body of the component. Thus, for example:</p>
 
 <div class="code panel" style="border-width: 1px;"><div class="codeContent panelContent">
-<pre class="code-xml">
-  <span class="code-tag">&lt;table&gt;</span>
-    <span class="code-tag">&lt;tr t:type=<span class="code-quote">"loop"</span> source=<span class="code-quote">"items"</span> value=<span class="code-quote">"item"</span> class=<span class="code-quote">"prop:rowClass"</span>&gt;</span>
-      <span class="code-tag">&lt;td&gt;</span>${item.id}<span class="code-tag">&lt;/td&gt;</span>
-      <span class="code-tag">&lt;td&gt;</span>${item.name}<span class="code-tag">&lt;/td&gt;</span>
-      <span class="code-tag">&lt;td&gt;</span>${item.quantity}<span class="code-tag">&lt;/td&gt;</span>
-    <span class="code-tag">&lt;/tr&gt;</span>
-  <span class="code-tag">&lt;/tabel&gt;</span>
-</pre>
+<script class="theme: Default; brush: xml; gutter: false" type="syntaxhighlighter"><![CDATA[
+  &lt;table&gt;
+    &lt;tr t:type="loop" source="items" value="item" class="prop:rowClass"&gt;
+      &lt;td&gt;${item.id}&lt;/td&gt;
+      &lt;td&gt;${item.name}&lt;/td&gt;
+      &lt;td&gt;${item.quantity}&lt;/td&gt;
+    &lt;/tr&gt;
+  &lt;/tabel&gt;
+]]></script>
 </div></div>
 
 <p>Here, the loop component "merges into" the &lt;tr&gt; element. It will render out a &lt;tr&gt; for each <tt>item</tt> in the <tt>items</tt> list, with each &lt;tr&gt; including three &lt;td&gt; elements. It will also write a dynamic "class" attribute into each &lt;tr&gt;.</p>
@@ -511,23 +523,23 @@
 <p>You must define a special namespace, usually with the prefix "p":</p>
 
 <div class="code panel" style="border-width: 1px;"><div class="codeContent panelContent">
-<pre class="code-xml">
-<span class="code-tag">&lt;html <span class="code-keyword">xmlns:t</span>=<span class="code-quote">"http://tapestry.apache.org/schema/tapestry_5_3.xsd"</span> <span class="code-keyword">xmlns:p</span>=<span class="code-quote">"tapestry:parameter"</span>&gt;</span>
+<script class="theme: Default; brush: xml; gutter: false" type="syntaxhighlighter"><![CDATA[
+&lt;html xmlns:t="http://tapestry.apache.org/schema/tapestry_5_3.xsd" xmlns:p="tapestry:parameter"&gt;
   . . .
-</pre>
+]]></script>
 </div></div>
 
 <p>With the "tapestry:parameter" namespace defined, you can pass block using the "p:" prefix and an element name that matches the parameter name:</p>
 
 <div class="code panel" style="border-width: 1px;"><div class="codeContent panelContent">
-<pre class="code-xml">
-<span class="code-tag">&lt;t:if test=<span class="code-quote">"loggedIn"</span>&gt;</span>
+<script class="theme: Default; brush: xml; gutter: false" type="syntaxhighlighter"><![CDATA[
+&lt;t:if test="loggedIn"&gt;
   Hello, ${userName}!
-  <span class="code-tag">&lt;p:else&gt;</span>
-    Click <span class="code-tag">&lt;a t:type=<span class="code-quote">"actionlink"</span> t:id=<span class="code-quote">"login"</span>&gt;</span>here<span class="code-tag">&lt;/a&gt;</span> to log in.
-  <span class="code-tag">&lt;/p:else&gt;</span>
-<span class="code-tag">&lt;/t:if&gt;</span>
-</pre>
+  &lt;p:else&gt;
+    Click &lt;a t:type="actionlink" t:id="login"&gt;here&lt;/a&gt; to log in.
+  &lt;/p:else&gt;
+&lt;/t:if&gt;
+]]></script>
 </div></div>
 
 <p>This example passes a block of the template (containing the ActionLink component and some text) to the If component as parameter <tt>else</tt>. In the <a shape="rect" class="external-link" href="http://tapestry.apache.org/current/apidocs/org/apache/tapestry5/corelib/components/If.html">If component's reference page</a> you'll see that <tt>else</tt> is parameter of type <a shape="rect" class="external-link" href="http://tapestry.apache.org/current/apidocs/org/apache/tapestry5/Block.html">Block</a>.</p>
@@ -551,36 +563,36 @@
 <p>For example:</p>
 
 <div class="code panel" style="border-width: 1px;"><div class="codeContent panelContent">
-<pre class="code-xml">
-  <span class="code-tag">&lt;ul class=<span class="code-quote">"navmenu"</span> xml:space=<span class="code-quote">"preserve"</span>&gt;</span>
-    <span class="code-tag">&lt;li t:type=<span class="code-quote">"loop"</span> t:source=<span class="code-quote">"pages"</span> t:value=<span class="code-quote">"var:page"</span>&gt;</span>
-      <span class="code-tag">&lt;t:pagelink page=<span class="code-quote">"var:page"</span>&gt;</span>${var:page}<span class="code-tag">&lt;/t:pagelink&gt;</span>
-    <span class="code-tag">&lt;/li&gt;</span>
-  <span class="code-tag">&lt;/ul&gt;</span>
-</pre>
+<script class="theme: Default; brush: xml; gutter: false" type="syntaxhighlighter"><![CDATA[
+  &lt;ul class="navmenu" xml:space="preserve"&gt;
+    &lt;li t:type="loop" t:source="pages" t:value="var:page"&gt;
+      &lt;t:pagelink page="var:page"&gt;${var:page}&lt;/t:pagelink&gt;
+    &lt;/li&gt;
+  &lt;/ul&gt;
+]]></script>
 </div></div>
 
 <p>This will preserve the whitespace between the &lt;ul&gt; and &lt;li&gt; elements, and between the (rendered) &lt;li&gt; elements and the nested &lt;a&gt; elements. For example, the output may look something like:</p>
 
 <div class="code panel" style="border-width: 1px;"><div class="codeContent panelContent">
-<pre class="code-xml">
-  <span class="code-tag">&lt;ul&gt;</span>
-    <span class="code-tag">&lt;li&gt;</span>
-      <span class="code-tag">&lt;a href="showcart&gt;</span>ShowCart<span class="code-tag">&lt;/a&gt;</span>
-    <span class="code-tag">&lt;/li&gt;</span>
-    <span class="code-tag">&lt;li&gt;</span>
-      <span class="code-tag">&lt;a href=<span class="code-quote">"viewaccount"</span>&gt;</span>ViewAccount<span class="code-tag">&lt;/a&gt;</span>
-    <span class="code-tag">&lt;/li&gt;</span>
-  <span class="code-tag">&lt;/ul&gt;</span>
-</pre>
+<script class="theme: Default; brush: xml; gutter: false" type="syntaxhighlighter"><![CDATA[
+  &lt;ul&gt;
+    &lt;li&gt;
+      &lt;a href="showcart&gt;ShowCart&lt;/a&gt;
+    &lt;/li&gt;
+    &lt;li&gt;
+      &lt;a href="viewaccount"&gt;ViewAccount&lt;/a&gt;
+    &lt;/li&gt;
+  &lt;/ul&gt;
+]]></script>
 </div></div>
 
 <p>With normal whitespace compression, you would see the following rendered output:</p>
 
 <div class="code panel" style="border-width: 1px;"><div class="codeContent panelContent">
-<pre class="code-xml">
-  <span class="code-tag">&lt;ul&gt;</span><span class="code-tag">&lt;li&gt;</span><span class="code-tag">&lt;a href=<span class="code-quote">"showcart"</span>&gt;</span>ShowCart<span class="code-tag">&lt;/a&gt;</span><span class="code-tag">&lt;/li&gt;</span><span class="code-tag">&lt;li&gt;</span><span class="code-tag">&lt;a href=<span class="code-quote">"viewaccount"</span>&gt;</span>ViewAccount<span class="code-tag">&lt;/li&gt;</span><span class="code-tag">&lt;/ul&gt;</span>
-</pre>
+<script class="theme: Default; brush: xml; gutter: false" type="syntaxhighlighter"><![CDATA[
+  &lt;ul&gt;&lt;li&gt;&lt;a href="showcart"&gt;ShowCart&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="viewaccount"&gt;ViewAccount&lt;/li&gt;&lt;/ul&gt;
+]]></script>
 </div></div>
 
 <p>You can even put further <tt>xml:space</tt> attributes inside nested elements to fine-tune the control over what whitespace is preserved and what is compressed.</p>
@@ -597,18 +609,18 @@
 
 <p>This can work across multiple levels of inheritance.</p>
 
-<div class="panelMacro"><table class="warningMacro"><colgroup span="1"><col span="1" width="24"><col span="1"></colgroup><tr><td colspan="1" rowspan="1" valign="top"><img align="middle" src="/images/confluence/forbidden.gif" width="16" height="16" alt="" border="0"></td><td colspan="1" rowspan="1">Overuse of this feature is <em>not recommended</em>: in general use of composition, rather than inheritance, will be easier to understand and maintain. There are certain specific cases where overrides will allow a for much wider and easier reuse of a component, but the component needs to be carefully designed to support this kind of inheritance properly.</td></tr></table></div>
+<div class="panelMacro"><table class="warningMacro"><colgroup span="1"><col span="1" width="24"><col span="1"></colgroup><tr><td colspan="1" rowspan="1" valign="top"><img align="middle" src="https://cwiki.apache.org/confluence/images/icons/emoticons/forbidden.gif" width="16" height="16" alt="" border="0"></td><td colspan="1" rowspan="1">Overuse of this feature is <em>not recommended</em>: in general use of composition, rather than inheritance, will be easier to understand and maintain. There are certain specific cases where overrides will allow a for much wider and easier reuse of a component, but the component needs to be carefully designed to support this kind of inheritance properly.</td></tr></table></div>
 
 <h3><a shape="rect" name="ComponentTemplates-%3Ct%3Aextensionpoint%3E"></a>&lt;t:extension-point&gt;</h3>
 
 <p>Marks a point in a template that may be replaced. A unique id (case insensitive) is used in the template and its sub-templates to link extension points to possible overrides.</p>
 
 <div class="code panel" style="border-width: 1px;"><div class="codeContent panelContent">
-<pre class="code-xml">
-  <span class="code-tag">&lt;t:extension-point id=<span class="code-quote">"title"</span>&gt;</span>
-    <span class="code-tag">&lt;h1&gt;</span>${defaultTitle}<span class="code-tag">&lt;/h1&gt;</span>
-  <span class="code-tag">&lt;/t:extension-point&gt;</span>
-</pre>
+<script class="theme: Default; brush: xml; gutter: false" type="syntaxhighlighter"><![CDATA[
+  &lt;t:extension-point id="title"&gt;
+    &lt;h1&gt;${defaultTitle}&lt;/h1&gt;
+  &lt;/t:extension-point&gt;
+]]></script>
 </div></div>
 
 <h3><a shape="rect" name="ComponentTemplates-%3Ct%3Aextend%3E"></a>&lt;t:extend&gt;</h3>
@@ -620,20 +632,20 @@
 <p>Replaces an extension point from a parent template. &lt;t:replace&gt; may only appear as the immediate child of a root &lt;t:extend&gt; element.</p>
 
 <div class="code panel" style="border-width: 1px;"><div class="codeContent panelContent">
-<pre class="code-xml">
-<span class="code-tag">&lt;t:extend <span class="code-keyword">xmlns:t</span>=<span class="code-quote">"http://tapestry.apache.org/schema/tapestry_5_3.xsd"</span>&gt;</span>
-  <span class="code-tag">&lt;t:replace id=<span class="code-quote">"title"</span>&gt;</span>
-    <span class="code-tag">&lt;h1&gt;</span><span class="code-tag">&lt;img src=<span class="code-quote">"${context:images/icon.jpg}"</span>/&gt;</span>
-    Customer Service<span class="code-tag">&lt;/h1&gt;</span>
-  <span class="code-tag">&lt;/t:replace&gt;</span>
-<span class="code-tag">&lt;/t:extend&gt;</span>
-</pre>
+<script class="theme: Default; brush: xml; gutter: false" type="syntaxhighlighter"><![CDATA[
+&lt;t:extend xmlns:t="http://tapestry.apache.org/schema/tapestry_5_3.xsd"&gt;
+  &lt;t:replace id="title"&gt;
+    &lt;h1&gt;&lt;img src="${context:images/icon.jpg}"/&gt;
+    Customer Service&lt;/h1&gt;
+  &lt;/t:replace&gt;
+&lt;/t:extend&gt;
+]]></script>
 </div></div></div>
 </div>
 
 <div class="clearer"></div>
 <div id="footer">
-<div id="footer"><p>Apache Tapestry, Tapestry, Apache, the Apache feather logo, and the Apache Tapestry project logo are trademarks of The Apache Software Foundation.</p>
+<div id="footer"><p>Apache Tapestry, Tapestry, Apache, the Apache feather logo, and the Apache Tapestry project logo are trademarks of The Apache Software Foundation.<br clear="none">
 <script type="text/javascript">
   var _gaq = _gaq || [];
   _gaq.push(['_setAccount', 'UA-400821-1']);
@@ -644,7 +656,7 @@
     ga.src = ('https:' == document.location.protocol ? 'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
     var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(ga, s);
   })();
-</script></div>
+</script></p></div>
 </div>
 		<div id="comments_thread"></div>
 		<script type="text/javascript" src="https://comments.apache.org/show_comments.lua?site=tapestry&amp;page=http://tapestry.apache.org/component-templates.html" async="true">

Modified: websites/production/tapestry/content/configuration.html
==============================================================================
--- websites/production/tapestry/content/configuration.html (original)
+++ websites/production/tapestry/content/configuration.html Sun Sep 22 22:21:21 2013
@@ -24,7 +24,19 @@
     Configuration -- Apache Tapestry
   </title>
   <link type="text/css" rel="stylesheet" href="/resources/space.css">
+
+    <link href='http://cxf.apache.org/resources/highlighter/styles/shCoreCXF.css' rel='stylesheet' type='text/css' />
+  <link href='http://cxf.apache.org/resources/highlighter/styles/shThemeCXF.css' rel='stylesheet' type='text/css' />
+  <script src='http://cxf.apache.org/resources/highlighter/scripts/shCore.js' type='text/javascript'></script>
+  <script src='http://cxf.apache.org/resources/highlighter/scripts/shBrushJava.js' type='text/javascript'></script>
+  <script src='http://cxf.apache.org/resources/highlighter/scripts/shBrushXml.js' type='text/javascript'></script>
+  <script type="text/javascript">
+  SyntaxHighlighter.defaults['toolbar'] = false;
+  SyntaxHighlighter.all();
+  </script>
+
   <link href="/styles/style.css" rel="stylesheet" type="text/css"/>
+
 </head>
 <body>
   <div class="wrapper bs">
@@ -96,7 +108,7 @@
 <p>Tapestry applications are configured almost entirely using Java, not XML. However, a small but necessary amount of configuration occurs inside the servlet deployment descriptor, WEB-INF/web.xml. Most of the configuration is boilerplate, nearly the same for all applications.</p>
 
 <div class="code panel" style="border-width: 1px;"><div class="codeContent panelContent">
-<pre class="code-xml">
+<script class="theme: Default; brush: xml; gutter: false" type="syntaxhighlighter"><![CDATA[
 &lt;!DOCTYPE web-app
       PUBLIC "-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN"
       "http://java.sun.com/dtd/web-app_2_3.dtd"&gt;
@@ -115,7 +127,7 @@
         &lt;url-pattern&gt;/*&lt;/url-pattern&gt;
     &lt;/filter-mapping&gt;
 &lt;/web-app&gt;
-</pre>
+]]></script>
 </div></div>
 
 <div class="navmenu" style="float:right; width:30%; background:#eee; margin:3px; padding:3px"><p><font color="#539126"><b>Tapestry Requests vs. Container Requests</b></font></p>
@@ -141,7 +153,7 @@
 <p>Your application module class (usually AppModule.java) will typically override some of Tapestry's default, or "factory", symbols, by contributing overrides to the ApplicationDefaults service configuration. For example:</p>
 
 <div class="code panel" style="border-width: 1px;"><div class="codeHeader panelHeader" style="border-bottom-width: 1px;"><b>AppModule.java</b></div><div class="codeContent panelContent">
-<pre class="code-java">
+<script class="theme: Default; brush: java; gutter: false" type="syntaxhighlighter"><![CDATA[
 public class AppModule
 {
   public static void contributeApplicationDefaults(MappedConfiguration&lt;String,String&gt; configuration)
@@ -150,7 +162,7 @@ public class AppModule
     configuration.add(SymbolConstants.FILE_CHECK_INTERVAL, "10 m");
   }
 }
-</pre>
+]]></script>
 </div></div>
 
 <h2><a shape="rect" name="Configuration-ConfigurationSymbolNames"></a>Configuration Symbol Names</h2>
@@ -175,7 +187,7 @@ public class AppModule
 
 
 
-<div class="panelMacro"><table class="infoMacro"><colgroup span="1"><col span="1" width="24"><col span="1"></colgroup><tr><td colspan="1" rowspan="1" valign="top"><img align="middle" src="/images/confluence/information.gif" width="16" height="16" alt="" border="0"></td><td colspan="1" rowspan="1"><b>Added in 5.3</b><br clear="none"></td></tr></table></div>
+<div class="panelMacro"><table class="infoMacro"><colgroup span="1"><col span="1" width="24"><col span="1"></colgroup><tr><td colspan="1" rowspan="1" valign="top"><img align="middle" src="https://cwiki.apache.org/confluence/images/icons/emoticons/information.gif" width="16" height="16" alt="" border="0"></td><td colspan="1" rowspan="1"><b>Added in 5.3</b><br clear="none"></td></tr></table></div>
 <div style="border-right: 20px solid #D8E4F1;border-left: 20px solid #D8E4F1;"></div>
 
 <p>The folder, of the context, in which the Tapestry application executes. By default this is blank, meaning the Tapestry application executes in the root of the web application context. Setting this value allows the Tapestry application to be <a shape="rect" href="#Configuration-ConfigurationSegregatingApplicationsIntoFolders">segregated into a folder</a>, which can be useful when Tapestry is executed inside a web application with other servlets or filters.</p>
@@ -184,7 +196,7 @@ public class AppModule
 
 
 
-<div class="panelMacro"><table class="infoMacro"><colgroup span="1"><col span="1" width="24"><col span="1"></colgroup><tr><td colspan="1" rowspan="1" valign="top"><img align="middle" src="/images/confluence/information.gif" width="16" height="16" alt="" border="0"></td><td colspan="1" rowspan="1"><b>Added in 5.3</b><br clear="none"></td></tr></table></div>
+<div class="panelMacro"><table class="infoMacro"><colgroup span="1"><col span="1" width="24"><col span="1"></colgroup><tr><td colspan="1" rowspan="1" valign="top"><img align="middle" src="https://cwiki.apache.org/confluence/images/icons/emoticons/information.gif" width="16" height="16" alt="" border="0"></td><td colspan="1" rowspan="1"><b>Added in 5.3</b><br clear="none"></td></tr></table></div>
 <div style="border-right: 20px solid #D8E4F1;border-left: 20px solid #D8E4F1;"></div>
 
 <p>A boolean value to indicate whether <a shape="rect" href="assets.html" title="Assets">asset</a> URLs should be fully qualified in the rendered page.<br clear="none">
@@ -194,7 +206,7 @@ This defaults to <tt>false</tt> (not ful
 
 
 
-<div class="panelMacro"><table class="infoMacro"><colgroup span="1"><col span="1" width="24"><col span="1"></colgroup><tr><td colspan="1" rowspan="1" valign="top"><img align="middle" src="/images/confluence/information.gif" width="16" height="16" alt="" border="0"></td><td colspan="1" rowspan="1"><b>Added in 5.3.1</b><br clear="none"></td></tr></table></div>
+<div class="panelMacro"><table class="infoMacro"><colgroup span="1"><col span="1" width="24"><col span="1"></colgroup><tr><td colspan="1" rowspan="1" valign="top"><img align="middle" src="https://cwiki.apache.org/confluence/images/icons/emoticons/information.gif" width="16" height="16" alt="" border="0"></td><td colspan="1" rowspan="1"><b>Added in 5.3.1</b><br clear="none"></td></tr></table></div>
 <div style="border-right: 20px solid #D8E4F1;border-left: 20px solid #D8E4F1;"></div>
 
 <p>The prefix to be used for all asset paths. This should start <em>and</em> end with a slash ("/"). By default this is "/assets/".</p>
@@ -205,7 +217,7 @@ This defaults to <tt>false</tt> (not ful
 
 
 
-<div class="panelMacro"><table class="warningMacro"><colgroup span="1"><col span="1" width="24"><col span="1"></colgroup><tr><td colspan="1" rowspan="1" valign="top"><img align="middle" src="/images/confluence/forbidden.gif" width="16" height="16" alt="" border="0"></td><td colspan="1" rowspan="1"><b>Deprecated since 5.3</b><br clear="none"></td></tr></table></div>
+<div class="panelMacro"><table class="warningMacro"><colgroup span="1"><col span="1" width="24"><col span="1"></colgroup><tr><td colspan="1" rowspan="1" valign="top"><img align="middle" src="https://cwiki.apache.org/confluence/images/icons/emoticons/forbidden.gif" width="16" height="16" alt="" border="0"></td><td colspan="1" rowspan="1"><b>Deprecated since 5.3</b><br clear="none"></td></tr></table></div>
 <div style="border-right: 20px solid #ffcccc;border-left: 20px solid #ffcccc;"><p>The client-side BlackBird console has been removed.</p></div>
 
 <h3><a shape="rect" name="Configuration-tapestry.charset"></a>tapestry.charset</h3>
@@ -223,11 +235,11 @@ re-download them on subsequent pages).  
 
 
 
-<div class="panelMacro"><table class="infoMacro"><colgroup span="1"><col span="1" width="24"><col span="1"></colgroup><tr><td colspan="1" rowspan="1" valign="top"><img align="middle" src="/images/confluence/information.gif" width="16" height="16" alt="" border="0"></td><td colspan="1" rowspan="1"><b>Added in 5.3</b><br clear="none"></td></tr></table></div>
+<div class="panelMacro"><table class="infoMacro"><colgroup span="1"><col span="1" width="24"><col span="1"></colgroup><tr><td colspan="1" rowspan="1" valign="top"><img align="middle" src="https://cwiki.apache.org/confluence/images/icons/emoticons/information.gif" width="16" height="16" alt="" border="0"></td><td colspan="1" rowspan="1"><b>Added in 5.3</b><br clear="none"></td></tr></table></div>
 <div style="border-right: 20px solid #D8E4F1;border-left: 20px solid #D8E4F1;"></div>
 
 
-<div class="panelMacro"><table class="warningMacro"><colgroup span="1"><col span="1" width="24"><col span="1"></colgroup><tr><td colspan="1" rowspan="1" valign="top"><img align="middle" src="/images/confluence/forbidden.gif" width="16" height="16" alt="" border="0"></td><td colspan="1" rowspan="1"><b>Deprecated since 5.3</b><br clear="none"></td></tr></table></div>
+<div class="panelMacro"><table class="warningMacro"><colgroup span="1"><col span="1" width="24"><col span="1"></colgroup><tr><td colspan="1" rowspan="1" valign="top"><img align="middle" src="https://cwiki.apache.org/confluence/images/icons/emoticons/forbidden.gif" width="16" height="16" alt="" border="0"></td><td colspan="1" rowspan="1"><b>Deprecated since 5.3</b><br clear="none"></td></tr></table></div>
 <div style="border-right: 20px solid #ffcccc;border-left: 20px solid #ffcccc;"></div>
 
 <p>When enabled, Tapestry will check that component ids referenced in event handler method names (or the @OnEvent annotation) match up against components in the container's template. The default is true, but applications upgraded form Tapestry 5.2 may want to set this to false, to keep pages from failing due to the presence of such dead code.</p>
@@ -274,7 +286,7 @@ re-download them on subsequent pages).  
 
 
 
-<div class="panelMacro"><table class="warningMacro"><colgroup span="1"><col span="1" width="24"><col span="1"></colgroup><tr><td colspan="1" rowspan="1" valign="top"><img align="middle" src="/images/confluence/forbidden.gif" width="16" height="16" alt="" border="0"></td><td colspan="1" rowspan="1"><b>Deprecated since 5.2</b><br clear="none"></td></tr></table></div>
+<div class="panelMacro"><table class="warningMacro"><colgroup span="1"><col span="1" width="24"><col span="1"></colgroup><tr><td colspan="1" rowspan="1" valign="top"><img align="middle" src="https://cwiki.apache.org/confluence/images/icons/emoticons/forbidden.gif" width="16" height="16" alt="" border="0"></td><td colspan="1" rowspan="1"><b>Deprecated since 5.2</b><br clear="none"></td></tr></table></div>
 <div style="border-right: 20px solid #ffcccc;border-left: 20px solid #ffcccc;"><p>Starting in Tapestry 5.2, the optimization to generate relative URIs has been removed, and all URIs are always absolute.  <em>Removed in 5.3.</em></p></div>
 
 <p><em>For Tapestry 5.0 and 5.1 only</em>: when false (the default), Tapestry will attempt to optimize URIs that it generates, using relative URIs when such URIs are shorter than absolute URIs. When true, all URIs will be absolute URIs (including the context path, and the complete path for the request).  </p>
@@ -287,7 +299,7 @@ re-download them on subsequent pages).  
 
 
 
-<div class="panelMacro"><table class="infoMacro"><colgroup span="1"><col span="1" width="24"><col span="1"></colgroup><tr><td colspan="1" rowspan="1" valign="top"><img align="middle" src="/images/confluence/information.gif" width="16" height="16" alt="" border="0"></td><td colspan="1" rowspan="1"><b>Added in 5.3.6</b><br clear="none"></td></tr></table></div>
+<div class="panelMacro"><table class="infoMacro"><colgroup span="1"><col span="1" width="24"><col span="1"></colgroup><tr><td colspan="1" rowspan="1" valign="top"><img align="middle" src="https://cwiki.apache.org/confluence/images/icons/emoticons/information.gif" width="16" height="16" alt="" border="0"></td><td colspan="1" rowspan="1"><b>Added in 5.3.6</b><br clear="none"></td></tr></table></div>
 <div style="border-right: 20px solid #D8E4F1;border-left: 20px solid #D8E4F1;"></div>
 
 <p>The plaintext phrase used to set the key for <a shape="rect" class="external-link" href="http://en.wikipedia.org/wiki/HMAC" >HMAC</a> securing of serialized object data. The default is blank, which causes a runtime alert and console error. You should set this to a reasonably unique, private value, and ensure (in a cluster) that all servers use the same value &#8211; typically by making a contribution in your applications module class (normally AppModule.java). </p>
@@ -304,7 +316,7 @@ re-download them on subsequent pages).  
 
 
 
-<div class="panelMacro"><table class="warningMacro"><colgroup span="1"><col span="1" width="24"><col span="1"></colgroup><tr><td colspan="1" rowspan="1" valign="top"><img align="middle" src="/images/confluence/forbidden.gif" width="16" height="16" alt="" border="0"></td><td colspan="1" rowspan="1"><b>Deprecated since 5.2</b><br clear="none"></td></tr></table></div>
+<div class="panelMacro"><table class="warningMacro"><colgroup span="1"><col span="1" width="24"><col span="1"></colgroup><tr><td colspan="1" rowspan="1" valign="top"><img align="middle" src="https://cwiki.apache.org/confluence/images/icons/emoticons/forbidden.gif" width="16" height="16" alt="" border="0"></td><td colspan="1" rowspan="1"><b>Deprecated since 5.2</b><br clear="none"></td></tr></table></div>
 <div style="border-right: 20px solid #ffcccc;border-left: 20px solid #ffcccc;"><p>Starting in 5.2, this is only used if tapestry.page-pool-enabled is "true". <em>Removed in 5.3</em></p></div>
 
 <p>The time interval that an instantiated page instance may be cached before being removed. As pages are returned to the pool, they are time stamped. Periodically (as per the file check interval), the pool is scanned for page instances that have not been used recently; those that are outside the active window are discarded. This is used to free up unnecessary page instances after a request surge.  Starting in 5.2, this is only effective if tapestry.page-pool-enabled is true.</p>
@@ -319,14 +331,14 @@ re-download them on subsequent pages).  
 
 
 
-<div class="panelMacro"><table class="warningMacro"><colgroup span="1"><col span="1" width="24"><col span="1"></colgroup><tr><td colspan="1" rowspan="1" valign="top"><img align="middle" src="/images/confluence/forbidden.gif" width="16" height="16" alt="" border="0"></td><td colspan="1" rowspan="1"><b>Deprecated since 5.2</b><br clear="none"></td></tr></table></div>
+<div class="panelMacro"><table class="warningMacro"><colgroup span="1"><col span="1" width="24"><col span="1"></colgroup><tr><td colspan="1" rowspan="1" valign="top"><img align="middle" src="https://cwiki.apache.org/confluence/images/icons/emoticons/forbidden.gif" width="16" height="16" alt="" border="0"></td><td colspan="1" rowspan="1"><b>Deprecated since 5.2</b><br clear="none"></td></tr></table></div>
 <div style="border-right: 20px solid #ffcccc;border-left: 20px solid #ffcccc;"><p>Removed in 5.3.</p></div>
 
 <h3><a shape="rect" name="Configuration-tapestry.pagepool.hardlimit"></a>tapestry.page-pool.hard-limit</h3>
 
 
 
-<div class="panelMacro"><table class="warningMacro"><colgroup span="1"><col span="1" width="24"><col span="1"></colgroup><tr><td colspan="1" rowspan="1" valign="top"><img align="middle" src="/images/confluence/forbidden.gif" width="16" height="16" alt="" border="0"></td><td colspan="1" rowspan="1"><b>Deprecated since 5.2</b><br clear="none"></td></tr></table></div>
+<div class="panelMacro"><table class="warningMacro"><colgroup span="1"><col span="1" width="24"><col span="1"></colgroup><tr><td colspan="1" rowspan="1" valign="top"><img align="middle" src="https://cwiki.apache.org/confluence/images/icons/emoticons/forbidden.gif" width="16" height="16" alt="" border="0"></td><td colspan="1" rowspan="1"><b>Deprecated since 5.2</b><br clear="none"></td></tr></table></div>
 <div style="border-right: 20px solid #ffcccc;border-left: 20px solid #ffcccc;"><p>Starting in 5.2, this is only used if tapestry.page-pool-enabled is "true". <em>Removed in 5.3</em></p></div>
 
 <p>The absolute maximum number of page instances (for a particular page name / locale combination) that Tapestry will create at any time. If this number is reached, then requests will fail because a page instance is not available ... this can happen as part of a denial of service attack. For this value to have any meaning, it should be lower than the number of threads that the servlet container is configured to use when processing requests.</p>
@@ -337,7 +349,7 @@ re-download them on subsequent pages).  
 
 
 
-<div class="panelMacro"><table class="warningMacro"><colgroup span="1"><col span="1" width="24"><col span="1"></colgroup><tr><td colspan="1" rowspan="1" valign="top"><img align="middle" src="/images/confluence/forbidden.gif" width="16" height="16" alt="" border="0"></td><td colspan="1" rowspan="1"><b>Deprecated since 5.2</b><br clear="none"></td></tr></table></div>
+<div class="panelMacro"><table class="warningMacro"><colgroup span="1"><col span="1" width="24"><col span="1"></colgroup><tr><td colspan="1" rowspan="1" valign="top"><img align="middle" src="https://cwiki.apache.org/confluence/images/icons/emoticons/forbidden.gif" width="16" height="16" alt="" border="0"></td><td colspan="1" rowspan="1"><b>Deprecated since 5.2</b><br clear="none"></td></tr></table></div>
 <div style="border-right: 20px solid #ffcccc;border-left: 20px solid #ffcccc;"><p>Starting in 5.2, this is only used if tapestry.page-pool-enabled is "true". <em>Removed in 5.3</em></p></div>
 
 <p>The number of pages in the page pool (for a given page name / locale combination) before which Tapestry will start to wait for existing pages to be made available. Under this limit of pages, Tapestry will simply create a new page instance if no existing instance is readily available. Once the soft limit is reached, Tapestry will wait a short period of time (the soft wait interval) to see if an existing page instance is made available. It will then create a new page instance (unless the hard limit has been reached).</p>
@@ -348,7 +360,7 @@ re-download them on subsequent pages).  
 
 
 
-<div class="panelMacro"><table class="warningMacro"><colgroup span="1"><col span="1" width="24"><col span="1"></colgroup><tr><td colspan="1" rowspan="1" valign="top"><img align="middle" src="/images/confluence/forbidden.gif" width="16" height="16" alt="" border="0"></td><td colspan="1" rowspan="1"><b>Deprecated since 5.2</b><br clear="none"></td></tr></table></div>
+<div class="panelMacro"><table class="warningMacro"><colgroup span="1"><col span="1" width="24"><col span="1"></colgroup><tr><td colspan="1" rowspan="1" valign="top"><img align="middle" src="https://cwiki.apache.org/confluence/images/icons/emoticons/forbidden.gif" width="16" height="16" alt="" border="0"></td><td colspan="1" rowspan="1"><b>Deprecated since 5.2</b><br clear="none"></td></tr></table></div>
 <div style="border-right: 20px solid #ffcccc;border-left: 20px solid #ffcccc;"><p>Starting in 5.2, this is only used if tapestry.page-pool-enabled is "true". <em>Removed in 5.3</em></p></div>
 
 <p>The time interval that Tapestry will wait for a page instance to become available before deciding whether to create an entirely new page instance.</p>
@@ -371,7 +383,7 @@ re-download them on subsequent pages).  
 
 
 
-<div class="panelMacro"><table class="infoMacro"><colgroup span="1"><col span="1" width="24"><col span="1"></colgroup><tr><td colspan="1" rowspan="1" valign="top"><img align="middle" src="/images/confluence/information.gif" width="16" height="16" alt="" border="0"></td><td colspan="1" rowspan="1"><b>Added in 5.2</b><br clear="none"></td></tr></table></div>
+<div class="panelMacro"><table class="infoMacro"><colgroup span="1"><col span="1" width="24"><col span="1"></colgroup><tr><td colspan="1" rowspan="1" valign="top"><img align="middle" src="https://cwiki.apache.org/confluence/images/icons/emoticons/information.gif" width="16" height="16" alt="" border="0"></td><td colspan="1" rowspan="1"><b>Added in 5.2</b><br clear="none"></td></tr></table></div>
 <div style="border-right: 20px solid #D8E4F1;border-left: 20px solid #D8E4F1;"></div>
 
 <p>If true (the default), then Tapestry IoC will attempt to reload service implementations when they change. This only applies to classes that Tapestry IoC instantiates itself, and have a known service interface (the container creates a proxy that, internally, can reload the implementation). Service reloading only works when the underlying class files are on the filesystem ... it is intended for development, not an option at deployment.</p>
@@ -386,7 +398,7 @@ re-download them on subsequent pages).  
 
 
 
-<div class="panelMacro"><table class="infoMacro"><colgroup span="1"><col span="1" width="24"><col span="1"></colgroup><tr><td colspan="1" rowspan="1" valign="top"><img align="middle" src="/images/confluence/information.gif" width="16" height="16" alt="" border="0"></td><td colspan="1" rowspan="1"><b>Added in 5.4</b><br clear="none"></td></tr></table></div>
+<div class="panelMacro"><table class="infoMacro"><colgroup span="1"><col span="1" width="24"><col span="1"></colgroup><tr><td colspan="1" rowspan="1" valign="top"><img align="middle" src="https://cwiki.apache.org/confluence/images/icons/emoticons/information.gif" width="16" height="16" alt="" border="0"></td><td colspan="1" rowspan="1"><b>Added in 5.4</b><br clear="none"></td></tr></table></div>
 <div style="border-right: 20px solid #D8E4F1;border-left: 20px solid #D8E4F1;"></div>
 
 <p>If true (the default), then Tapestry will use a lock when reading/updating HttpSession attributes, to avoid simultaneous access by multiple threads when using AJAX. See <a shape="rect" class="external-link" href="https://issues.apache.org/jira/browse/TAP5-2049">TAP5-2049</a>. Set to false to deactivate the session locking logic.</p>
@@ -409,7 +421,7 @@ re-download them on subsequent pages).  
 
 
 
-<div class="panelMacro"><table class="warningMacro"><colgroup span="1"><col span="1" width="24"><col span="1"></colgroup><tr><td colspan="1" rowspan="1" valign="top"><img align="middle" src="/images/confluence/forbidden.gif" width="16" height="16" alt="" border="0"></td><td colspan="1" rowspan="1"><b>Deprecated since 5.2</b><br clear="none"></td></tr></table></div>
+<div class="panelMacro"><table class="warningMacro"><colgroup span="1"><col span="1" width="24"><col span="1"></colgroup><tr><td colspan="1" rowspan="1" valign="top"><img align="middle" src="https://cwiki.apache.org/confluence/images/icons/emoticons/forbidden.gif" width="16" height="16" alt="" border="0"></td><td colspan="1" rowspan="1"><b>Deprecated since 5.2</b><br clear="none"></td></tr></table></div>
 <div style="border-right: 20px solid #ffcccc;border-left: 20px solid #ffcccc;"><p><em>Removed in 5.3.</em></p></div>
 
 <p>Normally, Tapestry responds to action requests (such as form submissions) by sending a client-side redirect to the rendering page. This has a lot of benefits in terms of improving browser navigation, making sure URLs are bookmarkable, and so forth. However, it has a cost: more data stored persistently in the session, and a double-request for each user action (one action request, one render request).</p>
@@ -429,7 +441,7 @@ re-download them on subsequent pages).  
 
 
 
-<div class="panelMacro"><table class="infoMacro"><colgroup span="1"><col span="1" width="24"><col span="1"></colgroup><tr><td colspan="1" rowspan="1" valign="top"><img align="middle" src="/images/confluence/information.gif" width="16" height="16" alt="" border="0"></td><td colspan="1" rowspan="1"><b>Added in 5.3</b><br clear="none"></td></tr></table></div>
+<div class="panelMacro"><table class="infoMacro"><colgroup span="1"><col span="1" width="24"><col span="1"></colgroup><tr><td colspan="1" rowspan="1" valign="top"><img align="middle" src="https://cwiki.apache.org/confluence/images/icons/emoticons/information.gif" width="16" height="16" alt="" border="0"></td><td colspan="1" rowspan="1"><b>Added in 5.3</b><br clear="none"></td></tr></table></div>
 <div style="border-right: 20px solid #D8E4F1;border-left: 20px solid #D8E4F1;"><p>Previously, the queue size was unbounded, which meant that max-pool-size was ignored.</p></div>
 
 <p>Size of the task queue for the thread pool. Once the core pool size is reached, new threads are not created until the queue is full. The default queue size is 100.</p>
@@ -446,13 +458,13 @@ re-download them on subsequent pages).  
 
 
 
-<div class="panelMacro"><table class="infoMacro"><colgroup span="1"><col span="1" width="24"><col span="1"></colgroup><tr><td colspan="1" rowspan="1" valign="top"><img align="middle" src="/images/confluence/information.gif" width="16" height="16" alt="" border="0"></td><td colspan="1" rowspan="1"><b>Added in 5.3</b><br clear="none"></td></tr></table></div>
+<div class="panelMacro"><table class="infoMacro"><colgroup span="1"><col span="1" width="24"><col span="1"></colgroup><tr><td colspan="1" rowspan="1" valign="top"><img align="middle" src="https://cwiki.apache.org/confluence/images/icons/emoticons/information.gif" width="16" height="16" alt="" border="0"></td><td colspan="1" rowspan="1"><b>Added in 5.3</b><br clear="none"></td></tr></table></div>
 <div style="border-right: 20px solid #D8E4F1;border-left: 20px solid #D8E4F1;"><p> Some components, notably Grid, Pallete and Zone, have default parameter values specified in terms of symbols. This means you can use these symbols to modify the defaults for all instances of such components in your application. For example, you can set the default rows per page for all Grid instances by adding this to the <tt>contributeApplicationDefaults</tt> method in your application's module class (typically AppModule.java):</p>
 
 <div class="code panel" style="border-width: 1px;"><div class="codeContent panelContent">
-<pre class="code-java">
+<script class="theme: Default; brush: java; gutter: false" type="syntaxhighlighter"><![CDATA[
 configuration.add(ComponentParameterConstants.GRID_ROWS_PER_PAGE, "15");
-</pre>
+]]></script>
 </div></div>
 </div>
 
@@ -471,12 +483,12 @@ configuration.add(ComponentParameterCons
 <p>You contribution would look like:</p>
 
 <div class="code panel" style="border-width: 1px;"><div class="codeContent panelContent">
-<pre class="code-java">
+<script class="theme: Default; brush: java; gutter: false" type="syntaxhighlighter"><![CDATA[
   public static void contributeIgnoredPathsFilter(Configuration&lt;String&gt; configuration)
   {
     configuration.add("/dwr/.*");
   }
-</pre>
+]]></script>
 </div></div>
 
 <p>The regular expression matches any path that begins with "/dwr/".</p>
@@ -499,15 +511,15 @@ configuration.add(ComponentParameterCons
 <p>1. Add the parameter to your JVM command line:</p>
 
 <div class="code panel" style="border-width: 1px;"><div class="codeContent panelContent">
-<pre class="code-java">
+<script class="theme: Default; brush: java; gutter: false" type="syntaxhighlighter"><![CDATA[
 -Dtapestry.execution-mode=DevelopmentMode jetty:run
-</pre>
+]]></script>
 </div></div>
 
 <p>2. Add the parameter to the Jetty plugin:</p>
 
 <div class="code panel" style="border-width: 1px;"><div class="codeHeader panelHeader" style="border-bottom-width: 1px;"><b>pom.xml</b></div><div class="codeContent panelContent">
-<pre class="code-xml">
+<script class="theme: Default; brush: xml; gutter: false" type="syntaxhighlighter"><![CDATA[
 &lt;plugin&gt;
     &lt;groupId&gt;org.mortbay.jetty&lt;/groupId&gt;
     &lt;artifactId&gt;maven-jetty-plugin&lt;/artifactId&gt;
@@ -524,13 +536,13 @@ configuration.add(ComponentParameterCons
         &lt;/systemProperties&gt;
     &lt;/configuration&gt;
 &lt;/plugin&gt;
-</pre>
+]]></script>
 </div></div>
 
 <p>3. Add the parameter to the Surfire plugin for your test:</p>
 
 <div class="code panel" style="border-width: 1px;"><div class="codeHeader panelHeader" style="border-bottom-width: 1px;"><b>pom.xml</b></div><div class="codeContent panelContent">
-<pre class="code-xml">
+<script class="theme: Default; brush: xml; gutter: false" type="syntaxhighlighter"><![CDATA[
 &lt;plugin&gt;
     &lt;groupId&gt;org.apache.maven.plugins&lt;/groupId&gt;
     &lt;artifactId&gt;maven-surefire-plugin&lt;/artifactId&gt;
@@ -541,7 +553,7 @@ configuration.add(ComponentParameterCons
        &lt;/systemPropertyVariables&gt;
     &lt;/configuration&gt;
 &lt;/plugin&gt;
-</pre>
+]]></script>
 </div></div>
 
 <p>For each mode declared in your JVM System Property, TapestryFilter checks for a parameter in your web.xml, named tapestry.TheModeName-modules, with TheModeName being the name of the desired mode. Its value will be a comma-separated list of modules.</p>
@@ -551,7 +563,7 @@ configuration.add(ComponentParameterCons
 <p>The example below defines two differents execution modes in your web.xml file: production (the default value) and DevelopmentMode. For each mode, we list the modules we want to load. If we use JVM System property declared in the example above, the DevelopmentModeModule module will be loaded.</p>
 
 <div class="code panel" style="border-width: 1px;"><div class="codeHeader panelHeader" style="border-bottom-width: 1px;"><b>web.xml</b></div><div class="codeContent panelContent">
-<pre class="code-xml">
+<script class="theme: Default; brush: xml; gutter: false" type="syntaxhighlighter"><![CDATA[
 &lt;context-param&gt;
     &lt;param-name&gt;tapestry.production-modules&lt;/param-name&gt;
     &lt;param-value&gt;org.apache.tapestry.appli.services.ProductionModeModule&lt;/param-value&gt;
@@ -560,21 +572,21 @@ configuration.add(ComponentParameterCons
     &lt;param-name&gt;tapestry.DevelopmentMode-modules&lt;/param-name&gt;
     &lt;param-value&gt;org.apache.tapestry.appli.services.DevelopmentModeModule&lt;/param-value&gt;
 &lt;/context-param&gt;
-</pre>
+]]></script>
 </div></div>
 
 <p>Tapestry will load modules in the order that they are declared. For example, if we run the following command line:</p>
 
 <div class="code panel" style="border-width: 1px;"><div class="codeContent panelContent">
-<pre class="code-java">
+<script class="theme: Default; brush: java; gutter: false" type="syntaxhighlighter"><![CDATA[
 -Dtapestry.execution-mode=DevelopmentMode,DevelopmentMode2 jetty:run
-</pre>
+]]></script>
 </div></div>
 
 <p>and then for each modes we have two modules:</p>
 
 <div class="code panel" style="border-width: 1px;"><div class="codeHeader panelHeader" style="border-bottom-width: 1px;"><b>web.xml</b></div><div class="codeContent panelContent">
-<pre class="code-xml">
+<script class="theme: Default; brush: xml; gutter: false" type="syntaxhighlighter"><![CDATA[
 &lt;context-param&gt;
       &lt;param-name&gt;tapestry.DevelopmentMode-modules&lt;/param-name&gt;
       &lt;param-value&gt;
@@ -589,7 +601,7 @@ configuration.add(ComponentParameterCons
           org.apache.tapestry.appli.services.DevelopmentMode2Module2
       &lt;/param-value&gt;
 &lt;/context-param&gt;
-</pre>
+]]></script>
 </div></div>
 
 <p>then Tapestry will load modules in the order: DevelopmentMode1Module1, DevelopmentMode1Module2, DevelopmentMode2Module1 and DevelopmentMode2Module2</p>
@@ -600,7 +612,7 @@ configuration.add(ComponentParameterCons
 
 
 
-<div class="panelMacro"><table class="infoMacro"><colgroup span="1"><col span="1" width="24"><col span="1"></colgroup><tr><td colspan="1" rowspan="1" valign="top"><img align="middle" src="/images/confluence/information.gif" width="16" height="16" alt="" border="0"></td><td colspan="1" rowspan="1"><b>Added in 5.3</b><br clear="none"></td></tr></table></div>
+<div class="panelMacro"><table class="infoMacro"><colgroup span="1"><col span="1" width="24"><col span="1"></colgroup><tr><td colspan="1" rowspan="1" valign="top"><img align="middle" src="https://cwiki.apache.org/confluence/images/icons/emoticons/information.gif" width="16" height="16" alt="" border="0"></td><td colspan="1" rowspan="1"><b>Added in 5.3</b><br clear="none"></td></tr></table></div>
 <div style="border-right: 20px solid #D8E4F1;border-left: 20px solid #D8E4F1;">
 <p>Support for application folders was added in release 5.3.</p>
 </div>
@@ -613,18 +625,18 @@ configuration.add(ComponentParameterCons
 <p>So, if you wanted to run the Tapestry application inside folder <tt>t5app</tt>, you would modify your <tt>web.xml</tt> indicate the use of the folder:</p>
 
 <div class="code panel" style="border-width: 1px;"><div class="codeContent panelContent">
-<pre class="code-java">
+<script class="theme: Default; brush: java; gutter: false" type="syntaxhighlighter"><![CDATA[
   &lt;filter-mapping&gt;
     &lt;filter-name&gt;app&lt;/filter-name&gt;
     &lt;url-pattern&gt;/t5app/*&lt;/url-pattern&gt;
   &lt;/filter-mapping&gt;
-</pre>
+]]></script>
 </div></div>
 
 <p>... and in your AppModule, you would inform Tapestry about the mapping change:</p>
 
 <div class="code panel" style="border-width: 1px;"><div class="codeContent panelContent">
-<pre class="code-java">
+<script class="theme: Default; brush: java; gutter: false" type="syntaxhighlighter"><![CDATA[
 public class AppModule
 {
     @Contribute(SymbolProvider.class)
@@ -634,10 +646,10 @@ public class AppModule
         configuration.add(SymbolConstants.APPLICATION_FOLDER, "t5app")
     }
 }
-</pre>
+]]></script>
 </div></div>
 
-<div class="panelMacro"><table class="infoMacro"><colgroup span="1"><col span="1" width="24"><col span="1"></colgroup><tr><td colspan="1" rowspan="1" valign="top"><img align="middle" src="/images/confluence/information.gif" width="16" height="16" alt="" border="0"></td><td colspan="1" rowspan="1">This extra mapping is unfortunately necessary, because the Servlet API does not provide a way for a servlet filter, such as the one used by Tapestry, to know about its mapping.</td></tr></table></div>
+<div class="panelMacro"><table class="infoMacro"><colgroup span="1"><col span="1" width="24"><col span="1"></colgroup><tr><td colspan="1" rowspan="1" valign="top"><img align="middle" src="https://cwiki.apache.org/confluence/images/icons/emoticons/information.gif" width="16" height="16" alt="" border="0"></td><td colspan="1" rowspan="1">This extra mapping is unfortunately necessary, because the Servlet API does not provide a way for a servlet filter, such as the one used by Tapestry, to know about its mapping.</td></tr></table></div>
 
 <p>This changes the servlet container to <em>only</em> forward requests inside the <tt>t5app</tt> folder to Tapestry; requests for other folders (or the root folder) will not be passed to Tapestry at all. The symbol contribution informs Tapestry to change the URLs it generates to include the necessary folder name; it also affects the logic in Tapestry that recognizes and handles requests.</p>