KositArtifacts
in package
FinalYes
Downloads the KoSIT validator and the XRechnung validator configuration (level L5) and compiles the Peppol BIS Billing 3.0 Schematron to XSLT with the Saxon bundled in the validator (requires Java).
Table of Contents
Constants
- CONFIGURATION_FILE : string = 'xrechnung-3.0.2-validator-configuration-2026-0...
- CONFIGURATION_TAG : string = 'v2026-08-31'
- PEPPOL_TAG : string = 'v3.0.20'
- SCHXSLT_VERSION : string = '1.10.1'
- SHA256 : array<string|int, mixed> = ['https://repo1.maven.org/maven2/org/kosit/vali...
- SHA-256 of the pinned downloads. The default download checks them, because the validator JAR is run with java and release tags can be moved; update them together with the versions.
- VALIDATOR_VERSION : string = '1.6.3'
Methods
- __construct() : mixed
- compilePeppol() : array{scenarios: string, repository: string}
- Compiles the Peppol Schematron into peppol/PEPPOL-EN16931-UBL.xsl below $target.
- configurationUrl() : string
- download() : array{jar: string, scenarios: string, repository: string}
- peppolScenarios() : string
- Scenario file for Peppol BIS Billing 3.0; the repository is the download target.
- peppolUrl() : string
- schxsltUrl() : string
- validatorUrl() : string
Constants
CONFIGURATION_FILE
public
string
CONFIGURATION_FILE
= 'xrechnung-3.0.2-validator-configuration-2026-08-31.zip'
CONFIGURATION_TAG
public
string
CONFIGURATION_TAG
= 'v2026-08-31'
PEPPOL_TAG
public
string
PEPPOL_TAG
= 'v3.0.20'
SCHXSLT_VERSION
public
string
SCHXSLT_VERSION
= '1.10.1'
SHA256
SHA-256 of the pinned downloads. The default download checks them, because the validator JAR is run with java and release tags can be moved; update them together with the versions.
public
array<string|int, mixed>
SHA256
= ['https://repo1.maven.org/maven2/org/kosit/validator/1.6.3/validator-1.6.3-standalone.jar' => '799e64befca97d4080e03608c80b85dd5a5ecc5f4ae4f35d1116ec2855b9a7c9', 'https://github.com/itplr-kosit/validator-configuration-xrechnung/releases/download/v2026-08-31/xrechnung-3.0.2-validator-configuration-2026-08-31.zip' => '2530cd107c414511c5d0462ec10f886910395abfca820db82e83d70bf01221a8', 'https://raw.githubusercontent.com/OpenPEPPOL/peppol-bis-invoice-3/v3.0.20/rules/sch/PEPPOL-EN16931-UBL.sch' => '5ddf3a2f6633147b20b7805df9902d825af1a984f10014fcee186d4170364b1d', 'https://repo1.maven.org/maven2/name/dmaus/schxslt/schxslt/1.10.1/schxslt-1.10.1.jar' => '4f4f21edab7b37f96ad59ae12a344d3510f1092ac46b6d81a4efa0120b73cb58']
VALIDATOR_VERSION
public
string
VALIDATOR_VERSION
= '1.6.3'
Methods
__construct()
public
__construct([callable(string): string|null $fetch = null ][, callable(array<int, string>, string, int): array{exitCode: int, stdout: string, stderr: string}|null $run = null ]) : mixed
Parameters
- $fetch : callable(string): string|null = null
-
returns the body of a URL; the default checks it against SHA256
- $run : callable(array<int, string>, string, int): array{exitCode: int, stdout: string, stderr: string}|null = null
-
runs a process
compilePeppol()
Compiles the Peppol Schematron into peppol/PEPPOL-EN16931-UBL.xsl below $target.
public
compilePeppol(string $target[, string $java = 'java' ][, bool $force = false ]) : array{scenarios: string, repository: string}
download() must have run before, because Saxon comes with the validator JAR.
Parameters
- $target : string
- $java : string = 'java'
- $force : bool = false
Return values
array{scenarios: string, repository: string}configurationUrl()
public
static configurationUrl([string $tag = self::CONFIGURATION_TAG ][, string $file = self::CONFIGURATION_FILE ]) : string
Parameters
- $tag : string = self::CONFIGURATION_TAG
- $file : string = self::CONFIGURATION_FILE
Return values
stringdownload()
public
download(string $target[, bool $force = false ]) : array{jar: string, scenarios: string, repository: string}
Parameters
- $target : string
- $force : bool = false
Return values
array{jar: string, scenarios: string, repository: string}peppolScenarios()
Scenario file for Peppol BIS Billing 3.0; the repository is the download target.
public
static peppolScenarios() : string
Return values
stringpeppolUrl()
public
static peppolUrl([string $tag = self::PEPPOL_TAG ]) : string
Parameters
- $tag : string = self::PEPPOL_TAG
Return values
stringschxsltUrl()
public
static schxsltUrl([string $version = self::SCHXSLT_VERSION ]) : string
Parameters
- $version : string = self::SCHXSLT_VERSION
Return values
stringvalidatorUrl()
public
static validatorUrl([string $version = self::VALIDATOR_VERSION ]) : string
Parameters
- $version : string = self::VALIDATOR_VERSION