Adds some love to valdiation section
diff --git a/source/core-developers/basic-validation.md b/source/core-developers/basic-validation.md
index 9db87bc..96c4281 100644
--- a/source/core-developers/basic-validation.md
+++ b/source/core-developers/basic-validation.md
@@ -1,20 +1,24 @@
 ---
 layout: core-developers
 title: Basic Validation
+parent:
+    title: Validation
+    url: validation.html
 ---
 
 # Basic Validation
+{:.no_toc}
 
-Let's configure a basic validation workflow, step by step\.
+* Will be replaced with the ToC, excluding a header
+{:toc}
+
+Let's configure a basic validation workflow, step by step.
 
 ## Step 1
 
-Create the input form\.
+Create the input form.
 
-{% comment %}start snippet id=basicValidation|javadoc=false|lang=xml|url=struts2/apps/showcase/src/main/webapp/WEB-INF/validation/quiz-basic.jsp {% endcomment %}
-
-```xml
-
+```html
 <html>
 <head>
 	<title>Struts2 Showcase - Validation - Basic</title>
@@ -47,19 +51,13 @@
 </div>
 </body>
 </html>
-
 ```
 
-{% comment %}end snippet id=basicValidation|javadoc=false|lang=xml|url=struts2/apps/showcase/src/main/webapp/WEB-INF/validation/quiz-basic.jsp {% endcomment %}
-
 ## Step 2
 
-Create the Action class\.
-
-{% comment %}start snippet id=quizAction|javadoc=false|lang=java|url=struts2/apps/showcase/src/main/java/org/apache/struts2/showcase/validation/QuizAction.java {% endcomment %}
+Create the Action class.
 
 ```java
-
 public class QuizAction extends ActionSupport {
 
 	private static final long serialVersionUID = -7505437345373234225L;
@@ -92,17 +90,12 @@
 		this.answer = answer;
 	}
 }
-
-
 ```
 
-{% comment %}end snippet id=quizAction|javadoc=false|lang=java|url=struts2/apps/showcase/src/main/java/org/apache/struts2/showcase/validation/QuizAction.java {% endcomment %}
-
 ## Step 3
 
-Create the validators\. The `validation.xml` format is either `<ActionClassName>-validation.xml` or `<ActionClassName>-<ActionAliasName>-validation.xml`\.
-
-{% comment %}start snippet id=quizValidators|javadoc=false|lang=xml|url=struts2/apps/showcase/src/main/resources/org/apache/struts2/showcase/validation/QuizAction-validation.xml {% endcomment %}
+Create the validators. The `validation.xml` format is either `<ActionClassName>-validation.xml`
+or `<ActionClassName>-<ActionAliasName>-validation.xml`.
 
 ```xml
 <!--
@@ -123,16 +116,11 @@
         </field-validator>
     </field>
 </validators>
-
-
 ```
 
-{% comment %}end snippet id=quizValidators|javadoc=false|lang=xml|url=struts2/apps/showcase/src/main/resources/org/apache/struts2/showcase/validation/QuizAction-validation.xml {% endcomment %}
-
 ## Step 4
 
-Make sure there is a result for "input" listed in the struts\.xml for when the validation fails:
-
+Make sure there is a result for "input" listed in the struts.xml for when the validation fails:
 
 ```xml
 <action name="HelloWorld" class="tutorial.HelloWorld">
@@ -143,4 +131,4 @@
 
 ```
 
-If you don't have this, you'll get a: "No result defined for action xxx\.xxx\.tutorial\.HellowWorld and result input" error
+If you don't have this, you'll get a: "No result defined for action xxx.xxx.tutorial.HellowWorld and result input" error.
diff --git a/source/core-developers/client-side-validation.md b/source/core-developers/client-side-validation.md
index 5bcc14b..28f6817 100644
--- a/source/core-developers/client-side-validation.md
+++ b/source/core-developers/client-side-validation.md
@@ -1,38 +1,44 @@
 ---
 layout: core-developers
 title: Client Side Validation
+parent:
+    title: Validation
+    url: validation.html
 ---
 
 # Client Side Validation
+{:.no_toc}
 
-The framework adds support for client\-side validation on top of the standard validation framework\.
+* Will be replaced with the ToC, excluding a header
+{:toc}
 
-Client\-side validation can be enabled on a per\-form basis by specifying `validate="true"` in the _form_  tag\.
+## Basics
 
+The framework adds support for client-side validation on top of the standard validation framework.
+
+Client-side validation can be enabled on a per-form basis by specifying `validate="true"` in the _form_ tag.
 
 ```jsp
 <s:form name="test" action="javascriptValidation" validate="true">
   ...
 </s:form>
-
 ```
 
-If a `name` for the form is not given, the action mapping name will be used as the form name\. Otherwise, a correct `action` and `namespace` attributes must be provided to the `<saf:form>` tag\.
+If a `name` for the form is not given, the action mapping name will be used as the form name. Otherwise, a correct 
+`action` and `namespace` attributes must be provided to the `<saf:form>` tag.
 
-**Referencing "submitProfile" in the "/user" namespace**
-
+## Referencing "submitProfile" in the "/user" namespace
 
 ```jsp
 <s:form namespace="/user" action="submitProfile" validate="true">
   ...
 </s:form>
-
 ```
 
-Technically, the form's action attribute can refer to a "path" that includes the namespace and action as a URI\. But, client\-side validation **requires** that the action name and namespeact to be set separately\.
+Technically, the form's action attribute can refer to a "path" that includes the namespace and action as a URI. 
+But, client-side validation **requires** that the action name and namespeact to be set separately.
 
-**Won't work with client\-side validation\!**
-
+## Won't work with client-side validation!
 
 ```jsp
 <s:form action="/user/submitProfile.action" validate="true">
