Commits

Anonymous committed ee5d739

XWork 2.0-RC1 build
o wikidocs updated
o pom/ivy deps updated
O README.txt updated

git-svn-id: http://svn.opensymphony.com/svn/xwork/trunk@1282e221344d-f017-0410-9bd5-d282ab1896d7

  • Participants
  • Parent commits bfc5181
  • Tags xwork_2-0-RC1

Comments (0)

Files changed (34)

File build.properties

 name=xwork
 version=2.0-RC1
-status=integration
+status=release
 fullname = XWork
 cvs.tag = xwork_2-0-RC1

File docs/wikidocs/Action configuration.html

 	    <table class="pagecontent" border="0" cellpadding="0" cellspacing="0" width="100%" bgcolor="#ffffff">
 		    <tr>
 			    <td valign="top" class="pagebody">
-				    <p>Actions are the basic "unit-of-work" in XWork, they define, well, actions. An action will usually be a request, (and usually a button click, or form submit). The main action element has two parts, the friendly name (referenced in the URL, i.e. saveForm.action) and the corresponding "handler" class.</p>
-
-<div class="code"><div class="codeContent">
-<pre class="code-xml"><span class="code-tag">&lt;action name=<span class="code-quote">"formTest"</span> class=<span class="code-quote">"com.opensymphony.xwork.example.SampleAction"</span> method=<span class="code-quote">"processSample"</span>&gt;</span></pre>
-</div></div>
-
-<p>The optional "<b>method</b>" parameter tells XWork which method to call based upon this action. If you leave the method parameter blank, XWork will call the method <b>execute()</b> by default. If there is no execute() method and no method specified in the xml file, XWork will throw an exception.</p>
-
-<p>Also, you can tell XWork to invoke "<b>doSomething</b>"  method in your action by using the pattern "<b>actionName&#33;something</b>" in your form.  For example, "<b>sampleTest&#33;save.action</b>" will invoke the method "<b>save</b>" in SampleAction class.  The method must be public, take no arguments and also returns a String which indicate the name of the result to be executed:</p>
-
-<div class="code"><div class="codeContent">
+				    <p>Actions are the basic "unit-of-work" in XWork, they define, well, actions. An action will usually be a request, (and usually a button click, or form submit). The main action element has two parts, the friendly name (referenced in the URL, i.e. saveForm.action) and the corresponding "handler" class.</p>
+
+<div class="code"><div class="codeContent">
+<pre class="code-xml"><span class="code-tag">&lt;action name=<span class="code-quote">"formTest"</span> class=<span class="code-quote">"com.opensymphony.xwork.example.SampleAction"</span> method=<span class="code-quote">"processSample"</span>&gt;</span></pre>
+</div></div>
+
+<p>The optional "<b>method</b>" parameter tells XWork which method to call based upon this action. If you leave the method parameter blank, XWork will call the method <b>execute()</b> by default. If there is no execute() method and no method specified in the xml file, XWork will throw an exception.</p>
+
+<p>Also, you can tell XWork to invoke "<b>doSomething</b>"  method in your action by using the pattern "<b>actionName&#33;something</b>" in your form.  For example, "<b>sampleTest&#33;save.action</b>" will invoke the method "<b>save</b>" in SampleAction class.  The method must be public, take no arguments and also returns a String which indicate the name of the result to be executed:</p>
+
+<div class="code"><div class="codeContent">
 <pre class="code-java"><span class="code-keyword">public</span> <span class="code-object">String</span> save() <span class="code-keyword">throws</span> Exception
   {
       ...
       <span class="code-keyword">return</span> SUCCESS;
-  }</pre>
-</div></div>
-<p>&nbsp;</p>
-
-<p>All the configuration for "<b>actionName</b>" will be used for "actionName&#33;something" (interceptors, result types, etc...)</p>
-
-
-<h2><a name="Actionconfiguration-ActionSupport"></a>Action Support</h2>
-
-<p>Action class attribute could be left out such as following </p>
-
-<div class="code"><div class="codeContent">
+  }</pre>
+</div></div>
+<p>&nbsp;</p>
+
+<p>All the configuration for "<b>actionName</b>" will be used for "actionName&#33;something" (interceptors, result types, etc...)</p>
+
+
+<h2><a name="Actionconfiguration-ActionSupport"></a>Action Support</h2>
+
+<p>Action class attribute could be left out such as following </p>
+
+<div class="code"><div class="codeContent">
 <pre class="code-java">&lt;action name=<span class="code-quote">"myAction"</span>&gt;
    ....
-&lt;/action&gt;</pre>
-</div></div>
-
-<p>In this case, the class will default to com.opensymphony.xwork.ActionSupport which have an execute() method that returns SUCCESS by default.</p>
-
-
-<h2><a name="Actionconfiguration-DefaultActionReference"></a>Default Action Reference</h2>
-
-<p>You are also able to specify a default action to be executed when no other action is matched in the xwork.xml.  This feature is provided mainly to eliminate the need to create an action class and/or element for very simple or similar results.&nbsp; The default action name can be set inside the package element like below:</p>
-<div class="code"><div class="codeContent">
+&lt;/action&gt;</pre>
+</div></div>
+
+<p>In this case, the class will default to com.opensymphony.xwork.ActionSupport which have an execute() method that returns SUCCESS by default.</p>
+
+
+<h2><a name="Actionconfiguration-DefaultActionReference"></a>Default Action Reference</h2>
+
+<p>You are also able to specify a default action to be executed when no other action is matched in the xwork.xml.  This feature is provided mainly to eliminate the need to create an action class and/or element for very simple or similar results.&nbsp; The default action name can be set inside the package element like below:</p>
+<div class="code"><div class="codeContent">
 <pre class="code-xml"><span class="code-tag">&lt;package name=<span class="code-quote">"myPackage"</span> ....&gt;</span>
 
 ...
 
 ... 
 
-<span class="code-tag">&lt;/package&gt;</span></pre>
-</div></div>
-<table cellpadding='5' width='85%' cellspacing='8px' class='noteMacro' border="0" align='center'><colgroup><col width='24'><col></colgroup><tr><td valign='top'><img src="icons/emoticons/warning.gif" width="16" height="16" align="absmiddle" alt="" border="0"></td><td><b class="strong">Caution</b><br /><br/>
-This feature should be configured such that there is only one default action per namespace.  Therefore if you have multiple packages declaring a default action with the same namespace, it is not guaranteed which action will be the default.</td></tr></table>
-<table cellpadding='5' width='85%' cellspacing='8px' class='noteMacro' border="0" align='center'><colgroup><col width='24'><col></colgroup><tr><td valign='top'><img src="icons/emoticons/warning.gif" width="16" height="16" align="absmiddle" alt="" border="0"></td><td><b class="strong">Note</b><br />
-<p>Note that the name attribute is left out for the first result, as XWork will default to "success" if it is left out. </p></td></tr></table>
-
+<span class="code-tag">&lt;/package&gt;</span></pre>
+</div></div>
+<table cellpadding='5' width='85%' cellspacing='8px' class='noteMacro' border="0" align='center'><colgroup><col width='24'><col></colgroup><tr><td valign='top'><img src="./icons/emoticons/warning.gif" width="16" height="16" align="absmiddle" alt="" border="0"></td><td><b class="strong">Caution</b><br /><br/>
+This feature should be configured such that there is only one default action per namespace.  Therefore if you have multiple packages declaring a default action with the same namespace, it is not guaranteed which action will be the default.</td></tr></table>
+<table cellpadding='5' width='85%' cellspacing='8px' class='noteMacro' border="0" align='center'><colgroup><col width='24'><col></colgroup><tr><td valign='top'><img src="./icons/emoticons/warning.gif" width="16" height="16" align="absmiddle" alt="" border="0"></td><td><b class="strong">Note</b><br />
+<p>Note that the name attribute is left out for the first result, as XWork will default to "success" if it is left out. </p></td></tr></table>
+
 <p>In this case any request to action not defined in this package will automatically trigger action with alias "simpleViewResultAction" to be executed.</p>
 
                     			    </td>

File docs/wikidocs/Annotations.html

 
 <p>If the xwork-tigerjar is added to the classpath, you will directly have type conversion support for Maps and Collections using generics.</p>
 
-<p>In short, instead of specifying the types found in collections and maps as documented in <a href="http://wiki.opensymphony.com/display/XW/Type+Conversion" title="Type Conversion">Type Conversion</a>, <b>the  collection's generic type is used</b>. This means you most likely don't need any <b>ClassName-conversion.properties</b> files.</p>
+<p>In short, instead of specifying the types found in collections and maps as documented in <a href="Type Conversion.html" title="Type Conversion">Type Conversion</a>, <b>the  collection's generic type is used</b>. This means you most likely don't need any <b>ClassName-conversion.properties</b> files.</p>
 
 <p>If you want to use annotation based type conversion, you have to annotate the class or interface with the <a href="Conversion Annotation.html" title="Conversion Annotation">Conversion Annotation</a>.</p>
 <table class='confluenceTable'><tbody>

File docs/wikidocs/Building XWork.html

 	    <table class="pagecontent" border="0" cellpadding="0" cellspacing="0" width="100%" bgcolor="#ffffff">
 		    <tr>
 			    <td valign="top" class="pagebody">
-				    <h2><a name="BuildingXWork-WhyBuild%3F"></a>Why Build?</h2>
-
-<p>Most developers will never need to build the framework from source. The distribution package contains everything a developer needs to get started and become productive with the framework. For more on how to go to work with the distributed binaries right away, see Ready, Set, Go\!. However, there are situations when someone will want to build the framework from scratch. You may want to try out new tweaks and patches, or you might want to try writing your own tweak or patch.</p>
-
-<h2><a name="BuildingXWork-GettingtheSources"></a>Getting the Sources</h2>
-
-<p>The source code for the framework is available as distribution you can download directly or from the source code repository.</p>
-
-<h2><a name="BuildingXWork-Distribution"></a>Distribution</h2>
-
-<p>The distributions of the framework contain all sources, as well as all needed libraries for building JARs and running. Distributions can be downloaded from <a href="http://www.opensymphony.com/xwork/download.action" title="Visit page outside Confluence">here</a>.</p>
-
-
-<p>After downloading simply unzip it using: </p>
-<div class="code"><div class="codeContent">
-<pre class="code-java">unzip ./xwork-xxx.zip -d ./xwork</pre>
-</div></div>
-
-<h2><a name="BuildingXWork-Respository%28SVN%29"></a>Respository (SVN)</h2>
-
-<p>Use <a href="http://subversion.tigris.org/" title="Visit page outside Confluence">Subversion</a> to checkout the source code.</p>
-<div class="code"><div class="codeContent">
-<pre class="code-java">svn --username xxx --password xxxx checkout https:<span class="code-comment">//svn.opensymphony.com/svn/xwork/trunk ./xwork</span></pre>
-</div></div>
-<p>or without username and password </p>
-<div class="code"><div class="codeContent">
-<pre class="code-java">svn checkout https:<span class="code-comment">//svn.opensymphony.com/svn/xwork/trunk ./xwork</span></pre>
-</div></div>
-
-<h2><a name="BuildingXWork-BuildingXWork2usingMaven2"></a>Building XWork2 using Maven2</h2>
-<table cellpadding='5' width='85%' cellspacing='8px' class='noteMacro' border="0" align='center'><colgroup><col width='24'><col></colgroup><tr><td valign='top'><img src="icons/emoticons/warning.gif" width="16" height="16" align="absmiddle" alt="" border="0"></td><td>
-<p> Building XWork2 requires JDK 1.5 (Tiger)</p></td></tr></table>
-
-<p>To build XWork2 one will need Maven2 which could be obtained <a href="http://maven.apache.org/download.html" title="Visit page outside Confluence">here</a>. More information about Maven2 could be obtained <a href="http://maven.apache.org" title="Visit page outside Confluence">here</a>.</p>
-
-<p>To generate a packaged jar file, run</p>
-<div class="code"><div class="codeContent">
-<pre class="code-java">mvn clean <span class="code-keyword">package</span></pre>
-</div></div>
-<p>This will do some clean up, compile (both the core and tests) and the core as a jar file under /target directory</p>
-
-<p>To install it in one's local repository simply run, </p>
-<div class="code"><div class="codeContent">
-<pre class="code-java">mvn clean install</pre>
-</div></div> 
-
-<h2><a name="BuildingXWork-BuildingXWork2forJava1.4"></a>Building XWork2 for Java 1.4</h2>
-<p>To build a Java 1.4 compliant version of the jars, we use retroweaver to translate the classes.</p>
-<table cellpadding='5' width='85%' cellspacing='8px' class='infoMacro' border="0" align='center'><colgroup><col width='24'><col></colgroup><tr><td valign='top'><img src="icons/emoticons/information.gif" width="16" height="16" align="absmiddle" alt="" border="0"></td><td><b class="strong">You need to have a Java 1.4 VM installed</b><br />
-<p>On Windows/Linux/Solaris point the java14.jar property to tools.jar</p></td></tr></table>
-
-<div class="code"><div class="codeHeader"><b>OS X Sample</b></div><div class="codeContent">
-<pre class="code-java">mvn clean install -Pj4 -Djava14.jar=$JAVA14_HOME/../Classes/classes.jar</pre>
-</div></div>
+				    <h2><a name="BuildingXWork-WhyBuild%3F"></a>Why Build?</h2>
+
+<p>Most developers will never need to build the framework from source. The distribution package contains everything a developer needs to get started and become productive with the framework. For more on how to go to work with the distributed binaries right away, see Ready, Set, Go\!. However, there are situations when someone will want to build the framework from scratch. You may want to try out new tweaks and patches, or you might want to try writing your own tweak or patch.</p>
+
+<h2><a name="BuildingXWork-GettingtheSources"></a>Getting the Sources</h2>
+
+<p>The source code for the framework is available as distribution you can download directly or from the source code repository.</p>
+
+<h2><a name="BuildingXWork-Distribution"></a>Distribution</h2>
+
+<p>The distributions of the framework contain all sources, as well as all needed libraries for building JARs and running. Distributions can be downloaded from <a href="http://www.opensymphony.com/xwork/download.action" title="Visit page outside Confluence">here</a>.</p>
+
+
+<p>After downloading simply unzip it using: </p>
+<div class="code"><div class="codeContent">
+<pre class="code-java">unzip ./xwork-xxx.zip -d ./xwork</pre>
+</div></div>
+
+<h2><a name="BuildingXWork-Respository%28SVN%29"></a>Respository (SVN)</h2>
+
+<p>Use <a href="http://subversion.tigris.org/" title="Visit page outside Confluence">Subversion</a> to checkout the source code.</p>
+<div class="code"><div class="codeContent">
+<pre class="code-java">svn --username xxx --password xxxx checkout https:<span class="code-comment">//svn.opensymphony.com/svn/xwork/trunk ./xwork</span></pre>
+</div></div>
+<p>or without username and password </p>
+<div class="code"><div class="codeContent">
+<pre class="code-java">svn checkout https:<span class="code-comment">//svn.opensymphony.com/svn/xwork/trunk ./xwork</span></pre>
+</div></div>
+
+<h2><a name="BuildingXWork-BuildingXWork2usingMaven2"></a>Building XWork2 using Maven2</h2>
+<table cellpadding='5' width='85%' cellspacing='8px' class='noteMacro' border="0" align='center'><colgroup><col width='24'><col></colgroup><tr><td valign='top'><img src="./icons/emoticons/warning.gif" width="16" height="16" align="absmiddle" alt="" border="0"></td><td>
+<p> Building XWork2 requires JDK 1.5 (Tiger)</p></td></tr></table>
+
+<p>To build XWork2 one will need Maven2 which could be obtained <a href="http://maven.apache.org/download.html" title="Visit page outside Confluence">here</a>. More information about Maven2 could be obtained <a href="http://maven.apache.org" title="Visit page outside Confluence">here</a>.</p>
+
+<p>To generate a packaged jar file, run</p>
+<div class="code"><div class="codeContent">
+<pre class="code-java">mvn clean <span class="code-keyword">package</span></pre>
+</div></div>
+<p>This will do some clean up, compile (both the core and tests) and the core as a jar file under /target directory</p>
+
+<p>To install it in one's local repository simply run, </p>
+<div class="code"><div class="codeContent">
+<pre class="code-java">mvn clean install</pre>
+</div></div> 
+
+<h2><a name="BuildingXWork-BuildingXWork2forJava1.4"></a>Building XWork2 for Java 1.4</h2>
+<p>To build a Java 1.4 compliant version of the jars, we use retroweaver to translate the classes.</p>
+<table cellpadding='5' width='85%' cellspacing='8px' class='infoMacro' border="0" align='center'><colgroup><col width='24'><col></colgroup><tr><td valign='top'><img src="./icons/emoticons/information.gif" width="16" height="16" align="absmiddle" alt="" border="0"></td><td><b class="strong">You need to have a Java 1.4 VM installed</b><br />
+<p>On Windows/Linux/Solaris point the java14.jar property to tools.jar</p></td></tr></table>
+
+<div class="code"><div class="codeHeader"><b>OS X Sample</b></div><div class="codeContent">
+<pre class="code-java">mvn clean install -Pj4 -Djava14.jar=$JAVA14_HOME/../Classes/classes.jar</pre>
+</div></div>
 
 
                     			    </td>

