Skip to end of metadata
Go to start of metadata

You are viewing an old version of this page. View the current version.

Compare with Current View Page History

« Previous Version 7 Next »

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

  1. Copy the jar into /extensions/plugins/ directory
  2. 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/

Changelog

to be provided

  • No labels