@@ -41,23 +47,20 @@
 
 ```
 
-All the usual [validation configuration](#PAGE_14292) steps apply to client\-side validation\. Client\-side validation uses the same validation rules as server\-side validation\. If server\-side validation doesn't work, then client\-side validation won't work either\.
+All the usual [validation configuration](validation) steps apply to client-side validation. Client-side validation 
+uses the same validation rules as server-side validation. If server-side validation doesn't work, then client-side 
+validation won't work either.
 
-**(i) The left hand doesn't know \.\.\.**
+## The left hand doesn't know ...
 
-
-> 
-
-> 
-
-> The required attribute on many _Struts Tags_  is not integrated with client\-side validation\! The tag attribute is used by certain themes (like xhtml) to put a visual marker (usually '\*') next to the field\. The tag doesn't know if the validation system actually "requires" the field or not\.
-
-> 
+> The required attribute on many _Struts Tags_ is not integrated with client-side validation! The tag attribute is used 
+> by certain themes (like xhtml) to put a visual marker (usually '*') next to the field. The tag doesn't know 
+> if the validation system actually "requires" the field or not.
 
 ## Client Side Validation Types
 
-There are two styles of client side validation\.
+There are two styles of client side validation.
 
-|[Pure JavaScript Client Side Validation](pure-java-script-client-side-validation.html)|Used by the _xhtml theme_  and _css\_xhtml theme_ |
+|[Pure JavaScript Client Side Validation](pure-java-script-client-side-validation)|Used by the _xhtml theme_ and _css_xhtml theme_|
 |-----------------------------------------------------|--------------------------------------------------|
-|[AJAX Client Side Validation](ajax-client-side-validation.html)|Used by the _ajax theme_ |
+|[AJAX Client Side Validation](ajax-client-side-validation)|Used by the _ajax theme_ |
diff --git a/source/core-developers/conditionalvisitor-validator.md b/source/core-developers/conditionalvisitor-validator.md
index 8d02407..8e5fcfe 100644
--- a/source/core-developers/conditionalvisitor-validator.md
+++ b/source/core-developers/conditionalvisitor-validator.md
@@ -1,13 +1,21 @@
 ---
 layout: core-developers
 title: conditionalvisitor validator
+parent:
+    title: Validation
+    url: validation.html
 ---
 
 # conditionalvisitor validator
+{:.no_toc}
+
+* Will be replaced with the ToC, excluding a header
+{:toc}
 
 ## Description
 
-The ConditionalVisitorFieldValidator will forward validation to the VisitorFieldValidator only if the expression will evaluate to true.
+The ConditionalVisitorFieldValidator will forward validation to the VisitorFieldValidator only if the expression 
+will evaluate to true.
 
 ## Parameters
 
@@ -15,7 +23,7 @@
 
 ## Examples
 
-```
+```xml
 <field name="colleaguePosition">
     <field-validator type="conditionalvisitor">
         <param name="expression">reason == 'colleague' and colleaguePositionID == 'OTHER'</param>
diff --git a/source/core-developers/conversion-validator.md b/source/core-developers/conversion-validator.md
index f7ec644..6479eee 100644
--- a/source/core-developers/conversion-validator.md
+++ b/source/core-developers/conversion-validator.md
@@ -1,9 +1,16 @@
 ---
 layout: core-developers
 title: conversion validator
+parent:
+    title: Validation
+    url: validation.html
 ---
 
 # conversion validator
+{:.no_toc}
+
+* Will be replaced with the ToC, excluding a header
+{:toc}
 
 ## Description
 
@@ -15,7 +22,7 @@
 
 ## Examples
 
-```
+```xml
 <!-- Plain Validator Syntax -->
 <validator type="conversion">
         <param name="fieldName">myField</param>
@@ -32,11 +39,15 @@
 
 ## Repopulating Field upon conversion Error
 
- The capability of auto-repopulating the stack with a fake parameter map when a conversion error has occurred can be done with `repopulateField` property set to `true`.
+> The capability of auto-repopulating the stack with a fake parameter map when a conversion error has occurred can be 
+> done with `repopulateField` property set to `true`.
 
-This is typically useful when one wants to repopulate the field with the original value when a conversion error occurred. Eg. with a textfield that only allows an Integer (the action class have an Integer field declared), upon conversion error, the incorrectly entered integer (maybe a text 'one') will not appear when dispatched back. With `repopulateField` property set to true, it will, meaning the textfield will have 'one' as its value upon conversion error.
+This is typically useful when one wants to repopulate the field with the original value when a conversion error occurred. 
+Eg. with a textfield that only allows an Integer (the action class have an Integer field declared), upon conversion error, 
+the incorrectly entered integer (maybe a text 'one') will not appear when dispatched back. With `repopulateField` 
+property set to true, it will, meaning the textfield will have 'one' as its value upon conversion error.
 
-```
+```html
 <!-- myJspPage.jsp -->
 <s:form action="someAction" method="POST">
   ....
@@ -46,36 +57,38 @@
 </s:form>
 ```
 
-```
-<!-- xwork.xml -->
-<xwork>
-<include file="xwork-default.xml" />
+```xmls
+<struts>
 ....
-<package name="myPackage" extends="xwork-default">
-  ....
-  <action name="someAction" class="example.MyActionSupport.java">
-     <result name="input">myJspPage.jsp</result>
-     <result>success.jsp</result>
-  </action>
-  ....
-</package>
+    <package name="myPackage" extends="struts-default">
+      ....
+      <action name="someAction" class="example.MyActionSupport.java">
+         <result name="input">myJspPage.jsp</result>
+         <result>success.jsp</result>
+      </action>
+      ....
+    </package>
 ....
-</xwork>
+</struts>
 ```
 
-```
-<!-- MyActionSupport.java -->
+```java
+/** MyActionSupport.java **/
 public class MyActionSupport extends ActionSupport {
-   private Integer myIntegerField;
- 
-   public Integer getMyIntegerField() { return this.myIntegerField; }
-   public void setMyIntegerField(Integer myIntegerField) {
-      this.myIntegerField = myIntegerField;
-   }
+    
+    private Integer myIntegerField;
+    
+    public Integer getMyIntegerField() { 
+        return this.myIntegerField; 
+    }
+    
+    public void setMyIntegerField(Integer myIntegerField) {
+        this.myIntegerField = myIntegerField;
+    }
 }
 ```
 
-```
+```xml
 <!-- MyActionSupport-someAction-validation.xml -->
 <validators>
   ...