File docs/wikidocs/Colophon.html

 	    <table class="pagecontent" border="0" cellpadding="0" cellspacing="0" width="100%" bgcolor="#ffffff">
 		    <tr>
 			    <td valign="top" class="pagebody">
-				    <p>The XWork2 documentation is <a href="http://wiki.opensymphony.com/" title="Visit page outside Confluence">maintained online</a> and posted to the <a href="http://www.opensymphony.com/xwork/documentation.action" title="Visit page outside Confluence">OpenSymphony web site</a> on a regular basis. A snapshot of the documentation is bundled with each distribution, so that people are able to refer to the documentation for that distribution.</p>
-
-<table cellpadding='5' width='85%' cellspacing='8px' class='noteMacro' border="0" align='center'><colgroup><col width='24'><col></colgroup><tr><td valign='top'><img src="icons/emoticons/warning.gif" width="16" height="16" align="absmiddle" alt="" border="0"></td><td>The online version represents the latest development version ("nightly build") and may document features <b>not</b> available in your release. See the documentation bundled with each distribution for the best information about the features available in that distribution.</td></tr></table>
-
-<p>The HTML version of the documentation is maintained using the <a href="http://could.it/autoexport/" title="Visit page outside Confluence">AutoExport</a> plugin. (JAR annexed.)</p>
-
-<p>The documentation "single sources" code segments using the <a href="https://opensymphony.dev.java.net/source/browse/opensymphony/wiki/snippet/" title="Visit page outside Confluence">Snippet</a> macro. (JAR annexed.) For more about using snippets, see the <a href="Documentation Style Guide.html#DocumentationStyleGuide-Singlesourcingwithsnippets" title="Single sourcing with snippets on Documentation Style Guide">Documentation Style Guide</a>.</p>
+				    <p>The XWork2 documentation is <a href="http://wiki.opensymphony.com/" title="Visit page outside Confluence">maintained online</a> and posted to the <a href="http://www.opensymphony.com/xwork/documentation.action" title="Visit page outside Confluence">OpenSymphony web site</a> on a regular basis. A snapshot of the documentation is bundled with each distribution, so that people are able to refer to the documentation for that distribution.</p>
+
+<table cellpadding='5' width='85%' cellspacing='8px' class='noteMacro' border="0" align='center'><colgroup><col width='24'><col></colgroup><tr><td valign='top'><img src="./icons/emoticons/warning.gif" width="16" height="16" align="absmiddle" alt="" border="0"></td><td>The online version represents the latest development version ("nightly build") and may document features <b>not</b> available in your release. See the documentation bundled with each distribution for the best information about the features available in that distribution.</td></tr></table>
+
+<p>The HTML version of the documentation is maintained using the <a href="http://could.it/autoexport/" title="Visit page outside Confluence">AutoExport</a> plugin. (JAR annexed.)</p>
+
+<p>The documentation "single sources" code segments using the <a href="https://opensymphony.dev.java.net/source/browse/opensymphony/wiki/snippet/" title="Visit page outside Confluence">Snippet</a> macro. (JAR annexed.) For more about using snippets, see the <a href="Documentation Style Guide.html#DocumentationStyleGuide-Singlesourcingwithsnippets" title="Single sourcing with snippets on Documentation Style Guide">Documentation Style Guide</a>.</p>
 
 
                     			    </td>

File docs/wikidocs/Creating a distribution.html

 	    <table class="pagecontent" border="0" cellpadding="0" cellspacing="0" width="100%" bgcolor="#ffffff">
 		    <tr>
 			    <td valign="top" class="pagebody">
-				    <h2><a name="Creatingadistribution-Updatethedocs"></a>Update the docs</h2>
-<p>Export the wiki docs from Confluence <tt><a href="http://wiki.opensymphony.com/display/XW" title="Visit page outside Confluence">&#104;ttp://wiki.opensymphony.com/display/XW</a></tt></p>
-
-<table class='confluenceTable'><tbody>
-<tr>
-<th class='confluenceTh'>1</th>
-<td class='confluenceTd'> Add a press release page for the new release </td>
-</tr>
-<tr>
-<th class='confluenceTh'>2</th>
-<td class='confluenceTd'> Click on browse Space → Advanced Tab → Export Space </td>
-</tr>
-<tr>
-<th class='confluenceTh'>3</th>
-<td class='confluenceTd'> Check OFF everything that isn't under Documentation, except for the path to Documentation (ie: XWork) </td>
-</tr>
-<tr>
-<th class='confluenceTh'>4</th>
-<td class='confluenceTd'> Uncheck include comments </td>
-</tr>
-<tr>
-<th class='confluenceTh'>5</th>
-<td class='confluenceTd'> Open to disable the refresh buttons for the export of wiki pages <tt><a href="http://wiki.opensymphony.com/plugins/snippet/toggle.action" title="Visit page outside Confluence">&#104;ttp://wiki.opensymphony.com/plugins/snippet/toggle.action</a></tt> </td>
-</tr>
-<tr>
-<th class='confluenceTh'>6</th>
-<td class='confluenceTd'> Export both HTML and PDF (will take a while...) </td>
-</tr>
-<tr>
-<th class='confluenceTh'>7</th>
-<td class='confluenceTd'> Delete everything in docs/wikidocs, remove from SVN and commit </td>
-</tr>
-<tr>
-<th class='confluenceTh'>8</th>
-<td class='confluenceTd'> Add everything back in, when the HTML stuff is one </td>
-</tr>
-<tr>
-<th class='confluenceTh'>9</th>
-<td class='confluenceTd'> Add the PDF to docs/wikidocs/docs.pdf </td>
-</tr>
-<tr>
-<th class='confluenceTh'>10</th>
-<td class='confluenceTd'> Commit changes to SVN </td>
-</tr>
-</tbody></table>
-
-<h2><a name="Creatingadistribution-Buildthereleasebundleswithmaven"></a>Build the release bundles with maven</h2>
-
-<table class='confluenceTable'><tbody>
-<tr>
-<th class='confluenceTh'>1</th>
-<td class='confluenceTd'> Update the POMs to remove "-SNAPSHOT" from the version  </td>
-</tr>
-<tr>
-<th class='confluenceTh'>2</th>
-<td class='confluenceTd'> Commit the POM changes </td>
-</tr>
-<tr>
-<th class='confluenceTh'>3</th>
-<td class='confluenceTd'> Tag the release by making a SVN copy of the head or designated revision </td>
-</tr>
-<tr>
-<td class='confluenceTd'>&nbsp;</td>
-<td class='confluenceTd'> <div class="code"><div class="codeContent">
+				    <h2><a name="Creatingadistribution-Updatethedocs"></a>Update the docs</h2>
+<p>Export the wiki docs from Confluence <tt><a href="http://wiki.opensymphony.com/display/XW" title="Visit page outside Confluence">http://wiki.opensymphony.com/display/XW</a></tt></p>
+
+<table class='confluenceTable'><tbody>
+<tr>
+<th class='confluenceTh'>1</th>
+<td class='confluenceTd'> Add a press release page for the new release </td>
+</tr>
+<tr>
+<th class='confluenceTh'>2</th>
+<td class='confluenceTd'> Click on browse Space → Advanced Tab → Export Space </td>
+</tr>
+<tr>
+<th class='confluenceTh'>3</th>
+<td class='confluenceTd'> Check OFF everything that isn't under XWork2, except for the path to Documentation (ie: XWork) </td>
+</tr>
+<tr>
+<th class='confluenceTh'>4</th>
+<td class='confluenceTd'> Uncheck include comments </td>
+</tr>
+<tr>
+<th class='confluenceTh'>5</th>
+<td class='confluenceTd'> Open to disable the refresh buttons for the export of wiki pages <tt><a href="http://wiki.opensymphony.com/plugins/snippet/toggle.action" title="Visit page outside Confluence">http://wiki.opensymphony.com/plugins/snippet/toggle.action</a></tt> </td>
+</tr>
+<tr>
+<th class='confluenceTh'>6</th>
+<td class='confluenceTd'> Export both HTML and PDF (will take a while...) </td>
+</tr>
+<tr>
+<th class='confluenceTh'>7</th>
+<td class='confluenceTd'> Open to enable the refresh buttons for the SNIPPET macro <tt><a href="http://wiki.opensymphony.com/plugins/snippet/toggle.action" title="Visit page outside Confluence">http://wiki.opensymphony.com/plugins/snippet/toggle.action</a></tt> </td>
+</tr>
+<tr>
+<th class='confluenceTh'>8</th>
+<td class='confluenceTd'> Delete everything in docs/wikidocs, remove from SVN and commit </td>
+</tr>
+<tr>
+<th class='confluenceTh'>9</th>
+<td class='confluenceTd'> Add everything back in, when the HTML stuff is one </td>
+</tr>
+<tr>
+<th class='confluenceTh'>10</th>
+<td class='confluenceTd'> Add the PDF to docs/wikidocs/docs.pdf </td>
+</tr>
+<tr>
+<th class='confluenceTh'>11</th>
+<td class='confluenceTd'> Commit changes to SVN </td>
+</tr>
+</tbody></table>
+
+<h2><a name="Creatingadistribution-Buildthereleasebundleswithmaven"></a>Build the release bundles with maven</h2>
+
+<table class='confluenceTable'><tbody>
+<tr>
+<th class='confluenceTh'>1</th>
+<td class='confluenceTd'> Update the POMs to remove "-SNAPSHOT" from the version  </td>
+</tr>
+<tr>
+<th class='confluenceTh'>2</th>
+<td class='confluenceTd'> Commit the POM changes </td>
+</tr>
+<tr>
+<th class='confluenceTh'>3</th>
+<td class='confluenceTd'> Tag the release by making a SVN copy of the head or designated revision </td>
+</tr>
+<tr>
+<td class='confluenceTd'>&nbsp;</td>
+<td class='confluenceTd'> <div class="code"><div class="codeContent">
 <pre class="code-java">svn copy -r ###### 
   https:<span class="code-comment">//svn.opensymphony.com/svn/xwork/trunk/ 
