Features
The plugin provides static code analysis of XML files within Sonar.
The following functionality is provided:
- XML correctness validation
- XML schema validatation
- Configurable rules using XPath
- sizing (files, lines of code)
The XML validation is out-of-the box available. The configurable XPath rules requires knowledge of XPath.
The plugin scans the following files by default: .xml, .xhtml. The file extensions are configurable.
The plugin imports the XML files in Sonar, and performs the validations. The checks are configurable in the Sonar rules repository.
Use Cases
Typical use cases:
- validation of XHTML files
By using the XHTML schemas as provided by the W3C (strict, transitional, and others) quickly validate the markup of a set of XHTML files.
- validation of XML files
Validate a set of XML files for conformance to the provided XML schema.
- Validate rules in XML files
e.g,. validate the maven pom files for conformance to certain coding standards.
Usage & Installation
Installation
- Copy the jar into /extensions/plugins/ directory
- Restart Sonar Web server
Analysis
Create a maven pom for your project. Set the following properties:
- sonar.language: xml
- sonar.xml.sourceDirectory: [folder of the xml files]
- sonar.dynamicAnalysis: false
Sample pom file:
Quick analysis
For an existing maven project, you might start an analysis by the following command:
You may set the property sonar.branch to make sure the analysis will be reported in sonar under another project name, e.g. -Dsonar.branch=Xml.
XPath Rules
content to be provided
Schema Validation
content to be provided
Configuration
The following properties of the plugin are configurable:
property |
default value |
|---|---|
sonar.xml.sourceDirectory |
|
sonar.xml.fileExtensions |
xml, xhtml |
The properties may be set in sonar, the maven pom or the maven commmandline.
Plugin Architecture
The plugin uses the Xerces library for parsing and validation.
http://xerces.apache.org/xerces-j/

