MorganaXProc 0.95-10 released

MorganaXProc 095-10 was released on 2016-05-31.

There are some new features/changes, but this is basically a bug fixing release.

New feature:

  • Support for XMLCatalog in addition to the EXPath packaging system. (Details)
  • New steps mod:report and mod:dumpPort for debugging purposes. (Details)
  • Support for validation with schematron using XSLT 2.0.
  • Extended support for XProcFilesystem: When validating a resource with <p:load>, all resources available to the current filesystem can be used as DTD.
  • p:store, pfx:copy, pfx:move and pxp:zip with scheme "file :///" now create parent directories for a resource if they do not exist.
  • Resources of EXPath packaging system available in fn:doc() and as DTD in p:load.
  • Added rudimentary support for serialization method „text“
  • Improved error messages (name of called ExtensionStep, line number of imported pipelines)
  • Improved error messages for p:xslt: Compilation and execution errors are now distinguishable.
  • XProcFilesystem’s collectionURIResolver now supports use of „?select=" to select files by name from a folder.
  • Improved content-type guessing when using http-request is used with "file:///".
  • Better indent on serialization for attributes and namespace declarations.
  • pxp:zip now outputs a zip-entry with name „mimetype“ as first element of the zip-file if (and only if) (a) command "create" is used and (b) the entry is the first in the zip-manifest. This change allows to create valid ePubs.

Additionally there a lot of minor bug fixes as a result of intensive testing with complex pipelines:

  • Fixed a bug with leads to a NullPointerException when no content-type is found for body in put of http:request.
  • Fixed an error when a relative uri is used in p:import in connection with the packaging system.
  • Fixed a bug when the same library is imported more than once from different source using the packaging system.
  • Fixed a bug when atomic step is loaded with mox:java.
  • Fixed a bug preventing p:system-property to be used in attribute ‚use-when‘.
  • Fixed a bug when p:xslt produces a document with whitespace in prolog.
  • Fixed a bug in p:xslt where the base-uri of the result-document is not set properly.
  • Fixed a bug when xsl:import is used with relative uri in p:xslt and importing stylesheet document comes from p:document.
  • Fixed a problem with default namespace of source document for p:xslt.
  • Fixed a bug preventing attribute href in p:document to be an empty string.
  • Fixed a bug where variables are not visible in p:viewport.
  • Fixed a bug where an explicit binding in p:variable does not bind the piped port.
  • Fixed a bug in p:xslt when ‚initial-mode‘ or ‚template-name‘ are prefixed QNames.
  • Generates appropriate error message when an option cannot be resolved as QName because no namespace binding is found for the prefix.
  • Fixed a problem with missing namespaces when a qname is constructed from a variable.
  • Fixed a bug where „exclude-inline-prefixes“ leaks from importing pipeline to imported steps in library.
  • Fixed a bug where a default connection of a port prevents connection of steps.
  • Fixed a bug with p:documentation in declaration of parameter ports.
  • Fixed a bug when port is reported to be undeclared in p:serialization and p:log.
  • Fixed a bug with p:documentation/p:pipeinfo as first element in compound/multi container steps.
  • Fixed a bug wrongly detecting a loop (XS0001) when a declared steps and the steps call have the same name and the declared step uses this name in the connection for p:output.
  • Fixed a bug where a namespace declaration on a non root element might get lost in p:xslt
  • Fixed a bug which prevents include with relative uri in p:validate-with-relaxing.
  • Fixed a bug in serialization where "null" might appear for encoding in xml declaration.
  • Fixed a bug with the declaration of a variable with no namespace prefix in pipelines having a default namespace.
  • Fixed a bug in the GUI preventing a port result from being stored.
  • Fixed a bug raising XD0030 when "override-content-type“ is used in http-request.
  • Fixed a bug in http-request when href has a query or a segment element.
  • Fixed a bug in fn:base-uri() where attribute xml:base is not respected properly.
  • Fixed a bug in p:xslt where the base-uri of a result may get lost.
  • Fixed a bug in xslt match pattern evaluation when the pipeline has a default namespace and an attribute is to be matched by name.
  • Fixed a bug in serialization where an element start might not get closed when a comment is immediately following the element.
  • Fixed a bug where an attribute "use-when“ might get lost on an element which is child of p:inline.
  • Fixed a bug in the implementation of p:namespace-rename where namespace declaration could get lost.
  • Fixed a bug where an input port a pipe connection to an invisible outer step is discovered not before runtime.
  • Fixed a bug in command line processor and gui where the character encoding might be wrong when java’s default file.encoding is not UTF-8.
  • Fixed a bug in pos:info with pathes from Windows.
  • Fixed a bug that might lead to a NullPointerException when generating error message for an unknown function in XPath/XQuery