XSLT

 

XSLT based on libxml.

miyako/4d-plugin-xslt-v2

Compatibility note

For simplicity, the command signature has been changed.

  • Object instead of array pair
  • BLOB I/O instead of text
  • Thread safe

Library information

  • libxml2 2.9.9 –with-threads
  • libxslt 1.1.33

xmlInitParser() is used in the “main” thread

http://xmlsoft.org/threads.html

result:=XSLT Apply stylesheet(xml;xsl;options)
Parameter
Type
Description
xml
BLOB
xsl
BLOB
options
OBJECT
result
BLOB

Pass key/value pair in options to set XSLT parameters. Keep in mind that XSLT parameters are always string. The numeric value 123 should be passed as "123" and string value abc should be passed as "'abc'".

Reserved key names xmlParserOption and xslParserOption can be used to specify xmlParserOption.

xml and xsl can be a path or BLOB data. On Mac, the path should be HFS system path in UTF-8. On Windows, it is unclear whether the library expects ANSI or UTF-8. IF unsure, consider the BLOB option.

For simlpicity, the plugin does not yield to 4D runtime during XSLT. If processing takes time, consider using a preemptive worker process.