ESPD validation tool based on Schematron rules
Audience
This is a technical repository and is intended to be used as a tool that has as input:
- Code Lists,
- ESPD Request and ESPD Response, and
- UBL
- Schematron rules specific to ESPD business rules
and produces the XSL files that can be used to either validate locally any ESPD Request and/or ESPD Response or as online service on ISAITB testbed site. You can see the validation files on associated GitHub repository.
This repository is a processing tool that implements ESPD business rules in Schematron format in order to validate ESPD Request and ESPD Respose files in XML format. ESPD is based on UBL with a couple of extra business rules. Thus the validation of an ESPD document is based on UBL QualificationApplicationRequest
for ESPD Request and QualificationApplicationResponse
for ESPD Response.
All ESPD specific business rules are described in terms of Schematron rules. Those rules are processed and transformed into XSL files.
You need to have installed the following tools on your machine before starting to use the ESPD Validation tool:
- Git client (GitBash or GitHub Desktop on Windows, native on OSX and Linux)
- Java JDK v1.8 or higher, you can use OpenJDK
- IDE tool of your choice (Visual Studio Code, vi, Notepad++)
Get the current repository on your local computer:
git clone https://github.com/OP-TED/espd-validation-schematron.git
This will create the folder espd-validation-schematron
on your local computer. You may use your prefered IDE to edit the specfic files. You need a terminal, also available via the IDE, to run the commands and tools.
mock-ups
folder contains Microsoft Viso UI mock-ups of the various ESPD criterion and the exporterd version in PNG format. Those files are used for user visualisation and demonstration of possible look of the ESPD criteria. This folder is not maintained and is provided as is.
schematron
folder contains the validation rules for each version of ESPD, starting with version 2.0.1. (e.g. schematron/Schematron-v3.3.0
). All the activity will take place in one of those folders.
Maintaining an existring release, please use the corresponding folder. For a new version make a copy of the latest version of ESPD and rename according to the new version (e.g. copy schematron/Schematron-v3.3.0
to folder schematron/Schematron-v4.0.0
to create the structure for a new version).
schematron/Schematron-vX.X.X
folder structure is standard and contains:
espd-schematron-gc.bat
an Windows batch executable that is present in the root of the folderESPDReqeust
the folder containing the necessary input and output files for ESPD Request validationESPDResponse
the folder containing the necessary input and output files for ESPD Response validationcommon
the folder contains all common artefacts, libraries, and XSD files necessary to validate and produce extra validatorsgc
the folders contains all Code List files of that specific ESPD version- all
logs
folders contain the output of the execution of internal pipelines and should be checked for errors. If any errors occur during processing they are in the log files after each execution.
This tool is provided as is and is inteded to be used as intermediary step in the entire chain of ESPD validation process. Any contributions, suggestions and improvements are more than welcome. Please feel free to open GitHub issue for your feedback.
The tool will validate:
- Code Lists
- ESPD Request
- ESPD Response
all files are in XML format.
External data sources
Please update the files in ESPD-EDM repository first and then proceed.
The following files are copied from ESPD-EDM repository
from ESPD-EDM | to espd-validation-schematron | comments |
---|---|---|
codelists/gc |
schmatron/Schematron-vX.X.X/gc |
update both external and technical Code Lists in ESPD-EDM and then copy the content of the folder to espd-validation-schmeatron |
xml-examples/ESPD-criterion.xml |
schematron/Schematron-vX.X.X/ESPDRequest/xsl and schematron/Schematron-vX.X.X/ESPDResponse/xsl |
this is the same file as ESPD-Request.xml from ESPD-EDM repository. copy the same file in 2 diferent folders |
xml-examples/ESPD-Request.xml |
schematron/Schematron-vX.X.X/common/xml/ESPD-Request-BASE.xml and schematron/Schematron-vX.X.X/common/xml/validation_samples/ESPD-Request.xml |
copy the same file in 2 diferent folders |
xml-examples/ESPD-Response.xml |
schematron/Schematron-vX.X.X/common/xml/ESPD-Response-BASE.xml and schematron/Schematron-vX.X.X/common/xml/validation_samples/ESPD-Response.xml |
copy the same file in 2 diferent folders |
ubl-2.3/xsdrt |
schematron/Schematron-vX.X.X/common/xsdrt |
update the UBL distribution file in ESPD-EDM and then copy the content of the folder to espd-validation-schematron |
External Code Lists are provided by EU Vocabularies. The ESPD example files are generated from Excel Criterion file or from ESPD Demo site. The UBL files are directly downloaded from UBL distribution site.
Once the external files are in place we can proceed to modifying internal files.
Internal files
Please use only relative paths inside the files so that the pipelines can be run independent on the local file location specific to user computer.
The following internal files must be updated after all external files have been copied:
schematron/Schematron-vX.X.X/common/cva/01-ESPD-codelist-values.cva
contains the updated list with all codelist files, seeschematron/Schematron-vX.X.X/gc
folder for a complete list of codelist files, and ESPD specific business rules associated to each codelist.schematron/Schematron-vX.X.X/common/lib
contains all Java libraries. Please update the libraries so that the version are mutually compatible with both JDK installed version and with each other.schematron/Schematron-vX.X.X/common/sch
contains the Schematron rules specific the ESPD. Those rules must be updated according to changes implemented in ESPD model.01-ESPD-codelist-values.sch
contains the actual values for each codelist01-ESPD-common-cl-attributes.sch
contains the common criterion business rules for attributed that get their values from codelists01-ESPD-common-cl-values-restrictions.sch
contains the restrictions for common criterion business rules for attributes that get their values from codelists - no restrictions for the moment03-ESPD-common-criterion-br.sch
contains the set of rules associated tocac:TenderingCriterion
element for both ESPD Request and ESPD Response04-ESPD-common-other-br.sch
contains the cardinality constraints, other general business rules
schematron/Schematron-vX.X.X/common/xml
contains the base examples that will be used as input for validation. Specifi examples can be found in subfoldervalidation_samples
and can be used for specific validation. This has to be configured manually. Only the base example files are used in the processing chain.schematron/Schematron-vX.X.X/common/xsd
contains the general XSD files used for XML validation.ContextValueAssociation.xsd
is used to validate ???genericode.xsd
is used to validate Code Lists fromschematron\Schematron-vX.X.X\gc
xml.xsd
is used to validate ???
schematron/Schematron-vX.X.X/common/xsdrt
contains the XSD run time files for UBL documents validation. ESPD documents are based on UBLQualificationApplicationRequest
for Request andQualificationApplicationResponse
for Responseschematron/Schematron-vX.X.X/common/xsl/
contains generic XSL tranforamtion tools used to tansform schematron files, cva files and for internal pipelines. Those files should be updated if necessary only.Crane-Constraints2SchematronXSLT.xsl
Crane-cva2schXSLT.xsl
- used to transform the CVA to SCHCrane-genericode-CodeList.xsl
Message-Schematron-terminator.xsl
iso_schematron_skeleton_for_saxon.xsl
iso_schematron_skeleton_for_xslt1.xsl
iso_svrl_for_xslt2.xsl
- used to transform SCH to XSL
schematron/Schematron-vX.X.X/ESPDRequest
contains ESPD Request validation related filessch
contains Schematron business rules that have to considered for full validation of ESPD Request. Some of the files are generated automatically some are managed manuallyxsl
contains the result of transfoming Schmematron files to XSL. ThecriterionList.xml
file is maintained manually andESPD-criterion.xml
is from external sources.output
folder contains the results produced by the steps inside internal pipelines. Those files are automatically generated.
schematron/Schematron-vX.X.X/ESPDResponse
contains ESPD Response validation related filessch
contains Schematron business rules that have to considered for full validation of ESPD Response. Some of the files are generated automatically some are managed manuallyxsl
contains the result of transfoming Schmematron files to XSL. ThecriterionList.xml
file is maintained manually andESPD-criterion.xml
is from external sources.output
folder contains the results of steps inside internal pipelines. Those files are automatically generated.
The tool has 3 main parts each consisting of executing .bat
files from the terminal. You must have setup Java enviroment (JAVA_HOME, Path) for the command line execution.
The auxiliary bat file schematron/Schematron-vX.X.X/common/bat/w3schema.bat
uses schematron/Schematron-vX.X.X/common/lib/xjparse.jar
library, and schematron/Schematron-vX.X.X/common/bat/xslt.bat
uses schematron/Schematron-vX.X.X/common/lib/saxon9he.jar
library.
Phase I - Code List validation
Run file schematron/Schematron-vX.X.X/espd-schematron-gc.bat
this will validate all Code Lists files schematron/Schematron-vX.X.X/*.gc
using schematron/Schematron-vX.X.X/common/sdx/genericode.xsd
and the validation log can be found in schematron/Schematron-vX.X.X/logs/1-GC-Files.txt
.
Phase II - ESPD Request validation
Run files in this order:
-
schematron/Schematron-vX.X.X/ESPDRequest/01-espd-schematron-cva.bat
-
source schematron/Schematron-vX.X.X/common/cva/01-ESPD-codelist-values.cva
transform schematron/Schematron-vX.X.X/common/xsl/Crane-cva2schXSLT.xsl
output schematron/Schematron-vX.X.X/ESPDRequest/output/01-ESPD-codelist-values.xsl
log schematron/Schematron-vX.X.X/ESPDRequest/output/logs/01-CVAtoXSL.txt
-
source schematron/Schematron-vX.X.X/ESPDRequest/output/01-ESPD-codelist-values.xsl
transform schematron/Schematron-vX.X.X/ESPDRequest/output/01-ESPD-codelist-values.xsl
output schematron/Schematron-vX.X.X/ESPDRequest/sch/01-ESPD-codelist-values.sch
log schematron/Schematron-vX.X.X/ESPDRequest/output/logs/02-XSLtoSCH.txt
-
-
schematron/Schematron-vX.X.X/ESPDRequest/02-espd-schematron-sch.bat
-
source schematron/Schematron-vX.X.X/ESPDRequest/sch/01-ESPD-codelist-values.sch
trasform schematron/Schematron-vX.X.X/common/xsl/iso_svrl_for_xslt2.xsl
output schematron/Schematron-vX.X.X/ESPDRequest/xsl/01-ESPD-codelist-values.xsl
log schematron/Schematron-vX.X.X/ESPDRequest/output/logs/04-SCHtoXSLT.txt
-
source schematron/Schematron-vX.X.X/ESPDRequest/sch/02-ESPD-req-cardinality-br.sch
trasform schematron/Schematron-vX.X.X/common/xsl/iso_svrl_for_xslt2.xsl
output schematron/Schematron-vX.X.X/ESPDRequest/xsl/02-ESPD-req-cardinality-br.xsl
log schematron/Schematron-vX.X.X/ESPDRequest/output/logs/05-SCHtoXSLT.txt
-
source schematron/Schematron-vX.X.X/common/sch/04-ESPD-common-other-br.sch
trasform schematron/Schematron-vX.X.X/common/xsl/iso_svrl_for_xslt2.xsl
output schematron/Schematron-vX.X.X/ESPDRequest/xsl/04-ESPD-common-other-br.xsl
log schematron/Schematron-vX.X.X/ESPDRequest/output/logs/06-SCHtoXSLT.txt
-
source schematron/Schematron-vX.X.X/ESPDRequest/sch/05-ESPD-req-procurer-br.sch
trasform schematron/Schematron-vX.X.X/common/xsl/iso_svrl_for_xslt2.xsl
output schematron/Schematron-vX.X.X/ESPDRequest/xsl/05-ESPD-req-procurer-br.xsl
log schematron/Schematron-vX.X.X/ESPDRequest/output/logs/07-SCHtoXSLT.txt
-
source schematron/Schematron-vX.X.X/ESPDRequest/sch/04-ESPD-req-other-br.sch
trasform schematron/Schematron-vX.X.X/common/xsl/iso_svrl_for_xslt2.xsl
output schematron/Schematron-vX.X.X/ESPDRequest/xsl/04-ESPD-req-other-br.xsl
log schematron/Schematron-vX.X.X/ESPDRequest/output/logs/08-SCHtoXSLT.txt
-
source schematron/Schematron-vX.X.X/common/sch/03-ESPD-common-criterion-br.sch
trasform schematron/Schematron-vX.X.X/common/xsl/iso_svrl_for_xslt2.xsl
output schematron/Schematron-vX.X.X/ESPDRequest/xsl/03-ESPD-common-criterion-br.xsl
log schematron/Schematron-vX.X.X/ESPDRequest/output/logs/09-SCHtoXSLT.txt
-
source schematron/Schematron-vX.X.X/ESPDRequest/sch/03-ESPD-req-criterion-br.sch
trasform schematron/Schematron-vX.X.X/common/xsl/iso_svrl_for_xslt2.xsl
output schematron/Schematron-vX.X.X/ESPDRequest/xsl/03-ESPD-req-criterion-br.xsl
log schematron/Schematron-vX.X.X/ESPDRequest/output/logs/10-SCHtoXSLT.txt
-
source schematron/Schematron-vX.X.X/common/sch/01-ESPD-common-cl-attributes.sch
trasform schematron/Schematron-vX.X.X/common/xsl/iso_svrl_for_xslt2.xsl
output schematron/Schematron-vX.X.X/ESPDRequest/xsl/01-ESPD-common-cl-attributes.xsl
log schematron/Schematron-vX.X.X/ESPDRequest/output/logs/11-SCHtoXSLT.txt
-
source schematron/Schematron-vX.X.X/ESPDRequest/sch/05-ESPD-req-specific-br.sch
trasform schematron/Schematron-vX.X.X/common/xsl/iso_svrl_for_xslt2.xsl
output schematron/Schematron-vX.X.X/ESPDRequest/xsl/05-ESPD-req-specific-br.xsl
log schematron/Schematron-vX.X.X/ESPDRequest/output/logs/12-SCHtoXSLT.txt
-
source schematron/Schematron-vX.X.X/common/sch/01-ESPD-common-cl-values-restrictions.sch
trasform schematron/Schematron-vX.X.X/common/xsl/iso_svrl_for_xslt2.xsl
output schematron/Schematron-vX.X.X/ESPDRequest/xsl/01-ESPD-common-cl-values-restrictions.xsl
log schematron/Schematron-vX.X.X/ESPDRequest/output/logs/13-SCHtoXSLT.txt
-
-
schematron/Schematron-vX.X.X/ESPDRequest/03-espd-schematron-xml.bat
-
source schematron/Schematron-vX.X.X/common/xml/ESPD-Request-BASE.xml
trasform schematron/Schematron-vX.X.X/common/xsdrt/maindoc/UBL-QualificationApplicationRequest-2.3.xsd
output schematron/Schematron-vX.X.X/ESPDRequest/output/result-xsd.xml
log on screen direct log. ESPD Request document validation agains UBL 2.3. XSD -
source schematron/Schematron-vX.X.X/common/xml/ESPD-Request-BASE.xml
trasform schematron/Schematron-vX.X.X/ESPDRequest/xsl/01-ESPD-codelist-values.xsl
output schematron/Schematron-vX.X.X/ESPDRequest/output/01-ESPD-codelist-values.xml
log schematron/Schematron-vX.X.X/ESPDRequest/output/logs/05-XML-validation.txt
-
source schematron/Schematron-vX.X.X/common/xml/ESPD-Request-BASE.xml
trasform schematron/Schematron-vX.X.X/ESPDRequest/xsl/02-ESPD-req-cardinality-br.xsl
output schematron/Schematron-vX.X.X/ESPDRequest/output/02-ESPD-req-cardinality-br.xml
log schematron/Schematron-vX.X.X/ESPDRequest/output/logs/05-XML-validation.txt
-
source schematron/Schematron-vX.X.X/common/xml/ESPD-Request-BASE.xml
trasform schematron/Schematron-vX.X.X/ESPDRequest/xsl/04-ESPD-common-other-br.xsl
output schematron/Schematron-vX.X.X/ESPDRequest/output/04-ESPD-common-other-br.xml
log schematron/Schematron-vX.X.X/ESPDRequest/output/logs/06-XML-validation.txt
-
source schematron/Schematron-vX.X.X/common/xml/ESPD-Request-BASE.xml
trasform schematron/Schematron-vX.X.X/ESPDRequest/xsl/05-ESPD-req-procurer-br.xsl
output schematron/Schematron-vX.X.X/ESPDRequest/output/05-ESPD-req-procurer-br.xml
log schematron/Schematron-vX.X.X/ESPDRequest/output/logs/07-XML-validation.txt
-
source schematron/Schematron-vX.X.X/common/xml/ESPD-Request-BASE.xml
trasform schematron/Schematron-vX.X.X/ESPDRequest/xsl/04-ESPD-req-other-br.xsl
output schematron/Schematron-vX.X.X/ESPDRequest/output/04-ESPD-req-other-br.xml
log schematron/Schematron-vX.X.X/ESPDRequest/output/logs/08-XML-validation.txt
-
source schematron/Schematron-vX.X.X/common/xml/ESPD-Request-BASE.xml
trasform schematron/Schematron-vX.X.X/ESPDRequest/xsl/03-ESPD-common-criterion-br.xsl
output schematron/Schematron-vX.X.X/ESPDRequest/output/03-ESPD-common-criterion-br.xml
log schematron/Schematron-vX.X.X/ESPDRequest/output/logs/09-XML-validation.txt
-
source schematron/Schematron-vX.X.X/common/xml/ESPD-Request-BASE.xml
trasform schematron/Schematron-vX.X.X/ESPDRequest/xsl/03-ESPD-req-criterion-br.xsl
output schematron/Schematron-vX.X.X/ESPDRequest/output/03-ESPD-req-criterion-br.xml
log schematron/Schematron-vX.X.X/ESPDRequest/output/logs/10-XML-validation.txt
-
source schematron/Schematron-vX.X.X/common/xml/ESPD-Request-BASE.xml
trasform schematron/Schematron-vX.X.X/ESPDRequest/xsl/01-ESPD-common-cl-attributes.xsl
output schematron/Schematron-vX.X.X/ESPDRequest/output/01-ESPD-common-cl-attributes.xml
log schematron/Schematron-vX.X.X/ESPDRequest/output/logs/11-XML-validation.txt
-
source schematron/Schematron-vX.X.X/common/xml/ESPD-Request-BASE.xml
trasform schematron/Schematron-vX.X.X/ESPDRequest/xsl/05-ESPD-req-specific-br.xsl
output schematron/Schematron-vX.X.X/ESPDRequest/output/05-ESPD-req-specific-br.xml
log schematron/Schematron-vX.X.X/ESPDRequest/output/logs/12-XML-validation.txt
-
source schematron/Schematron-vX.X.X/common/xml/ESPD-Request-BASE.xml
trasform schematron/Schematron-vX.X.X/ESPDRequest/xsl/01-ESPD-common-cl-values-restrictions.xsl
output schematron/Schematron-vX.X.X/ESPDRequest/output/01-ESPD-common-cl-values-restrictions.xml
log schematron/Schematron-vX.X.X/ESPDRequest/output/logs/12-XML-validation.txt
-
Phase III - ESPD Response validation
Run files in this order:
-
schematron/Schematron-vX.X.X/ESPDResponse/01-espd-schematron-cva.bat
-
source schematron/Schematron-vX.X.X/common/cva/01-ESPD-codelist-values.cva
trasform schematron/Schematron-vX.X.X/common/xsl/Crane-cva2schXSLT.xsl
output schematron/Schematron-vX.X.X/ESPDResponse/output/01-ESPD-codelist-values.xsl
log schematron/Schematron-vX.X.X/ESPDResponse/output/logs/01-CVAtoXSL.txt
-
source schematron/Schematron-vX.X.X/ESPDResponse/output/01-ESPD-codelist-values.xsl
trasform schematron/Schematron-vX.X.X/ESPDResponse/output/01-ESPD-codelist-values.xsl
output schematron/Schematron-vX.X.X/ESPDResponse/sch/01-ESPD-codelist-values.sch
log schematron/Schematron-vX.X.X/ESPDResponse/output/logs/02-XSLtoSCH.txt
-
-
schematron/Schematron-vX.X.X/ESPDResponse/02-espd-schematron-sch.bat
-
source schematron/Schematron-vX.X.X/ESPDResponse/sch/01-ESPD-codelist-values.sch
trasform schematron/Schematron-vX.X.X/common/xsl/iso_svrl_for_xslt2.xsl
output schematron/Schematron-vX.X.X/ESPDResponse/xsl/01-ESPD-codelist-values.xsl
log schematron/Schematron-vX.X.X/ESPDResponse/output/logs/04-SCHtoXSLT.txt
-
source schematron/Schematron-vX.X.X/ESPDResponse/sch/02-ESPD-resp-cardinality-br.sch
trasform schematron/Schematron-vX.X.X/common/xsl/iso_svrl_for_xslt2.xsl
output schematron/Schematron-vX.X.X/ESPDResponse/xsl/02-ESPD-resp-cardinality-br.xsl
log schematron/Schematron-vX.X.X/ESPDResponse/output/logs/05-SCHtoXSLT.txt
-
source schematron/Schematron-vX.X.X/common/sch/04-ESPD-common-other-br.sch
trasform schematron/Schematron-vX.X.X/common/xsl/iso_svrl_for_xslt2.xsl
output schematron/Schematron-vX.X.X/ESPDResponse/xsl/04-ESPD-common-other-br.xsl
log schematron/Schematron-vX.X.X/ESPDResponse/output/logs/06-SCHtoXSLT.txt
-
source schematron/Schematron-vX.X.X/ESPDResponse/sch/05-ESPD-resp-eo-br.sch
trasform schematron/Schematron-vX.X.X/common/xsl/iso_svrl_for_xslt2.xsl
output schematron/Schematron-vX.X.X/ESPDResponse/xsl/05-ESPD-resp-eo-br.xsl
log schematron/Schematron-vX.X.X/ESPDResponse/output/logs/07-SCHtoXSLT.txt
-
source schematron/Schematron-vX.X.X/ESPDResponse/sch/04-ESPD-resp-other-br.sch
trasform schematron/Schematron-vX.X.X/common/xsl/iso_svrl_for_xslt2.xsl
output schematron/Schematron-vX.X.X/ESPDResponse/xsl/04-ESPD-resp-other-br.xsl
log schematron/Schematron-vX.X.X/ESPDResponse/output/logs/08-SCHtoXSLT.txt
-
source schematron/Schematron-vX.X.X/common/sch/03-ESPD-common-criterion-br.sch
trasform schematron/Schematron-vX.X.X/common/xsl/iso_svrl_for_xslt2.xsl
output schematron/Schematron-vX.X.X/ESPDResponse/xsl/03-ESPD-common-criterion-br.xsl
log schematron/Schematron-vX.X.X/ESPDResponse/output/logs/09-SCHtoXSLT.txt
-
source schematron/Schematron-vX.X.X/ESPDResponse/sch/05-ESPD-resp-role-br.sch
trasform schematron/Schematron-vX.X.X/common/xsl/iso_svrl_for_xslt2.xsl
output schematron/Schematron-vX.X.X/ESPDResponse/xsl/05-ESPD-resp-role-br.xsl
log schematron/Schematron-vX.X.X/ESPDResponse/output/logs/10-SCHtoXSLT.txt
-
source schematron/Schematron-vX.X.X/ESPDResponse/sch/03-ESPD-resp-criterion-br.sch
trasform schematron/Schematron-vX.X.X/common/xsl/iso_svrl_for_xslt2.xsl
output schematron/Schematron-vX.X.X/ESPDResponse/xsl/03-ESPD-resp-criterion-br.xsl
log schematron/Schematron-vX.X.X/ESPDResponse/output/logs/11-SCHtoXSLT.txt
-
source schematron/Schematron-vX.X.X/ESPDResponse/sch/05-ESPD-resp-qualification-br.sch
trasform schematron/Schematron-vX.X.X/common/xsl/iso_svrl_for_xslt2.xsl
output schematron/Schematron-vX.X.X/ESPDResponse/xsl/05-ESPD-resp-qualification-br.xsl
log schematron/Schematron-vX.X.X/ESPDResponse/output/logs/12-SCHtoXSLT.txt
-
source schematron/Schematron-vX.X.X/ESPDResponse/sch/05-ESPD-resp-specific-br.sch
trasform schematron/Schematron-vX.X.X/common/xsl/iso_svrl_for_xslt2.xsl
output schematron/Schematron-vX.X.X/ESPDResponse/xsl/05-ESPD-resp-specific-br.xsl
log schematron/Schematron-vX.X.X/ESPDResponse/output/logs/13-SCHtoXSLT.txt
-
source schematron/Schematron-vX.X.X/common/sch/01-ESPD-common-cl-attributes.sch
trasform schematron/Schematron-vX.X.X/common/xsl/iso_svrl_for_xslt2.xsl
output schematron/Schematron-vX.X.X/ESPDResponse/xsl/01-ESPD-common-cl-attributes.xsl
log schematron/Schematron-vX.X.X/ESPDResponse/output/logs/14-SCHtoXSLT.txt
-
source schematron/Schematron-vX.X.X/common/sch/01-ESPD-common-cl-values-restrictions.sch
trasform schematron/Schematron-vX.X.X/common/xsl/iso_svrl_for_xslt2.xsl
output schematron/Schematron-vX.X.X/ESPDResponse/xsl/01-ESPD-common-cl-values-restrictions.xsl
log schematron/Schematron-vX.X.X/ESPDResponse/output/logs/15-SCHtoXSLT.txt
-
-
schematron/Schematron-vX.X.X/ESPDResponse/3-espd-schematron-xml.bat
-
source schematron/Schematron-vX.X.X/commo/xml/ESPD-Response-BASE.xml
trasform schematron/Schematron-vX.X.X/ESPDResponse/xsl/01-ESPD-codelist-values.xsl
output schematron/Schematron-vX.X.X/ESPDResponse/output/01-ESPD-codelist-values.xml
log schematron/Schematron-vX.X.X/ESPDResponse/output/logs/05-XML-validation.txt
-
source schematron/Schematron-vX.X.X/commo/xml/ESPD-Response-BASE.xml
trasform schematron/Schematron-vX.X.X/ESPDResponse/xsl/02-ESPD-resp-cardinality-br.xsl
output schematron/Schematron-vX.X.X/ESPDResponse/output/02-ESPD-resp-cardinality-br.xml
log schematron/Schematron-vX.X.X/ESPDResponse/output/logs/05-XML-validation.txt
-
source schematron/Schematron-vX.X.X/commo/xml/ESPD-Response-BASE.xml
trasform schematron/Schematron-vX.X.X/ESPDResponse/xsl/04-ESPD-common-other-br.xsl
output schematron/Schematron-vX.X.X/ESPDResponse/output/04-ESPD-common-other-br.xml
log schematron/Schematron-vX.X.X/ESPDResponse/output/logs/06-XML-validation.txt
-
source schematron/Schematron-vX.X.X/commo/xml/ESPD-Response-BASE.xml
trasform schematron/Schematron-vX.X.X/ESPDResponse/xsl/05-ESPD-resp-eo-br.xsl
output schematron/Schematron-vX.X.X/ESPDResponse/output/05-ESPD-resp-eo-br.xml
log schematron/Schematron-vX.X.X/ESPDResponse/output/logs/07-XML-validation.txt
-
source schematron/Schematron-vX.X.X/commo/xml/ESPD-Response-BASE.xml
trasform schematron/Schematron-vX.X.X/ESPDResponse/xsl/04-ESPD-resp-other-br.xsl
output schematron/Schematron-vX.X.X/ESPDResponse/output/04-ESPD-resp-other-br.xml
log schematron/Schematron-vX.X.X/ESPDResponse/output/logs/08-XML-validation.txt
-
source schematron/Schematron-vX.X.X/commo/xml/ESPD-Response-BASE.xml
trasform schematron/Schematron-vX.X.X/ESPDResponse/xsl/03-ESPD-common-criterion-br.xsl
output schematron/Schematron-vX.X.X/ESPDResponse/output/03-ESPD-common-criterion-br.xml
log schematron/Schematron-vX.X.X/ESPDResponse/output/logs/09-XML-validation.txt
-
source schematron/Schematron-vX.X.X/commo/xml/ESPD-Response-BASE.xml
trasform schematron/Schematron-vX.X.X/ESPDResponse/xsl/05-ESPD-resp-role-br.xsl
output schematron/Schematron-vX.X.X/ESPDResponse/output/05-ESPD-resp-role-br.xml
log schematron/Schematron-vX.X.X/ESPDResponse/output/logs/10-XML-validation.txt
-
source schematron/Schematron-vX.X.X/commo/xml/ESPD-Response-BASE.xml
trasform schematron/Schematron-vX.X.X/ESPDResponse/xsl/03-ESPD-resp-criterion-br.xsl
output schematron/Schematron-vX.X.X/ESPDResponse/output/03-ESPD-resp-criterion-br.xml
log schematron/Schematron-vX.X.X/ESPDResponse/output/logs/11-XML-validation.txt
-
source schematron/Schematron-vX.X.X/commo/xml/ESPD-Response-BASE.xml
trasform schematron/Schematron-vX.X.X/ESPDResponse/xsl/05-ESPD-resp-qualification-br.xsl
output schematron/Schematron-vX.X.X/ESPDResponse/output/05-ESPD-resp-qualification-br.xml
log schematron/Schematron-vX.X.X/ESPDResponse/output/logs/12-XML-validation.txt
-
source schematron/Schematron-vX.X.X/commo/xml/ESPD-Response-BASE.xml
trasform schematron/Schematron-vX.X.X/ESPDResponse/xsl/05-ESPD-resp-specific-br.xsl
output schematron/Schematron-vX.X.X/ESPDResponse/output/05-ESPD-resp-specific-br.xml
log schematron/Schematron-vX.X.X/ESPDResponse/output/logs/13-XML-validation.txt
-
source schematron/Schematron-vX.X.X/commo/xml/ESPD-Response-BASE.xml
trasform schematron/Schematron-vX.X.X/ESPDResponse/xsl/01-ESPD-common-cl-attributes.xsl
output schematron/Schematron-vX.X.X/ESPDResponse/output/01-ESPD-common-cl-attributes.xml
log schematron/Schematron-vX.X.X/ESPDResponse/output/logs/14-XML-validation.txt
-
source schematron/Schematron-vX.X.X/commo/xml/ESPD-Response-BASE.xml
trasform schematron/Schematron-vX.X.X/ESPDResponse/xsl/01-ESPD-common-cl-values-restrictions.xsl
output schematron/Schematron-vX.X.X/ESPDResponse/output/01-ESPD-common-cl-values-restrictions.xml
log schematron/Schematron-vX.X.X/ESPDResponse/output/logs/15-XML-validation.txt
-
- for Code List files validation errors please look in
schematron/Schematron-vX.X.X/logs/1-GC-Files.txt
- for ESPD Request validation errors please check:
schematron/Schematron-vX.X.X/ESPDRequest/output/logs
files for each step in the pipeline contain the eventual error messages - for ESPD Response validation errors please check:
schematron/Schematron-vX.X.X/ESPDResponse/output/logs
files for each step in the pipeline contain the eventual error messages
Please consult the input source file and the transfomation file in order to fix the errors.
Once the 3 main parts are executed successfully (check for any errors in the log files, especially validation errors), we can use the files produced in ESPDRequest
and ESPDResponse
folders to be copied to ESPD-EDM repository validation
folder. The files from ESPD-EDM repository should be copied to validation-resources-espd repository.
from espd-validation-schematron | to ESPD-EDM |
---|---|
schematron/Schematron-vX.X.X/ESPDRequest/sch/ |
validation/ESPDRequest/sch/ |
schematron/Schematron-vX.X.X/ESPDRequest/xsl/ |
validation/ESPDRequest/xsl/ |
schematron/Schematron-vX.X.X/ESPDResponse/sch/ |
validation/ESPDResponse/sch/ |
schematron/Schematron-vX.X.X/ESPDResponse/xsl/ |
validation/ESPDResponse/xsl/ |
schematron/Schematron-vX.X.X/common/cva/ |
validation/common/cva/ |
schematron/Schematron-vX.X.X/common/sch/ |
validation/common/sch/ |
from ESPD-EDM | to validator-resources-espd |
---|---|
validation/ESPDRequest/xsl/ |
resources/vX.X.X/ESPDRequest/ |
validation/ESPDResponse/xsl/ |
resources/vX.X.X/ESPDResponse/ |
codelists/gc/ |
resources/vX.X.X/gc/ |
ubl-2.3/xsdrt/ |
resources/vX.X.X/xsdrt/ |
The project is developed and distributed under the European Union Public Licence (EUPL) version 1.2.