Impressum/Imprint Datenschutz

2Step specific extension

2.1p:file-delete

In the returned c:result document, an extension attribute mox:resource-deleted indicates, whether the resource was actually deleted ('true') or did not exist beforehand ('false').

2.2p:file-mkdir

In the returned c:result document, an extension attribute mox:directory-created indicates, whether the resource was actually newly created ('true') or did exist beforehand ('false').

2.3p:for-each

(Extended Edition only) Extension attribute "mox:threads" controls the number of system threads used in this for-each when using Java 11 or later. The value must be a non-negative integer, 0 means no threading. With command line switch -no-threads, no threading is set globally.

By default MorganaXProc-III does not use threads, but executes the subpipeline for each document sequentially. Enabling threaded execution of p:for-each uses CPU's multi-core infrastructure. With this multiple documents for the iteration-source are processed by different cores and therefor are handled parallel. In some cases this can improve pipeline's execution speed significantly, in other cases it slows down execution as a consequence of threading overhead. Also speed improvement may vary from one computer to another if different processors and/or core numbers are used.

The use of mox:thread might lead to unexpected results in the order of [p:]message. While debugging pipelines it might therefor be a good idea to turn threading off.

2.4p:http-request

Option map parameters now supports key mox:pause-before-request which must be associated with a non-negative integer. If the value is greater than 0 it causes the step to pause for the given number of seconds before the actual http-request is performed. Using this parameter is handy if a web server answers with status code 202 to reduce the number of waiting recursive calls.

2.5p:load (and p:document)

For p:load and consequently in p:document is an option map parameters defined. For XML documents MorganaXProc-III recognizes the following keys:

  1. mox:use-line-numbers which has to be associated to a single boolean value. If the associated value is true, MorganaXProc-III will use line/column positions supplied by a parser for elements. This increases memory consumption, but improves error messages e.g. from static analysis of XSLT stylesheets.

  2. mox:remove-ignorable-whitespace which has to be associated to a single boolean value. If a DTD validation is performed, MorganaXProc-III uses the structure information, to detect (and if true is supplied for mox:remove-ignorable-whitespace) remove the ignorable whitespace.

  3. mox:ignore-external-dtd has to be associated to a single boolean value. It is only considered if "dtd-validate" is false (Which is also the default value). If mox:ignore-external-dtd is associated to "true", no attempt is made to resolve a DTD. If "false" MorganaXProc will try to resolve the DTD and raise an error if it is not found.

For documents with content-type "text/html" there is an additional parsing parameter mox:use-xhtml-namespace. This parameter has to be associated to a single boolean value. By default (or if parameter is set to true) the resulting document will be in XHTML namespace. If mox:use-xhtml-namespace is associated to false, the resulting document is in no namespace. The parameter is ignored for all other content types.

2.6p:xquery

From 1.4: When using a validating XQuery implementation, commandline switch (or configuration document element) XQueryValidationMode can be used to control overall validation behaviour within a pipeline. If you want to set validation mode for individual p:xquery instances in your pipeline, you can use mox:validate-sources as a key in p:xquery's option parameters. MorganaXProc-III takes the string value of the first item in the associated sequence and supplies it to the used XQuery processor. The allowed values and the consequences for source validation depend on the used XQuery processor. For none validating XQuery processors, the key and its associated value is ignored.

2.7p:xslt

When using a validating XSLT implementation, commandline switch (or configuration document element) XSLTValidationMode can be used to control overall validation behaviour within a pipeline. If you want to set validation mode for individual p:xslt instances in your pipeline, you can use mox:validate-sources as a key in p:xslt's option parameters. MorganaXProc-III takes the string value of the first item in the associated sequence and supplies it to the used XSLT processor. The allowed values and the consequences for source validation depend on the used XSLT processor. For none validating XSLT processors, the key and its associated value is ignored.