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

Description / Features

This plugin enables analysis of XML files within Sonar.

Some common use cases are:

  • Validation of XHTML files against schemas provided by the W3C (strict, transitional, and others)
  • Validation of XML files against a provided XML schema
  • Validation of rules in XML files (ex: validate the Maven pom files against coding standards)

Installation

  1. Install the XML plugin through the Update Center or download it into the SONAR_HOME/extensions/plugins directory
  2. Restart the Sonar server

Usage

Run a Sonar Analysis with the Sonar Runner (Recommended Way)

To launch a Sonar analysis of your XML project, use the Sonar Runner.

A sample project is available on github that can be browsed or downloaded: /projects/languages/xml/xml-sonar-runner.

Run a Sonar Analysis with the other Analyzers

Maven and Ant can also be used to launch analysis on Web projects.

Advanced Properties

Property

Description

sonar.xml.includeFileFilter

Additional filter for the files to be scanned

Validating Files Against Specific Schema

Files can be validated against a specific schema thanks to the XML Schema Check rule.

Within the same project some files can be validated against schema 'S1', others against schema 'S2' and so on. So, this rule has to be copied and configured as many times as you have pairs of files/schema.

Property

Description

filePattern

Files to be validated against the schema set through the schemas parameter.

schemas

Namespace of schema to use for validation.

It can either be set to:

  • a built-in schema (ex: xhtml1-strict)
  • or a URL (ex: http://java.sun.com/jsf/core)
  • or a relative path to a schema on the filesystem (ex: schemas/xsd/mycustomschema.xsd)

Default value: autodetect. In this case, the parser will try to load the schema based on the doctype or the namespace declaration in the document.

Built-in schemas:

Namespace or Short name

Doctype

Description

http://www.w3.org/2001/xml.xsd

 

XML

http://www.w3.org/1999/xhtml

 

XHTML1.0 Strict

xhtml1-strict

-//W3C//DTD XHTML 1.0 Strict//EN

XHTML1.0 Strict

xhtml1-transitional

-//W3C//DTD XHTML 1.0 Transitional//EN

XHTML1.0 Transitional

xhtml1-frameset

-//W3C//DTD XHTML 1.0 Frameset//EN

XHTML1.0 Frameset

 

-//W3C//DTD XHTML 1.1 Strict//EN

XHTML1.1

http://java.sun.com/jsf/core

 

JSF Core

http://java.sun.com/jsf/html

 

JSF HTML Basic

http://java.sun.com/jsf/facelets

 

JSF Facelets

http://maven.apache.org/POM/4.0.0

 

Maven Project Model

Notes:

  • Schema validation is performed by the Xerces parser using XML schemas (XSDs).
  • For validation of XHTML files it is recommended to use autodetect, xhtml1-transitional or xhtml1-strict.

Custom Checks Using XPath Expressions

The XPath Check allows to define custom checks on XML documents using XPath expressions.

Within the same project some files can be checked against XPath rules 'R1', 'R2', etc., others against rules 'R6', 'R7', etc. and so on. So, this rule has to be copied and configured as many times as you have pairs of files/rule.

Property

Description

filePattern

Files to be checked against the XPath expression set through the xpathQuery parameter.

xpathQuery The XPath query
messageThe violation message

Change Log

Release 1.0 (not yet released) (15 issues)
Type Key Summary Priority Status Resolution
Improvement SONARPLUGINS-1764 XML: Rename default profile to "Sonar way" Major Closed Fixed
Improvement SONARPLUGINS-1765 XML: If the XPath rule fails to analyse the document, it should *not* generate a violation Major Closed Fixed
Improvement SONARPLUGINS-1763 Document the XPath Rule Major Closed Fixed
Bug SONARPLUGINS-1760 Malformed input may cause infinite loop Major Closed Fixed
Bug SONARPLUGINS-2559 Cannot load extra schemas Major Closed Fixed
Improvement SONARPLUGINS-2595 XML comments are not syntax highlighted Major Closed Fixed
Improvement SONARPLUGINS-2597 The type of the XPath rule 'expression' attribute should be TEXT Major Closed Fixed
Bug SONARPLUGINS-2593 When a node name contains the '-' character only the first part of the node name is colorized Major Closed Fixed
Improvement SONARPLUGINS-2596 Merge all Xerces rules into one rule Major Closed Fixed
Improvement SONARPLUGINS-2594 Colorize the attribute keys and values with dedicated styles Major Closed Fixed
Bug SONARPLUGINS-2624 Don't count blank lines as ncloc Major Closed Fixed
Task SONARPLUGINS-2650 The deprecated properties 'sonar.xml.sourceDirectory' and 'sonar.xml.includeFileFilter' must be removed from the Settings>XML page Major Closed Fixed
Improvement SONARPLUGINS-2646 Rename 'Xml' language to 'XML' Major Closed Fixed
Improvement SONARPLUGINS-2641 Document the XML Schema Validation Major Closed Fixed
Improvement SONARPLUGINS-2375 Upgrade to Sonar 3.0 API Minor Closed Fixed

 

Release 0.2 (9 issues)
Type Key Summary Priority
Bug SONARPLUGINS-1723 Sources are no more imported by the XML Plugin since Sonar 2.9+ Major
Bug SONARPLUGINS-1742 Plugin not compatible with Java 5 Major
Bug SONARPLUGINS-1196 Code colorizing in sonar source view does not work Major
Improvement SONARPLUGINS-1186 XPath check should have configurable message Major
New Feature SONARPLUGINS-1152 Validate Indenting in XML documents Major
New Feature SONARPLUGINS-1153 Validate newlines in XML Documents Major
Bug SONARPLUGINS-1150 Escape messages when loading MessagesRepository Major
Improvement SONARPLUGINS-1146 Create friendly names for error messages Major
New Feature SONARPLUGINS-1145 Check for Illegal Tabs in XML documents Major

 

Release 0.1 (3 issues)
Type Key Summary Priority
New Feature SONARPLUGINS-852 XML Schema check for XML documents Major
New Feature SONARPLUGINS-851 XPath Check for XML documents Major
New Feature SONARPLUGINS-611 Add a check for Maven POM code convention Minor

Labels
  • None