Um XML gegenüber einem XSD zu validieren gibt es Tools wie Sand am Meer, hier eine kurze Anleitung für Notepad++, am Beispiel einer SEPA XML, wobei für „IBAN ONLY“ von Rulebook 6.0 auf Rulebook 7.1 angepasst wurde.
Vorbereitungen
Wer Notepad++ nicht kennt, es handelt sich dabei um einen Texteditor mit u.a. Code-Highlighting. Mittels Plugins kann das Programm noch erweitert werden. Für das validieren von XML muss das Plugin XMLTools hinzugefügt werden.
- Notepad++ kann hier heruntergeladen werden:
https://notepad-plus-plus.org/ - XMLTools kann hier heruntergeladen werden:
http://docs.notepad-plus-plus.org/index.php?title=Plugin_Central#X
Update 2020-05 neuer Link, Danke an Andreas für die Information!
https://github.com/notepad-plus-plus/nppPluginList/blob/master/doc/plugin_list_x86.md
Zum installieren des Plugins, die DLL einfach in das Verzeichnis plugins vom Notepad++ Installationsverzeichnis kopieren, danach Notepad++ neu starten. Jetzt müßte unter dem Menüpunkt „Erweiterungen“ der neue Menüpunkt XMLTools vorhanden sein.
SEPA XML Änderung von 6.0 nach 7.1 für Anweisung ohne BIC
Zum validieren eines XML habe ich eine SEPA Datei für Rulebook Version 6.0 hergenommen, und dahingehen angepasst, dass Zahlungsanweisungen auch ohne BIC funktionieren sollten. Die Änderung findet sich neben dem Namensraum unter PmtInf/DrctDbtTxInf/DbtrAgt.
Anstatt eines BICs
<DbtrAgt> <FinInstnId> <BIC>BKAUATWW</BIC> </FinInstnId> </DbtrAgt>
muss jetzt, wenn kein BIC vorhanden ist, folgendes stehen
<DbtrAgt> <FinInstnId> <Othr> <Id>NOTPROVIDED</Id> </Othr> </FinInstnId> </DbtrAgt>
verwendete Namensräume:
- 6.0: xmlns=“urn:iso:std:iso:20022:tech:xsd:pain.008.001.02″
- 7.1: xmlns=“ISO:pain.008.001.02:APC:STUZZA:payments:004″
Validieren des XML
- Zum validieren mittels Notepad++, öffnet man das XML.
- Danach unter Menüpunkt Erweiterungen > XMLTools > Validate Now
- Auswahl des XSD Files und (!!WICHTIG!!) im selben Verzeichnis müssen sich auch alle weiteren inkludierten XSD Dateien befinden.
- OK drücken.
Auswahl der XSD-Datei
Die Dateien für Rulebook 7.1 können für Österreich hier heruntergeladen werden:
- http://www.stuzza.at/de/download/xml/kunde-bank/rb-7-1/xml-schemata.html?sort=title&direction=asc
- ISO pain 008 001 02 austrian 004
- RB7 0 pain 008 codelists
Ist das XML erfolgreich validiert, wird folgender Dialog angezeigt:
Die Dateien für Rulebook 6.0 können für Österreich unter folgendem Link heruntergeladen werden:
- http://www.stuzza.at/de/download/xml/kunde-bank/rb-60.html?sort=title&direction=asc
- ISO.pain.008.001.02.austrian.003
- RB6.0 pain.008 codelists
Sollte ein Fehler vorhanden sein, wird folgender Dialog angezeigt:
Update
Damit das XML File auch als gültig erkannt wird, muss die Bankensoftware auf den neuestem Stand sein. Für Raiffeisen ELBA muss es zum Beispiel mindestens Version 5.7.1 Release 0003 sein.
Hi, ein XML validieren funktioniert super.
Gibt es auch eine Möglichkeit mehrere XML-Dateien auf einmal zu validieren?
Am besten mit einer Übersicht am Ende, welche XML-Dateien valide sind und welche nicht.
Danke und Grüße
Timo
Hallo,
Ist mir leider nicht bekannt, dass das mit Notepad++ geht.
Lg
Michael
Danke für Deinen Artikel.
Zur Info: Der Link zu den Plugins hat sich geändert:
https://github.com/notepad-plus-plus/nppPluginList/blob/master/doc/plugin_list_x86.md
P.S.
Das Captcha timeout ist etwas kurz.
Nach dem Artikel Lesen, ausprobieren und Kommentar schreiben war es schon abgelaufen.
Hallo!
Vielen Dank für die Information, den Link habe ich schon ausgebessert und ich werde mal schauen ob ich das Timeout anpassen kann 🙂
Michael