Skip to content
Christophe Marchand edited this page Nov 24, 2017 · 6 revisions

This plug-in allows you to run all your XSpec during test maven phase.

To use this plugin, you have to declare it in your pom.xml, like this :

<project 
  xmlns="http://maven.apache.org/POM/4.0.0" 
  xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
  xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
  <modelVersion>4.0.0</modelVersion>
...  
  <build>
    <plugins>
      <plugin>
        <groupId>io.xspec.maven</groupId>
        <artifactId>xspec-maven-plugin</artifactId>
        <version>1.5.2</version>
        <dependencies>
          <dependency>
            <groupId>net.sf.saxon</groupId>
            <artifactId>Saxon-HE</artifactId>
            <version>9.7.0-20</version>
          </dependency>
        </dependencies>
        <configuration>
          <generateSurefireReport>true</generateSurefireReport>
          <catalogFile>catalog.xml</catalogFile>
          <saxonOptions>
            <collectionFinderClass>top.marchand.xml.saxon.CollectionFinder</collectionFinderClass>
            <dtd>off</dtd>
            <ea>off</ea>
            <expand>off</expand>
            <ext>on</ext>
            <l>off</l>
            <m>top.marchand.xml.saxon.MessageReceiver</m>
            <opt>9</opt>
            <or>top.marchand.xml.saxon.OutputUriResolver</or>
            <outval>recover</outval>
            <strip>none</strip>
            <TJ>off</TJ>
            <warnings>silent</warnings>
            <xi>on</xi>
          </saxonOptions>
        </configuration>
        <executions>
          <execution>
            <phase>test</phase>
            <goals>
              <goal>run-xspec</goal>
            </goals>
          </execution>
        </executions>
      </plugin>
    </plugins>
  </build>
</project>

Plugin is naturally bound to test phase, so executions section is not required. For explanations on Saxon options, have a look to Saxon documentation. The available configuration properties are

  • dtd
  • ea
  • expand
  • ext
  • l
  • m
  • opt
  • or
  • outval
  • strip
  • T
  • TJ
  • tree
  • val
  • warnings
  • xi

Other configuration properties are not supported, mainly because they are not useful.

Clone this wiki locally