-</span>  https:<span class="code-comment">//svn.opensymphony.com/svn/xwork/trunk/xwork_#_#_# 
-</span>  -m <span class="code-quote">"Tag r###### as XWork #.#.#"</span></pre>
-</div></div> </td>
-</tr>
-<tr>
-<th class='confluenceTh'>4</th>
-<td class='confluenceTd'> Assemble the release </td>
-</tr>
-<tr>
-<td class='confluenceTd'>&nbsp;</td>
-<td class='confluenceTd'> <div class="code"><div class="codeHeader"><b>OS X Sample</b></div><div class="codeContent">
-<pre class="code-java">mvn clean install site assembly:assembly -Pj4 -Djava14.jar=/<span class="code-object">System</span>/Library/Frameworks/JavaVM.framework/Versions/1.4.2/Home/../Classes/classes.jar</pre>
-</div></div> </td>
-</tr>
-<tr>
-<th class='confluenceTh'>5</th>
-<td class='confluenceTd'> Upload the release bundles to <a href="https://xwork.dev.java.net/servlets/ProjectDocumentList" title="Visit page outside Confluence">&#104;ttps://xwork.dev.java.net/servlets/ProjectDocumentList</a> </td>
-</tr>
-<tr>
-<td class='confluenceTd'>&nbsp;</td>
-<td class='confluenceTd'> Create a new folder for the release as Version #.#.# </td>
-</tr>
-<tr>
-<td class='confluenceTd'>&nbsp;</td>
-<td class='confluenceTd'> Upload the file bundles and add file comments </td>
-</tr>
-<tr>
-<th class='confluenceTh'>6</th>
-<td class='confluenceTd'> Deploy the artifacts to our Maven repository </td>
-</tr>
-<tr>
-<td class='confluenceTd'>&nbsp;</td>
-<td class='confluenceTd'> <table cellpadding='5' width='85%' cellspacing='8px' class='infoMacro' border="0" align='center'><colgroup><col width='24'><col></colgroup><tr><td valign='top'><img src="icons/emoticons/information.gif" width="16" height="16" align="absmiddle" alt="" border="0"></td><td>You need shell access for this step!</td></tr></table> </td>
-</tr>
-<tr>
-<td class='confluenceTd'>&nbsp;</td>
-<td class='confluenceTd'> <table cellpadding='5' width='85%' cellspacing='8px' class='warningMacro' border="0" align='center'><colgroup><col width='24'><col></colgroup><tr><td valign='top'><img src="icons/emoticons/forbidden.gif" width="16" height="16" align="absmiddle" alt="" border="0"></td><td><b class="strong">Warning</b><br />Don't forget to upload the pom.xml as well!</td></tr></table> </td>
-</tr>
-<tr>
-<td class='confluenceTd'>&nbsp;</td>
-<td class='confluenceTd'> Prune any obsolete snapshots from <tt>opensymphony.com://opt/repository/ibiblio.org/opensymphony/jars/</tt> </td>
-</tr>
-<tr>
-<th class='confluenceTh'>7</th>
-<td class='confluenceTd'> Update the POMs to next version number and add the "-SNAPSHOT" suffix </td>
-</tr>
-<tr>
-<th class='confluenceTh'>8</th>
-<td class='confluenceTd'> Commit the POM changes </td>
-</tr>
-<tr>
-<th class='confluenceTh'>9</th>
-<td class='confluenceTd'> Deploy the new snapshot </td>
-</tr>
-<tr>
-<td class='confluenceTd'>&nbsp;</td>
-<td class='confluenceTd'> <div class="code"><div class="codeContent">
-<pre class="code-java">mvn -N install</pre>
-</div></div> </td>
-</tr>
-<tr>
-<th class='confluenceTh'>10</th>
-<td class='confluenceTd'> Add the next version to our issue tracker for scheduling new features and fixes </td>
-</tr>
-<tr>
-<th class='confluenceTh'>11</th>
-<td class='confluenceTd'> Update docs/meta.xml with the newly added download bundles </td>
-</tr>
-<tr>
-<th class='confluenceTh'>12</th>
-<td class='confluenceTd'> Clear the project cache so that he latest meta.xml information is used <tt>www.opensymphony.com/clearProjectCache.jsp</tt> </td>
-</tr>
-<tr>
-<th class='confluenceTh'>13</th>
-<td class='confluenceTd'> Verify the download link </td>
-</tr>
-<tr>
-<th class='confluenceTh'>14</th>
-<td class='confluenceTd'> Announce the release <tt><a href="http://blogs.opensymphony.com" title="Visit page outside Confluence">&#104;ttp://blogs.opensymphony.com</a></tt> </td>
-</tr>
+</span>  https:<span class="code-comment">//svn.opensymphony.com/svn/xwork/tags/xwork_#_#_# 
+</span>  -m <span class="code-quote">"Tag r###### as XWork #.#.#"</span></pre>
+</div></div> </td>
+</tr>
+<tr>
+<th class='confluenceTh'>4</th>
+<td class='confluenceTd'> Assemble the release </td>
+</tr>
+<tr>
+<td class='confluenceTd'>&nbsp;</td>
+<td class='confluenceTd'> <div class="code"><div class="codeHeader"><b>OS X Sample</b></div><div class="codeContent">
+<pre class="code-java">mvn clean install site assembly:assembly -Pj4 -Djava14.jar=/<span class="code-object">System</span>/Library/Frameworks/JavaVM.framework/Versions/1.4.2/Home/../Classes/classes.jar</pre>
+</div></div> </td>
+</tr>
+<tr>
+<th class='confluenceTh'>5</th>
+<td class='confluenceTd'> Upload the release bundles to <a href="https://xwork.dev.java.net/servlets/ProjectDocumentList" title="Visit page outside Confluence">https://xwork.dev.java.net/servlets/ProjectDocumentList</a> </td>
+</tr>
+<tr>
+<td class='confluenceTd'>&nbsp;</td>
+<td class='confluenceTd'> Create a new folder for the release as Version #.#.# </td>
+</tr>
+<tr>
+<td class='confluenceTd'>&nbsp;</td>
+<td class='confluenceTd'> Upload the file bundles and add file comments </td>
+</tr>
+<tr>
+<th class='confluenceTh'>6</th>
+<td class='confluenceTd'> Deploy the artifacts to our Maven repository </td>
+</tr>
+<tr>
+<td class='confluenceTd'>&nbsp;</td>
+<td class='confluenceTd'> <table cellpadding='5' width='85%' cellspacing='8px' class='infoMacro' border="0" align='center'><colgroup><col width='24'><col></colgroup><tr><td valign='top'><img src="./icons/emoticons/information.gif" width="16" height="16" align="absmiddle" alt="" border="0"></td><td>You need shell access for this step!</td></tr></table> </td>
+</tr>
+<tr>
+<td class='confluenceTd'>&nbsp;</td>
+<td class='confluenceTd'> <table cellpadding='5' width='85%' cellspacing='8px' class='warningMacro' border="0" align='center'><colgroup><col width='24'><col></colgroup><tr><td valign='top'><img src="./icons/emoticons/forbidden.gif" width="16" height="16" align="absmiddle" alt="" border="0"></td><td><b class="strong">Warning</b><br />Don't forget to upload the pom.xml as well!</td></tr></table> </td>
+</tr>
+<tr>
+<td class='confluenceTd'>&nbsp;</td>
+<td class='confluenceTd'> Prune any obsolete snapshots from <tt>opensymphony.com://opt/repository/ibiblio.org/opensymphony/jars/</tt> </td>
+</tr>
+<tr>
+<th class='confluenceTh'>7</th>
+<td class='confluenceTd'> Update the POMs to next version number and add the "-SNAPSHOT" suffix </td>
+</tr>
+<tr>
+<th class='confluenceTh'>8</th>
+<td class='confluenceTd'> Commit the POM changes </td>
+</tr>
+<tr>
+<th class='confluenceTh'>9</th>
+<td class='confluenceTd'> Deploy the new snapshot </td>
+</tr>
+<tr>
+<td class='confluenceTd'>&nbsp;</td>
+<td class='confluenceTd'> <div class="code"><div class="codeContent">
+<pre class="code-java">mvn -N install</pre>
+</div></div> </td>
+</tr>
+<tr>
+<th class='confluenceTh'>10</th>
+<td class='confluenceTd'> Add the next version to our issue tracker for scheduling new features and fixes </td>
+</tr>
+<tr>
+<th class='confluenceTh'>11</th>
+<td class='confluenceTd'> Update docs/meta.xml with the newly added download bundles </td>
+</tr>
+<tr>
+<th class='confluenceTh'>12</th>
+<td class='confluenceTd'> Clear the project cache so that he latest meta.xml information is used <tt>www.opensymphony.com/clearProjectCache.jsp</tt> </td>
+</tr>
+<tr>
+<th class='confluenceTh'>13</th>
+<td class='confluenceTd'> Verify the download link </td>
+</tr>
+<tr>
+<th class='confluenceTh'>14</th>
+<td class='confluenceTd'> Announce the release <tt><a href="http://blogs.opensymphony.com" title="Visit page outside Confluence">http://blogs.opensymphony.com</a></tt> </td>
+</tr>
 </tbody></table>
 
                     			    </td>

File docs/wikidocs/Documentation Style Guide.html

 	    <table class="pagecontent" border="0" cellpadding="0" cellspacing="0" width="100%" bgcolor="#ffffff">
 		    <tr>
 			    <td valign="top" class="pagebody">
