Hallo,
ich bin auch gerade an dem Thema dran. Meines Erachtens nach liegt das Problem mit der XSLT-Transformation über die Kosit-Lösung daran, dass das XSLT in Version 2.0 vorliegt. Die
XML-Implementierung im Delphi, die die Funktion TransferNode unterstützt, nutzt als DOMVendor
MSXML und dieser kann nur XSLT 1.0.
Es gibt dabei mehrere Probleme:
- die XSLT-Dateien von Kosit (zum Beispiel cii-xr.xsl) importieren weitere xsl. Das konnte ich beheben, in dem ich das alles in eine Datei zusammengeführt habe.
- diverse Funktionen in den Kosit Dateien werden nicht in XSLT 1.0 unterstützt: replace, match, doc-available, ...
Es wird wohl nur durch ein äquivalentes Umschreiben der XSLT-Dateien in Ver. 1.0 oder über eine Delphi-Library, die Ver.2.0 beherrscht, gehen.
Für Rechnungen, die im CII-Format vorliegen, konnte ich aber aus den Schemadateien eine Delphi-
Unit generieren. Allerdings nicht über die im
RAD-Studio integrierte Funktion (damit war teilweise kein Zugriff auf Nodes möglich), sondern hiermit:
https://github.com/MvRens/x2xmldatabinding
Für UBL hat das aber auch nicht funktioniert.
Jan