This XML schema defines the structure of all file formats used by PowerGREP 5.0 (and later). You can use this schema to create PowerGREP File Selection (*.pgf), PowerGREP Action (*.pga), and PowerGREP Sequence Action (*.pgsa) files to automate text processing tasks with PowerGREP. You can also use it to interpret PowerGREP Results (*.pgr) and PowerGREP Sequence Results (*.pgsr) files produced by PowerGREP.
Byte stream, unknown encoding
Unicode, UTF-8
Unicode, little endian UTF-32
Unicode, big endian UTF-32
Unicode, little endian UTF-16
Unicode, big endian UTF-16
Windows 1250: Central European
Windows 1251: Cyrillic
Windows 1252: Western European
Windows 1253: Greek
Windows 1254: Turkish
Windows 1255: Hebrew
Windows 1256: Arabic
Windows 1257: Baltic
Windows 1258: Vietnam
Windows 874: Thai
Windows 949: Korean
Windows 932: Japanese (Shift-JIS)
Windows 936: Simplified Chinese (GBK)
Windows 950: Traditional Chinese (Big5)
ISO-8859-1: Latin-1 Western European
ISO-8859-2: Latin-2 Central European
ISO-8859-3: Latin-3 South European
ISO-8859-4: Latin-4 North European
ISO-8859-5: Cyrillic
ISO-8859-6: Arabic
ISO-8859-7: Greek
ISO-8859-8: Hebrew
ISO-8859-9: Latin-5 Turkish
ISO-8859-10: Latin-6 Nordic
ISO-8859-11: Thai (TIS-620)
ISO-8859-13: Latin-7 Baltic Rim
ISO-8859-14: Latin-8 Celtic
ISO-8859-15: Latin-9
ISO-8859-16: Latin-10 South-Eastern European
DOS 437: United States
DOS 737: Greek
DOS 775: Baltic Rim
DOS 850: Western European
DOS 852: Central European
DOS 855: Cyrillic
DOS 857: Turkish
DOS 860: Portuguese
DOS 861: Icelandic
DOS 862: Hebrew
DOS 863: Canadian French
DOS 864: Arabic
DOS 865: Nordic
DOS 866: Cyrillic Russian
DOS 869: Greek 2
KOI8-R: Russian
KOI8-U: Ukranian
EBCDIC 037: US & Canada
EBCDIC 424: Hebrew
EBCDIC 500: International
EBCDIC 875: Greek
EBCDIC 1026: Turkish
ISO 10585: Armenian
ArmSCII-7: Armenian
ArmSCII-8: Armenian
ArmSCII-8A: Armenian
GEOSTD8: Georgian
ISIRI3342: Farsi
Kamenický: Czech and Slovak
KZ-1048: Kazach
Mazovia: Polish
MIK: Bulgarian
PTCP154: Cyrillic Asian
TCVN: Vietnamese
VISCII: Vietnamese
VPS: Vietnamese
YUSCII Cyrillic: Yugoslavia
YUSCII Latin: Yugoslavia
EUC-JP: Japanese JIS-X-0201 + JIS-X-0208
EUC-JP-212: Japanese JIS-X-0201 + JIS-X-0208 + JIS-X-0212
EUC-KR: Korean KS X 1003 + KS X 1001
EUC-CN: Simplified Chinese GB2312
EUC-TW: Traditional Chinese CNS 11643
ASCII + \uFFFF
ASCII + &#ffff;
ASCII + &65535;
ASCII + &htmlchar;
ISCII Devanagari
ISCII Bengali and Assamese
ISCII Punjabi (Gurmukhi)
ISCII Gujarati
ISCII Oriya
ISCII Tamil
ISCII Telugu
ISCII Kannada
ISCII Malayalam
VNI: Vietnamese
VIQR: Vietnamese
MAC Arabic
MAC Celtic
MAC Central European
MAC Croatian
MAC Cyrillic
MAC Dingbats
MAC Farsi
MAC Gaelic
MAC Greek
MAC Hebrew
MAC Icelandic
MAC Inuit
MAC Roman
MAC Romanian
MAC Symbol
MAC Thai
MAC Turkish
MAC Simplified Chinese
MAC Traditional Chinese
MAC Devanagari
MAC Gujarati
MAC Gurmukhi
MAC Japanese
MAC Korean
Unicode, UTF-7
ISO-2022-JP: Japanese JIS-X-0201 + JIS-X-0208
ISO-2022-JP-1: Japanese JIS-X-0201 + JIS-X-0208 + JIS-X-0212
ISO-2022-JP-2: Japanese multilingual JIS-X-0201 + JIS-X-0208 + JIS-X-0212
ISO-2022-KR: Korean KS X 1001
ISO-2022-CN: Chinese GB2312 + CNS 11643
HZ: Simplified Chinese
TSCII Tamil
Item not marked (but may still be recursively included)
Item is marked for inclusion without subfolders
Item is marked for inclusion with subfolders
Item is marked for exclusion
Not included; default
Included
Ignore file dates
Files modified since a particular date (inclusive)
Files modified between two dates (inclusive)
File modified in the past X hours
File modified in the past X days
File modified in the past X weeks
File modified in the past X months
File modified in the past X years
File is not compressed
GZip
BZip2
LZMA
XZ
Omitted for files that exist
Compression format. If the file is compressed, it is only searched through when "search archives" is turned on. PowerGREP will detect the compression format based on the file's name if you omit this attribute. FSFile is only used for individually compressed files. FSArchive is used for multi-file archives, which PowerGREP treats as compressed folders.
Omitted for folders that exist
Omitted for drives that exist
Archive: zip
Archive: 7-zip
Archive: tar
Archive: tar.gz
Archive: tar.bz2
Archive: tar.lzma
Archive: tar.xz
Archive: cpio
Archive: cpio.gz
Archive: cpio.bz2
Archive: cpio.lzma
Archive: cpio.xz
Archive: ARJ
Archive: Microsoft Cabinet
Archive: Debian package
Archive: LHA and LZH
Archive: WinRAR
Archive: Red Hat Package Manager
Archive: XAR
Mailbox: MBOX
Disk image: FAT
Disk image: ISO or UDF
Disk image: Windows Imaging
Document: zip
Document: HTML Help file (.chm or .hxs)
Document: MIME email (.eml)
Omitted for archives that exist
Compression format, which also determines whether the file is treated as a document or as a compressed folder. Archives treated as documents are not affected by the "Search Archives" option in the File Selector menu, because the files are commonly thought of as documents rather than archives, even though they technically are archives. PowerGREP will detect the format based on the file's name if you omit this attribute.
Omitted for network servers that exist
Convert using external application
Convert using IFilter
Convert using built-in decoder
Treat as a compound document
Search through raw contents of the file
List of conversions that can be tried (in order of declaration in ConvertMode, not in the order of this sequence); file is skipped if none are enabled
Required as the first attribute for custom formats; not permitted for built-in formats
File masks this conversion setting applies to
Command line for conversion using external application
External application reads file from standard input
External application writes conversion to standard output
Encoding used by external application
Built-in converter should force files to be saved even if the modified plain text cannot be properly converted back into the original file format
Convert the text in PDF files in reading order rather than trying to mimic the page layout
Required as the first attribute
File masks this conversion setting applies to
Search inside files in archives of this format
Required as the first attribute
Required as the first attribute
Default encoding
Detect XML declaration
Detect HTML charset meta tag
Treat files containing NULL characters as binary files
Detect UTF-8 and UTF-16 Unicode files without a byte order marker
Detect ASCII files using \uFFFF,  or  as Unicode files
Write a byte order marker at the start of Unicode files
Preserve presence or absence of the byte order marker in existing files
File masks this text encoding setting applies to
Required as the first attribute
Hide hidden files and folders
Hide system files and folders
Masks are regular expressions rather than file masks
Hide files matching these file masks
Hide folders matching these file masks
Omitting this has the same effect as specifying all file formats with blank file masks (meaning no files will be recognized as files in proprietary formats).
Omitting this has the same effect as specifying all archive formats with blank file masks (meaning no files will be recognized as archives).
Search through binary files?
Search only through files in which search matches were found in the previous search? This option is ignored for the first search.
Use global file masks for all marked folders?
Simple search
Search
Collect data
Count matches
List files
File name search
File name collect
Rename files
Search and replace
Search and delete
Merge files
Split files
File names
Relative path to files
Full path to files
File names
Relative path to folders
Full path to folders
File names
Relative path to files and folders
Full path to files and folders
All matches
Duplicate matches
Duplicates, separately per search term
Second and following matches
Second and following, separately per search term
Literal text
List of literal text
Delimited literal text
Regular expression
Free-spacing regular expression
List of regular expressions
List of free-spacing regexes
Delimited regular expressions
Binary data
List of binary data
Delimited binary data
Do not filter files
Disallow any terms to match
Require one term to match
Require all terms to match
Expand the context by the given number of context blocks, if any.
Expand the context to span whole lines, and then expand it by the given number of lines, if any.
Nothing
Line break (default)
Same text between all items
Put text between matches from the same file only
Put text between matches from different files only
Put text between matches from the same file, and other text between matches from different files
No particular order
Keep each file's matches together
Sort files alphanumerically, A..Z, 0..9
Sort files alphanumerically, Z..A, 0..9
Sort files by increasing totals
Sort files by decreasing totals
Newest file to oldest file
Oldest file to newest file
Label to identify the search term. Only used when the search type is a list.
Set to zero to disable individual search terms. Terms without the attribute are enabled. Only used when the search type is a list.
Label to identify the search term. Only used when the search type is a list.
Set to zero to disable individual search terms. Terms without the attribute are enabled. Only used when the search type is a list.
Building block for the various sets of search terms that make up a PowerGREP action
Use searchbytes and replacebytes if searchtype = "hex*"; use searchtext and replacetext for the other search types. If there is more than one searchtext/searchbytes element, there must be either zero, one, or the same number of replacetext/replacebytes elements, even if some search terms have a blank replacement text.
If RegexMagic was used to generate the regular expression, this element holds the RegexMagic Formula that was used. RegexMagic needs this formula to be able to edit the regular expression. There must be either as many regexmagicformula elements as searchtext elements, or none at all, even if some regular expressions were not generated with RegexMagic.
Between items collected from the same file when searchtype is literal or regex
Between items collected from different files when searchtype is literal or regex
Target file header when searchtype is literal or regex
Target file footer when searchtype is literal or regex
Source file header when searchtype is literal or regex
Source file footer when searchtype is literal or regex
Between items collected from the same file when searchtype is hex
Between items collected from different files when searchtype is hex
Target file header when searchtype is hex
Target file footer when searchtype is hex
Source file header when searchtype is hex
Source file footer when searchtype is hex
Expand placeholders in source and target file headers and footers?
Only used when actiontype = find, findname, collectname, or rename
Only used when actiontype = delete
In order searched through
In reverse order searched through
Alphanumeric: A..Z, 0..9
Alphanumeric: Z..A, 9..0
By increasing totals
By decreasing totals
From newest to oldest
From oldest to newest
Show in original order
Alphabetic: A..Z
Alphabetic: Z..A
Alphanumeric: A..Z, 0..9
Alphanumeric: Z..A, 9..0
By increasing totals
By decreasing totals
Alphabetic: A..Z
Alphabetic: Z..A
Alphanumeric: A..Z, 0..9
Alphanumeric: Z..A, 9..0
By increasing totals
By decreasing totals
Unexpected error; may indicate a bug in PowerGREP
Out of memory error; may indicate a bug in PowerGREP or memory limits set too high in the preferences
Operation aborted by the user
Catastrophic backtracking in the file filtering regex
Catastrophic backtracking in the file sectioning regex
Catastrophic backtracking in the search regex
Catastrophic backtracking in the extra processing regex
Catastrophic backtracking in the context regex
Infinite recursion in the file filtering regex
Infinite recursion in the file sectioning regex
Infinite recursion in the search regex
Infinite recursion in the extra processing regex
Infinite recursion in the context regex
Warning that subsequent searches will not search any files because the current results don't list any files, and "Search Only through Files with Results" is on
Unexpected error when processing a file; may indicate a bug in PowerGREP
File or archive has the read-only attribute set
Unable to open file
Error reading from file
Invalid target path returend by path placeholders
Invalid target path based on search match
Two target files with the same name for an action that cannot combine targets
Unable to create target file
Unable to create backup copy
Cannot determine the archive format because none of the file masks in the archive format configuration match the archive's file name
Error reading the archive
Error extracting file from archive
Error adding file to archive
Error decompressing file
Error compressing file
Backup file not found (undo)
Unable to replace target file with backup file (undo)
Cannot make replacements in file with proprietary file format
Cannot decode proprietary file format
Password-protected document
Timed out waiting for another PowerGREP instance to convert the file
Cannot convert plain text back into proprietary file format
Error extracting list of files from the archive
Archive is password-protected
PowerGREP cannot modify archives of this kind
File saved without issue
All text could be saved, but some of the replacement ranges could not be adjusted
All text could be saved, but none of the replacement ranges could be adjusted
File could not be saved because the plain text was no longer in the correct format
File was saved because Forced was True even though the plain text was no longer in the correct format; replacement ranges not adjusted
Text that was matched, if not ResultsFile/binary
Bytes that were matched, if ResultsFile/binary
Replacement or collect text, if not ResultsFile/binary
Replacement or collect bytes, if ResultsFile/binary
Index of the search term in the list of search terms that found this match. The first search term is number 0 and may be omitted from the XML.
Offset of the match in the file (byte position). In case of a multi-step search-and-replace, the range in the file may not contain the match text if the match was found in the replacement of a previous step.
Offset beyond the match in the file (byte position, exclusive).
Offset of the start of the replacement or collected text in the target file (byte position). In case of a multi-step search-and-replace, the range in the target file may not contain the replacement text if it was subsequently replaced by later steps.
Offset beyond the replacement or collected text in the target file (byte position, exclusive).
Number of the line or context block in the file
Starting position of the match relative to the text (or bytes) in firstcontext (1-based character (or byte) position)
Starting position of the match relative to the text (or bytes) in lastcontext (1-based character (or byte) position, exclusive)
Index to ResultsFile/context of the context in which the match begins
Index to ResultsFile/context of the context in which the match ends, if the match spans more than one context block
Index to ResultsFile/context of the first context block to display before the match, if extra blocks before firstcontext need to be displayed
Index to ResultsFile/context of the last context block to display after the match, if extra blocks after lastcontext need to be displayed
File sectioning step this match is part of, if the action is a multi-step action for the purpose of collecting context.
Main action step this match is part of, if the action is a multi-step action for the purpose of collecting context.
Was the match replaced or reverted in the source file?
Was the match replaced or reverted in the target file?
Context, if not ResultsFile/binary
Hexadecimal context, if ResultsFile/binary
Offset of the match in the file (byte position). In case of a multi-step search-and-replace, the range in the file may not contain the match text if the match was found in the replacement of a previous step.
Offset beyond the match in the file (byte position, exclusive).
Offset of the start of the replacement or collected text in the target file (byte position). In case of a multi-step search-and-replace, the range in the target file may not contain the replacement text if it was subsequently replaced by later steps.
Offset beyond the replacement or collected text in the target file (byte position, exclusive).
Number of the line or context block in the file
File sectioning step this context is part of, if the action is a multi-step action for the purpose of collecting context.
Main action step this context is part of, if the action is a multi-step action for the purpose of collecting context.
The file that was searched through. Either sourcefile or archivefile must be specified.
Context for the matches. All context elements, if any, must appear before all match elements. The context elements must be ordered by increasing filestart attributes.
Matches found in this file. The match elements must be ordered by increasing filestart attributes.
Unique matches in this file. The unique elements must be ordered alphabetically by their content. Only save unique elements for actions that do not store individual matches (i.e. no context or match elements).
True when this file was determined to be binary and when searching for hexadecimal bytes.
Set to True when this file was skipped because it was determined to be binary.
Set to True when this file was skipped because it was determined to be in a proprietary format that was configured not to be processed.
Indicates if the file was filtered out because of Action/filterfile.
Should this file be included when limiting the next action to files with results?
Number of matches or replacements in this file.
Number of unique matches in this file.
Index to Results/file[] if ResultsFileTarget/sourcefile is not specified.
Index to Results/file[file]/match[].
Index to Results/file[] if ResultsFileTarget/sourcefile is not specified.
Index to Results/file[file]/unique[] or to Results/match[] if there's no file attribute and no ResultsFileTarget/sourcefile attribute.
The file that was searched through. Either sourcefile or archivefile must be specified.
Path to the backup copy of the target file, if any.
Comma-delimited list of indexes to results/file[] of all the source files that had matches saved into this target file. Only used if the target file does not correspond one-on-one with a source file, and only if the action can use more than one target file.
Replacement text stored in this file. Only used if the target file does not correspond one-on-one with a source file.
Unique matches collected into this file. Only used if the target file does not correspond one-on-one with a source file.
Index to results/file[] if this target file corresponds one-on-one with a source file.
True when this file was determined to be binary and when searching for hexadecimal bytes.
Contents must be xsd:hexBinary if Action/searchtype = hex.
Index of the search term in the list of search terms that found this match. The first search term is number 0 and may be omitted from the XML. In the rare event (only possible when overlapping matches are allowed) that more than one search term found the same match, only the first search term that found it is indicated.
Number of times this match was found in the file.
Offset of the start of the collected text in the target file (byte position). Only used when collecting unique matches.
Offset beyond the collected text in the target file (byte position, exclusive).
Contents must be xsd:hexBinary if Action/searchtype = hex.
Index of the search term in the list of search terms that found this match. The first search term is number 0 and may be omitted from the XML. In the rare event (only possible when overlapping matches are allowed) that more than one search term found the same match, only the first search term that found it is indicated.
Number of times this match was found in all files.
Number of files this match was found in.
Offset of the start of the collected text in the target file (byte position). Only used when collecting unique matches.
Offset beyond the collected text in the target file (byte position, exclusive).
Index to Results/file[].
Index to Results/filetarget[].
Index to Results/file[file]/match[] if there is a file attribute, or to Results/filetarget[filetarget]/replacement[] if there is a filetarget attribute, or to Results/match[] if there is no file and no filetarget attribute.
Index Results/file[file]/context[] if there is a file attribute.
Index Results/file[file]/unique[] if there is a file attribute, or to Results/filetarget[filetarget]/collect[] if there is a filetarget attribute.
Results display options. They do not affect how the matches are stored in the XML file, only how PowerGREP displays them.
If present, the overall operation was aborted due to an error. The results list the matches found up to the point where the error occurred.
Results for each file searched through. The number of file elements must equal the sum of the matchedfilecount, matchedfoldercount, matchlessfilecount, and matchlessfoldercount attributes.
Details of each target file that was created.
Search matches grouped per unique match.
Items that have been bookmarked.
Number of files filtered out because of Action/filterfile.
Number of files with one or more search matches.
Number of folders with one or more search matches.
Number of files without search matches.
Number of folders without search matches.
Number of search matches in all files.
Number of search matches in all files that are actually stored in the results.
Number of unique matches across all files.
Number of search matches that were deleted from the results because of Action.CollectMinimum.
Number of unique search matches (i.e. match groups) that were deleted from the results because of Action.CollectMinimum.
Set to True when PowerGREP stops adding matches to the results because the results use more memory than permitted by the preferences.
Default.
File selection for this step. Only used in sequence actions when the fileselection attribute is "own". Always used in sequence results.
Action for this step.
Results produced by this step.
Set to zero to disable individual steps. Steps without the attribute are enabled.
Step in the sequence to get the file selection from. First step has number 0.
All is well
The drive holding the backup file is not available - cannot undo
The drive holding the target file is not available - cannot undo
Backup copy was never created - cannot undo
Backup copy was already deleted - cannot undo
Backup copy has been modified - cannot undo
Target file has been modified - can undo, but will revert other actions
Target file has beem deleted
File has already been restored
An error occurred while trying to determine the undo status of this file
All files can be restored
Only some files can be restored
No files can be restored
One of the drives holding the backup and target files is not available - cannot undo
All target files have been deleted
Files have already been restored
An error occurred while trying to determine the undo status of (some of) the files
Full path to the file or folder that was written. If the target is a folder, it must end with a backslash.
Required if the target is a file.
Required if the target is a file.
True if the target overwrote an existing file or folder, and a backup file or folder is needed to undo the action. If the backup is a folder, it must end with a backslash. It is possible for the target to be a file and the backup a folder, or vice versa.
If backup creation was disabled, it is possible that there is no backup file, even though one is needed. Then the action cannot be undone.
Required if the backup is a file.
Required if the backup is a file.
True if the action renamed or moved sourcefile to targetfile rather than creating targetfile leaving sourcefile as it was.
Files modified when executing an action. This is implied when the action element is present in UndoAction.
Files modified when executing a sequence. This is implied when the sequence element is present in UndoAction.
Files modified when making or reverting replacements in the results.
File saved in the editor.
Copy Files commands in the File Selector and Results menus.
Move Files commands in the File Selector and Results menus.
File selection used by the action or sequence. If there is no action or sequence, then there still must be a file selection that specifies the file format configurations that were in effect.
Folders that were created during the action that should be removed if they become empty after undoing the action.
PowerGREP File Selection file (*.pgf).
PowerGREP Action file (*.pga).
PowerGREP Results file (*.pgr).
PowerGREP Sequence Action file (*.pgsa) or PowerGREP Sequence Results file (*.pgsr).
PowerGREP Library file (*.pgl).
PowerGREP libraries store file selections, actions, and sequences. For actions, the comments are stored inside the action.
PowerGREP Undo History file (*.pgu).
PowerGREP XML Schema version. When encountering a greater version number, tell the user to upgrade. The version number is only incremented when the schema changes, rather than with each release of PowerGREP.
Changes from 4.2 to 5.0:
New schema at http://www.powergrep.com/powergrep50.xsd
Added ConfigConvertFormat, ConfigConvertFormatPDF, and ConfigConvertFormats types.
Added "convertformats" element to the FileSelection type.
Added "lzma" to CompressionFormat enumeration.
Added "cp*", "*lzma", "mbox", "pst", and "oe5" to the ArchiveFormat enumeration.
Added ConfigArchiveFormat, ConfigArchiveFormatPDF, and ConfigArchiveFormats types.
Replaced "archives" attribute with "archiveformats" element in the FileSelection type.
Added ConfigDataFormatSettings, ConfigDataFormat, and ConfigDataFormats types.
Added "dataformats" element to the FileSelection type.
Added HideFormats type.
Added "hideformats" element to the FileSelection type.
Changed "included" attribute from boolean to an enumeration for FSFile and added it to FSFolder, FSArchive, and FSDrive; removed "includeddocument" from FSArchive.
Added "includemasksfolders" and "excludemasksfolders" attributes to the FSFolder, FSArchive, and FileSelection types.
Replaced "marked", "unmarked", and "masksrecurse" attributes with a single "mark" attribute for FSFile, FSFolder, FSArchive, and FSNetServer.
Added FSDrive and FSSpecialDrive types.
Changed "drive" element to the FSDrive type in the FileSelection type.
Added "clipboard" and "editor" elements to the FileSelection type.
Added "count" and "collectname" to the ActionType enumeration.
Added "folder*" and "any*" to the PathPart enumeration.
Added "clipboard", "editor", "copy recurse", "move recurse", "convert", and "convert copy" to the TargetType enumeration.
Added "collectplaceholders" element to the Action type.
Added "regexcallinfinite*", "archiveformat", and "converttarget" to the ErrorType enumeration.
Added ConvertSaveStatus type.
Added "convertsavestatus" and "convertsaveerror" attributes to the ResultsFileTarget type.
Added "searchterm" attribute to the ResultsUniqueFileMatch and ResultsUniqueGlobalMatch types.
Replaced "alpha inc" and "alpha dec" with "alnum inc" and "alnum dec" in the TargetOrder and ResultsSortFilesOption enumerations.
Added "alnum inc" and "alnum dec" to the ResultsSortMatchesOption and ResultsSortMatchesAlwaysOption enumerations.
Added "matchedfoldercount", "matchedfilecount", and "matchlessfoldercount" attributes to the Results type.
Changed "fileselection" element to be required by the UndoAction type.
Added DriveOrShareName, UndoCreatedFolderCreated, UndoCreatedFolderExisting, UndoCreatedFolderDrive, and UndoCreatedFolders types.
Added "createdfolders" element to the UndoAction type.
Changes from 4.1 to 4.2:
New schema at http://www.powergrep.com/powergrep42.xsd
Added "findname" to the ActionType enumeration.
Added "error" to the UndoStatusFile and UndoStatusAction enumerations.
Changed "UndoAction" complex type to allow the "fileselection" element in combination with the "sequence" element as well as the "action" element.
Added "readonlyattr" and "upziponly" to the ErrorType enumeration.
Changes from 4.0 to 4.1:
New schema at http://www.powergrep.com/powergrep41.xsd
Added "outofmemory" to the ErrorType enumeration.
Changes from 3.5 to 4.0:
New schema at http://www.powergrep.com/powergrep40.xsd
Added "10585".."tscii" to the DataFormat enumeration.
Replaced FSArchiveKind type and FSArchive/kind attribute with ArchiveFormat type and FSArchive/format attribute.
Copied various file selection attributes from FSFolder to FSNetServer and FileSelection/network.
Added "rename" to the ActionType enumeration.
Added "pathpart" attribute to the Action type, and a new PathPart type.
Added SearchTerms type used as a building block for the Action type to avoid repeating the same sets of elements and attributes; this causes Action/sectioning/collecttext and Action/sectioning/collectbytes to be renamed to Action/sectioning/replacetext and Action/sectioning/replacebytes. PowerGREP 4 will read both the old and new element names, but write only the new ones.
Added FilterType simple type.
Added "filterfile" element to the Action type.
Added ContextType, ContextNumber, and ContextExtra simple types.
Added "context" element to the Action type.
Removed "whole file count lines" from the SectionType enumeration. Counting lines is now handled by the "context" element of the Action Type.
Added "collectbetweentype" attribute and collectext* and collectbytes* elements to the Action Type.
Removed "targetdelimiter" attribute from the Action type; PowerGREP 4 will still read this attribute, and set collectbetweentype and collectbetween accordingly.
Added "targetorder" attribute to the Action type.
Added "aborted" to the ErrorType enumeration.
Added "none" and "reverse" to the ResultsSortFilesOption enumeration.
Added "file target" to the ResultsDisplayOption enumeration
Added "bytes" counterparts to the "text" element in ResultsMatch for storing hexadecimal matches from binary files. Only one of these elements can be used in each file.
Renamed the "step" attribute in the ResultsMatch type to "searchterm".
The content of the ResultsUniqueFileMatch type must be xml:hexBinary iff ResultsFile/binary. The XML schema does not enforce this, but PowerGREP 4 does.
The content of the ResultsUniqueGlobalMatch type must be xml:hexBinary iff Action/searchtype = hex. The XML schema does not enforce this, but PowerGREP 4 does.
Eliminated the ResultsMatchStep, ResultsSection, and ResultsSectionStep types and the elements that used them.
Split the ResultsFile type into ResultsFileSource and ResultsFileTarget and the "file" element of the Results type into "file" and "filetarget"; source files no longer have to correspond one-on-one with target files in PowerGREP 4.
Removed the "targetfile" and "backupfile" elements from the Results type; if an action creates a single target file, a single "filetarget" element will have the details.
Renamed the "match" element in the ResultsFileSource type to "unique", and added a new "match" element that stores individual search matches that were previously stored in ResultsSection.
Added "filtered" attribute to the ResultsFileSource type.
Added "filteredfilecount" attribute to the Results type.
Added the ResultsContext type and the "context" element to the ResultsFileSource type to store the context information previously stored in ResultsSection.
Added "mainstep" and "sectionstep", and "*context*" attributes to the ResultsMatch type to act as a reference between the "context" and "match" elements in ResultsFile.
Added SequenceFileSelection, SequenceStep, and Sequence types.
Added "kind" attribute to UndoAction type.
Changes from 3.4 to 3.5:
New schema at http://www.powergrep.com/powergrep35.xsd
Added "index" attribute to ResultsMatchStep type, allowing steps without matches to be omitted from the XML data.
Changes from 3.3 to 3.4:
New schema at http://www.powergrep.com/powergrep34.xsd
Added "regex free" and "regex free list" to the enumeration SearchType for free-spacing regular expressions.
Added "convertbusy" to the enumeration ErrorType.
Added "header", "before after", "header group" and "before after group" to the enumeration ResultsTotalsOption.
Added "skippedproprietary" attribute to the ResultsFile type.
Added "movedfile" attribute to UndoFile type.
Changes from 3.1 to 3.3:
New schema at http://www.powergrep.com/powergrep33.xsd
FSArchive and FSFolder can now contain "archive" elements of type FSArchive, just like FSFolder can.
Added "line breaks" to the enumeration SectionType.
Replaced ResultsSortOption and ResultsMustSortOption types with ResultsSortFilesOption, ResultsSortMatchesOption and ResultsSortMatchesAlwaysOption. The net effect is that ResultsOptions/files has two new options: "new old" and "old new".
Added FSArchiveKind type and FSArchive/kind and FSArchive/includeddocument attributes.
Added UndoAction/id attribute and powergrep/undofile/maxactionid element.
UndoAction/fileselection and UndoAction/action elements are now optional to allow PowerGREP's built-in editor to add undo actions for the files it overwrites.
Added "backupdrive" and "targetdrive" to the enumeration UndoStatusFile.
Added "nodrive" to the enumeration UndoStatusAction.
Changes from 3.0 to 3.1:
New schema at http://www.powergrep.com/powergrep31.xsd
Added optional "results" attribute to the "FileSelection" complex type.
Added optional "findall" attribute to the "Action/sectioning" complex type.
Added "warnnoresults" to the enumeration "ErrorType".
First version 3.0:
Schema at http://www.powergrep.com/powergrep3.xsd