Custom Refactoring Operations
While Oxygen XML Editor plugin includes a variety of predefined XML refactoring operations to help you accomplish particular tasks, you can also create custom operations according to your specific needs. For example, you could create a custom refactoring operation to convert an attribute to an element and insert the element as the first child of the parent element.
An XML Refactoring operation is defined as a pair of resources:
- An XQuery Update script or XSLT stylesheet that Oxygen XML Editor plugin will run to refactor the XML files.
- An XML Operation Descriptor file that contains information about the operation (such as the name, description, and parameters).
All the defined custom operations are loaded by the XML Refactoring Tool and presented in the Refactoring Operations wizard page, along with the predefined built-in operations.
After the user chooses an operation and specifies its parameters, Oxygen XML Editor plugin processes an XQuery Update or XSLT transformation over the input file. This transformation is executed in a safe mode, which implies the following:
- When loading the document:
- The XInclude mechanism is disabled. This means that the resources included by using XInclude will not be visible in the transformation.
- The DTD entities will be processed without being expanded.
- The associated DTD will be not loaded, so the default attributes declared in the DTD will not be visible in the transformation.
- When saving the updated XML document:
- The
DOCTYPE
will be preserved. - The DTD entities will be preserved as they are in the original document when the document is saved.
- The attribute values will be kept in their original form without being normalized.
- The spaces between attributes are preserved. Basically, the spaces are lost by a regular XML serialization since they are not considered important.
- The
The result of this transformation overrides the initial input file.
Note
http://www.oxygenxml.com/ns/xmlRefactoring/additional_attributes
namespace. These attributes should not be taken into account when processing the input
XML
document since they are discarded when the transformed document is serialized.
Restriction
Creating a Custom Refactoring Operation
To create a custom refactoring operation, follow these steps:
- Create an XQuery Update script or XSLT file.
- Create an XML Refactoring Operation Descriptor file.
- Store both files in one of the locations that Oxygen XML Editor plugin scans when loading the custom
operations.
Result: Once you run the XML Refactoring tool again, the custom operation appears in the Refactoring Operations wizard page.