|
|
|
|
|
## Inleiding ##
|
|
|
|
|
|
Met de introductie van XML als het standaardberichtformaat voor alle iStandaarden is het mogelijk om XSLT’s (Extensible Styles Language Transformations) toe te passen om zo een groot aantal validaties uit te voeren die niet afgevangen kunnen worden door de XSD-schema’s.
|
|
|
|
|
|
Het grote voordeel van XSLT’s is dat de beheerder van een standaard ze kan opstellen en dat alle softwareleveranciers XSLT’s op een uniforme, eenduidige en eenvoudige manier kunnen implementeren. Codering van controleregels door softwareleveranciers zelf is daardoor niet meer noodzakelijk.
|
|
|
|
|
|
De XSLT’s zijn bedoeld voor softwareleveranciers die werken aan software voor de iStandaarden. De XSLT’s komen van pas bij:
|
|
|
* het correct opstellen van berichten door de verzender;
|
|
|
* het uitvoeren van controles door de ontvanger.
|
|
|
|
|
|
Ook maken XSLT’s elementoverstijgende controles mogelijk op de berichten.
|
|
|
|
|
|
Het gebruik van de XSLT’s is niet verplicht. Zorginstituut Nederland stelt de XSLT’s beschikbaar zodat softwareleveranciers ze kunnen gebruiken voor hun producten.
|
|
|
|
|
|
Deze handleiding is bedoeld ter ondersteuning van softwareleveranciers die de XSLT’s willen toepassen.
|
|
|
|
|
|
### Meer informatie ###
|
|
|
Heeft u vragen of opmerkingen over de Handleiding XSLT’s? Neemt u dan contact op met:
|
|
|
|
|
|
Zorginstituut Nederland\
|
|
|
Team Informatiestandaarden\
|
|
|
(020) 797 89 48\
|
|
|
info@istandaarden.nl\
|
|
|
[www.istandaarden.nl](https://istandaarden.nl/)
|
|
|
|
|
|
|
|
|
|
|
|
## 1- Over de XSLT’s voor iStandaarden ##
|
|
|
### 1.1 XML als standaard ###
|
|
|
Vanaf 1 januari 2016 zijn ketenpartijen voor de uitvoering van de Wlz verplicht om in het iWlz-berichtenverkeer gebruik te maken van de XML-standaard. Voor de Wmo en de Jeugdwet geldt dit per 12 juni 2017 en voor pgb sinds 1 september 2017.
|
|
|
|
|
|
Binnen alle zorgdomeinen worden XML-schemadefinities (XSD’s) gebruikt om berichten te definiëren.
|
|
|
|
|
|
In de informatiemodellen van Zorginstituut Nederland zijn alle berichten per iStandaard weergegeven, inclusief de berichtdefinities en de verzameling regels en afspraken. Een overzicht van alle informatiemodellen – iWlz, iWmo, iJw en iPgb – vindt u onderaan op de homepage van [istandaarden.nl](https://istandaarden.nl/).
|
|
|
|
|
|
### 1.2 Validatie met XSLT’s ###
|
|
|
Met XSLT’s kunnen XML-berichten omgezet worden in andere XML-berichten of in een ander berichtformaat, zoals een CSV-bericht (Comma Separated Values). XSLT is een internationale standaard die beheerd wordt door het World Wide Web Consortium (W3C).
|
|
|
|
|
|
Het uitgangspunt voor de XSLT-controle is een correct gestructureerd XML-bericht. Of een XML-bericht correct is gestructureerd, wordt gecontroleerd met een XML-schema. Hiermee is de XSLT-controle afhankelijk van de XML-schemacontrole.
|
|
|
|
|
|

|
|
|
|
|
|
Een XSLT kan gebruikt worden om een controle uit te voeren. Het resultaat van de controle is een foutenrapport in XML-formaat. Een in XSLT geïmplementeerde controle is typisch een elementoverstijgende controle die niet met een XML-schema kan worden gedefinieerd.
|
|
|
|
|
|

|
|
|
|
|
|
## 2- Structuur en gebruik van de XSLT’s ##
|
|
|
|
|
|
De XSLT’s die Zorginstituut Nederland beschikbaar stelt, zijn alleen bruikbaar voor de berichten die zijn opgenomen in het Informatiemodel iStandaarden.
|
|
|
|
|
|
### 2.1 Structuur ###
|
|
|
De XSLT’s voor iStandaarden zijn in het informatiemodel per release verpakt in een zip-bestand. Elk zip-bestand heeft deze structuur, dit voorbeeld is op basis van de Wmo-XSLT’s:
|
|
|
|
|
|

|
|
|
|
|
|
**Toelichting**
|
|
|
* **Versie (xslt-validatie_x.x.x)**\Versies van de xslt zijn oplopend en uniek per domein, er wordt gebruik gemaakt van “semantic versioning”.
|
|
|
* **Common\2_0** – XSLT-controles, zoals de 11-proef, die zowel van toepassing kunnen zijn op iWmo, iJw als iWlz.
|
|
|
* **Schema\1_1** – Hierin zit het XML-schema waarin het resultaat van de XSLT-controle wordt vastgelegd: het foutenrapport.
|
|
|
* **Wmo\3_0** – iStandaard en Releasenummer. Het gaat hier daarom om de xslt-set voor de iWmo Release 3.0.
|
|
|
Deze map bevat de ‘all.xsl’, ‘all_merged.xsl’ en de afzonderlijke XSLT’s per bericht. De ‘all.xsl’ of ‘all_merged.xsl’ files zijn de bestanden waarmee de controles worden gebruikt. Zie hiervoor paragraaf 2.2
|
|
|
* **Common** – Hierin zijn de omschrijvingen van alle controles opgenomen.
|
|
|
* **Condities** – Bevat alle in XSLT uit te drukken condities.
|
|
|
* **Constraints** - Bevat alle in XSLT uit te drukken constraints.
|
|
|
* **Rules** – Bevat alle in XSLT uit te drukken technische regels.
|
|
|
|
|
|
### 2.2 Gebruikmaken van de XSLT-set ###
|
|
|
|
|
|
Om een xml-bericht inhoudelijk te valideren (parsen van het xml bericht) kan het beste gebruik gemaakt worden van de ‘all.xsl’ file of de ‘all_merged.xsl’ file. De ‘all.xsl’ of de ‘all_merged.xsl’ voeren beide alle controles uit die van toepassing zijn op het xml-bericht dat ter validatie is aangeboden. Het maakt dan niet uit welk iStandaard-bericht er gevalideerd moet worden.
|
|
|
Dus voor een AW33.xml of een ZK35 etc. kan de ‘all.xsl’ of ‘all_merged.xsl’ gebruikt worden. De xsl-structuur bepaald dan om welk iStandaard bericht het gaat en zal vervolgens alleen die controles uitvoeren die van toepassing zijn op dat iStandaard bericht.
|
|
|
Het verschil tussen de ‘all.xsl’ of de ‘all_merged.xsl’ is dat bij ‘all.xsl’ er verwijzingen zijn naar afzonderlijke bericht-controles, regels en foutmeldingen, terwijl die bij de ‘all_merged.xsl’ alles binnen hetzelfde bestand zit.
|
|
|
|
|
|
Voor het controleren van een specifieke regel binnen een bericht of een specifiek bericht zelf kan het afzonderlijke XSLT bestand gebruikt worden.
|
|
|
|
|
|
### 2.3 Handmatig gebruik ###
|
|
|
De XSLT’s kunnen gebruikt worden in zowel een handmatig als een geautomatiseerd proces. In een handmatig proces gebeurt dat waarschijnlijk met een XML-tool waarbij een iStandaarden-bericht in XML en de bijbehorende XSLT worden geselecteerd om vervolgens de controle uit te voeren.
|
|
|
|
|
|

|
|
|
|
|
|
### 2.4 Geautomatiseerd gebruik ###
|
|
|
In een geautomatiseerd proces maakt de XSLT-controle naar alle waarschijnlijkheid deel uit van een of meer processtappen om een iStandaarden-bericht in XML te valideren. De uitvoer is uiteindelijk een bijbehorend retourbericht.
|
|
|
|
|
|

|
|
|
|
|
|
### 2.5 Validatie iStandaard-berichten ###
|
|
|
Softwareleveranciers kunnen de XSLT’s toepassen in hun producten. Voor iStandaard-berichten geldt dat ieder bericht gevalideerd wordt met het XSLT-bestand ‘all.xsl’.
|
|
|
|
|
|
Het resulterende XML-bericht na de XSLT-validatie van het iStandaarden-bericht heet ‘report.xml’. Dit is de grafische weergave van het report:
|
|
|
|
|
|

|
|
|
|
|
|
Dit is een XML-rapport waarin fouten opgenomen zijn. Zie onderstaand voorbeeld.
|
|
|
|
|
|

|
|
|
|
|
|
Op basis van dit document wordt het retourbericht opgesteld door de applicatie.
|
|
|
|
|
|
### 2.6 Licentie ###
|
|
|
Alle XSLT’s voor iStandaarden worden onder een MIT-licentie uitgebracht. Dit betekent dat de XSLT’s vrij zijn om toe te passen en te distribueren. Zie [mitlicense.org](https://mitlicense.org/) voor de voorwaarden. |