MorganaXProc 0.95-5 released

MorganaXProc 0.95-5 was released on 2015-05-16

MorganaXProc 0.95-5 is basically a service release with some bug fixes and some internal changes of classes and interfaces to prepare for XProc 2.0.

New features:

  • Support for proposed file extension steps: All steps proposed on EXProc.org are now implemented. Additionally <pxf:tempdir/> is also implemented. To use these steps in your pipeline, import their namespace uri "http://exproc.org/proposed/steps/file".
    All steps are implemented as recommended for uri scheme "file:". <pxf:info/> also works with schemes "http:" and "https:" and produces an additional attribute "content-type" in MorganaXProc's namespace for c:file and c:uri results.
  • Support for proposed os utilities: <pos:info/>, <pos:cwd/> and <pos:env/> are implemented as proposed. To use them in your pipeline, please import their namespace uri " http://exproc.org/proposed/steps/os". <pos:info/> returns all listed properties.
  • For your convenience you can import both extension libraries (and all to come in the future) by using uri "http://www.xml-project.com/morgana/exproc". The associated resource also contains a list of all currently implemented extension steps. The resource is not loaded by MorganaXProc, but is just used for documentation reasons.
  • In line with the new file extension steps, MorganaXProcs security system was extended to give you control over the resources accessed and modified by a pipeline. "DELETE_RESOURCE" was added to the list of security relevant operations.

Bug fixes and minor improvements:

  • Major speed improvement in XPath selections by optimizing node sequence sorting.
  • Fixes a bug in port handling of declared or imported steps.
  • Fixes a bug resulting in a ClassCastException when the result of p:xquery is not a valid xml document.
  • Improved handling of attribute value templates. Removing a bug appearing when a single quote is in variable part.
  • Fixes a bug in XPath when an external variable is bound to a sequence.
  • Fixes a problem with SaxonXSLTConnector occurring when inline stylesheets are used and pipeline uri contains a blank.
  • Fixes loading of steps via ExtensionPackages broken since Rel 0.9.5.4.
  • Fixes a bug that prevents using Saxon and Xalan extensions on case sensitive file systems.

On the road to XProc 2.0:

All internal interfaces and classes related to options are now associated with their respective XDM type. At the moment, the only visible results are improved error messages (when an option is associated with a value not valid for the declared sequence type) and a more strict interpretation of valid string values for options declared as xs:boolean.