Schematronvalidatie: verschil tussen versies
Regel 2: | Regel 2: | ||
Gebruik: | Gebruik: | ||
− | Wanneer de volgende folderstructuur gebruikt wordt: | + | Wanneer de volgende folderstructuur gebruikt wordt (met gedownloade en uitgepakte Saxon HE in de 'saxon' folder): |
- saxon | - saxon | ||
- bin | - bin | ||
Regel 18: | Regel 18: | ||
-o:report.xml | -o:report.xml | ||
− | De gebruikte schematron moet de SVRL versie van de Schematron zijn. Voor Nictiz projecten wordt deze meestal meegeleverd. Er staat dan een .xsl versie van ieder .sch bestand, in dezelfde folder of vaak een /svrl folder ernaast. Wanneer er geen SVRL versie is, kan deze gemaakt worden. Instructies en benodigdheden zijn te vinden op [https://github.com/Schematron/schematron Github Schematron]. | + | De gebruikte schematron moet de SVRL versie van de Schematron zijn. Voor Nictiz projecten wordt deze meestal meegeleverd. Er staat dan een .xsl versie van ieder .sch bestand, in dezelfde folder of vaak een /svrl folder ernaast. Wanneer er geen SVRL versie is, kan deze gemaakt worden. Instructies en benodigdheden zijn te vinden op [https://github.com/Schematron/schematron Github Schematron]. (SVRL is een 'xxx.sch' Schematron omgezet naar een 'xxx.xsl' versie ervan. Deze laatste zet een XML testbestand om in een SVRL foutrapportage.) |
Dit genereert een report.xml bestand. Een basale HTML versie kan gemaakt worden met de volgende stylesheet: | Dit genereert een report.xml bestand. Een basale HTML versie kan gemaakt worden met de volgende stylesheet: |
Huidige versie van 19 apr 2017 om 13:51
Op te testen bestanden kan Schematronvalidatie toegepast worden. Hiervoor is een XSL processor nodig. Aanbevolen is Saxon-HE, een krachtige open source applicatie.
Gebruik: Wanneer de volgende folderstructuur gebruikt wordt (met gedownloade en uitgepakte Saxon HE in de 'saxon' folder):
- saxon - bin - test - testbestand.xml - schematron - controles.sch - controles.xsl
kan schematronvalidatie uitgevoerd worden met het volgende commando (dit voorbeeld onder DOS):
$ saxon\bin\Transform -t -s:test\testbestand.xml -xsl:schematron\controles.xsl -o:report.xml
De gebruikte schematron moet de SVRL versie van de Schematron zijn. Voor Nictiz projecten wordt deze meestal meegeleverd. Er staat dan een .xsl versie van ieder .sch bestand, in dezelfde folder of vaak een /svrl folder ernaast. Wanneer er geen SVRL versie is, kan deze gemaakt worden. Instructies en benodigdheden zijn te vinden op Github Schematron. (SVRL is een 'xxx.sch' Schematron omgezet naar een 'xxx.xsl' versie ervan. Deze laatste zet een XML testbestand om in een SVRL foutrapportage.)
Dit genereert een report.xml bestand. Een basale HTML versie kan gemaakt worden met de volgende stylesheet: svrl2html.xsl:
<?xml version="1.0" encoding="UTF-8"?>
<xsl:stylesheet version="2.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
xmlns:svrl="http://purl.oclc.org/dsdl/svrl">
<xsl:output method="html" indent="yes"/>
<xsl:template match="/">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title>SVRL report</title>
<style>
body {margin:8px;}
a[href] {color:blue;}
</style>
</head>
<body>
<h1>SVRL report</h1>
<div>Errors: <xsl:value-of select="count(.//svrl:failed-assert)"/></div>
<xsl:for-each select=".//svrl:failed-assert">
<ul>
<li><b>Text: <xsl:value-of select="svrl:text"/></b></li>
<li>Test: <xsl:value-of select="@test"/></li>
<li>See: <xsl:value-of select="@see"/></li>
<li>Location: <xsl:value-of select="@location"/></li>
</ul>
</xsl:for-each>
</body>
</html>
</xsl:template>
<xsl:template match="@*|node()">
<xsl:copy>
<xsl:apply-templates select="@*|node()"/>
</xsl:copy>
</xsl:template>
</xsl:stylesheet>
Deze kan uiteraard ook weer met Saxon uitgevoerd worden:
$ saxon\bin\Transform -t -s:report.xml -xsl:svrl2html.xsl -o:report.html