Predefined Refactoring Operations
The XML Refactoring tool includes a variety of predefined operations that can be used for common refactoring tasks. They are grouped by category in the Refactoring operations wizard page. You can also access the operations from the Refactoring submenu in the contextual menu of Text mode. The operations are also grouped by category in this submenu. When selecting the operations from the contextual menu, Oxygen XML Developer considers the editing context to get the names and namespaces of the current element or attribute, and uses this information to preconfigure some of the parameter values for the selected refactoring operation.
Tip
The following predefined operations are available:
Refactoring Operations for Attributes
- Add/Change attribute
- Use this operation to change the value of an attribute or insert a new one. This
operation allows you to specify the following parameters:
- Parent element section
- Element - The parent element of the attribute to be changed, in the form of a local name from any namespace, a local name with a namespace prefix, or an XPath expression.
- Attribute section
- Local name - The local name of the affected attribute.
- Namespace - The namespace of the affected attribute.
- Value - The value for the affected attribute.
- Options section
- Parent element section
- Delete attribute
- Use this operation to remove one or more attributes. This operation requires you to
specify the following parameters:
- Element - The parent element of the attribute to be deleted, in the form of a local name from any namespace, a local name with a namespace prefix, or an XPath expression.
- Attribute - The name of the attribute to be deleted.
- Rename attribute
- Use this operation to rename an attribute. This operation requires you to specify
the following parameters:
- Element - The parent element of the attribute to be renamed, in the form of a local name from any namespace, a local name with a namespace prefix, or an XPath expression.
- Attribute - The name of the attribute to be renamed.
- New local name - The new local name of the attribute.
- Replace in attribute value
- Use this operation to search for a text fragment inside an attribute value and
change the fragment to a new value. This operation allows you to specify the following
parameters:
- Target attribute section
- Element - The parent element of the attribute to be modified, in the form of a local name from any namespace, a local name with a namespace prefix, or an XPath expression.
- Attribute - The name of the attribute to be modified.
- Find / Replace section
- Find - The text fragments to find. You can use Perl-like regular expressions.
- Replace with - The text fragment to replace the target with. This parameter can bind regular expression capturing groups ($1, $2, etc.) from the find pattern.
- Target attribute section
Refactoring Operations for Comments
- Delete comments
- Use this operation to delete comments from one or more elements. This operation
requires you specify the following parameter:
- Element - The target element (or elements) for which comments will be deleted, in the form of a local name from any namespace, a local name with a namespace prefix, or an XPath expression.
Note
Comments that are outside the root element will not be deleted because the serializer preserves the content before and after the root.
Refactoring Operations for DITA
- Change topic ID to file name
- Use this operation to change the ID of a topic to be the same as its file name. This
operation allows you to choose a scope for the operation and some filters:
- Scope - Select from a variety of options to define the scope for which resources will be affected by the operation. For example, you can choose to affect all resources in the Project, All opened files, or just the Current file.
- Filters section
- Include files - Specifies files to be excluded from the operation. You can specify multiple files by separating them with commas and the patterns can include wildcards (such as * or ?).
- Restrict to known XML file types only - Excludes non-XML file types from the operation.
- Look inside archives - If this option is enabled, the scope of the operation will include files inside archives.
- Convert simple tables to CALS tables
- Use this operation to convert DITA simple tables to CALS tables. This operation
allows you to choose a scope for the operation and some filters:
- Scope - Select from a variety of options to define the scope for which resources will be affected by the operation. For example, you can choose to affect all resources in the Project, All opened files, or just the Current file.
- Filters section
- Include files - Specifies files to be excluded from the operation. You can specify multiple files by separating them with commas and the patterns can include wildcards (such as * or ?).
- Restrict to known XML file types only - Excludes non-XML file types from the operation.
- Look inside archives - If this option is enabled, the scope of the operation will include files inside archives.
Refactoring Operations for Elements
- Delete element
- Use this operation to delete elements. This operation requires you to specify the
following parameter:
- Element - The target element to be deleted, in the form of a local name from any namespace, a local name with a namespace prefix, or an XPath expression.
- Delete element content
- Use this operation to delete the content of elements. This operation requires you
to
specify the following parameter:
- Element - The target element whose content is to be deleted, in the form of a local name from any namespace, a local name with a namespace prefix, or an XPath expression.
- Insert element
- Use this operation to insert new elements. This operation allows you to specify the
following parameters:
- Element section
- Local name - The local name of the element to be inserted.
- Namespace - The namespace of the element to be inserted.
- Location section
- XPath- An XPath expression that identifies an existing element to which the new element is relative, in the form of a local name from any namespace, a local name with a namespace prefix, or other XPath expressions.
- Position - The position where the new element will be inserted, in relation to the specified existing element. The possible selections in the drop-down menu are: After, Before, First child, or Last child.
- Element section
- Rename element
- Use this operation to rename elements. This operation requires you to specify the
following parameters:
- Target elements (XPath) - The target elements to be renamed, in the form of a local name from any namespace, a local name with a namespace prefix, or other XPath expressions.
- New local name - The new local name of the element.
- Unwrap element
- Use this operation to remove the surrounding tags of elements, while keeping the
content unchanged. This operation requires you to specify the following parameter:
- Target elements (XPath) - The target elements whose surrounding tags will be removed, in the form of a local name from any namespace, a local name with a namespace prefix, or other XPath expressions.
- Wrap element
- Use this operation to surround elements with element tags. This operation allows you
to specify the following parameters:
- Target elements (XPath) - The target elements to be surrounded with tags, in the form of a local name from any namespace, a local name with a namespace prefix, or other XPath expressions.
- Wrapper element section
- Local name - The local name of the Wrapper element.
- Namespace - The namespace of the Wrapper element.
- Wrap element content
- Use this operation to surround the content of elements with element tags. This
operation allows you to specify the following parameters:
- Target elements (XPath) - The target elements whose content will be surrounded with tags, in the form of a local name from any namespace, a local name with a namespace prefix, or other XPath expressions.
- Wrapper element section
- Local name - The local name of the Wrapper element that will surround the content of the target.
- Namespace - The namespace of the Wrapper element that will surround the content of the target.
Refactoring Operations for Fragments
- Insert XML fragment
- Use this operation to insert an XML fragment. This operation allows you to specify
the following:
- XML Fragment - The XML fragment to be inserted.
- Location section
- XPath - An XPath expression that identifies an existing element to which the inserted fragment is relative, in the form of a local name from any namespace, a local name with a namespace prefix, or other XPath expressions.
- Position - The position where the fragment will be inserted, in relation to the specified existing element. The possible selections in the drop-down menu are: After, Before, First child, or Last child.
- Replace element content with XML fragment
- Use this operation to replace the content of elements with an XML fragment. This
operation allows you to specify the following parameters:
- Target elements (XPath) - The target elements whose content will be replaced, in the form of a local name from any namespace, a local name with a namespace prefix, or other XPath expressions.
- XML Fragment - The XML fragment with which to replace the content of the target element.
- Replace element with XML fragment
- Use this operation to replace elements with an XML fragment. This operation allows
you to specify the following parameters:
- Target elements (XPath) - The target elements to be replaced, in the form of a local name from any namespace, a local name with a namespace prefix, or other XPath expressions.
- XML Fragment - The XML fragment with which to replace the target element.
Refactoring Operations for JATSKit
- Add BITS DOCTYPE - NLM/NCBI Book Interchange 2.0
- Use this operation to add an NLM 'BITS' 2.0 DOCTYPE declaration. This operation
allows you to choose a scope for the operation and some filters:
- Scope - Select from a variety of options to define the scope for which resources will be affected by the operation. For example, you can choose to affect all resources in the Project, All opened files, or just the Current file.
- Filters section
- Include files - Specifies files to be excluded from the operation. You can specify multiple files by separating them with commas and the patterns can include wildcards (such as * or ?).
- Restrict to known XML file types only - Excludes non-XML file types from the operation.
- Look inside archives - If this option is enabled, the scope of the operation will include files inside archives.
- Add Blue DOCTYPE - NISO JATS Publishing 1.1
- Use this operation to add a JATS 'Blue' 1.1 DOCTYPE declaration. This operation
allows you to choose a scope for the operation and some filters:
- Scope - Select from a variety of options to define the scope for which resources will be affected by the operation. For example, you can choose to affect all resources in the Project, All opened files, or just the Current file.
- Filters section
- Include files - Specifies files to be excluded from the operation. You can specify multiple files by separating them with commas and the patterns can include wildcards (such as * or ?).
- Restrict to known XML file types only - Excludes non-XML file types from the operation.
- Look inside archives - If this option is enabled, the scope of the operation will include files inside archives.
- Normalize IDs
- Use this operation to normalize assigned IDs and assigned IDs to elements that are
missing them.. This operation allows you to choose a scope for the operation and some
filters:
- Scope - Select from a variety of options to define the scope for which resources will be affected by the operation. For example, you can choose to affect all resources in the Project, All opened files, or just the Current file.
- Filters section
- Include files - Specifies files to be excluded from the operation. You can specify multiple files by separating them with commas and the patterns can include wildcards (such as * or ?).
- Restrict to known XML file types only - Excludes non-XML file types from the operation.
- Look inside archives - If this option is enabled, the scope of the operation will include files inside archives.
Additional Notes
Note
<ANY>
for the local name
and namespace parameters. This value can be used to select an element or attribute
regardless of its local name or namespace. Also, the <NO_NAMESPACE>
value can be used to select nodes that do not belong to a namespace.