Edit online

If you edit an XProc transformation scenario, there is a Processor drop-down menu where you can select the XProc engine to be used for the transformation. You can select the built-in Calabash engine or a custom engine based on another XProc implementation. For example, there is a public project on GitHub that is an implementation for integrating Morgana XProc with Oxygen XML Editor: https://github.com/xml-project/support-for-xmleditor. Also, the Javadoc documentation of the XProc API is available for download from the application website as a zip file: xprocAPI.zip.

To create an XProc integration project, follow these steps:

  1. Move the oxygen.jar file from [OXYGEN_INSTALL_DIR]/lib to the lib folder of your project.
  2. Implement the ro.sync.xml.transformer.xproc.api.XProcTransformerInterface interface.
  3. Create a Java archive (JAR) from the classes you created.
  4. Create an engine.xml file according to the engine.dtd file. The attributes of the engine element are as follows:
    1. name - The name of the XProc engine.
    2. description - A short description of the XProc engine.
    3. class - The complete name of the class that implements ro.sync.xml.transformer.xproc.api.XProcTransformerInterface.
    4. version - The version of the integration.
    5. engineVersion - The version of the integrated engine.
    6. vendor - The name of the vendor / implementer.
    7. supportsValidation - true if the engine supports validation (otherwise, false).

    The engine element has only one child, runtime. The runtime element contains several library elements with the name attribute containing the relative or absolute location of the libraries necessary to run this integration.

  5. Create a new folder (for example, named MyXprocEngine) and place the engine.xml and all the libraries necessary to run the new integration in that folder.
  6. Place that new folder (i.e. MyXprocEngine) inside a new plugin folder. This new plugin folder should also contain a plugin.xml file that points to the new engine folder (i.e. MyXprocEngine).
    The plugin.xml file would look like this (it is based on the AditionalXProcEngine extension):
     name="Contribute Morgana XProc"
     description="Contribute Morgana XProc"
     <extension type="AdditionalXProcEngine" path="MyXprocEngine/"></extension>