diff --git a/source/core-developers/date-validator.md b/source/core-developers/date-validator.md
index e30168d..5a9fadd 100644
--- a/source/core-developers/date-validator.md
+++ b/source/core-developers/date-validator.md
@@ -1,15 +1,23 @@
 ---
 layout: core-developers
 title: date validator
+parent:
+    title: Validation
+    url: validation.html
 ---
 
 # date validator
+{:.no_toc}
+
+* Will be replaced with the ToC, excluding a header
+{:toc}
 
 ## Description
 
 Field Validator that checks if the date supplied is within a specific range.
 
-**NOTE:** If no date converter is specified, `XWorkBasicConverter` will kick in to do the date conversion, which by default using the `Date.SHORT` format using the specified locale else falling back to the system default locale.
+> NOTE: If no date converter is specified, `XWorkBasicConverter` will kick in to do the date conversion, which 
+> by default using the `Date.SHORT` format using the specified locale else falling back to the system default locale.
 
 ## Parameters
 
@@ -20,14 +28,14 @@
 - `minExpression` - expression to calculate the minimum value (if none is specified, it will not be checked).
 - `maxExpression` - expression to calculate the maximum value (if none is specified, it will not be checked).
 
-You can either use the `min` / `max` value or `minExpression` / `maxExpression` (when `parse` is set to `true`) - using expression can be slightly slower, see the example below.
+You can either use the `min` / `max` value or `minExpression` / `maxExpression` (when `parse` is set to `true`) - 
+using expression can be slightly slower, see the example below.
 
-> Warning
-> Do not use `${minExpression}` and `${maxExpression}` as an expression as this will turn into infinitive loop!
+> Warning: Do not use `${minExpression}` and `${maxExpression}` as an expression as this will turn into infinitive loop!
 
 ## Examples
 
-```
+```xml
 <validators>
     <!-- Plain Validator syntax -->
     <validator type="date">
diff --git a/source/core-developers/double-validator.md b/source/core-developers/double-validator.md
index 3f38b57..a925407 100644
--- a/source/core-developers/double-validator.md
+++ b/source/core-developers/double-validator.md
@@ -1,9 +1,16 @@
 ---
 layout: core-developers
 title: double validator
+parent:
+    title: Validation
+    url: validation.html
 ---
 
 # double validator
+{:.no_toc}
+
+* Will be replaced with the ToC, excluding a header
+{:toc}
 
 ## Description
 
@@ -21,14 +28,16 @@
 - `minExclusiveExpression` - the minimum exclusive value specified as a OGNL expression (if none is specified, it will not be checked).
 - `maxExclusiveExpression` - the maximum exclusive value specified as a OGNL expression (if none is specified, it will not be checked).
 
-You can specify either `minInclusive`, `maxInclusive`, `minExclusive` and `maxExclusive` or `minInclusiveExpression`, `maxInclusiveExpression`, `minExclusiveExpression` and `maxExclusiveExpression` as a OGNL expression, see example below. You can always try to mix params but be aware that such behaviour was not tested.
+You can specify either `minInclusive`, `maxInclusive`, `minExclusive` and `maxExclusive` or `minInclusiveExpression`, 
+`maxInclusiveExpression`, `minExclusiveExpression` and `maxExclusiveExpression` as a OGNL expression, see example below. 
+You can always try to mix params but be aware that such behaviour was not tested.
 
-> Warning
-> Do not use `${minInclusiveExpression}`, `${maxInclusiveExpression}`, `${minExclusiveExpressionExpression}` and `${maxExclusive}` as an expression as this will turn into infinitive loop!
+> Warning: do not use `${minInclusiveExpression}`, `${maxInclusiveExpression}`, `${minExclusiveExpressionExpression}` 
+> and `${maxExclusive}` as an expression as this will turn into infinitive loop!
 
 ## Examples
 
-```
+```xml
 <validators>
     <!-- Plain Validator Syntax -->
     <validator type="double">
diff --git a/source/core-developers/email-validator.md b/source/core-developers/email-validator.md
index 73b3a48..a3e78cb 100644
--- a/source/core-developers/email-validator.md
+++ b/source/core-developers/email-validator.md
@@ -1,9 +1,16 @@
 ---
 layout: core-developers
 title: email validator
+parent:
+    title: Validation
+    url: validation.html
 ---
 
 # email validator
+{:.no_toc}
+
+* Will be replaced with the ToC, excluding a header
+{:toc}
 
 ## Description
 
@@ -12,9 +19,11 @@
 The regular expression used to validate that the string is an email address is:
 
 ```
-\\b^['_a-z0-9-\\+](\\.['_a-z0-9-\\+])@[a-z0-9-](\\.[a-z0-9-])\\.([a-z]{2,6})$\\b
+\\b^['_a-z0-9-\\+]+(\\.['_a-z0-9-\\+]+)*@[a-z0-9-]+(\\.[a-z0-9-]+)*\\.([a-z]{2,6})$\\b
 ```
 