-				    <p>It's well-known that a consistent user interface is easier to use. Consistency helps users focus on the task rather than the user interface. Likewise, a consistent documentation style helps users focus on the information, rather than the formatting.</p>
-
-<p>A related goal is to design the documentation so that it is easy to maintain, so that it tends to remain internally consistent with the framework itself.</p>
-
-<h2><a name="DocumentationStyleGuide-Doitnow.Doitonce.Doitwell."></a>Do it now. Do it once. Do it well.</h2>
-
-<p>Overall, there are three goals for the documentation system.</p>
-<ul>
-	<li>Say it all</li>
-	<li>Say it once</li>
-	<li>Say it well</li>
-</ul>
-
-
-<p>First, we want the documentation to be both complete and concise. This is job one&#33; The documentation should also be a quick but practical introduction to the framework, so newcomers can get started as easily as possible. To keep people coming back, the documenation should also be a repository of the tips and tricks we use in our own applications, so that people can find it here instead of asking over and over again on the list.  </p>
-
-<p>Second, the documentation should be easy to maintain. Ideally, we should cover the detail of each topic once, and draw as much detail from the source code and examples as possible (using the <a href="#DocumentationStyleGuide-Singlesourcingwithsnippets" title="Single sourcing with snippets on Documentation Style Guide">snippet macro</a>).</p>
-
-<p>Third, the documentation should be text-book quality; if not in the first draft, then in the next. Don't hesitate to hack in a new page. Better that we have the page than we don't. (See Job One&#33;) But, as time allows, we should try to make each page the best that it can be. A great many people access the documentation, and it's worth the effort to make the "documentation experience" productive and enjoyable.</p>
-
-<h2><a name="DocumentationStyleGuide-Capitalizationofcommonterms"></a>Capitalization of common terms</h2>
-
-<ul>
-	<li>Java</li>
-	<li>Javadoc</li>
-	<li>HTML</li>
-	<li>XML</li>
-</ul>
-
-
-<h2><a name="DocumentationStyleGuide-GeneralPunctuationandGrammar"></a>General Punctuation and Grammar</h2>
-
-<p>Good online resources for punctuation, grammar, and text style include</p>
-<ul>
-	<li><a href="http://lilt.ilstu.edu/golson/punctuation/" title="Visit page outside Confluence">Punctuation Made Simple</a></li>
-	<li><a href="http://www.wwu.edu/depts/journalism/207labmanUL.htm" title="Visit page outside Confluence">Associated Press Style Guide Essentials</a></li>
-	<li><a href="http://en.wikipedia.org/wiki/Wikipedia:Manual_of_Style" title="Visit page outside Confluence">Wikipedia Manual of Style</a></li>
-</ul>
-
-
-<p>In print, two excellent (and inexpensive&#33;) resources are</p>
-<ul>
-	<li><a href="http://www.amazon.com/exec/obidos/tg/detail/-/020530902X/apachesoftwar-20/" title="Visit page outside Confluence">The Elements of Style</a></li>
-	<li><a href="http://www.amazon.com/exec/obidos/tg/detail/-/0465004881/apachesoftwar-20/" title="Visit page outside Confluence">Associated Press Stylebook</a></li>
-</ul>
-
-
-<p>Also excellent, but more expensive: </p>
-<ul>
-	<li><a href="http://www.chicagomanualofstyle.org/" title="Visit page outside Confluence">Chicago Manual of Style</a></li>
-</ul>
-
-
-<h2><a name="DocumentationStyleGuide-QuickTips"></a>Quick Tips</h2>
-
-<ul>
-	<li>Use as few words as possible. Instead of "but there are some quirks about it" try "but there are quirks".</li>
-	<li>If a list of items includes both a term and an explanation, consider using a table instead of bullets.</li>
-	<li>Avoid using "This" by itself. Instead of "This lets us" try "This strategy lets us".
-	<ul>
-		<li>Ask yourself: "This what?"</li>
-	</ul>
-	</li>
-	<li>References to other wiki pages can be unqualified. Instead of "See WW:Documentation Style Guide page", try "See WW:Documentation Style Guide."</li>
-</ul>
-
-
-<h2><a name="DocumentationStyleGuide-Don%27tbesmurfy%5C%21"></a>Don't be smurfy&#33;</h2>
-
-<p>A lot of API members use the term "action". We have</p>
-<ul>
-	<li>action extensions on pages,</li>
-	<li>action attributes in forms,</li>
-	<li>action elements in configuration files, and</li>
-	<li>Action Java classes, some of which may implement the</li>
-	<li>Action interface.</li>
-</ul>
-
-
-<p>Here are some terms that can be used to help clarify which action is which.</p>
-<ul>
-	<li>Use "the framework" or "XWork" to refer to the codebase as a whole, including any frameworks we use internally, like OGNL.</li>
-	<li>Use "Action class" or "action handler" to refer to the Java class incorporated by the action element.</li>
-	<li>Use "action mapping" to refer to the object created by the action element.</li>
-</ul>
-
-
-<h2><a name="DocumentationStyleGuide-PageSaveComment"></a>Page Save Comment</h2>
-
-<p>Try to include a brief description of a change when saving a page. The comments are included in the page's history. The comments are also included on the daily change report. In a group environment, it's important to help each other follow along.</p>
-
-<h2><a name="DocumentationStyleGuide-ParentPages"></a>Parent Pages </h2>
-
-<p>Use the Parent Page feature to create a hierarchy of pages. The parent pages are reflected in the "bread crumb" menu. If propertly used, parent pages can help browsers "visualize" the documenation as an outline. </p>
-
-<p>The root of the documentation is the "Home" page, which is also the "Welcome" page. The documnentation is ordered into three main areas: Tutorials, FAQs, and Guides. Each area has a contents page, whose parent is Home. Other pages within each section can also serve as parents, to help organize the documentation into a coherent outline. </p>
-
-<h2><a name="DocumentationStyleGuide-Labels"></a>Labels </h2>
-
-<p>Pages can be cross-indexed with the Label feature. Labels are not be used much yet, except for internal authoring. </p>
-
-<table class='confluenceTable'><tbody>
-<tr>
-<th class='confluenceTh'> FIXME </th>
-<td class='confluenceTd'> A page that mentions a problem in the distribution that we intend to fix. Review these pages before tagging a distribution to see if the issue has been resolved. </td>
-</tr>
-<tr>
-<th class='confluenceTh'> TODO </th>
-<td class='confluenceTd'> A page that is incomplete. Try to complete these pages before tagging a distribution </td>
-</tr>
-</tbody></table>
-
-<h2><a name="DocumentationStyleGuide-ShortcutsLinks"></a>Shortcuts Links</h2>
-
-<p>The Shortcut Link feature should be used for any external reference that may be used elsewhere. Shortcuts being used include </p>
-
-<table class='confluenceTable'><tbody>
-<tr>
-<th class='confluenceTh'>jira</th>
-<td class='confluenceTd'> A ticket in our issue tracker </td>
-</tr>
-<tr>
-<th class='confluenceTh'>primer</th>
-<td class='confluenceTd'> A bookmark in our Key Technologies Primer </td>
-</tr>
-<tr>
-<th class='confluenceTh'>xwork/api</th>
-<td class='confluenceTd'> A class in the XWork Javadocs </td>
-</tr>
-<tr>
-<th class='confluenceTh'>java/api</th>
-<td class='confluenceTd'> A class in the Java Javadocs </td>
-</tr>
-<tr>
-<th class='confluenceTh'>wiki/help</th>
-<td class='confluenceTd'> A topic the Confluence help system </td>
-</tr>
-</tbody></table>
-
-<p>Please add new shortcuts as needed.</p>
-
-<h2><a name="DocumentationStyleGuide-AboutHeadings"></a>About Headings</h2>
-
-<p><img class="emoticon" src="./icons/emoticons/information.gif" height="16" width="16" align="absmiddle" alt="" border="0"/> This section refers to: [Notation Guide &gt;&gt; Headings|section=headings@wiki].</p>
-
-<h3><a name="DocumentationStyleGuide-Abouth1"></a>About h1</h3>
-
-<p>Don't use <tt>h1.</tt> at the top of each page. The page title serves as the "top level header". This is not as obvious online, but it is very apparent when the documentation is exported to HTML or PDF.</p>
-
-<p>Try to start each page with some introductory text, to separate the page title from the rest of content.</p>
-
-<p>Likewise, try to have some content between all page headings. Avoid placing headings one after the other.</p>
-
-<h3><a name="DocumentationStyleGuide-Documentsections"></a>Document sections</h3>
-
-<p>Headings can help you divide your document in sections, subsections, sub-subsections and so forth.</p>
-
-<h4><a name="DocumentationStyleGuide-Advantages"></a>Advantages</h4>
-
-<p>Your document becomes more organized.</p>
-
-<h4><a name="DocumentationStyleGuide-Disadvantages"></a>Disadvantages</h4>
-
-<p>Too many headings can fragment the text.</p>
-<table cellpadding='5' width='85%' cellspacing='8px' class='warningMacro' border="0" align='center'><colgroup><col width='24'><col></colgroup><tr><td valign='top'><img src="icons/emoticons/forbidden.gif" width="16" height="16" align="absmiddle" alt="" border="0"></td><td><b class="strong">Here we go again!</b><br />
-<p>This segment an example of overusing headings. This whole "Headings" section has so few paragraphs that it really should have been written in just one section. The "advantages" and "disadvantages" would be just as easy to render as a table.</p></td></tr></table>
-
-<h3><a name="DocumentationStyleGuide-Headingscapitalization"></a>Headings capitalization</h3>
-
-<p>Try to use intial capitals for <tt>h1</tt> and <tt>h2</tt> headers.</p>
-
-<p>For <tt>h3</tt> and smaller headings, try to capitalize only the first word, and any proper nouns.</p>
-
-<p>By using different capilazation sytles, we emphasize the importance of bigger headings.</p>
-
-<h3><a name="DocumentationStyleGuide-Avoidskippingheaders"></a>Avoid skipping headers</h3>
-
-<p>The headers form an outline for the page. When writing term papers, it is not a good practice to skip outline levels. When writing hypertext, it is not a good practice to skip heading levels either. Try not to skip from a <tt>h2</tt> to a <tt>h4</tt>.</p>
-<table cellpadding='5' width='85%' cellspacing='8px' class='tipMacro' border="0" align='center'><colgroup><col width='24'><col></colgroup><tr><td valign='top'><img src="icons/emoticons/check.gif" width="16" height="16" align="absmiddle" alt="" border="0"></td><td><b class="strong">Too many headings?</b><br />
-<p>If you find yourself writting too many <tt>h2</tt> headings in a single page, consider breaking the page into child pages.</p></td></tr></table>
-
-<h2><a name="DocumentationStyleGuide-MoreonTextEffects"></a>More on Text Effects</h2>
-
-<p><img class="emoticon" src="./icons/emoticons/star_yellow.gif" height="16" width="16" align="absmiddle" alt="" border="0"/> This section refers to: <a href="http://wiki.opensymphony.com/renderer/notationhelp.action?section=texteffects" title="Visit page outside Confluence">Notation Guide >> Text Effects</a>.</p>
-
-<p>Text effects like <b>strong</b>, <em>emphasis</em>, and <u>inserted</u> can be used in the usual way to denote important parts of a sentence.</p>
-
-<p><tt>Monospaced</tt> should be used to files, tags, and methods, like <tt>xwork.xml</tt>, <tt>&lt;xmltag /&gt;</tt>, and <tt>execute</tt>. Class and Interface names may be left in normal face, like Action and Interceptor.</p>
-
-<p>A panel should be preferred to a block quote.</p>
-
-<p>The color fonts should be avoided or used only with great care. Some people have difficulty seeing some colors, and the colors may not be apparent if the page is printed.</p>
-
-<h2><a name="DocumentationStyleGuide-TextBreaks"></a>Text Breaks</h2>
-
-<p><img class="emoticon" src="./icons/emoticons/star_yellow.gif" height="16" width="16" align="absmiddle" alt="" border="0"/> This section refers to: <a href="http://wiki.opensymphony.com/renderer/notationhelp.action?section=breaks" title="Visit page outside Confluence">Notation Guide >> Text Breaks</a>.</p>
-
-<p>Text breaks should not be used to format blocks on the screen. If there is an issue with the way paragraphs or headings are being rendered, we should customize the stylesheet.</p>
-
-<h2><a name="DocumentationStyleGuide-Lists"></a>Lists</h2>
-
-<p><img class="emoticon" src="./icons/emoticons/star_yellow.gif" height="16" width="16" align="absmiddle" alt="" border="0"/> This section refers to: <a href="http://wiki.opensymphony.com/renderer/notationhelp.action?section=lists" title="Visit page outside Confluence">Notation Guide >> Lists</a>.</p>
-
-<p>Unordered lists should be created only with the <tt>&#42;</tt> (star) notation.</p>
-
-<p>Ordered list should be used when numbering the items is important. Otherwise, prefer unordered lists.</p>
-<ul>
-	<li>This is an unordered list in star notation;</li>
-	<li>Items can have sub-items
-	<ul>
-		<li>That can have sub-items
-		<ul>
-			<li>That can have sub-items ...
-			<ul>
-				<li>What is the limit?</li>
-			</ul>
-			</li>
-		</ul>
-		</li>
-	</ul>
-	</li>
-	<li>Mixing ordered and unordered lists is possible:
-	<ol>
-		<li>One;</li>
-		<li>Two;</li>
-		<li>Three.</li>
-	</ol>
-	</li>
-</ul>
-
-
-<h2><a name="DocumentationStyleGuide-Images"></a>Images</h2>
-
-<p><img class="emoticon" src="./icons/emoticons/star_yellow.gif" height="16" width="16" align="absmiddle" alt="" border="0"/> This section refers to: <a href="http://wiki.opensymphony.com/renderer/notationhelp.action?section=images" title="Visit page outside Confluence">Notation Guide >> Images</a> and <a href="http://wiki.opensymphony.com/renderer/notationhelp.action?section=miscellaneous" title="Visit page outside Confluence">Notation Guide >> Misc</a>.</p>
-
-<p>Avoid using external images for bullets or icons. Prefer the equivalents provided with Confluence.</p>
-
-<p>Images can be inclued by URL or annexing the binary to the page. Prefer annexing when possible, since URLs are subject to change.</p>
-
-<p>Always observe copyright issues. Do not annex images unless it an orginal or public domain work, or the author has donated the image to the foundation.</p>
-
-<p>Example: <span class="error">Cannot resolve external resource into attachment.</span></p>
-
-<h2><a name="DocumentationStyleGuide-Icons"></a>Icons</h2>
-
-<p>Use <img class="emoticon" src="./icons/emoticons/information.gif" height="16" width="16" align="absmiddle" alt="" border="0"/>, <img class="emoticon" src="./icons/emoticons/help_16.gif" height="16" width="16" align="absmiddle" alt="" border="0"/>, <img class="emoticon" src="./icons/emoticons/warning.gif" height="16" width="16" align="absmiddle" alt="" border="0"/>, and <img class="emoticon" src="./icons/emoticons/check.gif" height="16" width="16" align="absmiddle" alt="" border="0"/> to bullet important one-liners. Use <img class="emoticon" src="./icons/emoticons/lightbulb_on.gif" height="16" width="16" align="absmiddle" alt="" border="0"/> to highlight cross references.</p>
-
-<p>Used carefully, icons can make the content easier to read and understand.</p>
-
-<p>However, if icons are overused, they lose impact (and can make a page look like a ransom note).</p>
-
-<p>Casual icons like <img class="emoticon" src="./icons/emoticons/smile.gif" height="20" width="20" align="absmiddle" alt="" border="0"/> and <img class="emoticon" src="./icons/emoticons/thumbs_up.gif" height="19" width="19" align="absmiddle" alt="" border="0"/> should be used with care or avoided.</p>
-
-<h2><a name="DocumentationStyleGuide-Tables"></a>Tables</h2>
-
-<p><img class="emoticon" src="./icons/emoticons/star_yellow.gif" height="16" width="16" align="absmiddle" alt="" border="0"/> This section refers to: <a href="http://wiki.opensymphony.com/renderer/notationhelp.action?section=tables" title="Visit page outside Confluence">Notation Guide >> Tables</a>.</p>
-
-<p>Prefer lists for single-value entries. Prefer tables for lists with multiple columns.</p>
-
-<p>Tables are very useful when lists just don't do it. Meaning: don't write a table when a list suffices. Tables are more organized, because you can align the text in columns. Since the markup text for tables in Confluence is not easy to read, complex and big tables can be hard to maintain.</p>
-
-<table class='confluenceTable'><tbody>
-<tr>
-<th class='confluenceTh'> File </th>
-<th class='confluenceTh'> Optional </th>
-<th class='confluenceTh'> Location (relative to webapp) </th>
-<th class='confluenceTh'> Purpose </th>
-</tr>
-<tr>
-<td class='confluenceTd'> web.xml </td>
-<td class='confluenceTd'> no </td>
-<td class='confluenceTd'> /WEB-INF/ </td>
-<td class='confluenceTd'> Web deployment descriptor to include all necessary WebWork components </td>
-</tr>
-<tr>
-<td class='confluenceTd'> xwork.xml </td>
-<td class='confluenceTd'> no </td>
-<td class='confluenceTd'> /WEB-INF/classes/ </td>
-<td class='confluenceTd'> Main configuration, contains result/view types, action mappings, interceptors, and so forth </td>
-</tr>
-</tbody></table>
-
-<h2><a name="DocumentationStyleGuide-AdvancedFormatting"></a>Advanced Formatting</h2>
-
-<p><img class="emoticon" src="./icons/emoticons/star_yellow.gif" height="16" width="16" align="absmiddle" alt="" border="0"/> This section refers to: <a href="http://wiki.opensymphony.com/renderer/notationhelp.action?section=advanced" title="Visit page outside Confluence">Notation Guide >> Advanced Formatting</a>.</p>
-
-<p>Panels should be used as needed. Try to select the right panel for the content.</p>
-
-<p>Try to give all panels and {code} blocks meaningful titles. People scan the pages looking for likely tips and examples.</p>
-
-<p>Avoid generic titles like "Warning" or "Example". Style the headings like they were h3. or smaller.</p>
-
-<p>When a panel contains a file or a class, the panel title should refer to the filename or classname.</p>
-
-<p>Try to specify the language for {code} blocks.</p>
-<div class="code"><div class="codeHeader"><b>HelloWorld.java</b></div><div class="codeContent">
+				    <p>It's well-known that a consistent user interface is easier to use. Consistency helps users focus on the task rather than the user interface. Likewise, a consistent documentation style helps users focus on the information, rather than the formatting.</p>
+
+<p>A related goal is to design the documentation so that it is easy to maintain, so that it tends to remain internally consistent with the framework itself.</p>
+
+<h2><a name="DocumentationStyleGuide-Doitnow.Doitonce.Doitwell."></a>Do it now. Do it once. Do it well.</h2>
+
+<p>Overall, there are three goals for the documentation system.</p>
+<ul>
+	<li>Say it all</li>
+	<li>Say it once</li>
+	<li>Say it well</li>
+</ul>
+
+
+<p>First, we want the documentation to be both complete and concise. This is job one&#33; The documentation should also be a quick but practical introduction to the framework, so newcomers can get started as easily as possible. To keep people coming back, the documenation should also be a repository of the tips and tricks we use in our own applications, so that people can find it here instead of asking over and over again on the list.  </p>
+
+<p>Second, the documentation should be easy to maintain. Ideally, we should cover the detail of each topic once, and draw as much detail from the source code and examples as possible (using the <a href="#DocumentationStyleGuide-Singlesourcingwithsnippets" title="Single sourcing with snippets on Documentation Style Guide">snippet macro</a>).</p>
+
+<p>Third, the documentation should be text-book quality; if not in the first draft, then in the next. Don't hesitate to hack in a new page. Better that we have the page than we don't. (See Job One&#33;) But, as time allows, we should try to make each page the best that it can be. A great many people access the documentation, and it's worth the effort to make the "documentation experience" productive and enjoyable.</p>
+
+<h2><a name="DocumentationStyleGuide-Capitalizationofcommonterms"></a>Capitalization of common terms</h2>
+
+<ul>
+	<li>Java</li>
+	<li>Javadoc</li>
+	<li>HTML</li>
+	<li>XML</li>
+</ul>
+
+
+<h2><a name="DocumentationStyleGuide-GeneralPunctuationandGrammar"></a>General Punctuation and Grammar</h2>
+
+<p>Good online resources for punctuation, grammar, and text style include</p>
+<ul>
+	<li><a href="http://lilt.ilstu.edu/golson/punctuation/" title="Visit page outside Confluence">Punctuation Made Simple</a></li>
+	<li><a href="http://www.wwu.edu/depts/journalism/207labmanUL.htm" title="Visit page outside Confluence">Associated Press Style Guide Essentials</a></li>
+	<li><a href="http://en.wikipedia.org/wiki/Wikipedia:Manual_of_Style" title="Visit page outside Confluence">Wikipedia Manual of Style</a></li>
+</ul>
+
+
+<p>In print, two excellent (and inexpensive&#33;) resources are</p>
+<ul>
+	<li><a href="http://www.amazon.com/exec/obidos/tg/detail/-/020530902X/apachesoftwar-20/" title="Visit page outside Confluence">The Elements of Style</a></li>
+	<li><a href="http://www.amazon.com/exec/obidos/tg/detail/-/0465004881/apachesoftwar-20/" title="Visit page outside Confluence">Associated Press Stylebook</a></li>
+</ul>
+
+
+<p>Also excellent, but more expensive: </p>
+<ul>
+	<li><a href="http://www.chicagomanualofstyle.org/" title="Visit page outside Confluence">Chicago Manual of Style</a></li>
+</ul>
+
+
+<h2><a name="DocumentationStyleGuide-QuickTips"></a>Quick Tips</h2>
+
+<ul>
+	<li>Use as few words as possible. Instead of "but there are some quirks about it" try "but there are quirks".</li>
+	<li>If a list of items includes both a term and an explanation, consider using a table instead of bullets.</li>
+	<li>Avoid using "This" by itself. Instead of "This lets us" try "This strategy lets us".
+	<ul>
+		<li>Ask yourself: "This what?"</li>
+	</ul>
+	</li>
+	<li>References to other wiki pages can be unqualified. Instead of "See WW:Documentation Style Guide page", try "See WW:Documentation Style Guide."</li>
+</ul>
+
+
+<h2><a name="DocumentationStyleGuide-Don%27tbesmurfy%5C%21"></a>Don't be smurfy&#33;</h2>
+
+<p>A lot of API members use the term "action". We have</p>
+<ul>
+	<li>action extensions on pages,</li>
+	<li>action attributes in forms,</li>
+	<li>action elements in configuration files, and</li>
+	<li>Action Java classes, some of which may implement the</li>
+	<li>Action interface.</li>
+</ul>
+
+
+<p>Here are some terms that can be used to help clarify which action is which.</p>
+<ul>
+	<li>Use "the framework" or "XWork" to refer to the codebase as a whole, including any frameworks we use internally, like OGNL.</li>
+	<li>Use "Action class" or "action handler" to refer to the Java class incorporated by the action element.</li>
+	<li>Use "action mapping" to refer to the object created by the action element.</li>
+</ul>
+
+
+<h2><a name="DocumentationStyleGuide-PageSaveComment"></a>Page Save Comment</h2>
+
+<p>Try to include a brief description of a change when saving a page. The comments are included in the page's history. The comments are also included on the daily change report. In a group environment, it's important to help each other follow along.</p>
+
+<h2><a name="DocumentationStyleGuide-ParentPages"></a>Parent Pages </h2>
+
+<p>Use the Parent Page feature to create a hierarchy of pages. The parent pages are reflected in the "bread crumb" menu. If propertly used, parent pages can help browsers "visualize" the documenation as an outline. </p>
+
+<p>The root of the documentation is the "Home" page, which is also the "Welcome" page. The documnentation is ordered into three main areas: Tutorials, FAQs, and Guides. Each area has a contents page, whose parent is Home. Other pages within each section can also serve as parents, to help organize the documentation into a coherent outline. </p>
+
+<h2><a name="DocumentationStyleGuide-Labels"></a>Labels </h2>
+
+<p>Pages can be cross-indexed with the Label feature. Labels are not be used much yet, except for internal authoring. </p>
+
+<table class='confluenceTable'><tbody>
+<tr>
+<th class='confluenceTh'> FIXME </th>
+<td class='confluenceTd'> A page that mentions a problem in the distribution that we intend to fix. Review these pages before tagging a distribution to see if the issue has been resolved. </td>
+</tr>
+<tr>
+<th class='confluenceTh'> TODO </th>
+<td class='confluenceTd'> A page that is incomplete. Try to complete these pages before tagging a distribution </td>
+</tr>
+</tbody></table>
+
+<h2><a name="DocumentationStyleGuide-ShortcutsLinks"></a>Shortcuts Links</h2>
+
+<p>The Shortcut Link feature should be used for any external reference that may be used elsewhere. Shortcuts being used include </p>
+
+<table class='confluenceTable'><tbody>
+<tr>
+<th class='confluenceTh'>jira</th>
+<td class='confluenceTd'> A ticket in our issue tracker </td>
+</tr>
+<tr>
+<th class='confluenceTh'>primer</th>
+<td class='confluenceTd'> A bookmark in our Key Technologies Primer </td>
+</tr>
+<tr>
+<th class='confluenceTh'>xwork/api</th>
+<td class='confluenceTd'> A class in the XWork Javadocs </td>
+</tr>
+<tr>
+<th class='confluenceTh'>java/api</th>
+<td class='confluenceTd'> A class in the Java Javadocs </td>
+</tr>
+<tr>
+<th class='confluenceTh'>wiki/help</th>
+<td class='confluenceTd'> A topic the Confluence help system </td>
+</tr>
+</tbody></table>
+
+<p>Please add new shortcuts as needed.</p>
+
+<h2><a name="DocumentationStyleGuide-AboutHeadings"></a>About Headings</h2>
+
+<p><img class="emoticon" src="./icons/emoticons/information.gif" height="16" width="16" align="absmiddle" alt="" border="0"/> This section refers to: [Notation Guide &gt;&gt; Headings|section=headings@wiki].</p>
+
+<h3><a name="DocumentationStyleGuide-Abouth1"></a>About h1</h3>
+
+<p>Don't use <tt>h1.</tt> at the top of each page. The page title serves as the "top level header". This is not as obvious online, but it is very apparent when the documentation is exported to HTML or PDF.</p>
+
+<p>Try to start each page with some introductory text, to separate the page title from the rest of content.</p>
+
+<p>Likewise, try to have some content between all page headings. Avoid placing headings one after the other.</p>
+
+<h3><a name="DocumentationStyleGuide-Documentsections"></a>Document sections</h3>
+
+<p>Headings can help you divide your document in sections, subsections, sub-subsections and so forth.</p>
+
+<h4><a name="DocumentationStyleGuide-Advantages"></a>Advantages</h4>
+
+<p>Your document becomes more organized.</p>
+
+<h4><a name="DocumentationStyleGuide-Disadvantages"></a>Disadvantages</h4>
+
+<p>Too many headings can fragment the text.</p>
+<table cellpadding='5' width='85%' cellspacing='8px' class='warningMacro' border="0" align='center'><colgroup><col width='24'><col></colgroup><tr><td valign='top'><img src="./icons/emoticons/forbidden.gif" width="16" height="16" align="absmiddle" alt="" border="0"></td><td><b class="strong">Here we go again!</b><br />
+<p>This segment an example of overusing headings. This whole "Headings" section has so few paragraphs that it really should have been written in just one section. The "advantages" and "disadvantages" would be just as easy to render as a table.</p></td></tr></table>
+
+<h3><a name="DocumentationStyleGuide-Headingscapitalization"></a>Headings capitalization</h3>
+
+<p>Try to use intial capitals for <tt>h1</tt> and <tt>h2</tt> headers.</p>
+
+<p>For <tt>h3</tt> and smaller headings, try to capitalize only the first word, and any proper nouns.</p>
+
+<p>By using different capilazation sytles, we emphasize the importance of bigger headings.</p>
+
+<h3><a name="DocumentationStyleGuide-Avoidskippingheaders"></a>Avoid skipping headers</h3>
+
+<p>The headers form an outline for the page. When writing term papers, it is not a good practice to skip outline levels. When writing hypertext, it is not a good practice to skip heading levels either. Try not to skip from a <tt>h2</tt> to a <tt>h4</tt>.</p>
+<table cellpadding='5' width='85%' cellspacing='8px' class='tipMacro' border="0" align='center'><colgroup><col width='24'><col></colgroup><tr><td valign='top'><img src="./icons/emoticons/check.gif" width="16" height="16" align="absmiddle" alt="" border="0"></td><td><b class="strong">Too many headings?</b><br />
+<p>If you find yourself writting too many <tt>h2</tt> headings in a single page, consider breaking the page into child pages.</p></td></tr></table>
+
+<h2><a name="DocumentationStyleGuide-MoreonTextEffects"></a>More on Text Effects</h2>
+
+<p><img class="emoticon" src="./icons/emoticons/star_yellow.gif" height="16" width="16" align="absmiddle" alt="" border="0"/> This section refers to: <a href="http://wiki.opensymphony.com/renderer/notationhelp.action?section=texteffects" title="Visit page outside Confluence">Notation Guide &gt;&gt; Text Effects</a>.</p>
+
+<p>Text effects like <b>strong</b>, <em>emphasis</em>, and <ins>inserted</ins> can be used in the usual way to denote important parts of a sentence.</p>
+
+<p><tt>Monospaced</tt> should be used to files, tags, and methods, like <tt>xwork.xml</tt>, <tt>&lt;xmltag /&gt;</tt>, and <tt>execute</tt>. Class and Interface names may be left in normal face, like Action and Interceptor.</p>
+
+<p>A panel should be preferred to a block quote.</p>
+
+<p>The color fonts should be avoided or used only with great care. Some people have difficulty seeing some colors, and the colors may not be apparent if the page is printed.</p>
+
+<h2><a name="DocumentationStyleGuide-TextBreaks"></a>Text Breaks</h2>
+
+<p><img class="emoticon" src="./icons/emoticons/star_yellow.gif" height="16" width="16" align="absmiddle" alt="" border="0"/> This section refers to: <a href="http://wiki.opensymphony.com/renderer/notationhelp.action?section=breaks" title="Visit page outside Confluence">Notation Guide &gt;&gt; Text Breaks</a>.</p>
+
+<p>Text breaks should not be used to format blocks on the screen. If there is an issue with the way paragraphs or headings are being rendered, we should customize the stylesheet.</p>
+
+<h2><a name="DocumentationStyleGuide-Lists"></a>Lists</h2>
+
+<p><img class="emoticon" src="./icons/emoticons/star_yellow.gif" height="16" width="16" align="absmiddle" alt="" border="0"/> This section refers to: <a href="http://wiki.opensymphony.com/renderer/notationhelp.action?section=lists" title="Visit page outside Confluence">Notation Guide &gt;&gt; Lists</a>.</p>
+
+<p>Unordered lists should be created only with the <tt>&#42;</tt> (star) notation.</p>
+
+<p>Ordered list should be used when numbering the items is important. Otherwise, prefer unordered lists.</p>
+<ul>
+	<li>This is an unordered list in star notation;</li>
+	<li>Items can have sub-items
+	<ul>
+		<li>That can have sub-items
+		<ul>
+			<li>That can have sub-items ...
+			<ul>
+				<li>What is the limit?</li>
+			</ul>
+			</li>
+		</ul>
+		</li>
+	</ul>
+	</li>
+	<li>Mixing ordered and unordered lists is possible:
+	<ol>
+		<li>One;</li>
+		<li>Two;</li>
+		<li>Three.</li>
+	</ol>
+	</li>
+</ul>
+
+
+<h2><a name="DocumentationStyleGuide-Images"></a>Images</h2>
+
+<p><img class="emoticon" src="./icons/emoticons/star_yellow.gif" height="16" width="16" align="absmiddle" alt="" border="0"/> This section refers to: <a href="http://wiki.opensymphony.com/renderer/notationhelp.action?section=images" title="Visit page outside Confluence">Notation Guide &gt;&gt; Images</a> and <a href="http://wiki.opensymphony.com/renderer/notationhelp.action?section=miscellaneous" title="Visit page outside Confluence">Notation Guide &gt;&gt; Misc</a>.</p>
+
+<p>Avoid using external images for bullets or icons. Prefer the equivalents provided with Confluence.</p>
+
+<p>Images can be inclued by URL or annexing the binary to the page. Prefer annexing when possible, since URLs are subject to change.</p>
+
+<p>Always observe copyright issues. Do not annex images unless it an orginal or public domain work, or the author has donated the image to the foundation.</p>
+
+<p>Example: <span class="error">Cannot resolve external resource into attachment.</span></p>
+
+<h2><a name="DocumentationStyleGuide-Icons"></a>Icons</h2>
+
+<p>Use <img class="emoticon" src="./icons/emoticons/information.gif" height="16" width="16" align="absmiddle" alt="" border="0"/>, <img class="emoticon" src="./icons/emoticons/help_16.gif" height="16" width="16" align="absmiddle" alt="" border="0"/>, <img class="emoticon" src="./icons/emoticons/warning.gif" height="16" width="16" align="absmiddle" alt="" border="0"/>, and <img class="emoticon" src="./icons/emoticons/check.gif" height="16" width="16" align="absmiddle" alt="" border="0"/> to bullet important one-liners. Use <img class="emoticon" src="./icons/emoticons/lightbulb_on.gif" height="16" width="16" align="absmiddle" alt="" border="0"/> to highlight cross references.</p>
+
+<p>Used carefully, icons can make the content easier to read and understand.</p>
+
+<p>However, if icons are overused, they lose impact (and can make a page look like a ransom note).</p>
+
+<p>Casual icons like <img class="emoticon" src="./icons/emoticons/smile.gif" height="20" width="20" align="absmiddle" alt="" border="0"/> and <img class="emoticon" src="./icons/emoticons/thumbs_up.gif" height="19" width="19" align="absmiddle" alt="" border="0"/> should be used with care or avoided.</p>
+
+<h2><a name="DocumentationStyleGuide-Tables"></a>Tables</h2>
+
+<p><img class="emoticon" src="./icons/emoticons/star_yellow.gif" height="16" width="16" align="absmiddle" alt="" border="0"/> This section refers to: <a href="http://wiki.opensymphony.com/renderer/notationhelp.action?section=tables" title="Visit page outside Confluence">Notation Guide &gt;&gt; Tables</a>.</p>
+
+<p>Prefer lists for single-value entries. Prefer tables for lists with multiple columns.</p>
+
+<p>Tables are very useful when lists just don't do it. Meaning: don't write a table when a list suffices. Tables are more organized, because you can align the text in columns. Since the markup text for tables in Confluence is not easy to read, complex and big tables can be hard to maintain.</p>
+
+<table class='confluenceTable'><tbody>
+<tr>
+<th class='confluenceTh'> File </th>
+<th class='confluenceTh'> Optional </th>
+<th class='confluenceTh'> Location (relative to webapp) </th>
+<th class='confluenceTh'> Purpose </th>
+</tr>
+<tr>
+<td class='confluenceTd'> web.xml </td>
+<td class='confluenceTd'> no </td>
+<td class='confluenceTd'> /WEB-INF/ </td>
+<td class='confluenceTd'> Web deployment descriptor to include all necessary WebWork components </td>
+</tr>
+<tr>
+<td class='confluenceTd'> xwork.xml </td>
+<td class='confluenceTd'> no </td>
+<td class='confluenceTd'> /WEB-INF/classes/ </td>
+<td class='confluenceTd'> Main configuration, contains result/view types, action mappings, interceptors, and so forth </td>
+</tr>
+</tbody></table>
+
+<h2><a name="DocumentationStyleGuide-AdvancedFormatting"></a>Advanced Formatting</h2>
+
+<p><img class="emoticon" src="./icons/emoticons/star_yellow.gif" height="16" width="16" align="absmiddle" alt="" border="0"/> This section refers to: <a href="http://wiki.opensymphony.com/renderer/notationhelp.action?section=advanced" title="Visit page outside Confluence">Notation Guide &gt;&gt; Advanced Formatting</a>.</p>
+
+<p>Panels should be used as needed. Try to select the right panel for the content.</p>
+
+<p>Try to give all panels and {code} blocks meaningful titles. People scan the pages looking for likely tips and examples.</p>
+
+<p>Avoid generic titles like "Warning" or "Example". Style the headings like they were h3. or smaller.</p>
+
+<p>When a panel contains a file or a class, the panel title should refer to the filename or classname.</p>
+
+<p>Try to specify the language for {code} blocks.</p>
+<div class="code"><div class="codeHeader"><b>HelloWorld.java</b></div><div class="codeContent">
 <pre class="code-java">/** Hello World class. */
 <span class="code-keyword">public</span> class HelloWorld {
   /** Main method. */
   <span class="code-keyword">public</span> <span class="code-keyword">static</span> void main(<span class="code-object">String</span>[] args) {
     <span class="code-object">System</span>.out.println(<span class="code-quote">"Hello, World!"</span>);
   }
-}</pre>
-</div></div>
-<p><img class="emoticon" src="./icons/emoticons/check.gif" height="16" width="16" align="absmiddle" alt="" border="0"/> Try to use <a href="#DocumentationStyleGuide-Singlesourcingwithsnippets" title="Single sourcing with snippets on Documentation Style Guide">snippets</a> for code blocks whenever possible&#33;</p>
-
-<p>Avoid tabs in code blocks, use two spaces instead. Long lines should be formatted to fit in a 800x600 resolution screen, without resorting to horizontal scrolling.</p>
-
-<p>A typical example of <tt>noformat</tt> would be the command line statements to compile and run the code above.</p>
-
-<p>Either the code or noformat block can be used to represent command line windows. The terminal notation ({$}} should be used to represent a system prompt.</p>
-
-<div class="code"><div class="codeHeader"><b>Compiling and Running Hello World</b></div><div class="codeContent">
+}</pre>
+</div></div>
+<p><img class="emoticon" src="./icons/emoticons/check.gif" height="16" width="16" align="absmiddle" alt="" border="0"/> Try to use <a href="#DocumentationStyleGuide-Singlesourcingwithsnippets" title="Single sourcing with snippets on Documentation Style Guide">snippets</a> for code blocks whenever possible&#33;</p>
+
+<p>Avoid tabs in code blocks, use two spaces instead. Long lines should be formatted to fit in a 800x600 resolution screen, without resorting to horizontal scrolling.</p>
+
+<p>A typical example of <tt>noformat</tt> would be the command line statements to compile and run the code above.</p>
+
+<p>Either the code or noformat block can be used to represent command line windows. The terminal notation ({$}} should be used to represent a system prompt.</p>
+
+<div class="code"><div class="codeHeader"><b>Compiling and Running Hello World</b></div><div class="codeContent">
 <pre class="code-java">$ javac HelloWorld.java
 
 $ java HelloWorld
-Hello, World!</pre>
-</div></div>
-
-<h2><a name="DocumentationStyleGuide-ChangeHappens"></a>Change Happens</h2>
-
-<p>Anyone who has worked with databases knows the value of normalizing the schema. Ideally, we want to store each fact exactly once, and then use query system to retrieve that fact whereever it is needed. If we store a fact once, we only need to update it once, and we avoid inconsistencies in our data set.</p>
-
-<p>To the extent possible, we want to "normalize" our technical documentation. Like a database, all technical documentation is subject to change. When change happens, we want the documentation to be as easy to update as possible. One way to do that is to try and minimize redudency (without sacrificing ease of use).</p>
-
-<h3><a name="DocumentationStyleGuide-Singlesourcingwithsnippets"></a>Single sourcing with snippets</h3>
-
-<p>The "holy grail" of technical documentation is <a href="http://en.wikipedia.org/wiki/Single_source_publishing" title="Visit page outside Confluence">single sourcing</a>. One way we try to single-source documentation is to pull content directly from the <a href="http://en.wikipedia.org/wiki/Javadoc" title="Visit page outside Confluence">Javadocs</a> and source code into the documentation.</p>
-
-<p>Using a <b><span class="error">&#91;snippet macro&#93;</span></b>, we are able to tag portions of the Javadocs and source code for reuse. The macro fetches those snippets from the repository and merges the content into the documentation.</p>
-<table cellpadding='5' width='85%' cellspacing='8px' class='tipMacro' border="0" align='center'><colgroup><col width='24'><col></colgroup><tr><td valign='top'><img src="icons/emoticons/check.gif" width="16" height="16" align="absmiddle" alt="" border="0"></td><td><b class="strong">Use the Source!</b><br />
-<p>Before writing any new content, ask yourself if we could place the content in the repository in either one of the example applications or the Javadocs. Rather than contrive an example, can you pull a snippet from one of the applications? Rather than reiterate Javadoc, could we update the Javadoc and make it a snippet?</p></td></tr></table>
-
-<ul>
-	<li>Javadoc
-	<ul>
-		<li>{snippet:id=javadoc|javadoc=true|url=com.opensymphony.xwork2.Result}</li>
-	</ul>
-	</li>
-</ul>
-
-
-<ul>
-	<li>Coding Examples
-	<ul>
-		<li>{snippet:id=example|lang=xml|javadoc=true|url=src/java/com/opensymphony/xwork2/Result.java}</li>
-	</ul>
-	</li>
-</ul>
-
-
-<table class='confluenceTable'><tbody>
-<tr>
-<th class='confluenceTh'>&nbsp;</th>
-<th class='confluenceTh'> Snippet Attributes </th>
-</tr>
-<tr>
-<th class='confluenceTh'> id </th>
-<td class='confluenceTd'> The <em>name</em> of the snippet (<b>required</b>). </td>
-</tr>
-<tr>
-<th class='confluenceTh'> url </th>
-<td class='confluenceTd'> The URL where the snippet can be found (<b>required</b>). </td>
-</tr>
-<tr>
-<th class='confluenceTh'> lang </th>
-<td class='confluenceTd'> The language that the code block. If this snippet is simply text, don't include this parameter and the content will be printed outside of a code block. </td>
-</tr>
-<tr>
-<th class='confluenceTh'> javadoc </th>
-<td class='confluenceTd'> If true, the content is within a Javadoc block. If this is set to true, then the preceeding "&#42; " (asterisk-space) characters will be stripped before merging the content. Also, the content is assumed to be already HTML escaped and  won't be escaped again. </td>
-</tr>
-</tbody></table>
-<p>All snippets are marked off by the pattern <tt>START SNIPPET: XXX</tt> and <tt>END SNIPPET: XXX</tt> where <tt>XXX</tt> is the <tt>name</tt> of the snippet that is assigned in the <tt>id</tt> attribute of the macro. The URL is typically a location that points to the project's source control contents. |</p>
-
-<h3><a name="DocumentationStyleGuide-AboutURLs"></a>About URLs</h3>
-
-<p>As you probably noticed in the examples, there are several formats for URL patterns. A fully-qualified URL is always allowed, though that is often not practical. We've customized the macro to be a bit more intelligent with the URL attribute.</p>
-<ul>
-	<li>If the URL appears to be a class, we assume it lives in <tt>src/java</tt>, convert all the dots to slashes, and then append <tt>.java</tt> to it.</li>
-	<li>If the URL doesn't start with "http", then it is assumed to start with _<a href="https://opensymphony.dev.java.net/source/browse/*checkout*/_" title="Visit page outside Confluence">&#104;ttps://opensymphony.dev.java.net/source/browse/*checkout*/_</a>, as you saw in the third example.</li>
-</ul>
-
-
-<h3><a name="DocumentationStyleGuide-Aboutsnippetmarkers"></a>About snippet markers</h3>
-
-<p>When possible, all snippet markers should be in comment blocks. How they are commented depends on where the snippet is being embedded.</p>
-<div class="code"><div class="codeHeader"><b>Commenting HTML or XML snippets</b></div><div class="codeContent">
+Hello, World!</pre>
+</div></div>
+
+<h2><a name="DocumentationStyleGuide-ChangeHappens"></a>Change Happens</h2>
+
+<p>Anyone who has worked with databases knows the value of normalizing the schema. Ideally, we want to store each fact exactly once, and then use query system to retrieve that fact whereever it is needed. If we store a fact once, we only need to update it once, and we avoid inconsistencies in our data set.</p>
+
+<p>To the extent possible, we want to "normalize" our technical documentation. Like a database, all technical documentation is subject to change. When change happens, we want the documentation to be as easy to update as possible. One way to do that is to try and minimize redudency (without sacrificing ease of use).</p>
+
+<h3><a name="DocumentationStyleGuide-Singlesourcingwithsnippets"></a>Single sourcing with snippets</h3>
+
+<p>The "holy grail" of technical documentation is <a href="http://en.wikipedia.org/wiki/Single_source_publishing" title="Visit page outside Confluence">single sourcing</a>. One way we try to single-source documentation is to pull content directly from the <a href="http://en.wikipedia.org/wiki/Javadoc" title="Visit page outside Confluence">Javadocs</a> and source code into the documentation.</p>
+
+<p>Using a <b><span class="error">&#91;snippet macro&#93;</span></b>, we are able to tag portions of the Javadocs and source code for reuse. The macro fetches those snippets from the repository and merges the content into the documentation.</p>
+<table cellpadding='5' width='85%' cellspacing='8px' class='tipMacro' border="0" align='center'><colgroup><col width='24'><col></colgroup><tr><td valign='top'><img src="./icons/emoticons/check.gif" width="16" height="16" align="absmiddle" alt="" border="0"></td><td><b class="strong">Use the Source!</b><br />
+<p>Before writing any new content, ask yourself if we could place the content in the repository in either one of the example applications or the Javadocs. Rather than contrive an example, can you pull a snippet from one of the applications? Rather than reiterate Javadoc, could we update the Javadoc and make it a snippet?</p></td></tr></table>
+
+<ul>
+	<li>Javadoc
+	<ul>
+		<li>{snippet:id=javadoc|javadoc=true|url=com.opensymphony.xwork2.Result}</li>
+	</ul>
+	</li>
+</ul>
+
+
+<ul>
+	<li>Coding Examples
+	<ul>
+		<li>{snippet:id=example|lang=xml|javadoc=true|url=src/java/com/opensymphony/xwork2/Result.java}</li>
+	</ul>
+	</li>
+</ul>
+
+
+<table class='confluenceTable'><tbody>
+<tr>
+<th class='confluenceTh'>&nbsp;</th>
+<th class='confluenceTh'> Snippet Attributes </th>
+</tr>
+<tr>
+<th class='confluenceTh'> id </th>
+<td class='confluenceTd'> The <em>name</em> of the snippet (<b>required</b>). </td>
+</tr>
+<tr>
+<th class='confluenceTh'> url </th>
+<td class='confluenceTd'> The URL where the snippet can be found (<b>required</b>). </td>
+</tr>
+<tr>
+<th class='confluenceTh'> lang </th>
+<td class='confluenceTd'> The language that the code block. If this snippet is simply text, don't include this parameter and the content will be printed outside of a code block. </td>
+</tr>
+<tr>
+<th class='confluenceTh'> javadoc </th>
+<td class='confluenceTd'> If true, the content is within a Javadoc block. If this is set to true, then the preceeding "&#42; " (asterisk-space) characters will be stripped before merging the content. Also, the content is assumed to be already HTML escaped and  won't be escaped again. </td>
+</tr>
+</tbody></table>
+<p>All snippets are marked off by the pattern <tt>START SNIPPET: XXX</tt> and <tt>END SNIPPET: XXX</tt> where <tt>XXX</tt> is the <tt>name</tt> of the snippet that is assigned in the <tt>id</tt> attribute of the macro. The URL is typically a location that points to the project's source control contents. |</p>
+
+<h3><a name="DocumentationStyleGuide-AboutURLs"></a>About URLs</h3>
+
+<p>As you probably noticed in the examples, there are several formats for URL patterns. A fully-qualified URL is always allowed, though that is often not practical. We've customized the macro to be a bit more intelligent with the URL attribute.</p>
+<ul>
+	<li>If the URL appears to be a class, we assume it lives in <tt>src/java</tt>, convert all the dots to slashes, and then append <tt>.java</tt> to it.</li>
+	<li>If the URL doesn't start with "http", then it is assumed to start with _<a href="https://opensymphony.dev.java.net/source/browse/*checkout*/_" title="Visit page outside Confluence">https://opensymphony.dev.java.net/source/browse/*checkout*/_</a>, as you saw in the third example.</li>
+</ul>
+
+
+<h3><a name="DocumentationStyleGuide-Aboutsnippetmarkers"></a>About snippet markers</h3>
+
+<p>When possible, all snippet markers should be in comment blocks. How they are commented depends on where the snippet is being embedded.</p>
+<div class="code"><div class="codeHeader"><b>Commenting HTML or XML snippets</b></div><div class="codeContent">
 <pre class="code-xml"><span class="code-tag"><span class="code-comment">&lt;!-- START SNIPPET: xxx --&gt;</span></span>
 ...
-<span class="code-tag"><span class="code-comment">&lt;!-- END SNIPPET: xxx --&gt;</span></span></pre>
-</div></div>
-<div class="code"><div class="codeHeader"><b>Commenting snippets in Java code</b></div><div class="codeContent">
+<span class="code-tag"><span class="code-comment">&lt;!-- END SNIPPET: xxx --&gt;</span></span></pre>
+</div></div>
+<div class="code"><div class="codeHeader"><b>Commenting snippets in Java code</b></div><div class="codeContent">
 <pre class="code-java"><span class="code-keyword">if</span> (<span class="code-keyword">true</span> != <span class="code-keyword">false</span>) {
     <span class="code-comment">// START SNIPPET: xxx
 </span>    <span class="code-object">System</span>.out.println(<span class="code-quote">"This is some silly code!"</span>);
     <span class="code-comment">// END SNIPPET: xxx
-</span>}</pre>
-</div></div>
-<p>If the snippet is embedded in Javadocs, use HTML comments as they won't render in the Javadocs. For XML examples in Javadocs can be tricky. (See Timer Interceptor for an example.). Javadocs want to use the <tt>&lt;pre&gt;</tt> tag, but you don't want that tag in the snipped content.</p>
-
-<p>One technique is to embed the snippet markers <em>inside</em> the <tt>&lt;pre&gt;</tt> tag.</p>
-<div class="code"><div class="codeHeader"><b>Snipping XML examples from Javadoc content</b></div><div class="codeContent">
+</span>}</pre>
+</div></div>
+<p>If the snippet is embedded in Javadocs, use HTML comments as they won't render in the Javadocs. For XML examples in Javadocs can be tricky. (See Timer Interceptor for an example.). Javadocs want to use the <tt>&lt;pre&gt;</tt> tag, but you don't want that tag in the snipped content.</p>
+
+<p>One technique is to embed the snippet markers <em>inside</em> the <tt>&lt;pre&gt;</tt> tag.</p>
+<div class="code"><div class="codeHeader"><b>Snipping XML examples from Javadoc content</b></div><div class="codeContent">
 <pre class="code-none">* &lt;pre&gt;
  * &lt;!-- START SNIPPET: example --&gt;
  * &amp;lt;!-- records only the action's execution time --&amp;gt;
  *     &amp;lt;interceptor-ref name="timer"/&amp;gt;
  *     &amp;lt;result name="success"&amp;gt;good_result.ftl&amp;lt;/result&amp;gt;
  * &amp;lt;/action&amp;gt;
- * &lt;!-- END SNIPPET: example --&gt;</pre>
-</div></div>
+ * &lt;!-- END SNIPPET: example --&gt;</pre>
+</div></div>
 
 
                     			    </td>

File docs/wikidocs/Interceptor Configuration.html

 
 <p>NOTE: Reference name can be either the name of the interceptor or the name of a stack</p>
 
-<p>For more details, see <a href="http://wiki.opensymphony.com/display/XW/Interceptors" title="Interceptors">Interceptors</a> reference.</p>
+<p>For more details, see <a href="Interceptors.html" title="Interceptors">Interceptors</a> reference.</p>
 
                     			    </td>
 		    </tr>

File docs/wikidocs/Namespace Configuration.html

 <h1><a name="NamespaceConfiguration-Explanation"></a>Explanation</h1>
 <p>If a request for /barspace/bar.action is made, '/barspace' namespace is searched and if it is found the bar action is executed, else it will fall back to the default namespace.  In this example bar alias do exists in the '/barspace' namespace, so it will get executed and if success, the request will be forwarded to bar2.jsp.</p>
 
-<p><u>Note:</u> If a request is made to /barspace/foo.action, the action foo will be searched for in a namespace of /barspace.  If the action is not found, the action will then be searched for in the default namespace.  Unless specified, the default namespace will be "".  In our example above, their is no action foo in the namespace /barspace, therefore the default will be searched and /foo.action will be executed.</p>
+<p><ins>Note:</ins> If a request is made to /barspace/foo.action, the action foo will be searched for in a namespace of /barspace.  If the action is not found, the action will then be searched for in the default namespace.  Unless specified, the default namespace will be "".  In our example above, their is no action foo in the namespace /barspace, therefore the default will be searched and /foo.action will be executed.</p>
 
 <p>If a request for /moo.action is made, the root namespace ('/') is searched for 'moo' action alias, if it is not found it will fall back to trying to find it in the default namespace. In this example, moo action alias does exists and hence will be executed. Upon sucess, the request will get forwarded to bar2.jsp.</p>
 
-<p><u>Note:</u> If a request is made to '/foo.action', '/' namespace will be searched and if it is found it will be execueted, else an attempt to try to find it in the default namespace will occurred. In this example foo action alias does not exist in the '/' namespace, hence it will falled back to the default namespace and execute the foo alias there.</p>
+<p><ins>Note:</ins> If a request is made to '/foo.action', '/' namespace will be searched and if it is found it will be execueted, else an attempt to try to find it in the default namespace will occurred. In this example foo action alias does not exist in the '/' namespace, hence it will falled back to the default namespace and execute the foo alias there.</p>
 
-<p><u>Note:</u> Namespace is only one level. For example if the url '/barspace/myspace/bar.action' is requested, Webwork will try to search for namespace '/barspace/myspace', which does not exist in this case, and will fall back to the default namespace '' and tried the search for action with 'bar' alias. As a result the bar action in the default will be used.</p>
+<p><ins>Note:</ins> Namespace is only one level. For example if the url '/barspace/myspace/bar.action' is requested, Webwork will try to search for namespace '/barspace/myspace', which does not exist in this case, and will fall back to the default namespace '' and tried the search for action with 'bar' alias. As a result the bar action in the default will be used.</p>
 
                     			    </td>
 		    </tr>

File docs/wikidocs/Reloading.html

 	    <table class="pagecontent" border="0" cellpadding="0" cellspacing="0" width="100%" bgcolor="#ffffff">
 		    <tr>
 			    <td valign="top" class="pagebody">
-				    <p>It is possible to configure XWork2 to keeps reloading its configuration files (eg. xwork.xml, *<del>conversion.xml, *-validation.xml). This is done as follows:</del></p>
-
-<div class="code"><div class="codeContent">
-<pre class="code-java">FileManager.setReloadingConfigs(<span class="code-keyword">true</span>)</pre>
-</div></div>
-
-<p>Configuration reloading by default is "off".</p>
-
-<table cellpadding='5' width='85%' cellspacing='8px' class='warningMacro' border="0" align='center'><colgroup><col width='24'><col></colgroup><tr><td valign='top'><img src="icons/emoticons/forbidden.gif" width="16" height="16" align="absmiddle" alt="" border="0"></td><td>
+				    <p>It is possible to configure XWork2 to keeps reloading its configuration files (eg. xwork.xml, *<del>conversion.xml, *-validation.xml). This is done as follows:</del></p>
+
+<div class="code"><div class="codeContent">
+<pre class="code-java">FileManager.setReloadingConfigs(<span class="code-keyword">true</span>)</pre>
+</div></div>
+
+<p>Configuration reloading by default is "off".</p>
+
+<table cellpadding='5' width='85%' cellspacing='8px' class='warningMacro' border="0" align='center'><colgroup><col width='24'><col></colgroup><tr><td valign='top'><img src="./icons/emoticons/forbidden.gif" width="16" height="16" align="absmiddle" alt="" border="0"></td><td>
 <p> Configuration reloading could cause performance issue. It might most probably causes the application to run considerably slow.</p></td></tr></table>
 
                     			    </td>

File docs/wikidocs/Result Configuration.html

 	    <table class="pagecontent" border="0" cellpadding="0" cellspacing="0" width="100%" bgcolor="#ffffff">
 		    <tr>
 			    <td valign="top" class="pagebody">
-				    <h1><a name="ResultConfiguration-Description"></a>Description</h1>
-
-<p>Results are string constants that Actions return to indicate the status of an Action execution. A standard set of Results are defined by default: error, input, login, none and success. Developers are, of course, free to create their own Results to indicate more application specific cases.  Results are mapped to defined Result Types using a name-value pair structure.</p>
-<ul>
-	<li>Global results</li>
-	<li>Default results</li>
-</ul>
-
-
-<h1><a name="ResultConfiguration-Resulttags"></a>Result tags</h1>
-
-<p>Result tags tell XWork what to do next after the action has been called. There are a standard set of result codes built-in to XWork, (in the Action interface) they include:</p>
-<div class="code"><div class="codeContent">
+				    <h1><a name="ResultConfiguration-Description"></a>Description</h1>
+
+<p>Results are string constants that Actions return to indicate the status of an Action execution. A standard set of Results are defined by default: error, input, login, none and success. Developers are, of course, free to create their own Results to indicate more application specific cases.  Results are mapped to defined Result Types using a name-value pair structure.</p>
+<ul>
+	<li>Global results</li>
+	<li>Default results</li>
+</ul>
+
+
+<h1><a name="ResultConfiguration-Resulttags"></a>Result tags</h1>
+
+<p>Result tags tell XWork what to do next after the action has been called. There are a standard set of result codes built-in to XWork, (in the Action interface) they include:</p>
+<div class="code"><div class="codeContent">
 <pre class="code-java"><span class="code-object">String</span> SUCCESS = <span class="code-quote">"success"</span>;
 <span class="code-object">String</span> NONE    = <span class="code-quote">"none"</span>;
 <span class="code-object">String</span> ERROR   = <span class="code-quote">"error"</span>;
 <span class="code-object">String</span> INPUT   = <span class="code-quote">"input"</span>;
-<span class="code-object">String</span> LOGIN   = <span class="code-quote">"login"</span>;</pre>
-</div></div>
-
-<p>You can extend these as you see fit. Most of the time you will have either <b>SUCCESS</b> or <b>ERROR</b>, with <b>SUCCESS</b> moving on to the next page in your application;</p>
-<div class="code"><div class="codeContent">
+<span class="code-object">String</span> LOGIN   = <span class="code-quote">"login"</span>;</pre>
+</div></div>
+
+<p>You can extend these as you see fit. Most of the time you will have either <b>SUCCESS</b> or <b>ERROR</b>, with <b>SUCCESS</b> moving on to the next page in your application;</p>
+<div class="code"><div class="codeContent">
 <pre class="code-xml"><span class="code-tag">&lt;result name=<span class="code-quote">"success"</span> type=<span class="code-quote">"dispatcher"</span>&gt;</span>
     <span class="code-tag">&lt;param name=<span class="code-quote">"location"</span>&gt;</span>/thank_you.jsp<span class="code-tag">&lt;/param&gt;</span>
-<span class="code-tag">&lt;/result&gt;</span></pre>
-</div></div>
-
-<p>...and <b>ERROR</b> moving on to an error page, or the preceding page;</p>
-<div class="code"><div class="codeContent">
+<span class="code-tag">&lt;/result&gt;</span></pre>
+</div></div>
+
+<p>...and <b>ERROR</b> moving on to an error page, or the preceding page;</p>
+<div class="code"><div class="codeContent">
 <pre class="code-xml"><span class="code-tag">&lt;result name=<span class="code-quote">"error"</span> type=<span class="code-quote">"dispatcher"</span>&gt;</span>
     <span class="code-tag">&lt;param name=<span class="code-quote">"location"</span>&gt;</span>/error.jsp<span class="code-tag">&lt;/param&gt;</span>
-<span class="code-tag">&lt;/result&gt;</span></pre>
-</div></div>
-
-<p>Results are specified in a xwork xml config file (xwork.xml) nested inside &lt;action&gt;.  If the <tt>location</tt> param is the only param being specified in the result tag, you can simplify it as follows:</p>
-
-<div class="code"><div class="codeContent">
+<span class="code-tag">&lt;/result&gt;</span></pre>
+</div></div>
+
+<p>Results are specified in a xwork xml config file (xwork.xml) nested inside &lt;action&gt;.  If the <tt>location</tt> param is the only param being specified in the result tag, you can simplify it as follows:</p>
+
+<div class="code"><div class="codeContent">
 <pre class="code-xml"><span class="code-tag">&lt;action name=<span class="code-quote">"bar"</span> class=<span class="code-quote">"myPackage.barAction"</span>&gt;</span>
   <span class="code-tag">&lt;result name=<span class="code-quote">"success"</span> type=<span class="code-quote">"dispatcher"</span>&gt;</span>
     <span class="code-tag">&lt;param name=<span class="code-quote">"location"</span>&gt;</span>foo.jsp<span class="code-tag">&lt;/param&gt;</span>
   <span class="code-tag">&lt;/result&gt;</span>
-<span class="code-tag">&lt;/action&gt;</span></pre>
-</div></div>
-
-<p>or simplified</p>
-
-<div class="code"><div class="codeContent">
+<span class="code-tag">&lt;/action&gt;</span></pre>
+</div></div>
+
+<p>or simplified</p>
+
+<div class="code"><div class="codeContent">
 <pre class="code-xml"><span class="code-tag">&lt;action name=<span class="code-quote">"bar"</span> class=<span class="code-quote">"myPackage.barAction"</span>&gt;</span>
   <span class="code-tag">&lt;result name=<span class="code-quote">"success"</span> type=<span class="code-quote">"dispatcher"</span>&gt;</span>foo.jsp<span class="code-tag">&lt;/result&gt;</span>
-<span class="code-tag">&lt;/action&gt;</span></pre>
-</div></div>
-
-<p>or even simplified further</p>
-
-<div class="code"><div class="codeContent">
+<span class="code-tag">&lt;/action&gt;</span></pre>
+</div></div>
+
+<p>or even simplified further</p>
+
+<div class="code"><div class="codeContent">
 <pre class="code-xml"><span class="code-tag">&lt;action name=<span class="code-quote">"bar"</span> class=<span class="code-quote">"myPackage.barAction"</span>&gt;</span>
    <span class="code-tag">&lt;result&gt;</span>foo.jsp<span class="code-tag">&lt;/result&gt;</span>
-<span class="code-tag">&lt;/action&gt;</span></pre>
-</div></div>
-
-
-<table cellpadding='5' width='85%' cellspacing='8px' class='noteMacro' border="0" align='center'><colgroup><col width='24'><col></colgroup><tr><td valign='top'><img src="icons/emoticons/warning.gif" width="16" height="16" align="absmiddle" alt="" border="0"></td><td><b class="strong">Default Action Class</b><br />
-<p>If the class attribute is not specified in the action tag, it will default to XWork's ActionSupport.</p></td></tr></table>
-
-<table cellpadding='5' width='85%' cellspacing='8px' class='noteMacro' border="0" align='center'><colgroup><col width='24'><col></colgroup><tr><td valign='top'><img src="icons/emoticons/warning.gif" width="16" height="16" align="absmiddle" alt="" border="0"></td><td><b class="strong">Default Location Parameter</b><br />
-<p>If no param tag eg. &lt;param name="location"&gt; ,,, &lt;/param&gt;  is given as child of the &lt;result ..&gt; tag, XWork will assume the text enclosed within the &lt;result&gt; &lt;/result&gt; tags to be the location.</p></td></tr></table>
-
-<table cellpadding='5' width='85%' cellspacing='8px' class='noteMacro' border="0" align='center'><colgroup><col width='24'><col></colgroup><tr><td valign='top'><img src="icons/emoticons/warning.gif" width="16" height="16" align="absmiddle" alt="" border="0"></td><td><b class="strong">Default Result Type</b><br />
+<span class="code-tag">&lt;/action&gt;</span></pre>
+</div></div>
+
+
+<table cellpadding='5' width='85%' cellspacing='8px' class='noteMacro' border="0" align='center'><colgroup><col width='24'><col></colgroup><tr><td valign='top'><img src="./icons/emoticons/warning.gif" width="16" height="16" align="absmiddle" alt="" border="0"></td><td><b class="strong">Default Action Class</b><br />
+<p>If the class attribute is not specified in the action tag, it will default to XWork's ActionSupport.</p></td></tr></table>
+
+<table cellpadding='5' width='85%' cellspacing='8px' class='noteMacro' border="0" align='center'><colgroup><col width='24'><col></colgroup><tr><td valign='top'><img src="./icons/emoticons/warning.gif" width="16" height="16" align="absmiddle" alt="" border="0"></td><td><b class="strong">Default Location Parameter</b><br />
+<p>If no param tag eg. &lt;param name="location"&gt; ,,, &lt;/param&gt;  is given as child of the &lt;result ..&gt; tag, XWork will assume the text enclosed within the &lt;result&gt; &lt;/result&gt; tags to be the location.</p></td></tr></table>
+
+<table cellpadding='5' width='85%' cellspacing='8px' class='noteMacro' border="0" align='center'><colgroup><col width='24'><col></colgroup><tr><td valign='top'><img src="./icons/emoticons/warning.gif" width="16" height="16" align="absmiddle" alt="" border="0"></td><td><b class="strong">Default Result Type</b><br />
 <p>If no type attribute is specified in the &lt;result ...&gt; tag, XWork assume the type to be dispatcher. (Analogus to Servlet's Specs. SerlvetDispatcher's forward).</p></td></tr></table>
 
                     			    </td>

File docs/wikidocs/VisitorFieldValidator Annotation.html

 	    <table class="pagecontent" border="0" cellpadding="0" cellspacing="0" width="100%" bgcolor="#ffffff">
 		    <tr>
 			    <td valign="top" class="pagebody">
-				    <p>The validator allows you to forward validator to object properties of your action
-using the objects own validator files. This allows you to use the ModelDriven development
-pattern and manage your validations for your models in one place, where they belong, next to
-your model classes.</p>
-
-<p>The VisitorFieldValidator can handle either simple Object properties, Collections of Objects, or Arrays.
-The error message for the VisitorFieldValidator will be appended in front of validator messages added
-by the validations for the Object message.</p>
-
-<h2><a name="VisitorFieldValidatorAnnotation-Usage"></a>Usage</h2>
-
-<p><p/>The annotation must be applied at method level.</p>
-
-<h2><a name="VisitorFieldValidatorAnnotation-Parameters"></a>Parameters</h2>
-
-<p><table class='confluenceTable'>
-<tr>
-<th class='confluenceTh'> Parameter </th>
-<th class='confluenceTh'> Required </th>
-<th class='confluenceTh'> Default </th>
-<th class='confluenceTh'> Notes </th>
-</tr>
-<tr>
-<td class='confluenceTd'>message</td>
-<td class='confluenceTd'>yes</td>
-<td class='confluenceTd'>&nbsp;</td>
-<td class='confluenceTd'>field error message</td>
-</tr>
-<tr>
-<td class='confluenceTd'>key</td>
-<td class='confluenceTd'>no</td>
-<td class='confluenceTd'>&nbsp;</td>
-<td class='confluenceTd'>i18n key from language specific properties file.</td>
-</tr>
-<tr>
-<td class='confluenceTd'>fieldName</td>
-<td class='confluenceTd'>no</td>
-<td class='confluenceTd'>&nbsp;</td>
-<td class='confluenceTd'>&nbsp;</td>
-</tr>
-<tr>
-<td class='confluenceTd'>shortCircuit</td>
-<td class='confluenceTd'>no</td>
-<td class='confluenceTd'>false</td>
-<td class='confluenceTd'>If this validator should be used as shortCircuit.</td>
-</tr>
-<tr>
-<td class='confluenceTd'>type</td>
-<td class='confluenceTd'>yes</td>
-<td class='confluenceTd'>ValidatorType.FIELD</td>
-<td class='confluenceTd'>Enum value from ValidatorType. Either FIELD or SIMPLE can be used here.</td>
-</tr>
-<tr>
-<td class='confluenceTd'> context </td>
-<td class='confluenceTd'> no </td>
-<td class='confluenceTd'> action alias </td>
-<td class='confluenceTd'> Determines the context to use for validating the Object property. If not defined, the context of the Action validation is propogated to the Object property validation.  In the case of Action validation, this context is the Action alias.  </td>
-</tr>
-<tr>
-<td class='confluenceTd'> appendPrefix </td>
-<td class='confluenceTd'> no </td>
-<td class='confluenceTd'> true </td>
-<td class='confluenceTd'> Determines whether the field name of this field validator should be prepended to the field name of the visited field to determine the full field name when an error occurs.  For example, suppose that the bean being validated has a "name" property.  If <em>appendPrefix</em> is true, then the field error will be stored under the field "bean.name".  If <em>appendPrefix</em> is false, then the field error will be stored under the field "name".  <br clear="all" /> <img class="emoticon" src="icons/emoticons/warning.gif" height="16" width="16" align="absmiddle" alt="" border="0"/> If you are using the VisitorFieldValidator to validate the model from a ModelDriven Action, you should set <em>appendPrefix</em> to false unless you are using "model.name" to reference the properties on your model. </td>
-</tr>
-</table></p>
-
-<h2><a name="VisitorFieldValidatorAnnotation-Examples"></a>Examples</h2>
-
-<div class="code"><div class="codeContent">
-<pre class="code-java">@VisitorFieldValidator(message = <span class="code-quote">"Default message"</span>, key = <span class="code-quote">"i18n.key"</span>, shortCircuit = <span class="code-keyword">true</span>, context = <span class="code-quote">"action alias"</span>, appendPrefix = <span class="code-keyword">true</span>)</pre>
-</div></div>
+				    <p>The validator allows you to forward validator to object properties of your action
+using the objects own validator files. This allows you to use the ModelDriven development
+pattern and manage your validations for your models in one place, where they belong, next to
+your model classes.</p>
+
+<p>The VisitorFieldValidator can handle either simple Object properties, Collections of Objects, or Arrays.
+The error message for the VisitorFieldValidator will be appended in front of validator messages added
+by the validations for the Object message.</p>
+
+<h2><a name="VisitorFieldValidatorAnnotation-Usage"></a>Usage</h2>
+
+<p><p/>The annotation must be applied at method level.</p>
+
+<h2><a name="VisitorFieldValidatorAnnotation-Parameters"></a>Parameters</h2>
+
+<p><table class='confluenceTable'>
+<tr>
+<th class='confluenceTh'> Parameter </th>
+<th class='confluenceTh'> Required </th>
+<th class='confluenceTh'> Default </th>
+<th class='confluenceTh'> Notes </th>
+</tr>
+<tr>
+<td class='confluenceTd'>message</td>
+<td class='confluenceTd'>yes</td>
+<td class='confluenceTd'>&nbsp;</td>
+<td class='confluenceTd'>field error message</td>
+</tr>
+<tr>
+<td class='confluenceTd'>key</td>
+<td class='confluenceTd'>no</td>
+<td class='confluenceTd'>&nbsp;</td>
+<td class='confluenceTd'>i18n key from language specific properties file.</td>
+</tr>
+<tr>
+<td class='confluenceTd'>fieldName</td>
+<td class='confluenceTd'>no</td>
+<td class='confluenceTd'>&nbsp;</td>
+<td class='confluenceTd'>&nbsp;</td>
+</tr>
+<tr>
+<td class='confluenceTd'>shortCircuit</td>
+<td class='confluenceTd'>no</td>
+<td class='confluenceTd'>false</td>
+<td class='confluenceTd'>If this validator should be used as shortCircuit.</td>
+</tr>
+<tr>
+<td class='confluenceTd'>type</td>
+<td class='confluenceTd'>yes</td>
+<td class='confluenceTd'>ValidatorType.FIELD</td>
+<td class='confluenceTd'>Enum value from ValidatorType. Either FIELD or SIMPLE can be used here.</td>
+</tr>
+<tr>
+<td class='confluenceTd'> context </td>
+<td class='confluenceTd'> no </td>
+<td class='confluenceTd'> action alias </td>
+<td class='confluenceTd'> Determines the context to use for validating the Object property. If not defined, the context of the Action validation is propogated to the Object property validation.  In the case of Action validation, this context is the Action alias.  </td>
+</tr>
+<tr>
+<td class='confluenceTd'> appendPrefix </td>
+<td class='confluenceTd'> no </td>
+<td class='confluenceTd'> true </td>
+<td class='confluenceTd'> Determines whether the field name of this field validator should be prepended to the field name of the visited field to determine the full field name when an error occurs.  For example, suppose that the bean being validated has a "name" property.  If <em>appendPrefix</em> is true, then the field error will be stored under the field "bean.name".  If <em>appendPrefix</em> is false, then the field error will be stored under the field "name".  <br clear="all" /> <img class="emoticon" src="/images/icons/emoticons/warning.gif" height="16" width="16" align="absmiddle" alt="" border="0"/> If you are using the VisitorFieldValidator to validate the model from a ModelDriven Action, you should set <em>appendPrefix</em> to false unless you are using "model.name" to reference the properties on your model. </td>
+</tr>
+</table></p>
+
+<h2><a name="VisitorFieldValidatorAnnotation-Examples"></a>Examples</h2>
+
+<div class="code"><div class="codeContent">
+<pre class="code-java">@VisitorFieldValidator(message = <span class="code-quote">"Default message"</span>, key = <span class="code-quote">"i18n.key"</span>, shortCircuit = <span class="code-keyword">true</span>, context = <span class="code-quote">"action alias"</span>, appendPrefix = <span class="code-keyword">true</span>)</pre>
+</div></div>
 
 
                     			    </td>

File docs/wikidocs/XWork Actions.html

 	    <table class="pagecontent" border="0" cellpadding="0" cellspacing="0" width="100%" bgcolor="#ffffff">
 		    <tr>
 			    <td valign="top" class="pagebody">
-				    <p>XWork2 Action serves as to capture a particular execution logic. It is distinguished by its unique name and namespace combination. </p>
-
-<table cellpadding='5' width='85%' cellspacing='8px' class='warningMacro' border="0" align='center'><colgroup><col width='24'><col></colgroup><tr><td valign='top'><img src="icons/emoticons/forbidden.gif" width="16" height="16" align="absmiddle" alt="" border="0"></td><td>
-<p>XWork2 parses its xml configuration according to order. If an action extends off another parent action, the parent action MUST be defined before the action that planned to extend it</p></td></tr></table>
-
-<h2><a name="XWorkActions-Nameandnamespace"></a>Name and namespace</h2>
-<p>An action is identified by its name and namespace combination. By default, if an action with a specified name and namespace does not exists, it will fall back to an action with the same name but a default namespace (empty namespace) if such a combination exists.</p>
-<div class="code"><div class="codeContent">
+				    <p>XWork2 Action serves as to capture a particular execution logic. It is distinguished by its unique name and namespace combination. </p>