You can open the
Find / Replace in Files dialog from:
- menu;
- the
Find / Replace
in Files toolbar button;
- the contextual menu of the DITA Maps Manager view;
- the contextual menu of the Project view;
- the contextual menu of the Data Source Explorer view for
Documentum xDb (X-Hive/DB), eXist and WebDAV connections. This action is available for
Documentum (CMS), but lacks the replace feature.
The operation works on both local and remote files from an (S)FTP, WebDAV or CMS server.
It enables you to define "search for" or "search for and replace" operations across a number
of files. The find works at line level, which means a find match cannot cover characters on
more than one line. The replace operation can bind Perl 5 regular expression group variables
($1, $2, etc.) from the find match. For example to replace the tag with attributes called
tag-name with the tag tag-name1 use as Text to
find the expression <tag-name(\s+)(.*)> and as the
Replace with expression <tag-name1$1$2>.
The encoding used to read and write the files is detected from the XML header or from the
BOM. If a file does not have an XML header or BOM Oxygen XML Developer uses by default the UTF-8
encoding for files of type XML, that is for files with one of the extensions:
.xml, .xsl, .fo,
.xsd, .rng, .nvdl,
.sch, .wsdl or an extension associated with the XML editor type.
For the other files it uses the encoding configured for
non-XML files.
You can cancel a long operation at any time by pressing the Cancel
button of the progress dialog displayed when the operation is executed.
Because the content of read-only files cannot be modified, the Replace
operation is not processing those files. For every such file, a warning message is displayed
in the message panel.
Find / Replace in Files
The dialog contains the following options:
- Text to find - The target character string to
search for. You can search for Unicode characters specified in the \uNNNN
format. Also, hexadecimal notation (\xNNNN) and octal notation
(\0NNNN) can be used. In this case you have to select the
Regular expression option. For example, to search for a space
character you can use the \u0020 code.
- Case sensitive - When checked, the search
operation follows the exact letter case of the Text to find.
- Whole words only - Only entire occurrences of a
word are included in the search operation.
- Regular expression - When this option is enabled, you
can use regular expressions in Perl 5 syntax to look for specific pieces of text. A match
can span over multiple lines of text.
- XPath - The XPath 2.0
expression you input in this combo is used for restricting the search scope.
The Content Completion
Assistant helps you input XPath expressions, valid in the current
context.
- Enable XML search
options - Provides access to a set of options that allow you to search
specific XML component types when editing in Text mode:
- Element names - Only the element names are included in the
search operation which ignores XML-tag notations ('<', '/', '>'), attributes or
white-spaces.
- Element contents - Search in the text content of XML
elements.
- Attribute names - Only the attribute names are included in the
search operation, without the leading or trailing white-spaces.
- Attribute values - Only the attribute values are included in
the search operation, without single quotes(') or double quotes(").
- Comments - Only the content of comments are included in the
search operation, excluding the XML comment delimiters ('<!--', '-->').
- Processing Instructions (PIs) - Only the content are searched,
skipping '<?', '?>'. e. g.: <?processing instruction?>
- CDATA - Searches inside content of CDATA sections.
- DOCTYPE - Searches inside content of DOCTYPE sections.
- Entities - Only the entity names are searched.
The two buttons Select All and Deselect
All allow a simple activation and deactivation of all types of XML
components.
Note: Please note that since searching in some XML component types is
performed only on their content skipping some of their headers / footers (see the list
above), even if all the XML component types are checked, some filtering is still
performed. To disable it completely, uncheck Enable XML search
options.
- Replace with - The character string with which to replace the
target. It may contain regular expression group markers if the search expression is a
regular expression and the Regular expression checkbox is
checked.
- Make backup files with extension - In the replace process Oxygen XML Developer makes backup files of
the modified files. The default extension is .bak but you can change
the extension as you prefer.
- Selected project files - Searches only in the selected files of the
current opened project. Not displayed when dialog is started from
Archive
Browser view.
- Project files - Searches in all files from the current project. Not
displayed when dialog is started from
Archive
Browser view.
- All opened files - Searches in all files opened in Oxygen XML Developer
. You are prompted to save all
modified files before any operation is performed. Not displayed when dialog is started from
Archive Browser
view.
- Current file directory - The search is done in the directory of the
file opened in the current editor panel. If there is no opened file, this option is disabled
in the dialog. Not displayed when dialog is started from
Archive
Browser view.
- Opened archive - The search is done in archive opened in Archive Browser
view. Displayed only when dialog is opened from Archive Browser
view.
- Specified path - Chooses the search path.
- Include files - Narrows the scope of the operation only to the
files that match the given filters.
- Recurse subdirectories - When checked, the search is performed
recursively in the sub directories found in the specified directory path.
- Include hidden files - When checked, the search is performed also
in the hidden files.
- Include archives - When checked, the search is also done in all
individual file entries from all supported ZIP-type archives.
- Show separate results for each search expression - When checked,
the application opens a new tab to display the result of each new search expression. When
the option is unchecked, the search results are displayed in the Find in Files tab,
replacing any previous search results.
- Find All - Executes a find operation and returns the result list to
the message panel. The results are displayed in a view that allows grouping the results as a tree with two
levels.
- Replace All - Replaces all occurrences of the target contained in
the specified files.
When you replace a fragment of text, Oxygen XML Developer provides a preview of the
changes you make. The Preview dialog is divided in two sections. The
first section presents a list of all the documents containing the fragment of text you want to
modify. The second section offers a view of the original file and a view of the final result.
It also allows you to highlight all changes using the vertical bar from the right side of the
view. The Next change and Previous change
buttons allow you to navigate through the changes displayed in the
Preview dialog.
CAUTION:
Use this option with caution. Global search and replace across all project
files does not open the files containing the targets, nor does it prompt on a per occurrence
basis, to confirm that a replace operation must be performed. As the operation simply matches
the string defined in the find field, this may result in replacement of matching strings that
were not originally intended to be replaced.