+> This Regex can change, please always check in the [source code](https://github.com/apache/struts/blob/master/core/src/main/java/com/opensymphony/xwork2/validator/validators/EmailValidator.java#L83)
+
 You can also specify `expression`, `caseSensitive` and `trim` params as a OGNL expression, see the example below.
 
 ## Parameters
@@ -23,12 +32,12 @@
 
 Check also documentation of the `RegexpValidator` for more details - the EmailValidator is based on it.
 
-> Warning
-> Do not use `${regexExpression}`, `${caseSensitiveExpression}` and `${trimExpression}` as an expression as this will turn into infinitive loop!
+> Warning: do not use `${regexExpression}`, `${caseSensitiveExpression}` and `${trimExpression}` as an expression 
+> as this will turn into infinitive loop!
 
 ## Examples
 
-```
+```xml
 <!-- Plain Validator Syntax -->
 <validators>
     <validator type="email">
diff --git a/source/core-developers/expression-validator.md b/source/core-developers/expression-validator.md
index 3d897b4..e49dee1 100644
--- a/source/core-developers/expression-validator.md
+++ b/source/core-developers/expression-validator.md
@@ -1,9 +1,16 @@
 ---
 layout: core-developers
 title: expression validator
+parent:
+    title: Validation
+    url: validation.html
 ---
 
 # expression validator
+{:.no_toc}
+
+* Will be replaced with the ToC, excluding a header
+{:toc}
 
 ## Description
 
@@ -15,7 +22,7 @@
 
 ## Examples
 
-```
+```xml
 <validators>
       <validator type="expression">
          <param name="expression"> .... </param>
diff --git a/source/core-developers/fieldexpression-validator.md b/source/core-developers/fieldexpression-validator.md
index e39ae9e..b2e595d 100644
--- a/source/core-developers/fieldexpression-validator.md
+++ b/source/core-developers/fieldexpression-validator.md
@@ -1,9 +1,16 @@
 ---
 layout: core-developers
 title: fieldexpression validator
+parent:
+    title: Validation
+    url: validation.html
 ---
 
 # fieldexpression validator
+{:.no_toc}
+
+* Will be replaced with the ToC, excluding a header
+{:toc}
 
 ## Description
 
@@ -16,7 +23,7 @@
 
 ## Examples
 
-```
+```xml
 <!-- Plain Validator Syntax -->
 <validators>
     <!-- Plain Validator Syntax -->
@@ -33,5 +40,5 @@
             <message>My credit limit should be MORE than my girlfriend</message>
         </field-validator>
     </field>
-</vaidators>
+</validators>
 ```
diff --git a/source/core-developers/int-validator.md b/source/core-developers/int-validator.md
index 8fd31e9..afa990d 100644
--- a/source/core-developers/int-validator.md
+++ b/source/core-developers/int-validator.md
@@ -1,9 +1,16 @@
 ---
 layout: core-developers
 title: int validator
+parent:
+    title: Validation
+    url: validation.html
 ---
 
 # int validator
+{:.no_toc}
+
+* Will be replaced with the ToC, excluding a header
+{:toc}
 
 ## Description
 
@@ -18,14 +25,14 @@
 - `minExpression` - expression to calculate the minimum value (if none is specified, it will not be checked)
 - `maxExpression` - expression to calculate the maximum value (if none is specified, it will not be checked) 
 
-You can either use the `min` / `max` value or `minExpression` / `maxExpression` (when `parse` is set to `true`) - using expression can be slightly slower, see the example below.
+You can either use the `min` / `max` value or `minExpression` / `maxExpression` (when `parse` is set to `true`) - using 
+expression can be slightly slower, see the example below.
 
-> Warning
-> Do not use `${minExpression}` and `${maxExpression}` as an expression as this will turn into infinitive loop!
+> Warning: do not use `${minExpression}` and `${maxExpression}` as an expression as this will turn into infinitive loop!
 
 ## Examples
 
-```
+```xml
 <validators>
      <!-- Plain Validator Syntax -->
      <validator type="int">
diff --git a/source/core-developers/namespace-annotation.md b/source/core-developers/namespace-annotation.md
index f020a21..4eb18ab 100644
--- a/source/core-developers/namespace-annotation.md
+++ b/source/core-developers/namespace-annotation.md
@@ -7,14 +7,15 @@
 
 ## Namespace Annotation
 
-The `@Namespace` annotation allows the definition of an Action's namespace in the `Action` class rather than based on [Zero Configuration](zero-configuration.html)'s conventions\.
+The `@Namespace` annotation allows the definition of an Action's namespace in the `Action` class rather than based 
+on [Convention Plugin](../plugins/convention/)'s conventions.
 
 ### Usage
 
-This annotation is placed at the class level\.
+This annotation is placed at the class level.
 
 ### Parameters
 
 | Name | Type | Required | Description |
 |------|------|----------|-------------|
-| value | String | true | The namespace to use for the annotated action class\. |
+| value | String | true | The namespace to use for the annotated action class.|
diff --git a/source/core-developers/regex-validator.md b/source/core-developers/regex-validator.md
index f14b3a8..697157e 100644
--- a/source/core-developers/regex-validator.md
+++ b/source/core-developers/regex-validator.md
@@ -1,9 +1,16 @@
 ---
 layout: core-developers
 title: regex validator
+parent:
+    title: Validation
+    url: validation.html
 ---
 
 # regex validator
+{:.no_toc}
+
+* Will be replaced with the ToC, excluding a header
+{:toc}
 
 ## Description
 
@@ -21,12 +28,12 @@
 
 You can mix normal params with expression aware params but thus was not tested.
 
-> Warning
-> Do not use `${regexExpression}`, `${caseSensitiveExpression}` and `${trimExpression}` as an expression as this will turn into infinitive loop! 
+> Warning: do not use `${regexExpression}`, `${caseSensitiveExpression}` and `${trimExpression}` as an expression 
+> as this will turn into infinitive loop! 
 
 ## Examples
 
-```
+```xml
 <validators>
     <!-- Plain Validator Syntax -->
     <validator type="regex">
diff --git a/source/core-developers/required-validator.md b/source/core-developers/required-validator.md
index 2fdee0e..d11f03e 100644
--- a/source/core-developers/required-validator.md
+++ b/source/core-developers/required-validator.md
@@ -1,9 +1,16 @@
 ---
 layout: core-developers
 title: required validator
+parent:
+    title: Validation
+    url: validation.html
 ---
 
 # required validator
+{:.no_toc}
+
+* Will be replaced with the ToC, excluding a header
+{:toc}
 
 ## Description
 
@@ -15,7 +22,7 @@
 
 ## Examples
 
-```
+```xml
 <validators>
     <!-- Plain Validator Syntax -->
     <validator type="required">
diff --git a/source/core-developers/requiredstring-validator.md b/source/core-developers/requiredstring-validator.md
index 996f969..cecf957 100644
--- a/source/core-developers/requiredstring-validator.md
+++ b/source/core-developers/requiredstring-validator.md
@@ -1,13 +1,21 @@
 ---
 layout: core-developers
 title: requiredstring validator
+parent:
+    title: Validation
+    url: validation.html
 ---
 
 # requiredstring validator
+{:.no_toc}
+
+* Will be replaced with the ToC, excluding a header
+{:toc}
 
 ## Description
 
-RequiredStringValidator checks that a String field is non-null and has a length > 0. (i.e. it isn't ""). The `trim` parameter determines whether it will `String#trim()` the String before performing the length check. If unspecified, the String will be trimmed.
+RequiredStringValidator checks that a String field is non-null and has a length > 0. (i.e. it isn't ""). The `trim` parameter 
+determines whether it will `String#trim()` the String before performing the length check. If unspecified, the String will be trimmed.
 
 ## Parameters
 
@@ -17,7 +25,7 @@
 
 ## Examples
 
-```
+```xml
 <validators>
     <!-- Plain-Validator Syntax -->
     <validator type="requiredstring">
diff --git a/source/core-developers/short-validator.md b/source/core-developers/short-validator.md
index dad4edf..e53cb78 100644
--- a/source/core-developers/short-validator.md
+++ b/source/core-developers/short-validator.md
@@ -1,9 +1,16 @@
 ---
 layout: core-developers
 title: short validator
+parent:
+    title: Validation
+    url: validation.html
 ---
 
 # short validator
+{:.no_toc}
+
+* Will be replaced with the ToC, excluding a header
+{:toc}
 
 ## Description
 
@@ -18,14 +25,14 @@
 - `minExpression` - expression to calculate the minimum value (if none is specified, it will not be checked).
 - `maxExpression` - expression to calculate the maximum value (if none is specified, it will not be checked).
 
-You can either use the `min` / `max` value or `minExpression` / `maxExpression` (when `parse` is set to `true`) - using expression can be slightly slower, see the example below.
+You can either use the `min` / `max` value or `minExpression` / `maxExpression` (when `parse` is set to `true`) - using 
+expression can be slightly slower, see the example below.
 
-> Warning
-> Do not use `${minExpression}` and `${maxExpression}` as an expression as this will turn into infinitive loop!
+> Warning: do not use `${minExpression}` and `${maxExpression}` as an expression as this will turn into infinitive loop!
 
 ## Examples
 
-```
+```xml
 <validators>
     <!-- Plain Validator Syntax -->
     <validator type="short">
diff --git a/source/core-developers/stringlength-validator.md b/source/core-developers/stringlength-validator.md
index 5a8fe4c..2c9995c 100644
--- a/source/core-developers/stringlength-validator.md
+++ b/source/core-developers/stringlength-validator.md
@@ -1,13 +1,23 @@
 ---
 layout: core-developers
 title: stringlength validator
+parent:
+    title: Validation
+    url: validation.html
 ---
 
 # stringlength validator
+{:.no_toc}
+
+* Will be replaced with the ToC, excluding a header
+{:toc}
 
 ## Description
 
-StringLengthFieldValidator checks that a String field is of a certain length. If the `minLength` parameter is specified, it will make sure that the String has at least that many characters. If the `maxLength` parameter is specified, it will make sure that the String has at most that many characters. The `trim` parameter determines whether it will `String#trim()` the String before performing the length check. If unspecified, the String will be trimmed.
+StringLengthFieldValidator checks that a String field is of a certain length. If the `minLength` parameter is specified, 
+it will make sure that the String has at least that many characters. If the `maxLength` parameter is specified, it will 
+make sure that the String has at most that many characters. The `trim` parameter determines whether it will `String#trim()` 
+the String before performing the length check. If unspecified, the String will be trimmed.
 
 ## Parameters
 
@@ -19,12 +29,12 @@
 - `minLengthExpression` - (Optional) String. Defines the min length param as an OGNL expression.
 - `trimExpression` - (Optional) String. Defines th trim param as an OGNL expression.
 
-> Warning
-> Do not use `${minLengthExpression}`, `${maxLengthExpression}` and `${trimExpression}` as an expression as this will turn into infinitive loop!
+> Warning: do not use `${minLengthExpression}`, `${maxLengthExpression}` and `${trimExpression}` as an expression 
+> as this will turn into infinitive loop!
 
 ## Examples
 
-```
+```xml
 <validators>
     <!-- Plain Validator Syntax -->
     <validator type="stringlength">
diff --git a/source/core-developers/url-validator.md b/source/core-developers/url-validator.md
index 8d4a1e9..d3414dc 100644
--- a/source/core-developers/url-validator.md
+++ b/source/core-developers/url-validator.md
@@ -1,9 +1,16 @@
 ---
 layout: core-developers
 title: url validator
+parent:
+    title: Validation
+    url: validation.html
 ---
 
 # url validator
+{:.no_toc}
+
+* Will be replaced with the ToC, excluding a header
+{:toc}
 
 ## Description
 
@@ -17,7 +24,7 @@
 
 ## Examples
 
-```
+```xml
 <validators>
     <!-- Plain Validator Syntax -->
     <validator type="url">
@@ -34,4 +41,4 @@
 </validators>
 ```
 
-See more details in [UrlValidator Annotation](url-validator-annotation.html)
+See more details in [UrlValidator Annotation](url-validator-annotation)
diff --git a/source/core-developers/using-field-validators.md b/source/core-developers/using-field-validators.md
index eabfcb6..1ce668a 100644
--- a/source/core-developers/using-field-validators.md
+++ b/source/core-developers/using-field-validators.md
@@ -1,68 +1,64 @@
 ---
 layout: core-developers
 title: Using Field Validators
+parent:
+    title: Validation
+    url: validation.html
 ---
 
 # Using Field Validators
+{:.no_toc}
+
+* Will be replaced with the ToC, excluding a header
+{:toc}
 
 ## Description
 
 The followings show a simple example using Struts' Field Validators
 
-__Step 1__
+### Step 1
 
 Create the jsp page
 
-{% comment %}start snippet id=fieldValidatorsExample|lang=xml|javadoc=false|url=struts2/apps/showcase/src/main/webapp/WEB-INF/validation/fieldValidatorsExample.jsp {% endcomment %}
+```html
 
-```xml
+<h3>All Field Errors Will Appear Here</h3>
+<s:fielderror/>
+<hr/>
 
-            <h3>All Field Errors Will Appear Here</h3>
-            <s:fielderror/>
-            <hr/>
+<h3>Field Error due to 'Required String Validator Field' Will Appear Here</h3>
+<s:fielderror>
+    <s:param value="%{'requiredStringValidatorField'}"/>
+</s:fielderror>
+<hr/>
 
-            <h3>Field Error due to 'Required String Validator Field' Will Appear Here</h3>
-            <s:fielderror>
-                <s:param value="%{'requiredStringValidatorField'}"/>
-            </s:fielderror>
-            <hr/>
+<h3>Field Error due to 'String Length Validator Field' Will Appear Here</h3>
+<s:fielderror>
+    <s:param>stringLengthValidatorField</s:param>
+</s:fielderror>
+<hr/>
 
-            <h3>Field Error due to 'String Length Validator Field' Will Appear Here</h3>
-            <s:fielderror>
-                <s:param>stringLengthValidatorField</s:param>
-            </s:fielderror>
-            <hr/>
-
-            <s:form action="submitFieldValidatorsExamples" namespace="/validation" method="POST" theme="xhtml">
-                <s:textfield label="Required Validator Field" name="requiredValidatorField"/>
-                <s:textfield label="Required String Validator Field" name="requiredStringValidatorField"/>
-                <s:textfield label="Integer Validator Field" name="integerValidatorField"/>
-                <s:textfield label="Date Validator Field" name="dateValidatorField"/>
-                <s:textfield label="Email Validator Field" name="emailValidatorField"/>
-                <s:textfield label="URL Validator Field" name="urlValidatorField"/>
-                <s:textfield label="String Length Validator Field" name="stringLengthValidatorField"/>
-                <s:textfield label="Regex Validator Field" name="regexValidatorField"/>
-                <s:textfield label="Field Expression Validator Field" name="fieldExpressionValidatorField"/>
-                <s:submit label="Submit" cssClass="btn btn-primary"/>
-            </s:form>
-
-
+<s:form action="submitFieldValidatorsExamples" namespace="/validation" method="POST" theme="xhtml">
+    <s:textfield label="Required Validator Field" name="requiredValidatorField"/>
+    <s:textfield label="Required String Validator Field" name="requiredStringValidatorField"/>
+    <s:textfield label="Integer Validator Field" name="integerValidatorField"/>
+    <s:textfield label="Date Validator Field" name="dateValidatorField"/>
+    <s:textfield label="Email Validator Field" name="emailValidatorField"/>
+    <s:textfield label="URL Validator Field" name="urlValidatorField"/>
+    <s:textfield label="String Length Validator Field" name="stringLengthValidatorField"/>
+    <s:textfield label="Regex Validator Field" name="regexValidatorField"/>
+    <s:textfield label="Field Expression Validator Field" name="fieldExpressionValidatorField"/>
+    <s:submit label="Submit" cssClass="btn btn-primary"/>
+</s:form>
 ```
 
-{% comment %}end snippet id=fieldValidatorsExample|lang=xml|javadoc=false|url=struts2/apps/showcase/src/main/webapp/WEB-INF/validation/fieldValidatorsExample.jsp {% endcomment %}
-
-__Step 2__
+### Step 2
 
 Create the action class
 
-{% comment %}start snippet id=fieldValidatorsExample|javadoc=false|lang=java|url=struts2/apps/showcase/src/main/java/org/apache/struts2/showcase/validation/FieldValidatorsExampleAction.java {% endcomment %}
-
 ```java
- */
 public class FieldValidatorsExampleAction extends AbstractValidationActionSupport {
 
-    private static final long serialVersionUID = -4829381083003175423L;
-
     private String requiredValidatorField = null;
     private String requiredStringValidatorField = null;
     private Integer integerValidatorField = null;
@@ -147,21 +143,13 @@
         this.urlValidatorField = urlValidatorField;
     }
 }
-
-/**
-
 ```
 
-{% comment %}end snippet id=fieldValidatorsExample|javadoc=false|lang=java|url=struts2/apps/showcase/src/main/java/org/apache/struts2/showcase/validation/FieldValidatorsExampleAction.java {% endcomment %}
+### Step 3
 
-__Step 3__
-
-Create the validator\.xml\.
-
-{% comment %}start snippet id=fieldValidatorsExample|javadoc=false|lang=xml|url=struts2/apps/showcase/src/main/resources/org/apache/struts2/showcase/validation/FieldValidatorsExampleAction-submitFieldValidatorsExamples-validation.xml {% endcomment %}
+Create the `validator.xml`.
 
 ```xml
-  		
 <validators>
 	<field name="requiredValidatorField">
 		<field-validator type="required">
@@ -209,7 +197,7 @@
 	<field name="regexValidatorField">
 		<field-validator type="regex">
 			<param name="regex"><![CDATA[ [^<>]+ ]]></param>
-			<message><![CDATA[ regexValidatorField must match a regexp (.*\.txt) if specified ]]></message>
+			<message><![CDATA[ regexValidatorField must match a regexp (.*.txt) if specified ]]></message>
 		</field-validator>
 	</field>
 	<field name="fieldExpressionValidatorField">
@@ -219,8 +207,4 @@
 		</field-validator>
 	</field>
 </validators>
-
-
 ```
-
-{% comment %}end snippet id=fieldValidatorsExample|javadoc=false|lang=xml|url=struts2/apps/showcase/src/main/resources/org/apache/struts2/showcase/validation/FieldValidatorsExampleAction-submitFieldValidatorsExamples-validation.xml {% endcomment %}
diff --git a/source/core-developers/using-visitor-field-validator.md b/source/core-developers/using-visitor-field-validator.md
index 8c65a67..83504b0 100644
--- a/source/core-developers/using-visitor-field-validator.md
+++ b/source/core-developers/using-visitor-field-validator.md
@@ -1,48 +1,43 @@
 ---
 layout: core-developers
 title: Using Visitor Field Validator
+parent:
+    title: Validation
+    url: validation.html
 ---
 
 # Using Visitor Field Validator
+{:.no_toc}
+
+* Will be replaced with the ToC, excluding a header
+{:toc}
 
 ## Description
 
 The followings show a simple example using Webwork's Field Validators
 
-__Step 1__
+### Step 1
 
-Create the jsp page\.
+Create the jsp page.
 
-{% comment %}start snippet id=visitorValidatorsExample|lang=xml|javadoc=false|url=struts2/apps/showcase/src/main/webapp/WEB-INF/validation/visitorValidatorsExample.jsp {% endcomment %}
+```html
+<s:fielderror cssClass="alert alert-error"/>
 
-```xml
-
-			<s:fielderror cssClass="alert alert-error"/>
-
-			<s:form method="POST" action="submitVisitorValidatorsExamples" namespace="/validation">
-				<s:textfield name="user.name" label="User Name"/>
-				<s:textfield name="user.age" label="User Age"/>
-				<s:textfield name="user.birthday" label="Birthday"/>
-				<s:submit label="Submit" cssClass="btn btn-primary"/>
-			</s:form>
-
-
+<s:form method="POST" action="submitVisitorValidatorsExamples" namespace="/validation">
+    <s:textfield name="user.name" label="User Name"/>
+    <s:textfield name="user.age" label="User Age"/>
+    <s:textfield name="user.birthday" label="Birthday"/>
+    <s:submit label="Submit" cssClass="btn btn-primary"/>
+</s:form>
 ```
 
-{% comment %}end snippet id=visitorValidatorsExample|lang=xml|javadoc=false|url=struts2/apps/showcase/src/main/webapp/WEB-INF/validation/visitorValidatorsExample.jsp {% endcomment %}
+### Step 2
 
-__Step 2__
-
-Create the action class\.
-
-{% comment %}start snippet id=visitorValidatorsExample|javadoc=false|lang=java|url=struts2/apps/showcase/src/main/java/org/apache/struts2/showcase/validation/VisitorValidatorsExampleAction.java {% endcomment %}
+Create the action class.
 
 ```java
-
 public class VisitorValidatorsExampleAction extends AbstractValidationActionSupport {
 
-	private static final long serialVersionUID = 4375454086939598216L;
-
 	private User user;
 
 	public User getUser() {
@@ -53,46 +48,20 @@
 		this.user = user;
 	}
 }
-
-
-
 ```
 
-{% comment %}end snippet id=visitorValidatorsExample|javadoc=false|lang=java|url=struts2/apps/showcase/src/main/java/org/apache/struts2/showcase/validation/VisitorValidatorsExampleAction.java {% endcomment %}
+### Step 3
 
-__Step 3__
-
-Create the validator\.xml\.
-
-{% comment %}start snippet id=visitorValidatorsExample|javadoc=false|lang=xml|url=struts2/apps/showcase/src/main/resources/org/apache/struts2/showcase/validation/VisitorValidatorsExampleAction-submitVisitorValidatorsExamples-validation.xml {% endcomment %}
-
+Create the `validator.xml`.
 
 ```xml
-
-
-
 <validators>
-
 	<field name="user">
-
 		<field-validator type="visitor">
-
 			<param name="context">userContext</param>
-
 			<param name="appendPrefix">true</param>
-
 			<message>User:</message>
-
 		</field-validator>
-
 	</field>
-
 </validators>
-
-
-
-
 ```
-
-
-{% comment %}end snippet id=visitorValidatorsExample|javadoc=false|lang=xml|url=struts2/apps/showcase/src/main/resources/org/apache/struts2/showcase/validation/VisitorValidatorsExampleAction-submitVisitorValidatorsExamples-validation.xml {% endcomment %}
diff --git a/source/core-developers/validation.md b/source/core-developers/validation.md
index d39ff0e..4d98dfd 100644
--- a/source/core-developers/validation.md
+++ b/source/core-developers/validation.md
@@ -26,7 +26,7 @@
 
 ## Using Annotations
 
-[Annotations](validation-annotation.html) can be used as an alternative to XML for validation.
+[Annotations](validation-annotation) can be used as an alternative to XML for validation.
 
 ## Bean Validation
 
@@ -37,14 +37,14 @@
 
 In all examples given here, the validation message displayed is given in plain English - to internationalize the message, 
 put the string in a properties file and use a property key instead, specified by the 'key' attribute. It will be looked 
-up by the framework (see [Localization](localization.html)).
+up by the framework (see [Localization](localization)).
 
-1. [Basic Validation](basic-validation.html)
-2. [Client-side Validation](client-side-validation.html)
+1. [Basic Validation](basic-validation)
+2. [Client-side Validation](client-side-validation)
 3. _AJAX Validation_ 
-4. [Using Field Validators](using-field-validators.html)
-5. [Using Non Field Validators](using-non-field-validators.html)
-6. [Using Visitor Field Validator](using-visitor-field-validator.html)
+4. [Using Field Validators](using-field-validators)
+5. [Using Non Field Validators](using-non-field-validators)
+6. [Using Visitor Field Validator](using-visitor-field-validator)
 7. _How do we repopulate controls when validation fails_  (FAQ entry)
 
 ## Bundled Validators
@@ -53,21 +53,21 @@
 as it facilitates grouping of field-validators according to fields. This is very handy especially if a field needs 
 to have many field-validators which is almost always the case.
 
-1. [conversion validator](conversion-validator.html)
-2. [date validator](date-validator.html)
-3. [double validator](double-validator.html)
-4. [email validator](email-validator.html)
-5. [expression validator](expression-validator.html)
-6. [fieldexpression validator](fieldexpression-validator.html)
-7. [int validator](int-validator.html)
-8. [regex validator](regex-validator.html)
-9. [required validator](required-validator.html)
-10. [requiredstring validator](requiredstring-validator.html)
-11. [short validator](short-validator.html)
-12. [stringlength validator](stringlength-validator.html)
-13. [url validator](url-validator.html)
-14. [visitor validator](visitor-validator.html)
-15. [conditionalvisitor validator](conditionalvisitor-validator.html)
+1. [conversion validator](conversion-validator)
+2. [date validator](date-validator)
+3. [double validator](double-validator)
+4. [email validator](email-validator)
+5. [expression validator](expression-validator)
+6. [fieldexpression validator](fieldexpression-validator)
+7. [int validator](int-validator)
+8. [regex validator](regex-validator)
+9. [required validator](required-validator)
+10. [requiredstring validator](requiredstring-validator)
+11. [short validator](short-validator)
+12. [stringlength validator](stringlength-validator)
+13. [url validator](url-validator)
+14. [visitor validator](visitor-validator)
+15. [conditionalvisitor validator](conditionalvisitor-validator)
 
 ## Registering Validators
 
@@ -89,7 +89,7 @@
 
 > **Struts 2.0.7 and Prior**
 > The `validators.xml` containing custom validators needs to contain a copy of the default validators. No DTD was used 
-> in `validators.xml`. See: [http://struts.apache.org/docs/release-notes-208.html#ReleaseNotes2.0.8-MigrationfrompreviousReleases](http://struts.apache.org/docs/release-notes-208.html#ReleaseNotes2.0.8-MigrationfrompreviousReleases)
+> in `validators.xml`. See: [Release Notes 2.0.8](https://cwiki.apache.org/confluence/display/WW/Release+Notes+2.0.8#ReleaseNotes2.0.8-MigrationfrompreviousReleases)
 
 ## Turning on Validation
 
@@ -335,7 +335,7 @@
 a field-specific FieldValidator).
 
 ```xml
-<validator type="expression> 
+<validator type="expression"> 
     <param name="expression">foo gt bar</param> 
     <message>foo must be great than bar.</message> 
 </validator> 
diff --git a/source/core-developers/visitor-validator.md b/source/core-developers/visitor-validator.md
index 18584cb..d30b089 100644
--- a/source/core-developers/visitor-validator.md
+++ b/source/core-developers/visitor-validator.md
@@ -1,13 +1,23 @@
 ---
 layout: core-developers
 title: visitor validator
+parent:
+    title: Validation
+    url: validation.html
 ---
 
 # visitor validator
+{:.no_toc}
+
+* Will be replaced with the ToC, excluding a header
+{:toc}
 
 ## Description
 
-The VisitorFieldValidator allows you to forward validation to object properties of your action using the object's own validation 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. The VisitorFieldValidator can handle either simple Object properties, Collections of Objects, or Arrays.
+The VisitorFieldValidator allows you to forward validation to object properties of your action using the object's own 
+validation 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. The VisitorFieldValidator can handle either simple Object 
+properties, Collections of Objects, or Arrays.
 
 ## Parameters
 
@@ -17,7 +27,7 @@
 
 ## Examples
 
-```
+```xml
 <validators>
     <!-- Plain Validator Syntax -->
     <validator type="visitor">
diff --git a/source/core-developers/zero-configuration.md b/source/core-developers/zero-configuration.md
deleted file mode 100644
index 4ae710e..0000000
--- a/source/core-developers/zero-configuration.md
+++ /dev/null
@@ -1,99 +0,0 @@
----
-layout: core-developers
-title: Zero Configuration
----
-
-# Zero Configuration
-
-**(\!) Deprecated Plugin**
-
-
-> 
-
-> 
-
-> Since 2\.1 this plugin has been deprecated in favor of the _Convention Plugin_ 
-
-> 
-
-A "Zero Configuration" Struts application or plugin uses no additional XML or properties files\. Metadata is expressed through convention and annotation\.  
-
-As this is a new feature, and still being field\-tested, the documentation is sketchy\. But, here's what we have so far:
-
-## Finding Actions
-
-Set the "actionPackages" filter init param to a comma\-separated list of packages containing Action classes in web\.xml\. The packages and their subpackages will be scanned\. All classes in the designated packages that implement Action or end in "Action" are examined\.  The latter is to allow for POJO Actions that don't implement the Action interface\.
-
-**Annotation Initialization actionPackages Filter Parameter in web\.xml**
-
-
-```xml
-
-<filter>
-  <filter-name>struts2</filter-name>
-  <filter-class>org.apache.struts2.dispatcher.FilterDispatcher</filter-class>
-  <init-param>
-    <param-name>actionPackages</param-name>
-    <param-value>com.foo.bar,com.baz.quux</param-value>
-  </init-param>
-</filter>
-
-```
-
-We should probably add an action annotation, so that POJOs can itall with annotations\.
-
-## Examples
-
-The only example right now is in the showcase, where the person package uses the classpath scanning configuration\. 
-
-## Action and Package name
-
-The subpackage name makes the namespace, and the action class name makes the action name\.  If there is an "Action" suffix, it is dropped before creating the action name\. Therefore, if the configured package is _com\.myapp\.actions_  and the Action is _com\.myapp\.actions\._ **member**\.EditAction, you can access it via [http://server/myapp/member/edit\.action](http://server/myapp/member/edit\.action)\.  For multi\-word actions, the first letter is lower\-cased and the rest is left alone, so the Action `MyCustomAction` will map to `myCustom.action`\.
-
-## Results
-
-[Results](#PAGE_43811) are defined with the Result and Results annotations at the **class level**\. 
-
-## Namespaces
-
-The [Namespace Annotation](#PAGE_68488) overrides the namespace\.
-
-## Parent Package
-
-The [ParentPackage Annotation](#PAGE_68490) configures the XWork package (an XWork package is created per Java package) to extend one or more defined packages\. The best place for this annotation is on the package via the `package-info.java` file, however, for backward\-compatibility, they can be specified on one or more Actions in the package\.  To determine which parent packages should be set, first, it looks for the package annotation, then adds the action annotations as they are loaded\.  Because the load order of Actions is undetermined, it is highly recommended you avoid putting the @ParentPackage annotation on Action classes themselves\.
-
-For example, if you wanted to set the parent package for the `com.mycompany.myapp.actions` package, create this package\-info\.java file:
-
-
-```java
-
-@ParentPackage("my-parent-package")
-package com.mycompany.myapp.actions
-
-import org.apache.struts2.config.ParentPackage;
-
-```
-
-To define multiple parent packages, list an array of package names:
-
-
-```java
-
-@ParentPackage({"my-parent-package1, my-parent-package2"})
-package com.mycompany.myapp.actions
-
-import org.apache.struts2.config.ParentPackage;
-
-```
-
-## Feedback
-
-Stay tuned to this page for additional details and documentation\. If you have a chance to  try the zero configuration feature, please share any experiences on dev@ and here\.
-
-## See also
-
-+ _Zero Configuration Scanning_  Use Case
-
-+ _Codebehind Plugin_ 
-
-+ _RESTfulActionMapper_