diff --git a/docs/pages/pmd/rules/pom.md b/docs/pages/pmd/rules/pom.md
index acd194c3ab..4ae9f25c0e 100644
--- a/docs/pages/pmd/rules/pom.md
+++ b/docs/pages/pmd/rules/pom.md
@@ -5,9 +5,9 @@ folder: pmd/rules
---
List of rulesets and rules contained in each ruleset.
-* [Basic POM](pmd_rules_pom_basic.html): The Basic POM Ruleset contains a collection of good practices regarding Maven's POM files.
+* [Errorprone](pmd_rules_pom_errorprone.html): Rules to detect constructs that are either broken, extremely confusing or prone to runtime errors.
-## Basic POM
-* [InvalidDependencyTypes](pmd_rules_pom_basic.html#invaliddependencytypes): While Maven will not failed if you use an invalid type for a dependency in thedependency manageme...
-* [ProjectVersionAsDependencyVersion](pmd_rules_pom_basic.html#projectversionasdependencyversion): Using that expression in dependency declarations seems like a shortcut, but it can go wrong.By fa...
+## Errorprone
+* [InvalidDependencyTypes](pmd_rules_pom_errorprone.html#invaliddependencytypes): If you use an invalid dependency type in the dependency management section, Maven doesn't fail. I...
+* [ProjectVersionAsDependencyVersion](pmd_rules_pom_errorprone.html#projectversionasdependencyversion): Using that expression in dependency declarations seems like a shortcut, but it can go wrong.By fa...
diff --git a/docs/pages/pmd/rules/pom/basic.md b/docs/pages/pmd/rules/pom/errorprone.md
similarity index 61%
rename from docs/pages/pmd/rules/pom/basic.md
rename to docs/pages/pmd/rules/pom/errorprone.md
index 5f09804002..ba2744f25b 100644
--- a/docs/pages/pmd/rules/pom/basic.md
+++ b/docs/pages/pmd/rules/pom/errorprone.md
@@ -1,11 +1,11 @@
---
-title: Basic POM
-summary: The Basic POM Ruleset contains a collection of good practices regarding Maven's POM files.
-permalink: pmd_rules_pom_basic.html
+title: Errorprone
+summary: Rules to detect constructs that are either broken, extremely confusing or prone to runtime errors.
+permalink: pmd_rules_pom_errorprone.html
folder: pmd/rules/pom
sidebaractiveurl: /pmd_rules_pom.html
-editmepath: ../pmd-xml/src/main/resources/rulesets/pom/basic.xml
-keywords: Basic POM, ProjectVersionAsDependencyVersion, InvalidDependencyTypes
+editmepath: ../pmd-xml/src/main/resources/category/pom/errorprone.xml
+keywords: Errorprone, InvalidDependencyTypes, ProjectVersionAsDependencyVersion
---
## InvalidDependencyTypes
@@ -13,8 +13,10 @@ keywords: Basic POM, ProjectVersionAsDependencyVersion, InvalidDependencyTypes
**Priority:** Medium (3)
-While Maven will not failed if you use an invalid type for a dependency in the
-dependency management section, it will not also uses the dependency.
+If you use an invalid dependency type in the dependency management section, Maven doesn't fail. Instead,
+the entry is just ignored, which might have the effect, that the wrong version of the dependency is used.
+
+The following types are considered valid: pom, jar, maven-plugin, ejb, war, ear, rar, par.
```
//dependencyManagement/dependency/type/text[not(contains('pom, jar, maven-plugin, ejb, war, ear, rar, par',@Image))]
@@ -41,7 +43,7 @@ dependency management section, it will not also uses the dependency.
**Use this rule by referencing it:**
``` xml
-
+
```
## ProjectVersionAsDependencyVersion
@@ -71,6 +73,6 @@ By far the most common problem is the use of 6.0.0-SNAPSHOT in a BOM or parent P
**Use this rule by referencing it:**
``` xml
-
+
```
diff --git a/docs/pages/pmd/rules/xml.md b/docs/pages/pmd/rules/xml.md
index 104b0bbf0c..23c754a1a0 100644
--- a/docs/pages/pmd/rules/xml.md
+++ b/docs/pages/pmd/rules/xml.md
@@ -5,8 +5,8 @@ folder: pmd/rules
---
List of rulesets and rules contained in each ruleset.
-* [Basic XML](pmd_rules_xml_basic.html): The Basic XML Ruleset contains a collection of good practices which everyone should follow.
+* [Errorprone](pmd_rules_xml_errorprone.html): Rules to detect constructs that are either broken, extremely confusing or prone to runtime errors.
-## Basic XML
-* [MistypedCDATASection](pmd_rules_xml_basic.html#mistypedcdatasection): An XML CDATA section begins with a mar...
+## Errorprone
+* [MistypedCDATASection](pmd_rules_xml_errorprone.html#mistypedcdatasection): An XML CDATA section begins with a mar...
diff --git a/docs/pages/pmd/rules/xml/basic.md b/docs/pages/pmd/rules/xml/errorprone.md
similarity index 59%
rename from docs/pages/pmd/rules/xml/basic.md
rename to docs/pages/pmd/rules/xml/errorprone.md
index 6728254c3c..ff8299a9bd 100644
--- a/docs/pages/pmd/rules/xml/basic.md
+++ b/docs/pages/pmd/rules/xml/errorprone.md
@@ -1,11 +1,11 @@
---
-title: Basic XML
-summary: The Basic XML Ruleset contains a collection of good practices which everyone should follow.
-permalink: pmd_rules_xml_basic.html
+title: Errorprone
+summary: Rules to detect constructs that are either broken, extremely confusing or prone to runtime errors.
+permalink: pmd_rules_xml_errorprone.html
folder: pmd/rules/xml
sidebaractiveurl: /pmd_rules_xml.html
-editmepath: ../pmd-xml/src/main/resources/rulesets/xml/basic.xml
-keywords: Basic XML, MistypedCDATASection
+editmepath: ../pmd-xml/src/main/resources/category/xml/errorprone.xml
+keywords: Errorprone, MistypedCDATASection
---
## MistypedCDATASection
@@ -27,6 +27,6 @@ An extra [ looks like <!CDATA[[]]>, and an extra ] looks like <!CDATA[]
**Use this rule by referencing it:**
``` xml
-
+
```
diff --git a/docs/pages/pmd/rules/xsl.md b/docs/pages/pmd/rules/xsl.md
index ebd281d09b..93c270f79e 100644
--- a/docs/pages/pmd/rules/xsl.md
+++ b/docs/pages/pmd/rules/xsl.md
@@ -5,9 +5,12 @@ folder: pmd/rules
---
List of rulesets and rules contained in each ruleset.
-* [XPath in XSL](pmd_rules_xsl_xpath.html): This ruleset regroups a collection of good practices regarding XPath querying and functions inside an XSL.
+* [Codestyle](pmd_rules_xsl_codestyle.html): Rules which enforce a specific coding style.
+* [Performance](pmd_rules_xsl_performance.html): Rules that flag suboptimal code.
-## XPath in XSL
-* [AvoidAxisNavigation](pmd_rules_xsl_xpath.html#avoidaxisnavigation): Avoid using the 'following' or 'preceeding' axes whenever possible, as these can cutthrough 100% ...
-* [UseConcatOnce](pmd_rules_xsl_xpath.html#useconcatonce): The XPath concat() functions accepts as many arguments as required so you can have"concat($a,'b',...
+## Codestyle
+* [UseConcatOnce](pmd_rules_xsl_codestyle.html#useconcatonce): The XPath concat() functions accepts as many arguments as required so you can have"concat($a,'b',...
+
+## Performance
+* [AvoidAxisNavigation](pmd_rules_xsl_performance.html#avoidaxisnavigation): Avoid using the 'following' or 'preceeding' axes whenever possible, as these can cutthrough 100% ...
diff --git a/docs/pages/pmd/rules/xsl/codestyle.md b/docs/pages/pmd/rules/xsl/codestyle.md
new file mode 100644
index 0000000000..8b87d43ed2
--- /dev/null
+++ b/docs/pages/pmd/rules/xsl/codestyle.md
@@ -0,0 +1,34 @@
+---
+title: Codestyle
+summary: Rules which enforce a specific coding style.
+permalink: pmd_rules_xsl_codestyle.html
+folder: pmd/rules/xsl
+sidebaractiveurl: /pmd_rules_xsl.html
+editmepath: ../pmd-xml/src/main/resources/category/xsl/codestyle.xml
+keywords: Codestyle, UseConcatOnce
+---
+## UseConcatOnce
+
+**Since:** PMD 5.0
+
+**Priority:** Medium (3)
+
+The XPath concat() functions accepts as many arguments as required so you can have
+"concat($a,'b',$c)" rather than "concat($a,concat('b',$c)".
+
+```
+//node()[contains(substring-after(@select,'concat'),'concat')]
+```
+
+**Example(s):**
+
+``` xsl
+
+
+```
+
+**Use this rule by referencing it:**
+``` xml
+
+```
+
diff --git a/docs/pages/pmd/rules/xsl/xpath.md b/docs/pages/pmd/rules/xsl/performance.md
similarity index 53%
rename from docs/pages/pmd/rules/xsl/xpath.md
rename to docs/pages/pmd/rules/xsl/performance.md
index 8c340c0ae0..b90e4c1c75 100644
--- a/docs/pages/pmd/rules/xsl/xpath.md
+++ b/docs/pages/pmd/rules/xsl/performance.md
@@ -1,11 +1,11 @@
---
-title: XPath in XSL
-summary: This ruleset regroups a collection of good practices regarding XPath querying and functions inside an XSL.
-permalink: pmd_rules_xsl_xpath.html
+title: Performance
+summary: Rules that flag suboptimal code.
+permalink: pmd_rules_xsl_performance.html
folder: pmd/rules/xsl
sidebaractiveurl: /pmd_rules_xsl.html
-editmepath: ../pmd-xml/src/main/resources/rulesets/xsl/xpath.xml
-keywords: XPath in XSL, UseConcatOnce, AvoidAxisNavigation
+editmepath: ../pmd-xml/src/main/resources/category/xsl/performance.xml
+keywords: Performance, AvoidAxisNavigation
---
## AvoidAxisNavigation
@@ -49,31 +49,6 @@ cutting through 100% of the document.
**Use this rule by referencing it:**
``` xml
-
-```
-
-## UseConcatOnce
-
-**Since:** PMD 5.0
-
-**Priority:** Medium (3)
-
-The XPath concat() functions accepts as many arguments as required so you can have
-"concat($a,'b',$c)" rather than "concat($a,concat('b',$c)".
-
-```
-//node()[contains(substring-after(@select,'concat'),'concat')]
-```
-
-**Example(s):**
-
-``` xsl
-
-
-```
-
-**Use this rule by referencing it:**
-``` xml
-
+
```
diff --git a/pmd-xml/src/main/resources/category/pom/bestpractices.xml b/pmd-xml/src/main/resources/category/pom/bestpractices.xml
new file mode 100644
index 0000000000..cf096ad280
--- /dev/null
+++ b/pmd-xml/src/main/resources/category/pom/bestpractices.xml
@@ -0,0 +1,11 @@
+
+
+
+
+
+Rules which enforce generally accepted best practices.
+
+
diff --git a/pmd-xml/src/main/resources/category/pom/codestyle.xml b/pmd-xml/src/main/resources/category/pom/codestyle.xml
new file mode 100644
index 0000000000..d425f59ea7
--- /dev/null
+++ b/pmd-xml/src/main/resources/category/pom/codestyle.xml
@@ -0,0 +1,12 @@
+
+
+
+
+
+Rules which enforce a specific coding style.
+
+
+
diff --git a/pmd-xml/src/main/resources/category/pom/design.xml b/pmd-xml/src/main/resources/category/pom/design.xml
new file mode 100644
index 0000000000..99dbea45ef
--- /dev/null
+++ b/pmd-xml/src/main/resources/category/pom/design.xml
@@ -0,0 +1,11 @@
+
+
+
+
+
+Rules that help you discover design issues.
+
+
diff --git a/pmd-xml/src/main/resources/category/pom/documentation.xml b/pmd-xml/src/main/resources/category/pom/documentation.xml
new file mode 100644
index 0000000000..1e5fd3b0bf
--- /dev/null
+++ b/pmd-xml/src/main/resources/category/pom/documentation.xml
@@ -0,0 +1,11 @@
+
+
+
+
+
+Rules that are related to code documentation.
+
+
diff --git a/pmd-xml/src/main/resources/category/pom/errorprone.xml b/pmd-xml/src/main/resources/category/pom/errorprone.xml
new file mode 100644
index 0000000000..a5c9e1ddf2
--- /dev/null
+++ b/pmd-xml/src/main/resources/category/pom/errorprone.xml
@@ -0,0 +1,90 @@
+
+
+
+
+
+Rules to detect constructs that are either broken, extremely confusing or prone to runtime errors.
+
+
+
+
+If you use an invalid dependency type in the dependency management section, Maven doesn't fail. Instead,
+the entry is just ignored, which might have the effect, that the wrong version of the dependency is used.
+
+The following types are considered valid: pom, jar, maven-plugin, ejb, war, ear, rar, par.
+
+ 3
+
+
+
+
+
+
+
+
+
+
+
+
+ ...
+
+ ...
+
+ org.jboss.arquillian
+ arquillian-bom
+ ${arquillian.version}
+ bom
+ import
+
+ ...
+
+
+ ]]>
+
+
+
+
+
+Using that expression in dependency declarations seems like a shortcut, but it can go wrong.
+By far the most common problem is the use of ${project.version} in a BOM or parent POM.
+
+ 3
+
+
+
+
+
+
+
+
+
+ ...
+
+ ...
+ ${project.dependency}
+
+
+]]>
+
+
+
+
diff --git a/pmd-xml/src/main/resources/category/pom/multithreading.xml b/pmd-xml/src/main/resources/category/pom/multithreading.xml
new file mode 100644
index 0000000000..bdc0c7f1ea
--- /dev/null
+++ b/pmd-xml/src/main/resources/category/pom/multithreading.xml
@@ -0,0 +1,11 @@
+
+
+
+
+
+Rules that flag issues when dealing with multiple threads of execution.
+
+
diff --git a/pmd-xml/src/main/resources/category/pom/performance.xml b/pmd-xml/src/main/resources/category/pom/performance.xml
new file mode 100644
index 0000000000..82cc389d7f
--- /dev/null
+++ b/pmd-xml/src/main/resources/category/pom/performance.xml
@@ -0,0 +1,11 @@
+
+
+
+
+
+Rules that flag suboptimal code.
+
+
diff --git a/pmd-xml/src/main/resources/category/pom/security.xml b/pmd-xml/src/main/resources/category/pom/security.xml
new file mode 100644
index 0000000000..7b5b98a9b7
--- /dev/null
+++ b/pmd-xml/src/main/resources/category/pom/security.xml
@@ -0,0 +1,11 @@
+
+
+
+
+
+Rules that flag potential security flaws.
+
+
diff --git a/pmd-xml/src/main/resources/category/wsdl/bestpractices.xml b/pmd-xml/src/main/resources/category/wsdl/bestpractices.xml
new file mode 100644
index 0000000000..cf096ad280
--- /dev/null
+++ b/pmd-xml/src/main/resources/category/wsdl/bestpractices.xml
@@ -0,0 +1,11 @@
+
+
+
+
+
+Rules which enforce generally accepted best practices.
+
+
diff --git a/pmd-xml/src/main/resources/category/wsdl/codestyle.xml b/pmd-xml/src/main/resources/category/wsdl/codestyle.xml
new file mode 100644
index 0000000000..a79f8b8f44
--- /dev/null
+++ b/pmd-xml/src/main/resources/category/wsdl/codestyle.xml
@@ -0,0 +1,11 @@
+
+
+
+
+
+Rules which enforce a specific coding style.
+
+
diff --git a/pmd-xml/src/main/resources/category/wsdl/design.xml b/pmd-xml/src/main/resources/category/wsdl/design.xml
new file mode 100644
index 0000000000..99dbea45ef
--- /dev/null
+++ b/pmd-xml/src/main/resources/category/wsdl/design.xml
@@ -0,0 +1,11 @@
+
+
+
+
+
+Rules that help you discover design issues.
+
+
diff --git a/pmd-xml/src/main/resources/category/wsdl/documentation.xml b/pmd-xml/src/main/resources/category/wsdl/documentation.xml
new file mode 100644
index 0000000000..1e5fd3b0bf
--- /dev/null
+++ b/pmd-xml/src/main/resources/category/wsdl/documentation.xml
@@ -0,0 +1,11 @@
+
+
+
+
+
+Rules that are related to code documentation.
+
+
diff --git a/pmd-xml/src/main/resources/category/wsdl/errorprone.xml b/pmd-xml/src/main/resources/category/wsdl/errorprone.xml
new file mode 100644
index 0000000000..df38a2adcd
--- /dev/null
+++ b/pmd-xml/src/main/resources/category/wsdl/errorprone.xml
@@ -0,0 +1,11 @@
+
+
+
+
+
+Rules to detect constructs that are either broken, extremely confusing or prone to runtime errors.
+
+
diff --git a/pmd-xml/src/main/resources/category/wsdl/multithreading.xml b/pmd-xml/src/main/resources/category/wsdl/multithreading.xml
new file mode 100644
index 0000000000..bdc0c7f1ea
--- /dev/null
+++ b/pmd-xml/src/main/resources/category/wsdl/multithreading.xml
@@ -0,0 +1,11 @@
+
+
+
+
+
+Rules that flag issues when dealing with multiple threads of execution.
+
+
diff --git a/pmd-xml/src/main/resources/category/wsdl/performance.xml b/pmd-xml/src/main/resources/category/wsdl/performance.xml
new file mode 100644
index 0000000000..82cc389d7f
--- /dev/null
+++ b/pmd-xml/src/main/resources/category/wsdl/performance.xml
@@ -0,0 +1,11 @@
+
+
+
+
+
+Rules that flag suboptimal code.
+
+
diff --git a/pmd-xml/src/main/resources/category/wsdl/security.xml b/pmd-xml/src/main/resources/category/wsdl/security.xml
new file mode 100644
index 0000000000..7b5b98a9b7
--- /dev/null
+++ b/pmd-xml/src/main/resources/category/wsdl/security.xml
@@ -0,0 +1,11 @@
+
+
+
+
+
+Rules that flag potential security flaws.
+
+
diff --git a/pmd-xml/src/main/resources/category/xml/bestpractices.xml b/pmd-xml/src/main/resources/category/xml/bestpractices.xml
new file mode 100644
index 0000000000..cf096ad280
--- /dev/null
+++ b/pmd-xml/src/main/resources/category/xml/bestpractices.xml
@@ -0,0 +1,11 @@
+
+
+
+
+
+Rules which enforce generally accepted best practices.
+
+
diff --git a/pmd-xml/src/main/resources/category/xml/codestyle.xml b/pmd-xml/src/main/resources/category/xml/codestyle.xml
new file mode 100644
index 0000000000..a79f8b8f44
--- /dev/null
+++ b/pmd-xml/src/main/resources/category/xml/codestyle.xml
@@ -0,0 +1,11 @@
+
+
+
+
+
+Rules which enforce a specific coding style.
+
+
diff --git a/pmd-xml/src/main/resources/category/xml/design.xml b/pmd-xml/src/main/resources/category/xml/design.xml
new file mode 100644
index 0000000000..99dbea45ef
--- /dev/null
+++ b/pmd-xml/src/main/resources/category/xml/design.xml
@@ -0,0 +1,11 @@
+
+
+
+
+
+Rules that help you discover design issues.
+
+
diff --git a/pmd-xml/src/main/resources/category/xml/documentation.xml b/pmd-xml/src/main/resources/category/xml/documentation.xml
new file mode 100644
index 0000000000..1e5fd3b0bf
--- /dev/null
+++ b/pmd-xml/src/main/resources/category/xml/documentation.xml
@@ -0,0 +1,11 @@
+
+
+
+
+
+Rules that are related to code documentation.
+
+
diff --git a/pmd-xml/src/main/resources/category/xml/errorprone.xml b/pmd-xml/src/main/resources/category/xml/errorprone.xml
new file mode 100644
index 0000000000..b03d03ae7c
--- /dev/null
+++ b/pmd-xml/src/main/resources/category/xml/errorprone.xml
@@ -0,0 +1,38 @@
+
+
+
+
+
+Rules to detect constructs that are either broken, extremely confusing or prone to runtime errors.
+
+
+
+
+An XML CDATA section begins with a <!CDATA[ marker, which has only one [, and ends with a ]]> marker, which has only two ].
+
+ 3
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/pmd-xml/src/main/resources/category/xml/multithreading.xml b/pmd-xml/src/main/resources/category/xml/multithreading.xml
new file mode 100644
index 0000000000..bdc0c7f1ea
--- /dev/null
+++ b/pmd-xml/src/main/resources/category/xml/multithreading.xml
@@ -0,0 +1,11 @@
+
+
+
+
+
+Rules that flag issues when dealing with multiple threads of execution.
+
+
diff --git a/pmd-xml/src/main/resources/category/xml/performance.xml b/pmd-xml/src/main/resources/category/xml/performance.xml
new file mode 100644
index 0000000000..82cc389d7f
--- /dev/null
+++ b/pmd-xml/src/main/resources/category/xml/performance.xml
@@ -0,0 +1,11 @@
+
+
+
+
+
+Rules that flag suboptimal code.
+
+
diff --git a/pmd-xml/src/main/resources/category/xml/security.xml b/pmd-xml/src/main/resources/category/xml/security.xml
new file mode 100644
index 0000000000..7b5b98a9b7
--- /dev/null
+++ b/pmd-xml/src/main/resources/category/xml/security.xml
@@ -0,0 +1,11 @@
+
+
+
+
+
+Rules that flag potential security flaws.
+
+
diff --git a/pmd-xml/src/main/resources/category/xsl/bestpractices.xml b/pmd-xml/src/main/resources/category/xsl/bestpractices.xml
new file mode 100644
index 0000000000..cf096ad280
--- /dev/null
+++ b/pmd-xml/src/main/resources/category/xsl/bestpractices.xml
@@ -0,0 +1,11 @@
+
+
+
+
+
+Rules which enforce generally accepted best practices.
+
+
diff --git a/pmd-xml/src/main/resources/category/xsl/codestyle.xml b/pmd-xml/src/main/resources/category/xsl/codestyle.xml
new file mode 100644
index 0000000000..ede8b0b91f
--- /dev/null
+++ b/pmd-xml/src/main/resources/category/xsl/codestyle.xml
@@ -0,0 +1,43 @@
+
+
+
+
+
+Rules which enforce a specific coding style.
+
+
+
+
+The XPath concat() functions accepts as many arguments as required so you can have
+"concat($a,'b',$c)" rather than "concat($a,concat('b',$c)".
+
+ 3
+
+
+
+
+
+
+
+
+
+
+
+]]>
+
+
+
+
diff --git a/pmd-xml/src/main/resources/category/xsl/design.xml b/pmd-xml/src/main/resources/category/xsl/design.xml
new file mode 100644
index 0000000000..99dbea45ef
--- /dev/null
+++ b/pmd-xml/src/main/resources/category/xsl/design.xml
@@ -0,0 +1,11 @@
+
+
+
+
+
+Rules that help you discover design issues.
+
+
diff --git a/pmd-xml/src/main/resources/category/xsl/documentation.xml b/pmd-xml/src/main/resources/category/xsl/documentation.xml
new file mode 100644
index 0000000000..1e5fd3b0bf
--- /dev/null
+++ b/pmd-xml/src/main/resources/category/xsl/documentation.xml
@@ -0,0 +1,11 @@
+
+
+
+
+
+Rules that are related to code documentation.
+
+
diff --git a/pmd-xml/src/main/resources/category/xsl/errorprone.xml b/pmd-xml/src/main/resources/category/xsl/errorprone.xml
new file mode 100644
index 0000000000..df38a2adcd
--- /dev/null
+++ b/pmd-xml/src/main/resources/category/xsl/errorprone.xml
@@ -0,0 +1,11 @@
+
+
+
+
+
+Rules to detect constructs that are either broken, extremely confusing or prone to runtime errors.
+
+
diff --git a/pmd-xml/src/main/resources/category/xsl/multithreading.xml b/pmd-xml/src/main/resources/category/xsl/multithreading.xml
new file mode 100644
index 0000000000..bdc0c7f1ea
--- /dev/null
+++ b/pmd-xml/src/main/resources/category/xsl/multithreading.xml
@@ -0,0 +1,11 @@
+
+
+
+
+
+Rules that flag issues when dealing with multiple threads of execution.
+
+
diff --git a/pmd-xml/src/main/resources/category/xsl/performance.xml b/pmd-xml/src/main/resources/category/xsl/performance.xml
new file mode 100644
index 0000000000..c5cf0a04d1
--- /dev/null
+++ b/pmd-xml/src/main/resources/category/xsl/performance.xml
@@ -0,0 +1,58 @@
+
+
+
+
+
+Rules that flag suboptimal code.
+
+
+
+
+Avoid using the 'following' or 'preceeding' axes whenever possible, as these can cut
+through 100% of the document in the worst case. Also, try to avoid using 'descendant'
+or 'descendant-self' axes, as if you're at the top of the Document, it necessarily means
+cutting through 100% of the document.
+
+ 3
+
+
+
+
+
+
+
+
+
+
+
+]]>
+
+
+
+
diff --git a/pmd-xml/src/main/resources/category/xsl/security.xml b/pmd-xml/src/main/resources/category/xsl/security.xml
new file mode 100644
index 0000000000..7b5b98a9b7
--- /dev/null
+++ b/pmd-xml/src/main/resources/category/xsl/security.xml
@@ -0,0 +1,11 @@
+
+
+
+
+
+Rules that flag potential security flaws.
+
+
diff --git a/pmd-xml/src/main/resources/rulesets/pom/basic.xml b/pmd-xml/src/main/resources/rulesets/pom/basic.xml
index 2a56620ebd..921f405166 100644
--- a/pmd-xml/src/main/resources/rulesets/pom/basic.xml
+++ b/pmd-xml/src/main/resources/rulesets/pom/basic.xml
@@ -8,79 +8,7 @@
The Basic POM Ruleset contains a collection of good practices regarding Maven's POM files.
-
-
-Using that expression in dependency declarations seems like a shortcut, but it can go wrong.
-By far the most common problem is the use of ${project.version} in a BOM or parent POM.
-
- 3
-
-
-
-
-
-
-
-
-
- ...
-
- ...
- ${project.dependency}
-
-
-]]>
-
-
-
-
-
-While Maven will not failed if you use an invalid type for a dependency in the
-dependency management section, it will not also uses the dependency.
-
- 3
-
-
-
-
-
-
-
-
-
-
-
- ...
-
- ...
-
- org.jboss.arquillian
- arquillian-bom
- ${arquillian.version}
- bom
- import
-
- ...
-
-
- ]]>
-
-
+
+
diff --git a/pmd-xml/src/main/resources/rulesets/pom/rulesets.properties b/pmd-xml/src/main/resources/rulesets/pom/rulesets.properties
index c5f6f4b8a2..f0e9445d7a 100644
--- a/pmd-xml/src/main/resources/rulesets/pom/rulesets.properties
+++ b/pmd-xml/src/main/resources/rulesets/pom/rulesets.properties
@@ -2,4 +2,17 @@
# BSD-style license; for more info see http://pmd.sourceforge.net/license.html
#
-rulesets.filenames=rulesets/pom/basic.xml
+rulesets.filenames=\
+ category/pom/errorprone.xml
+
+#
+# categories without rules
+#
+# category/pom/bestpractices.xml
+# category/pom/codestyle.xml
+# category/pom/design.xml
+# category/pom/documentation.xml
+# category/pom/multithreading.xml
+# category/pom/performance.xml
+# category/pom/security.xml
+
diff --git a/pmd-xml/src/main/resources/rulesets/wsdl/rulesets.properties b/pmd-xml/src/main/resources/rulesets/wsdl/rulesets.properties
index c7514b5edc..28b33d4e5e 100644
--- a/pmd-xml/src/main/resources/rulesets/wsdl/rulesets.properties
+++ b/pmd-xml/src/main/resources/rulesets/wsdl/rulesets.properties
@@ -3,3 +3,16 @@
#
rulesets.filenames=
+
+#
+# categories without rules
+#
+# category/wsdl/bestpractices.xml
+# category/wsdl/codestyle.xml
+# category/wsdl/design.xml
+# category/wsdl/documentation.xml
+# category/wsdl/errorprone.xml
+# category/wsdl/multithreading.xml
+# category/wsdl/performance.xml
+# category/wsdl/security.xml
+
diff --git a/pmd-xml/src/main/resources/rulesets/xml/basic.xml b/pmd-xml/src/main/resources/rulesets/xml/basic.xml
index f847520c7c..fafaada9cf 100644
--- a/pmd-xml/src/main/resources/rulesets/xml/basic.xml
+++ b/pmd-xml/src/main/resources/rulesets/xml/basic.xml
@@ -8,30 +8,6 @@
The Basic XML Ruleset contains a collection of good practices which everyone should follow.
-
-
-An XML CDATA section begins with a <!CDATA[ marker, which has only one [, and ends with a ]]> marker, which has only two ].
-
- 3
-
-
-
-
-
-
-
-
-
-
-
+
diff --git a/pmd-xml/src/main/resources/rulesets/xml/rulesets.properties b/pmd-xml/src/main/resources/rulesets/xml/rulesets.properties
index a19ec1e61e..5fbda38080 100644
--- a/pmd-xml/src/main/resources/rulesets/xml/rulesets.properties
+++ b/pmd-xml/src/main/resources/rulesets/xml/rulesets.properties
@@ -2,4 +2,17 @@
# BSD-style license; for more info see http://pmd.sourceforge.net/license.html
#
-rulesets.filenames=rulesets/xml/basic.xml
+rulesets.filenames=\
+ category/xml/errorprone.xml
+
+#
+# categories without rules
+#
+# category/xml/bestpractices.xml
+# category/xml/codestyle.xml
+# category/xml/design.xml
+# category/xml/documentation.xml
+# category/xml/multithreading.xml
+# category/xml/performance.xml
+# category/xml/security.xml
+
diff --git a/pmd-xml/src/main/resources/rulesets/xsl/rulesets.properties b/pmd-xml/src/main/resources/rulesets/xsl/rulesets.properties
index 89e311fb03..a6c028c251 100644
--- a/pmd-xml/src/main/resources/rulesets/xsl/rulesets.properties
+++ b/pmd-xml/src/main/resources/rulesets/xsl/rulesets.properties
@@ -2,4 +2,17 @@
# BSD-style license; for more info see http://pmd.sourceforge.net/license.html
#
-rulesets.filenames=rulesets/xsl/xpath.xml
+rulesets.filenames=\
+ category/xsl/codestyle.xml,\
+ category/xsl/performance.xml
+
+#
+# categories without rules
+#
+# category/xsl/bestpractices.xml
+# category/xsl/design.xml
+# category/xsl/documentation.xml
+# category/xsl/errorprone.xml
+# category/xsl/multithreading.xml
+# category/xsl/security.xml
+
diff --git a/pmd-xml/src/main/resources/rulesets/xsl/xpath.xml b/pmd-xml/src/main/resources/rulesets/xsl/xpath.xml
index c075ceb4e2..c7418e106a 100644
--- a/pmd-xml/src/main/resources/rulesets/xsl/xpath.xml
+++ b/pmd-xml/src/main/resources/rulesets/xsl/xpath.xml
@@ -8,81 +8,7 @@
This ruleset regroups a collection of good practices regarding XPath querying and functions inside an XSL.
-
-
-The XPath concat() functions accepts as many arguments as required so you can have
-"concat($a,'b',$c)" rather than "concat($a,concat('b',$c)".
-
- 3
-
-
-
-
-
-
-
-
-
-
-
-]]>
-
-
-
-
-
-Avoid using the 'following' or 'preceeding' axes whenever possible, as these can cut
-through 100% of the document in the worst case. Also, try to avoid using 'descendant'
-or 'descendant-self' axes, as if you're at the top of the Document, it necessarily means
-cutting through 100% of the document.
-
- 3
-
-
-
-
-
-
-
-
-
-
-
-]]>
-
-
+
+
diff --git a/pmd-xml/src/test/java/net/sourceforge/pmd/lang/pom/rule/basic/BasicRulesTest.java b/pmd-xml/src/test/java/net/sourceforge/pmd/lang/pom/rule/errorprone/ErrorProneRulesTest.java
similarity index 62%
rename from pmd-xml/src/test/java/net/sourceforge/pmd/lang/pom/rule/basic/BasicRulesTest.java
rename to pmd-xml/src/test/java/net/sourceforge/pmd/lang/pom/rule/errorprone/ErrorProneRulesTest.java
index c917dbbff8..148345b54c 100644
--- a/pmd-xml/src/test/java/net/sourceforge/pmd/lang/pom/rule/basic/BasicRulesTest.java
+++ b/pmd-xml/src/test/java/net/sourceforge/pmd/lang/pom/rule/errorprone/ErrorProneRulesTest.java
@@ -2,17 +2,17 @@
* BSD-style license; for more info see http://pmd.sourceforge.net/license.html
*/
-package net.sourceforge.pmd.lang.pom.rule.basic;
+package net.sourceforge.pmd.lang.pom.rule.errorprone;
import net.sourceforge.pmd.testframework.SimpleAggregatorTst;
-public class BasicRulesTest extends SimpleAggregatorTst {
+public class ErrorProneRulesTest extends SimpleAggregatorTst {
- private static final String RULESET = "pom-basic";
+ private static final String RULESET = "category/pom/errorprone.xml";
@Override
public void setUp() {
- addRule(RULESET, "ProjectVersionAsDependencyVersion");
addRule(RULESET, "InvalidDependencyTypes");
+ addRule(RULESET, "ProjectVersionAsDependencyVersion");
}
}
diff --git a/pmd-xml/src/test/java/net/sourceforge/pmd/lang/xml/rule/basic/BasicRulesTest.java b/pmd-xml/src/test/java/net/sourceforge/pmd/lang/xml/rule/errorprone/ErrorProneRulesTest.java
similarity index 57%
rename from pmd-xml/src/test/java/net/sourceforge/pmd/lang/xml/rule/basic/BasicRulesTest.java
rename to pmd-xml/src/test/java/net/sourceforge/pmd/lang/xml/rule/errorprone/ErrorProneRulesTest.java
index 315b31cfef..332e370b2d 100644
--- a/pmd-xml/src/test/java/net/sourceforge/pmd/lang/xml/rule/basic/BasicRulesTest.java
+++ b/pmd-xml/src/test/java/net/sourceforge/pmd/lang/xml/rule/errorprone/ErrorProneRulesTest.java
@@ -2,13 +2,13 @@
* BSD-style license; for more info see http://pmd.sourceforge.net/license.html
*/
-package net.sourceforge.pmd.lang.xml.rule.basic;
+package net.sourceforge.pmd.lang.xml.rule.errorprone;
import net.sourceforge.pmd.testframework.SimpleAggregatorTst;
-public class BasicRulesTest extends SimpleAggregatorTst {
+public class ErrorProneRulesTest extends SimpleAggregatorTst {
- private static final String RULESET = "xml-basic";
+ private static final String RULESET = "category/xml/errorprone.xml";
@Override
public void setUp() {
diff --git a/pmd-xml/src/test/java/net/sourceforge/pmd/lang/xsl/rule/codestyle/CodeStyleRulesTest.java b/pmd-xml/src/test/java/net/sourceforge/pmd/lang/xsl/rule/codestyle/CodeStyleRulesTest.java
new file mode 100644
index 0000000000..43ec81151f
--- /dev/null
+++ b/pmd-xml/src/test/java/net/sourceforge/pmd/lang/xsl/rule/codestyle/CodeStyleRulesTest.java
@@ -0,0 +1,17 @@
+/**
+ * BSD-style license; for more info see http://pmd.sourceforge.net/license.html
+ */
+
+package net.sourceforge.pmd.lang.xsl.rule.codestyle;
+
+import net.sourceforge.pmd.testframework.SimpleAggregatorTst;
+
+public class CodeStyleRulesTest extends SimpleAggregatorTst {
+
+ private static final String RULESET = "category/xsl/codestyle.xml";
+
+ @Override
+ public void setUp() {
+ addRule(RULESET, "UseConcatOnce");
+ }
+}
diff --git a/pmd-xml/src/test/java/net/sourceforge/pmd/lang/xsl/rule/xpath/XPathRulesTest.java b/pmd-xml/src/test/java/net/sourceforge/pmd/lang/xsl/rule/performance/PerformanceRulesTest.java
similarity index 55%
rename from pmd-xml/src/test/java/net/sourceforge/pmd/lang/xsl/rule/xpath/XPathRulesTest.java
rename to pmd-xml/src/test/java/net/sourceforge/pmd/lang/xsl/rule/performance/PerformanceRulesTest.java
index c4fc0caffc..fc10ee21b8 100644
--- a/pmd-xml/src/test/java/net/sourceforge/pmd/lang/xsl/rule/xpath/XPathRulesTest.java
+++ b/pmd-xml/src/test/java/net/sourceforge/pmd/lang/xsl/rule/performance/PerformanceRulesTest.java
@@ -2,17 +2,16 @@
* BSD-style license; for more info see http://pmd.sourceforge.net/license.html
*/
-package net.sourceforge.pmd.lang.xsl.rule.xpath;
+package net.sourceforge.pmd.lang.xsl.rule.performance;
import net.sourceforge.pmd.testframework.SimpleAggregatorTst;
-public class XPathRulesTest extends SimpleAggregatorTst {
+public class PerformanceRulesTest extends SimpleAggregatorTst {
- private static final String RULESET = "xsl-xpath";
+ private static final String RULESET = "category/xsl/performance.xml";
@Override
public void setUp() {
- addRule(RULESET, "UseConcatOnce");
addRule(RULESET, "AvoidAxisNavigation");
}
}
diff --git a/pmd-xml/src/test/resources/net/sourceforge/pmd/lang/pom/rule/basic/xml/InvalidDependencyTypes.xml b/pmd-xml/src/test/resources/net/sourceforge/pmd/lang/pom/rule/errorprone/xml/InvalidDependencyTypes.xml
similarity index 100%
rename from pmd-xml/src/test/resources/net/sourceforge/pmd/lang/pom/rule/basic/xml/InvalidDependencyTypes.xml
rename to pmd-xml/src/test/resources/net/sourceforge/pmd/lang/pom/rule/errorprone/xml/InvalidDependencyTypes.xml
diff --git a/pmd-xml/src/test/resources/net/sourceforge/pmd/lang/pom/rule/basic/xml/ProjectVersionAsDependencyVersion.xml b/pmd-xml/src/test/resources/net/sourceforge/pmd/lang/pom/rule/errorprone/xml/ProjectVersionAsDependencyVersion.xml
similarity index 100%
rename from pmd-xml/src/test/resources/net/sourceforge/pmd/lang/pom/rule/basic/xml/ProjectVersionAsDependencyVersion.xml
rename to pmd-xml/src/test/resources/net/sourceforge/pmd/lang/pom/rule/errorprone/xml/ProjectVersionAsDependencyVersion.xml
diff --git a/pmd-xml/src/test/resources/net/sourceforge/pmd/lang/xml/rule/basic/xml/MistypedCDATASection.xml b/pmd-xml/src/test/resources/net/sourceforge/pmd/lang/xml/rule/errorprone/xml/MistypedCDATASection.xml
similarity index 100%
rename from pmd-xml/src/test/resources/net/sourceforge/pmd/lang/xml/rule/basic/xml/MistypedCDATASection.xml
rename to pmd-xml/src/test/resources/net/sourceforge/pmd/lang/xml/rule/errorprone/xml/MistypedCDATASection.xml
diff --git a/pmd-xml/src/test/resources/net/sourceforge/pmd/lang/xsl/rule/xpath/xml/UseConcatOnce.xml b/pmd-xml/src/test/resources/net/sourceforge/pmd/lang/xsl/rule/codestyle/xml/UseConcatOnce.xml
similarity index 100%
rename from pmd-xml/src/test/resources/net/sourceforge/pmd/lang/xsl/rule/xpath/xml/UseConcatOnce.xml
rename to pmd-xml/src/test/resources/net/sourceforge/pmd/lang/xsl/rule/codestyle/xml/UseConcatOnce.xml
diff --git a/pmd-xml/src/test/resources/net/sourceforge/pmd/lang/xsl/rule/xpath/xml/AvoidAxisNavigation.xml b/pmd-xml/src/test/resources/net/sourceforge/pmd/lang/xsl/rule/performance/xml/AvoidAxisNavigation.xml
similarity index 100%
rename from pmd-xml/src/test/resources/net/sourceforge/pmd/lang/xsl/rule/xpath/xml/AvoidAxisNavigation.xml
rename to pmd-xml/src/test/resources/net/sourceforge/pmd/lang/xsl/rule/performance/xml/AvoidAxisNavigation.xml