I think I've presented in pre-conference day at XMLPrague 2019 - not recorded - a maven plugin that do validation against RelaxNg AND Schematron, but I can't find code.

It's based on Jim Etevenard's work, located here : https://github.com/cmarchand/Jing-JAXP-Wrapper

It requires, for ISO-schematron, a patched release of Jing/Trang. You can find one here, but it's not available on maven central : https://github.com/ELSGestion/jing-trang/commits/master

Added Jim Etevenard as cc.


Ok, found it : here is an extract of pom.xml, definining xml-maven-plugin and controls. See dependencies, there are all published on maven-central, except Jing.

You should be able to write a simple java program that can be used to validate input files from command line, exploring PIs.

      <plugin>
        <groupId>org.codehaus.mojo</groupId>
        <artifactId>xml-maven-plugin</artifactId>
        <version>1.0.2</version>
        <executions>
          <execution>
            <goals>
              <goal>validate</goal>
            </goals>
          </execution>
        </executions>
        <configuration>
          <validationSets>
            <validationSet>
<dir>src/main/resources/eu/els/sie/publication/conf/env</dir>
              <includes>
                <include>*.xml</include>
              </includes>
              <systemId>els-conf.ns.rng</systemId>
<schemaLanguage>http://purl.oclc.org/dsdl/nvdl/ns/structure/1.0</schemaLanguage>
            </validationSet>
            <validationSet>
<dir>src/main/resources/eu/els/sie/publication/conf/env</dir>
              <includes>
                <include>*.xml</include>
              </includes>
              <systemId>flash.sch</systemId>
<schemaLanguage>http://purl.oclc.org/dsdl/schematron</schemaLanguage>
            </validationSet>
          </validationSets>
<catalogs>target/test-classes/catalogs/catalog.xml</catalogs>
        </configuration>
        <dependencies>
          <dependency>
            <groupId>com.jimetevenard.xml</groupId>
            <artifactId>Jing-JAXP-Wrapper</artifactId>
            <version>1.0.1</version>
          </dependency>
          <dependency>
            <groupId>net.sf.saxon</groupId>
            <artifactId>Saxon-HE</artifactId>
            <version>9.8.0-14</version>
          </dependency>
          <dependency>
            <groupId>eu.els.oss</groupId>
            <artifactId>jing</artifactId>
            <version>20180404</version>
          </dependency>
          <dependency>
            <groupId>com.google.code.gson</groupId>
            <artifactId>gson</artifactId>
            <version>2.8.5</version>
          </dependency>
        </dependencies>
      </plugin>

Best regards,
Christophe


Le 09/10/2019 à 11:57, Lou Burnard a écrit :

One of the features of oXygen which I really love is the way it allows me to combine schema validation with RELAXNG and with schematron just by adding a couple of PIs to the top of my file. But this requires me to fire up oXygen and open up each file one by one which is not so convenient if I have 100 or more independent documents to validate. I would rather do this in a bash script, along with all the other pre-validation sanitation work. But

(a) only oXygen will take any notice of my PIs (obviously)

(b) none of the open source validators I've looked at seems to have a hook for including schematron validation

(c) oxyGen will do a batch validation of documents included in a project file, which is close to what I want, but still requires me to fire up oXygen, make the project file and click a couple of times, so not really a batch process

Maybe someone else has found a way round this, or could explain to me why it's just not possible. And how exactly does oXygen do this magic?



_______________________________________________
oXygen-user mailing list
oXygen-user@oxygenxml.com
https://www.oxygenxml.com/mailman/listinfo/oxygen-user
_______________________________________________
oXygen-user mailing list
oXygen-user@oxygenxml.com
https://www.oxygenxml.com/mailman/listinfo/oxygen-user

Reply via email to