<?xml version="1.0"?>
<xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema" targetNamespace="http://www.powergrep.com/powergrep52.xsd" xmlns:pgr="http://www.powergrep.com/powergrep52.xsd">
	<xsd:annotation>
		<xsd:documentation xml:lang="en">This XML schema defines the structure of all file formats used by PowerGREP 5.2 (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.</xsd:documentation>
	</xsd:annotation>
	<xsd:simpleType name="DataFormat">
		<xsd:restriction base="xsd:token">
			<xsd:enumeration value="bytes"><xsd:annotation><xsd:documentation xml:lang="en">Byte stream, unknown encoding</xsd:documentation></xsd:annotation></xsd:enumeration>
			<xsd:enumeration value="utf8"><xsd:annotation><xsd:documentation xml:lang="en">Unicode, UTF-8</xsd:documentation></xsd:annotation></xsd:enumeration>
			<xsd:enumeration value="utf32le"><xsd:annotation><xsd:documentation xml:lang="en">Unicode, little endian UTF-32</xsd:documentation></xsd:annotation></xsd:enumeration>
			<xsd:enumeration value="utf32be"><xsd:annotation><xsd:documentation xml:lang="en">Unicode, big endian UTF-32</xsd:documentation></xsd:annotation></xsd:enumeration>
			<xsd:enumeration value="utf16le"><xsd:annotation><xsd:documentation xml:lang="en">Unicode, little endian UTF-16</xsd:documentation></xsd:annotation></xsd:enumeration>
			<xsd:enumeration value="utf16be"><xsd:annotation><xsd:documentation xml:lang="en">Unicode, big endian UTF-16</xsd:documentation></xsd:annotation></xsd:enumeration>
			<xsd:enumeration value="win1250"><xsd:annotation><xsd:documentation xml:lang="en">Windows 1250: Central European</xsd:documentation></xsd:annotation></xsd:enumeration>
			<xsd:enumeration value="win1251"><xsd:annotation><xsd:documentation xml:lang="en">Windows 1251: Cyrillic</xsd:documentation></xsd:annotation></xsd:enumeration>
			<xsd:enumeration value="win1252"><xsd:annotation><xsd:documentation xml:lang="en">Windows 1252: Western European</xsd:documentation></xsd:annotation></xsd:enumeration>
			<xsd:enumeration value="win1253"><xsd:annotation><xsd:documentation xml:lang="en">Windows 1253: Greek</xsd:documentation></xsd:annotation></xsd:enumeration>
			<xsd:enumeration value="win1254"><xsd:annotation><xsd:documentation xml:lang="en">Windows 1254: Turkish</xsd:documentation></xsd:annotation></xsd:enumeration>
			<xsd:enumeration value="win1255"><xsd:annotation><xsd:documentation xml:lang="en">Windows 1255: Hebrew</xsd:documentation></xsd:annotation></xsd:enumeration>
			<xsd:enumeration value="win1256"><xsd:annotation><xsd:documentation xml:lang="en">Windows 1256: Arabic</xsd:documentation></xsd:annotation></xsd:enumeration>
			<xsd:enumeration value="win1257"><xsd:annotation><xsd:documentation xml:lang="en">Windows 1257: Baltic</xsd:documentation></xsd:annotation></xsd:enumeration>
			<xsd:enumeration value="win1258"><xsd:annotation><xsd:documentation xml:lang="en">Windows 1258: Vietnam</xsd:documentation></xsd:annotation></xsd:enumeration>
			<xsd:enumeration value="win874"><xsd:annotation><xsd:documentation xml:lang="en">Windows 874: Thai</xsd:documentation></xsd:annotation></xsd:enumeration>
			<xsd:enumeration value="win949"><xsd:annotation><xsd:documentation xml:lang="en">Windows 949: Korean</xsd:documentation></xsd:annotation></xsd:enumeration>
			<xsd:enumeration value="win932"><xsd:annotation><xsd:documentation xml:lang="en">Windows 932: Japanese (Shift-JIS)</xsd:documentation></xsd:annotation></xsd:enumeration>
			<xsd:enumeration value="win936"><xsd:annotation><xsd:documentation xml:lang="en">Windows 936: Simplified Chinese (GBK)</xsd:documentation></xsd:annotation></xsd:enumeration>
			<xsd:enumeration value="win950"><xsd:annotation><xsd:documentation xml:lang="en">Windows 950: Traditional Chinese (Big5)</xsd:documentation></xsd:annotation></xsd:enumeration>
			<xsd:enumeration value="8859-1"><xsd:annotation><xsd:documentation xml:lang="en">ISO-8859-1: Latin-1 Western European</xsd:documentation></xsd:annotation></xsd:enumeration>
			<xsd:enumeration value="8859-2"><xsd:annotation><xsd:documentation xml:lang="en">ISO-8859-2: Latin-2 Central European</xsd:documentation></xsd:annotation></xsd:enumeration>
			<xsd:enumeration value="8859-3"><xsd:annotation><xsd:documentation xml:lang="en">ISO-8859-3: Latin-3 South European</xsd:documentation></xsd:annotation></xsd:enumeration>
			<xsd:enumeration value="8859-4"><xsd:annotation><xsd:documentation xml:lang="en">ISO-8859-4: Latin-4 North European</xsd:documentation></xsd:annotation></xsd:enumeration>
			<xsd:enumeration value="8859-5"><xsd:annotation><xsd:documentation xml:lang="en">ISO-8859-5: Cyrillic</xsd:documentation></xsd:annotation></xsd:enumeration>
			<xsd:enumeration value="8859-6"><xsd:annotation><xsd:documentation xml:lang="en">ISO-8859-6: Arabic</xsd:documentation></xsd:annotation></xsd:enumeration>
			<xsd:enumeration value="8859-7"><xsd:annotation><xsd:documentation xml:lang="en">ISO-8859-7: Greek</xsd:documentation></xsd:annotation></xsd:enumeration>
			<xsd:enumeration value="8859-8"><xsd:annotation><xsd:documentation xml:lang="en">ISO-8859-8: Hebrew</xsd:documentation></xsd:annotation></xsd:enumeration>
			<xsd:enumeration value="8859-9"><xsd:annotation><xsd:documentation xml:lang="en">ISO-8859-9: Latin-5 Turkish</xsd:documentation></xsd:annotation></xsd:enumeration>
			<xsd:enumeration value="8859-10"><xsd:annotation><xsd:documentation xml:lang="en">ISO-8859-10: Latin-6 Nordic</xsd:documentation></xsd:annotation></xsd:enumeration>
			<xsd:enumeration value="8859-11"><xsd:annotation><xsd:documentation xml:lang="en">ISO-8859-11: Thai (TIS-620)</xsd:documentation></xsd:annotation></xsd:enumeration>
			<xsd:enumeration value="8859-13"><xsd:annotation><xsd:documentation xml:lang="en">ISO-8859-13: Latin-7 Baltic Rim</xsd:documentation></xsd:annotation></xsd:enumeration>
			<xsd:enumeration value="8859-14"><xsd:annotation><xsd:documentation xml:lang="en">ISO-8859-14: Latin-8 Celtic</xsd:documentation></xsd:annotation></xsd:enumeration>
			<xsd:enumeration value="8859-15"><xsd:annotation><xsd:documentation xml:lang="en">ISO-8859-15: Latin-9</xsd:documentation></xsd:annotation></xsd:enumeration>
			<xsd:enumeration value="8859-16"><xsd:annotation><xsd:documentation xml:lang="en">ISO-8859-16: Latin-10 South-Eastern European</xsd:documentation></xsd:annotation></xsd:enumeration>
			<xsd:enumeration value="dos437"><xsd:annotation><xsd:documentation xml:lang="en">DOS 437: United States</xsd:documentation></xsd:annotation></xsd:enumeration>
			<xsd:enumeration value="dos737"><xsd:annotation><xsd:documentation xml:lang="en">DOS 737: Greek</xsd:documentation></xsd:annotation></xsd:enumeration>
			<xsd:enumeration value="dos775"><xsd:annotation><xsd:documentation xml:lang="en">DOS 775: Baltic Rim</xsd:documentation></xsd:annotation></xsd:enumeration>
			<xsd:enumeration value="dos850"><xsd:annotation><xsd:documentation xml:lang="en">DOS 850: Western European</xsd:documentation></xsd:annotation></xsd:enumeration>
			<xsd:enumeration value="dos852"><xsd:annotation><xsd:documentation xml:lang="en">DOS 852: Central European</xsd:documentation></xsd:annotation></xsd:enumeration>
			<xsd:enumeration value="dos855"><xsd:annotation><xsd:documentation xml:lang="en">DOS 855: Cyrillic</xsd:documentation></xsd:annotation></xsd:enumeration>
			<xsd:enumeration value="dos857"><xsd:annotation><xsd:documentation xml:lang="en">DOS 857: Turkish</xsd:documentation></xsd:annotation></xsd:enumeration>
			<xsd:enumeration value="dos860"><xsd:annotation><xsd:documentation xml:lang="en">DOS 860: Portuguese</xsd:documentation></xsd:annotation></xsd:enumeration>
			<xsd:enumeration value="dos861"><xsd:annotation><xsd:documentation xml:lang="en">DOS 861: Icelandic</xsd:documentation></xsd:annotation></xsd:enumeration>
			<xsd:enumeration value="dos862"><xsd:annotation><xsd:documentation xml:lang="en">DOS 862: Hebrew</xsd:documentation></xsd:annotation></xsd:enumeration>
			<xsd:enumeration value="dos863"><xsd:annotation><xsd:documentation xml:lang="en">DOS 863: Canadian French</xsd:documentation></xsd:annotation></xsd:enumeration>
			<xsd:enumeration value="dos864"><xsd:annotation><xsd:documentation xml:lang="en">DOS 864: Arabic</xsd:documentation></xsd:annotation></xsd:enumeration>
			<xsd:enumeration value="dos865"><xsd:annotation><xsd:documentation xml:lang="en">DOS 865: Nordic</xsd:documentation></xsd:annotation></xsd:enumeration>
			<xsd:enumeration value="dos866"><xsd:annotation><xsd:documentation xml:lang="en">DOS 866: Cyrillic Russian</xsd:documentation></xsd:annotation></xsd:enumeration>
			<xsd:enumeration value="dos869"><xsd:annotation><xsd:documentation xml:lang="en">DOS 869: Greek 2</xsd:documentation></xsd:annotation></xsd:enumeration>
			<xsd:enumeration value="koi8r"><xsd:annotation><xsd:documentation xml:lang="en">KOI8-R: Russian</xsd:documentation></xsd:annotation></xsd:enumeration>
			<xsd:enumeration value="koi8u"><xsd:annotation><xsd:documentation xml:lang="en">KOI8-U: Ukranian</xsd:documentation></xsd:annotation></xsd:enumeration>
			<xsd:enumeration value="ebcdic037"><xsd:annotation><xsd:documentation xml:lang="en">EBCDIC 037: US &amp; Canada</xsd:documentation></xsd:annotation></xsd:enumeration>
			<xsd:enumeration value="ebcdic424"><xsd:annotation><xsd:documentation xml:lang="en">EBCDIC 424: Hebrew</xsd:documentation></xsd:annotation></xsd:enumeration>
			<xsd:enumeration value="ebcdic500"><xsd:annotation><xsd:documentation xml:lang="en">EBCDIC 500: International</xsd:documentation></xsd:annotation></xsd:enumeration>
			<xsd:enumeration value="ebcdic875"><xsd:annotation><xsd:documentation xml:lang="en">EBCDIC 875: Greek</xsd:documentation></xsd:annotation></xsd:enumeration>
			<xsd:enumeration value="ebcdic1026"><xsd:annotation><xsd:documentation xml:lang="en">EBCDIC 1026: Turkish</xsd:documentation></xsd:annotation></xsd:enumeration>
			<xsd:enumeration value="10585"><xsd:annotation><xsd:documentation xml:lang="en">ISO 10585: Armenian</xsd:documentation></xsd:annotation></xsd:enumeration>
			<xsd:enumeration value="armscii7"><xsd:annotation><xsd:documentation xml:lang="en">ArmSCII-7: Armenian</xsd:documentation></xsd:annotation></xsd:enumeration>
			<xsd:enumeration value="armscii8"><xsd:annotation><xsd:documentation xml:lang="en">ArmSCII-8: Armenian</xsd:documentation></xsd:annotation></xsd:enumeration>
			<xsd:enumeration value="armscii8a"><xsd:annotation><xsd:documentation xml:lang="en">ArmSCII-8A: Armenian</xsd:documentation></xsd:annotation></xsd:enumeration>
			<xsd:enumeration value="geostd8"><xsd:annotation><xsd:documentation xml:lang="en">GEOSTD8: Georgian</xsd:documentation></xsd:annotation></xsd:enumeration>
			<xsd:enumeration value="isiri-3342"><xsd:annotation><xsd:documentation xml:lang="en">ISIRI3342: Farsi</xsd:documentation></xsd:annotation></xsd:enumeration>
			<xsd:enumeration value="kamenicky"><xsd:annotation><xsd:documentation xml:lang="en">Kamenický: Czech and Slovak</xsd:documentation></xsd:annotation></xsd:enumeration>
			<xsd:enumeration value="kz-1048"><xsd:annotation><xsd:documentation xml:lang="en">KZ-1048: Kazach</xsd:documentation></xsd:annotation></xsd:enumeration>
			<xsd:enumeration value="mazovia"><xsd:annotation><xsd:documentation xml:lang="en">Mazovia: Polish</xsd:documentation></xsd:annotation></xsd:enumeration>
			<xsd:enumeration value="mik"><xsd:annotation><xsd:documentation xml:lang="en">MIK: Bulgarian</xsd:documentation></xsd:annotation></xsd:enumeration>
			<xsd:enumeration value="ptcp154"><xsd:annotation><xsd:documentation xml:lang="en">PTCP154: Cyrillic Asian</xsd:documentation></xsd:annotation></xsd:enumeration>
			<xsd:enumeration value="tcvn"><xsd:annotation><xsd:documentation xml:lang="en">TCVN: Vietnamese</xsd:documentation></xsd:annotation></xsd:enumeration>
			<xsd:enumeration value="viscii"><xsd:annotation><xsd:documentation xml:lang="en">VISCII: Vietnamese</xsd:documentation></xsd:annotation></xsd:enumeration>
			<xsd:enumeration value="vps"><xsd:annotation><xsd:documentation xml:lang="en">VPS: Vietnamese</xsd:documentation></xsd:annotation></xsd:enumeration>
			<xsd:enumeration value="yuscii-cyr"><xsd:annotation><xsd:documentation xml:lang="en">YUSCII Cyrillic: Yugoslavia</xsd:documentation></xsd:annotation></xsd:enumeration>
			<xsd:enumeration value="yuscii-lat"><xsd:annotation><xsd:documentation xml:lang="en">YUSCII Latin: Yugoslavia</xsd:documentation></xsd:annotation></xsd:enumeration>
			<xsd:enumeration value="euc-jp"><xsd:annotation><xsd:documentation xml:lang="en">EUC-JP: Japanese JIS-X-0201 + JIS-X-0208</xsd:documentation></xsd:annotation></xsd:enumeration>
			<xsd:enumeration value="euc-jp"><xsd:annotation><xsd:documentation xml:lang="en">EUC-JP-212: Japanese JIS-X-0201 + JIS-X-0208 + JIS-X-0212</xsd:documentation></xsd:annotation></xsd:enumeration>
			<xsd:enumeration value="euc-kr"><xsd:annotation><xsd:documentation xml:lang="en">EUC-KR: Korean KS X 1003 + KS X 1001</xsd:documentation></xsd:annotation></xsd:enumeration>
			<xsd:enumeration value="euc-cn"><xsd:annotation><xsd:documentation xml:lang="en">EUC-CN: Simplified Chinese GB2312</xsd:documentation></xsd:annotation></xsd:enumeration>
			<xsd:enumeration value="euc-tw"><xsd:annotation><xsd:documentation xml:lang="en">EUC-TW: Traditional Chinese CNS 11643</xsd:documentation></xsd:annotation></xsd:enumeration>
			<xsd:enumeration value="uffff"><xsd:annotation><xsd:documentation xml:lang="en">ASCII + \uFFFF</xsd:documentation></xsd:annotation></xsd:enumeration>
			<xsd:enumeration value="ncrhex"><xsd:annotation><xsd:documentation xml:lang="en">ASCII + &amp;#ffff;</xsd:documentation></xsd:annotation></xsd:enumeration>
			<xsd:enumeration value="ncrdec"><xsd:annotation><xsd:documentation xml:lang="en">ASCII + &amp;65535;</xsd:documentation></xsd:annotation></xsd:enumeration>
			<xsd:enumeration value="htmlentities"><xsd:annotation><xsd:documentation xml:lang="en">ASCII + &amp;htmlchar;</xsd:documentation></xsd:annotation></xsd:enumeration>
			<xsd:enumeration value="iscii-dev"><xsd:annotation><xsd:documentation xml:lang="en">ISCII Devanagari</xsd:documentation></xsd:annotation></xsd:enumeration>
			<xsd:enumeration value="iscii-bng"><xsd:annotation><xsd:documentation xml:lang="en">ISCII Bengali and Assamese</xsd:documentation></xsd:annotation></xsd:enumeration>
			<xsd:enumeration value="iscii-pnj"><xsd:annotation><xsd:documentation xml:lang="en">ISCII Punjabi (Gurmukhi)</xsd:documentation></xsd:annotation></xsd:enumeration>
			<xsd:enumeration value="iscii-gjr"><xsd:annotation><xsd:documentation xml:lang="en">ISCII Gujarati</xsd:documentation></xsd:annotation></xsd:enumeration>
			<xsd:enumeration value="iscii-ori"><xsd:annotation><xsd:documentation xml:lang="en">ISCII Oriya</xsd:documentation></xsd:annotation></xsd:enumeration>
			<xsd:enumeration value="iscii-tml"><xsd:annotation><xsd:documentation xml:lang="en">ISCII Tamil</xsd:documentation></xsd:annotation></xsd:enumeration>
			<xsd:enumeration value="iscii-tlg"><xsd:annotation><xsd:documentation xml:lang="en">ISCII Telugu</xsd:documentation></xsd:annotation></xsd:enumeration>
			<xsd:enumeration value="iscii-knd"><xsd:annotation><xsd:documentation xml:lang="en">ISCII Kannada</xsd:documentation></xsd:annotation></xsd:enumeration>
			<xsd:enumeration value="iscii-mlm"><xsd:annotation><xsd:documentation xml:lang="en">ISCII Malayalam</xsd:documentation></xsd:annotation></xsd:enumeration>
			<xsd:enumeration value="vni"><xsd:annotation><xsd:documentation xml:lang="en">VNI: Vietnamese</xsd:documentation></xsd:annotation></xsd:enumeration>
			<xsd:enumeration value="viqr"><xsd:annotation><xsd:documentation xml:lang="en">VIQR: Vietnamese</xsd:documentation></xsd:annotation></xsd:enumeration>
			<xsd:enumeration value="mac-arabic"><xsd:annotation><xsd:documentation xml:lang="en">MAC Arabic</xsd:documentation></xsd:annotation></xsd:enumeration>
			<xsd:enumeration value="mac-celtic"><xsd:annotation><xsd:documentation xml:lang="en">MAC Celtic</xsd:documentation></xsd:annotation></xsd:enumeration>
			<xsd:enumeration value="mac-ce"><xsd:annotation><xsd:documentation xml:lang="en">MAC Central European</xsd:documentation></xsd:annotation></xsd:enumeration>
			<xsd:enumeration value="mac-croatian"><xsd:annotation><xsd:documentation xml:lang="en">MAC Croatian</xsd:documentation></xsd:annotation></xsd:enumeration>
			<xsd:enumeration value="mac-cyrillic"><xsd:annotation><xsd:documentation xml:lang="en">MAC Cyrillic</xsd:documentation></xsd:annotation></xsd:enumeration>
			<xsd:enumeration value="mac-dingbats"><xsd:annotation><xsd:documentation xml:lang="en">MAC Dingbats</xsd:documentation></xsd:annotation></xsd:enumeration>
			<xsd:enumeration value="mac-farsi"><xsd:annotation><xsd:documentation xml:lang="en">MAC Farsi</xsd:documentation></xsd:annotation></xsd:enumeration>
			<xsd:enumeration value="mac-gaelic"><xsd:annotation><xsd:documentation xml:lang="en">MAC Gaelic</xsd:documentation></xsd:annotation></xsd:enumeration>
			<xsd:enumeration value="mac-greek"><xsd:annotation><xsd:documentation xml:lang="en">MAC Greek</xsd:documentation></xsd:annotation></xsd:enumeration>
			<xsd:enumeration value="mac-hebrew"><xsd:annotation><xsd:documentation xml:lang="en">MAC Hebrew</xsd:documentation></xsd:annotation></xsd:enumeration>
			<xsd:enumeration value="mac-icelandic"><xsd:annotation><xsd:documentation xml:lang="en">MAC Icelandic</xsd:documentation></xsd:annotation></xsd:enumeration>
			<xsd:enumeration value="mac-inuit"><xsd:annotation><xsd:documentation xml:lang="en">MAC Inuit</xsd:documentation></xsd:annotation></xsd:enumeration>
			<xsd:enumeration value="mac-roman"><xsd:annotation><xsd:documentation xml:lang="en">MAC Roman</xsd:documentation></xsd:annotation></xsd:enumeration>
			<xsd:enumeration value="mac-romanian"><xsd:annotation><xsd:documentation xml:lang="en">MAC Romanian</xsd:documentation></xsd:annotation></xsd:enumeration>
			<xsd:enumeration value="mac-symbol"><xsd:annotation><xsd:documentation xml:lang="en">MAC Symbol</xsd:documentation></xsd:annotation></xsd:enumeration>
			<xsd:enumeration value="mac-thai"><xsd:annotation><xsd:documentation xml:lang="en">MAC Thai</xsd:documentation></xsd:annotation></xsd:enumeration>
			<xsd:enumeration value="mac-turkish"><xsd:annotation><xsd:documentation xml:lang="en">MAC Turkish</xsd:documentation></xsd:annotation></xsd:enumeration>
			<xsd:enumeration value="mac-chinesesimp"><xsd:annotation><xsd:documentation xml:lang="en">MAC Simplified Chinese</xsd:documentation></xsd:annotation></xsd:enumeration>
			<xsd:enumeration value="mac-chinesetrad"><xsd:annotation><xsd:documentation xml:lang="en">MAC Traditional Chinese</xsd:documentation></xsd:annotation></xsd:enumeration>
			<xsd:enumeration value="mac-devanagari"><xsd:annotation><xsd:documentation xml:lang="en">MAC Devanagari</xsd:documentation></xsd:annotation></xsd:enumeration>
			<xsd:enumeration value="mac-gujarati"><xsd:annotation><xsd:documentation xml:lang="en">MAC Gujarati</xsd:documentation></xsd:annotation></xsd:enumeration>
			<xsd:enumeration value="mac-gurmukhi"><xsd:annotation><xsd:documentation xml:lang="en">MAC Gurmukhi</xsd:documentation></xsd:annotation></xsd:enumeration>
			<xsd:enumeration value="mac-japanese"><xsd:annotation><xsd:documentation xml:lang="en">MAC Japanese</xsd:documentation></xsd:annotation></xsd:enumeration>
			<xsd:enumeration value="mac-korean"><xsd:annotation><xsd:documentation xml:lang="en">MAC Korean</xsd:documentation></xsd:annotation></xsd:enumeration>
			<xsd:enumeration value="utf7"><xsd:annotation><xsd:documentation xml:lang="en">Unicode, UTF-7</xsd:documentation></xsd:annotation></xsd:enumeration>
			<xsd:enumeration value="2022-jp"><xsd:annotation><xsd:documentation xml:lang="en">ISO-2022-JP: Japanese JIS-X-0201 + JIS-X-0208</xsd:documentation></xsd:annotation></xsd:enumeration>
			<xsd:enumeration value="2022-jp-1"><xsd:annotation><xsd:documentation xml:lang="en">ISO-2022-JP-1: Japanese JIS-X-0201 + JIS-X-0208 + JIS-X-0212</xsd:documentation></xsd:annotation></xsd:enumeration>
			<xsd:enumeration value="2022-jp-2"><xsd:annotation><xsd:documentation xml:lang="en">ISO-2022-JP-2: Japanese multilingual JIS-X-0201 + JIS-X-0208 + JIS-X-0212</xsd:documentation></xsd:annotation></xsd:enumeration>
			<xsd:enumeration value="2022-kr"><xsd:annotation><xsd:documentation xml:lang="en">ISO-2022-KR: Korean KS X 1001</xsd:documentation></xsd:annotation></xsd:enumeration>
			<xsd:enumeration value="2022-cn"><xsd:annotation><xsd:documentation xml:lang="en">ISO-2022-CN: Chinese GB2312 + CNS 11643</xsd:documentation></xsd:annotation></xsd:enumeration>
			<xsd:enumeration value="hz"><xsd:annotation><xsd:documentation xml:lang="en">HZ: Simplified Chinese</xsd:documentation></xsd:annotation></xsd:enumeration>
			<xsd:enumeration value="tscii"><xsd:annotation><xsd:documentation xml:lang="en">TSCII Tamil</xsd:documentation></xsd:annotation></xsd:enumeration>
		</xsd:restriction>
	</xsd:simpleType>
	<xsd:complexType name="Data">
		<xsd:simpleContent>
			<xsd:extension base="xsd:base64Binary">
				<xsd:attribute name="format" type="pgr:DataFormat" use="required"/>
			</xsd:extension>
		</xsd:simpleContent>
	</xsd:complexType>
	<xsd:simpleType name="FSMark">
		<xsd:restriction base="xsd:token">
			<xsd:enumeration value="clear"><xsd:annotation><xsd:documentation xml:lang="en">Item not marked (but may still be recursively included)</xsd:documentation></xsd:annotation></xsd:enumeration>
			<xsd:enumeration value="marked"><xsd:annotation><xsd:documentation xml:lang="en">Item is marked for inclusion without subfolders</xsd:documentation></xsd:annotation></xsd:enumeration>
			<xsd:enumeration value="recurse"><xsd:annotation><xsd:documentation xml:lang="en">Item is marked for inclusion with subfolders</xsd:documentation></xsd:annotation></xsd:enumeration>
			<xsd:enumeration value="unmarked"><xsd:annotation><xsd:documentation xml:lang="en">Item is marked for exclusion</xsd:documentation></xsd:annotation></xsd:enumeration>
		</xsd:restriction>
	</xsd:simpleType>
	<xsd:simpleType name="FSIncluded">
		<xsd:restriction base="xsd:token">
			<xsd:enumeration value="0"><xsd:annotation><xsd:documentation xml:lang="en">Not included; default</xsd:documentation></xsd:annotation></xsd:enumeration>
			<xsd:enumeration value="1"><xsd:annotation><xsd:documentation xml:lang="en">Included</xsd:documentation></xsd:annotation></xsd:enumeration>
			<xsd:enumeration value="excluded"/>
			<xsd:enumeration value="recurse"/>
		</xsd:restriction>
	</xsd:simpleType>
	<xsd:simpleType name="LineBreakStyle">
		<xsd:restriction base="xsd:token">
			<xsd:enumeration value="same"/>
			<xsd:enumeration value="crlf"/>
			<xsd:enumeration value="lf"/>
			<xsd:enumeration value="cr"/>
		</xsd:restriction>
	</xsd:simpleType>
	<xsd:simpleType name="NumberList">
		<xsd:restriction base="xsd:string">
			<xsd:pattern value="[0-9]+(,[0-9]+)*"/>
		</xsd:restriction>
	</xsd:simpleType>
	<xsd:simpleType name="FileName">
		<xsd:restriction base="xsd:string">
			<xsd:pattern value="[^\\/:?*|&lt;>;]+"/>
		</xsd:restriction>
	</xsd:simpleType>
	<xsd:simpleType name="DriveName">
		<xsd:restriction base="xsd:string">
			<xsd:pattern value="[A-Z]:"/>
		</xsd:restriction>
	</xsd:simpleType>
	<xsd:simpleType name="DriveOrShareName">
		<xsd:restriction base="xsd:string">
			<xsd:pattern value="[A-Z]:"/>
			<xsd:pattern value="\\\\[^\\/:?*|&lt;>;]+\\[^\\/:?*|&lt;>;]+"/>
		</xsd:restriction>
	</xsd:simpleType>
	<xsd:simpleType name="ServerName">
		<xsd:restriction base="xsd:string">
			<xsd:pattern value="\\\\[^\\/:?*|&lt;>;]+"/>
		</xsd:restriction>
	</xsd:simpleType>
	<xsd:simpleType name="TimeSpanType">
		<xsd:restriction base="xsd:token">
			<xsd:enumeration value="none"><xsd:annotation><xsd:documentation xml:lang="en">Ignore file dates</xsd:documentation></xsd:annotation></xsd:enumeration>
			<xsd:enumeration value="since"><xsd:annotation><xsd:documentation xml:lang="en">Files modified since a particular date (inclusive)</xsd:documentation></xsd:annotation></xsd:enumeration>
			<xsd:enumeration value="between"><xsd:annotation><xsd:documentation xml:lang="en">Files modified between two dates (inclusive)</xsd:documentation></xsd:annotation></xsd:enumeration>
			<xsd:enumeration value="hours"><xsd:annotation><xsd:documentation xml:lang="en">File modified in the past X hours</xsd:documentation></xsd:annotation></xsd:enumeration>
			<xsd:enumeration value="days"><xsd:annotation><xsd:documentation xml:lang="en">File modified in the past X days</xsd:documentation></xsd:annotation></xsd:enumeration>
			<xsd:enumeration value="weeks"><xsd:annotation><xsd:documentation xml:lang="en">File modified in the past X weeks</xsd:documentation></xsd:annotation></xsd:enumeration>
			<xsd:enumeration value="months"><xsd:annotation><xsd:documentation xml:lang="en">File modified in the past X months</xsd:documentation></xsd:annotation></xsd:enumeration>
			<xsd:enumeration value="years"><xsd:annotation><xsd:documentation xml:lang="en">File modified in the past X years</xsd:documentation></xsd:annotation></xsd:enumeration>
		</xsd:restriction>
	</xsd:simpleType>
	<xsd:simpleType name="CompressionFormat">
		<xsd:restriction base="xsd:token">
			<xsd:enumeration value="none"><xsd:annotation><xsd:documentation xml:lang="en">File is not compressed</xsd:documentation></xsd:annotation></xsd:enumeration>
			<xsd:enumeration value="gz"><xsd:annotation><xsd:documentation xml:lang="en">GZip</xsd:documentation></xsd:annotation></xsd:enumeration>
			<xsd:enumeration value="bz2"><xsd:annotation><xsd:documentation xml:lang="en">BZip2</xsd:documentation></xsd:annotation></xsd:enumeration>
			<xsd:enumeration value="lzma"><xsd:annotation><xsd:documentation xml:lang="en">LZMA</xsd:documentation></xsd:annotation></xsd:enumeration>
			<xsd:enumeration value="xz"><xsd:annotation><xsd:documentation xml:lang="en">XZ</xsd:documentation></xsd:annotation></xsd:enumeration>
		</xsd:restriction>
	</xsd:simpleType>
	<xsd:complexType name="FSFile">
		<xsd:attribute name="name" type="pgr:FileName" use="required"/>
		<xsd:attribute name="mark" type="pgr:FSMark"/>
		<xsd:attribute name="exists" type="xsd:boolean"><xsd:annotation><xsd:documentation xml:lang="en">Omitted for files that exist</xsd:documentation></xsd:annotation></xsd:attribute>
		<xsd:attribute name="included" type="pgr:FSIncluded"/>
		<xsd:attribute name="compressed" type="pgr:CompressionFormat"><xsd:annotation><xsd:documentation xml:lang="en">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.</xsd:documentation></xsd:annotation></xsd:attribute>
		<xsd:attribute name="filedate" type="xsd:dateTime"/>
		<xsd:attribute name="filesize" type="xsd:nonNegativeInteger"/>
	</xsd:complexType>
	<xsd:complexType name="FSFolder">
		<xsd:sequence>
			<xsd:element name="folder" type="pgr:FSFolder" minOccurs="0" maxOccurs="unbounded"/>
			<xsd:element name="archive" type="pgr:FSArchive" minOccurs="0" maxOccurs="unbounded"/>
			<xsd:element name="file" type="pgr:FSFile" minOccurs="0" maxOccurs="unbounded"/>
		</xsd:sequence>
		<xsd:attribute name="name" type="pgr:FileName" use="required"/>
		<xsd:attribute name="mark" type="pgr:FSMark"/>
		<xsd:attribute name="regexmasks" type="xsd:boolean"/>
		<xsd:attribute name="includemasks" type="xsd:string"/>
		<xsd:attribute name="excludemasks" type="xsd:string"/>
		<xsd:attribute name="includemasksfolders" type="xsd:string"/>
		<xsd:attribute name="excludemasksfolders" type="xsd:string"/>
		<xsd:attribute name="exists" type="xsd:boolean"><xsd:annotation><xsd:documentation xml:lang="en">Omitted for folders that exist</xsd:documentation></xsd:annotation></xsd:attribute>
		<xsd:attribute name="included" type="pgr:FSIncluded"/>
		<xsd:attribute name="includedfiles" type="xsd:nonNegativeInteger"/>
		<xsd:attribute name="includedsize" type="xsd:nonNegativeInteger"/>
	</xsd:complexType>
	<xsd:complexType name="FSDrive">
		<xsd:sequence>
			<xsd:element name="folder" type="pgr:FSFolder" minOccurs="0" maxOccurs="unbounded"/>
			<xsd:element name="archive" type="pgr:FSArchive" minOccurs="0" maxOccurs="unbounded"/>
			<xsd:element name="file" type="pgr:FSFile" minOccurs="0" maxOccurs="unbounded"/>
		</xsd:sequence>
		<xsd:attribute name="name" type="pgr:DriveName" use="required"/>
		<xsd:attribute name="mark" type="pgr:FSMark"/>
		<xsd:attribute name="regexmasks" type="xsd:boolean"/>
		<xsd:attribute name="includemasks" type="xsd:string"/>
		<xsd:attribute name="excludemasks" type="xsd:string"/>
		<xsd:attribute name="includemasksfolders" type="xsd:string"/>
		<xsd:attribute name="excludemasksfolders" type="xsd:string"/>
		<xsd:attribute name="exists" type="xsd:boolean"><xsd:annotation><xsd:documentation xml:lang="en">Omitted for drives that exist</xsd:documentation></xsd:annotation></xsd:attribute>
		<xsd:attribute name="included" type="pgr:FSIncluded"/>
		<xsd:attribute name="includedfiles" type="xsd:nonNegativeInteger"/>
		<xsd:attribute name="includedsize" type="xsd:nonNegativeInteger"/>
	</xsd:complexType>
	<xsd:simpleType name="ArchiveFormat">
		<xsd:restriction base="xsd:token">
			<xsd:enumeration value="zip"><xsd:annotation><xsd:documentation xml:lang="en">Archive: zip</xsd:documentation></xsd:annotation></xsd:enumeration>
			<xsd:enumeration value="seven"><xsd:annotation><xsd:documentation xml:lang="en">Archive: 7-zip</xsd:documentation></xsd:annotation></xsd:enumeration>
			<xsd:enumeration value="tar"><xsd:annotation><xsd:documentation xml:lang="en">Archive: tar</xsd:documentation></xsd:annotation></xsd:enumeration>
			<xsd:enumeration value="tgz"><xsd:annotation><xsd:documentation xml:lang="en">Archive: tar.gz</xsd:documentation></xsd:annotation></xsd:enumeration>
			<xsd:enumeration value="tbz"><xsd:annotation><xsd:documentation xml:lang="en">Archive: tar.bz2</xsd:documentation></xsd:annotation></xsd:enumeration>
			<xsd:enumeration value="tlzma"><xsd:annotation><xsd:documentation xml:lang="en">Archive: tar.lzma</xsd:documentation></xsd:annotation></xsd:enumeration>
			<xsd:enumeration value="txz"><xsd:annotation><xsd:documentation xml:lang="en">Archive: tar.xz</xsd:documentation></xsd:annotation></xsd:enumeration>
			<xsd:enumeration value="cpio"><xsd:annotation><xsd:documentation xml:lang="en">Archive: cpio</xsd:documentation></xsd:annotation></xsd:enumeration>
			<xsd:enumeration value="cpgz"><xsd:annotation><xsd:documentation xml:lang="en">Archive: cpio.gz</xsd:documentation></xsd:annotation></xsd:enumeration>
			<xsd:enumeration value="cpbz"><xsd:annotation><xsd:documentation xml:lang="en">Archive: cpio.bz2</xsd:documentation></xsd:annotation></xsd:enumeration>
			<xsd:enumeration value="cplzma"><xsd:annotation><xsd:documentation xml:lang="en">Archive: cpio.lzma</xsd:documentation></xsd:annotation></xsd:enumeration>
			<xsd:enumeration value="cpxz"><xsd:annotation><xsd:documentation xml:lang="en">Archive: cpio.xz</xsd:documentation></xsd:annotation></xsd:enumeration>
			<xsd:enumeration value="arj"><xsd:annotation><xsd:documentation xml:lang="en">Archive: ARJ</xsd:documentation></xsd:annotation></xsd:enumeration>
			<xsd:enumeration value="cab"><xsd:annotation><xsd:documentation xml:lang="en">Archive: Microsoft Cabinet</xsd:documentation></xsd:annotation></xsd:enumeration>
			<xsd:enumeration value="deb"><xsd:annotation><xsd:documentation xml:lang="en">Archive: Debian package</xsd:documentation></xsd:annotation></xsd:enumeration>
			<xsd:enumeration value="lha"><xsd:annotation><xsd:documentation xml:lang="en">Archive: LHA and LZH</xsd:documentation></xsd:annotation></xsd:enumeration>
			<xsd:enumeration value="rar"><xsd:annotation><xsd:documentation xml:lang="en">Archive: WinRAR</xsd:documentation></xsd:annotation></xsd:enumeration>
			<xsd:enumeration value="rpm"><xsd:annotation><xsd:documentation xml:lang="en">Archive: Red Hat Package Manager</xsd:documentation></xsd:annotation></xsd:enumeration>
			<xsd:enumeration value="xar"><xsd:annotation><xsd:documentation xml:lang="en">Archive: XAR</xsd:documentation></xsd:annotation></xsd:enumeration>
			<xsd:enumeration value="mbox"><xsd:annotation><xsd:documentation xml:lang="en">Mailbox: MBOX</xsd:documentation></xsd:annotation></xsd:enumeration>
			<xsd:enumeration value="fat"><xsd:annotation><xsd:documentation xml:lang="en">Disk image: FAT</xsd:documentation></xsd:annotation></xsd:enumeration>
			<xsd:enumeration value="iso"><xsd:annotation><xsd:documentation xml:lang="en">Disk image: ISO or UDF </xsd:documentation></xsd:annotation></xsd:enumeration>
			<xsd:enumeration value="ntfs"><xsd:annotation><xsd:documentation xml:lang="en">Disk image: NTFS</xsd:documentation></xsd:annotation></xsd:enumeration>
			<xsd:enumeration value="ext"><xsd:annotation><xsd:documentation xml:lang="en">Disk image: ext2, ext3, or ext4</xsd:documentation></xsd:annotation></xsd:enumeration>
			<xsd:enumeration value="hfs"><xsd:annotation><xsd:documentation xml:lang="en">Disk image: HFS+</xsd:documentation></xsd:annotation></xsd:enumeration>
			<xsd:enumeration value="wim"><xsd:annotation><xsd:documentation xml:lang="en">Disk image: Windows Imaging</xsd:documentation></xsd:annotation></xsd:enumeration>
			<xsd:enumeration value="doczip"><xsd:annotation><xsd:documentation xml:lang="en">Document: zip</xsd:documentation></xsd:annotation></xsd:enumeration>
			<xsd:enumeration value="chm"><xsd:annotation><xsd:documentation xml:lang="en">Document: HTML Help file (.chm or .hxs)</xsd:documentation></xsd:annotation></xsd:enumeration>
			<xsd:enumeration value="eml"><xsd:annotation><xsd:documentation xml:lang="en">Document: MIME email (.eml)</xsd:documentation></xsd:annotation></xsd:enumeration>
		</xsd:restriction>
	</xsd:simpleType>
	<xsd:complexType name="FSArchive">
		<xsd:sequence>
			<xsd:element name="folder" type="pgr:FSFolder" minOccurs="0" maxOccurs="unbounded"/>
			<xsd:element name="archive" type="pgr:FSArchive" minOccurs="0" maxOccurs="unbounded"/>
			<xsd:element name="file" type="pgr:FSFile" minOccurs="0" maxOccurs="unbounded"/>
		</xsd:sequence>
		<xsd:attribute name="name" type="pgr:FileName" use="required"/>
		<xsd:attribute name="mark" type="pgr:FSMark"/>
		<xsd:attribute name="regexmasks" type="xsd:boolean"/>
		<xsd:attribute name="includemasks" type="xsd:string"/>
		<xsd:attribute name="excludemasks" type="xsd:string"/>
		<xsd:attribute name="includemasksfolders" type="xsd:string"/>
		<xsd:attribute name="excludemasksfolders" type="xsd:string"/>
		<xsd:attribute name="exists" type="xsd:boolean"><xsd:annotation><xsd:documentation xml:lang="en">Omitted for archives that exist</xsd:documentation></xsd:annotation></xsd:attribute>
		<xsd:attribute name="included" type="pgr:FSIncluded"/>
		<xsd:attribute name="includedfiles" type="xsd:nonNegativeInteger"/>
		<xsd:attribute name="includedsize" type="xsd:nonNegativeInteger"/>
		<xsd:attribute name="format" type="pgr:ArchiveFormat"><xsd:annotation><xsd:documentation xml:lang="en">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.</xsd:documentation></xsd:annotation></xsd:attribute>
		<xsd:attribute name="filedate" type="xsd:dateTime"/>
		<xsd:attribute name="filesize" type="xsd:nonNegativeInteger"/>
	</xsd:complexType>
	<xsd:complexType name="FSNetServer">
		<xsd:sequence>
			<xsd:element name="drive" type="pgr:FSFolder" minOccurs="0" maxOccurs="unbounded"/>
		</xsd:sequence>
		<xsd:attribute name="name" type="pgr:FileName" use="required"/>
		<xsd:attribute name="mark" type="pgr:FSMark"/>
		<xsd:attribute name="regexmasks" type="xsd:boolean"/>
		<xsd:attribute name="includemasks" type="xsd:string"/>
		<xsd:attribute name="excludemasks" type="xsd:string"/>
		<xsd:attribute name="includemasksfolders" type="xsd:string"/>
		<xsd:attribute name="excludemasksfolders" type="xsd:string"/>
		<xsd:attribute name="exists" type="xsd:boolean"><xsd:annotation><xsd:documentation xml:lang="en">Omitted for network servers that exist</xsd:documentation></xsd:annotation></xsd:attribute>
		<xsd:attribute name="included" type="pgr:FSIncluded"/>
		<xsd:attribute name="includedfiles" type="xsd:nonNegativeInteger"/>
		<xsd:attribute name="includedsize" type="xsd:nonNegativeInteger"/>
	</xsd:complexType>
	<xsd:complexType name="FSNetwork">
		<xsd:sequence>
			<xsd:element name="server" type="pgr:FSNetServer" minOccurs="0" maxOccurs="unbounded"/>
		</xsd:sequence>
		<xsd:attribute name="mark" type="pgr:FSMark"/>
		<xsd:attribute name="regexmasks" type="xsd:boolean"/>
		<xsd:attribute name="includemasks" type="xsd:string"/>
		<xsd:attribute name="excludemasks" type="xsd:string"/>
		<xsd:attribute name="includemasksfolders" type="xsd:string"/>
		<xsd:attribute name="excludemasksfolders" type="xsd:string"/>
		<xsd:attribute name="included" type="pgr:FSIncluded"/>
		<xsd:attribute name="includedfiles" type="xsd:nonNegativeInteger"/>
		<xsd:attribute name="includedsize" type="xsd:nonNegativeInteger"/>
	</xsd:complexType>
	<xsd:complexType name="FSSpecialDrive">
		<xsd:sequence>
			<xsd:element name="file" type="pgr:FSFile" minOccurs="0" maxOccurs="unbounded"/>
		</xsd:sequence>
		<xsd:attribute name="mark" type="pgr:FSMark"/>
		<xsd:attribute name="regexmasks" type="xsd:boolean"/>
		<xsd:attribute name="includemasks" type="xsd:string"/>
		<xsd:attribute name="excludemasks" type="xsd:string"/>
		<xsd:attribute name="includemasksfolders" type="xsd:string"/>
		<xsd:attribute name="excludemasksfolders" type="xsd:string"/>
		<xsd:attribute name="included" type="pgr:FSIncluded"/>
		<xsd:attribute name="includedfiles" type="xsd:nonNegativeInteger"/>
		<xsd:attribute name="includedsize" type="xsd:nonNegativeInteger"/>
	</xsd:complexType>
	<xsd:simpleType name="ConvertMode">
		<xsd:restriction base="xsd:token">
			<xsd:enumeration value="external"><xsd:annotation><xsd:documentation xml:lang="en">Convert using external application</xsd:documentation></xsd:annotation></xsd:enumeration>
			<xsd:enumeration value="ifilter"><xsd:annotation><xsd:documentation xml:lang="en">Convert using IFilter</xsd:documentation></xsd:annotation></xsd:enumeration>
			<xsd:enumeration value="builtin"><xsd:annotation><xsd:documentation xml:lang="en">Convert using built-in decoder</xsd:documentation></xsd:annotation></xsd:enumeration>
			<xsd:enumeration value="compound"><xsd:annotation><xsd:documentation xml:lang="en">Treat as a compound document</xsd:documentation></xsd:annotation></xsd:enumeration>
			<xsd:enumeration value="raw"><xsd:annotation><xsd:documentation xml:lang="en">Search through raw contents of the file</xsd:documentation></xsd:annotation></xsd:enumeration>
		</xsd:restriction>
	</xsd:simpleType>
	<xsd:complexType name="ConfigConvertFormat">
		<xsd:sequence>
			<xsd:annotation><xsd:documentation xml:lang="en">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</xsd:documentation></xsd:annotation>
			<xsd:element name="mode" type="pgr:ConvertMode" minOccurs="0" maxOccurs="5"/>
		</xsd:sequence>
		<xsd:attribute name="name" type="xsd:string"><xsd:annotation><xsd:documentation xml:lang="en">Required as the first attribute for custom formats; not permitted for built-in formats</xsd:documentation></xsd:annotation></xsd:attribute>
		<xsd:attribute name="masks" type="xsd:string"><xsd:annotation><xsd:documentation xml:lang="en">File masks this conversion setting applies to</xsd:documentation></xsd:annotation></xsd:attribute>
		<xsd:attribute name="commandline" type="xsd:string"><xsd:annotation><xsd:documentation xml:lang="en">Command line for conversion using external application</xsd:documentation></xsd:annotation></xsd:attribute>
		<xsd:attribute name="stdin" type="xsd:boolean"><xsd:annotation><xsd:documentation xml:lang="en">External application reads file from standard input</xsd:documentation></xsd:annotation></xsd:attribute>
		<xsd:attribute name="stdout" type="xsd:boolean"><xsd:annotation><xsd:documentation xml:lang="en">External application writes conversion to standard output</xsd:documentation></xsd:annotation></xsd:attribute>
		<xsd:attribute name="dataformat" type="pgr:DataFormat"><xsd:annotation><xsd:documentation xml:lang="en">Encoding used by external application</xsd:documentation></xsd:annotation></xsd:attribute>
		<xsd:attribute name="force" type="xsd:boolean"><xsd:annotation><xsd:documentation xml:lang="en">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</xsd:documentation></xsd:annotation></xsd:attribute>
	</xsd:complexType>
	<xsd:complexType name="ConfigConvertFormatPDF">
		<xsd:complexContent>
			<xsd:extension base="pgr:ConfigConvertFormat">
				<xsd:attribute name="readingorder" type="xsd:boolean"><xsd:annotation><xsd:documentation xml:lang="en">Convert the text in PDF files in reading order rather than trying to mimic the page layout</xsd:documentation></xsd:annotation></xsd:attribute>
			</xsd:extension>
		</xsd:complexContent>
	</xsd:complexType>
	<xsd:complexType name="ConfigConvertFormats">
		<xsd:sequence>
			<xsd:element name="pdf" type="pgr:ConfigConvertFormatPDF" minOccurs="0"/>
			<xsd:element name="word" type="pgr:ConfigConvertFormat" minOccurs="0"/>
			<xsd:element name="docx" type="pgr:ConfigConvertFormat" minOccurs="0"/>
			<xsd:element name="odt" type="pgr:ConfigConvertFormat" minOccurs="0"/>
			<xsd:element name="wri" type="pgr:ConfigConvertFormat" minOccurs="0"/>
			<xsd:element name="wp" type="pgr:ConfigConvertFormat" minOccurs="0"/>
			<xsd:element name="xps" type="pgr:ConfigConvertFormat" minOccurs="0"/>
			<xsd:element name="xls" type="pgr:ConfigConvertFormat" minOccurs="0"/>
			<xsd:element name="xlsx" type="pgr:ConfigConvertFormat" minOccurs="0"/>
			<xsd:element name="quattro" type="pgr:ConfigConvertFormat" minOccurs="0"/>
			<xsd:element name="lotus" type="pgr:ConfigConvertFormat" minOccurs="0"/>
			<xsd:element name="audio" type="pgr:ConfigConvertFormat" minOccurs="0"/>
			<xsd:element name="wma" type="pgr:ConfigConvertFormat" minOccurs="0"/>
			<xsd:element name="exif" type="pgr:ConfigConvertFormat" minOccurs="0"/>
			<xsd:element name="rtf" type="pgr:ConfigConvertFormat" minOccurs="0"/>
			<xsd:element name="html" type="pgr:ConfigConvertFormat" minOccurs="0"/>
			<xsd:element name="mht" type="pgr:ConfigConvertFormat" minOccurs="0"/>
			<xsd:element name="eml" type="pgr:ConfigConvertFormat" minOccurs="0"/>
			<xsd:element name="outlook" type="pgr:ConfigConvertFormat" minOccurs="0"/>
			<xsd:element name="cdr" type="pgr:ConfigConvertFormat" minOccurs="0"/>
			<xsd:element name="acetext" type="pgr:ConfigConvertFormat" minOccurs="0"/>
			<xsd:element name="lnk" type="pgr:ConfigConvertFormat" minOccurs="0"/>
			<xsd:element name="zip" type="pgr:ConfigConvertFormat" minOccurs="0"/>
			<xsd:element name="chm" type="pgr:ConfigConvertFormat" minOccurs="0"/>
			<xsd:element name="custom" type="pgr:ConfigConvertFormat" minOccurs="0" maxOccurs="unbounded"/>
			<xsd:element name="comments" type="xsd:string" minOccurs="0"/>
		</xsd:sequence>
		<xsd:attribute name="name" type="xsd:string" use="required"><xsd:annotation><xsd:documentation xml:lang="en">Required as the first attribute</xsd:documentation></xsd:annotation></xsd:attribute>
	</xsd:complexType>
	<xsd:complexType name="ConfigArchiveFormat">
		<xsd:attribute name="masks" type="xsd:string"><xsd:annotation><xsd:documentation xml:lang="en">File masks this conversion setting applies to</xsd:documentation></xsd:annotation></xsd:attribute>
		<xsd:attribute name="decompress" type="xsd:boolean"><xsd:annotation><xsd:documentation xml:lang="en">Search inside files in archives of this format</xsd:documentation></xsd:annotation></xsd:attribute>
	</xsd:complexType>
	<xsd:complexType name="ConfigArchiveFormats">
		<xsd:sequence>
			<xsd:element name="zip" type="pgr:ConfigArchiveFormat" minOccurs="0"/>
			<xsd:element name="zipx" type="pgr:ConfigArchiveFormat" minOccurs="0"/>
			<xsd:element name="seven" type="pgr:ConfigArchiveFormat" minOccurs="0"/>
			<xsd:element name="gz" type="pgr:ConfigArchiveFormat" minOccurs="0"/>
			<xsd:element name="bz2" type="pgr:ConfigArchiveFormat" minOccurs="0"/>
			<xsd:element name="lzma" type="pgr:ConfigArchiveFormat" minOccurs="0"/>
			<xsd:element name="xz" type="pgr:ConfigArchiveFormat" minOccurs="0"/>
			<xsd:element name="tar" type="pgr:ConfigArchiveFormat" minOccurs="0"/>
			<xsd:element name="tgz" type="pgr:ConfigArchiveFormat" minOccurs="0"/>
			<xsd:element name="tbz" type="pgr:ConfigArchiveFormat" minOccurs="0"/>
			<xsd:element name="tlzma" type="pgr:ConfigArchiveFormat" minOccurs="0"/>
			<xsd:element name="txz" type="pgr:ConfigArchiveFormat" minOccurs="0"/>
			<xsd:element name="cpio" type="pgr:ConfigArchiveFormat" minOccurs="0"/>
			<xsd:element name="cpgz" type="pgr:ConfigArchiveFormat" minOccurs="0"/>
			<xsd:element name="cpbz" type="pgr:ConfigArchiveFormat" minOccurs="0"/>
			<xsd:element name="cplzma" type="pgr:ConfigArchiveFormat" minOccurs="0"/>
			<xsd:element name="cpxz" type="pgr:ConfigArchiveFormat" minOccurs="0"/>
			<xsd:element name="arj" type="pgr:ConfigArchiveFormat" minOccurs="0"/>
			<xsd:element name="cab" type="pgr:ConfigArchiveFormat" minOccurs="0"/>
			<xsd:element name="deb" type="pgr:ConfigArchiveFormat" minOccurs="0"/>
			<xsd:element name="lha" type="pgr:ConfigArchiveFormat" minOccurs="0"/>
			<xsd:element name="rar" type="pgr:ConfigArchiveFormat" minOccurs="0"/>
			<xsd:element name="rpm" type="pgr:ConfigArchiveFormat" minOccurs="0"/>
			<xsd:element name="xar" type="pgr:ConfigArchiveFormat" minOccurs="0"/>
			<xsd:element name="mbox" type="pgr:ConfigArchiveFormat" minOccurs="0"/>
			<xsd:element name="pst" type="pgr:ConfigArchiveFormat" minOccurs="0"/>
			<xsd:element name="oe5" type="pgr:ConfigArchiveFormat" minOccurs="0"/>
			<xsd:element name="fat" type="pgr:ConfigArchiveFormat" minOccurs="0"/>
			<xsd:element name="iso" type="pgr:ConfigArchiveFormat" minOccurs="0"/>
			<xsd:element name="ntfs" type="pgr:ConfigArchiveFormat" minOccurs="0"/>
			<xsd:element name="ext" type="pgr:ConfigArchiveFormat" minOccurs="0"/>
			<xsd:element name="hfs" type="pgr:ConfigArchiveFormat" minOccurs="0"/>
			<xsd:element name="wim" type="pgr:ConfigArchiveFormat" minOccurs="0"/>
			<xsd:element name="comments" type="xsd:string" minOccurs="0"/>
		</xsd:sequence>
		<xsd:attribute name="name" type="xsd:string" use="required"><xsd:annotation><xsd:documentation xml:lang="en">Required as the first attribute</xsd:documentation></xsd:annotation></xsd:attribute>
	</xsd:complexType>
	<xsd:complexType name="ConfigDataFormatSettings">
		<xsd:attribute name="name" type="xsd:string" use="required"><xsd:annotation><xsd:documentation xml:lang="en">Required as the first attribute</xsd:documentation></xsd:annotation></xsd:attribute>
		<xsd:attribute name="dataformat" type="pgr:DataFormat" use="required"><xsd:annotation><xsd:documentation xml:lang="en">Default encoding</xsd:documentation></xsd:annotation></xsd:attribute>
		<xsd:attribute name="xml" type="xsd:boolean"><xsd:annotation><xsd:documentation xml:lang="en">Detect XML declaration</xsd:documentation></xsd:annotation></xsd:attribute>
		<xsd:attribute name="html" type="xsd:boolean"><xsd:annotation><xsd:documentation xml:lang="en">Detect HTML charset meta tag</xsd:documentation></xsd:annotation></xsd:attribute>
		<xsd:attribute name="binary" type="xsd:boolean"><xsd:annotation><xsd:documentation xml:lang="en">Treat files containing NULL characters as binary files</xsd:documentation></xsd:annotation></xsd:attribute>
		<xsd:attribute name="unicode" type="xsd:boolean"><xsd:annotation><xsd:documentation xml:lang="en">Detect UTF-8 and UTF-16 Unicode files without a byte order marker</xsd:documentation></xsd:annotation></xsd:attribute>
		<xsd:attribute name="ascii" type="xsd:boolean"><xsd:annotation><xsd:documentation xml:lang="en">Detect ASCII files using \uFFFF, &amp;#65535; or &amp;#xFFFF; as Unicode files</xsd:documentation></xsd:annotation></xsd:attribute>
		<xsd:attribute name="writebom" type="xsd:boolean"><xsd:annotation><xsd:documentation xml:lang="en">Write a byte order marker at the start of Unicode files</xsd:documentation></xsd:annotation></xsd:attribute>
		<xsd:attribute name="preservebom" type="xsd:boolean"><xsd:annotation><xsd:documentation xml:lang="en">Preserve presence or absence of the byte order marker in existing files</xsd:documentation></xsd:annotation></xsd:attribute>
	</xsd:complexType>
	<xsd:complexType name="ConfigDataFormat">
		<xsd:complexContent>
			<xsd:extension base="pgr:ConfigDataFormatSettings">
				<xsd:attribute name="masks" type="xsd:string"><xsd:annotation><xsd:documentation xml:lang="en">File masks this text encoding setting applies to</xsd:documentation></xsd:annotation></xsd:attribute>
			</xsd:extension>
		</xsd:complexContent>
	</xsd:complexType>
	<xsd:complexType name="ConfigDataFormats">
		<xsd:complexContent>
			<xsd:extension base="pgr:ConfigDataFormatSettings">
				<xsd:sequence>
					<xsd:element name="format" type="pgr:ConfigDataFormat" minOccurs="0" maxOccurs="unbounded"/>
					<xsd:element name="comments" type="xsd:string" minOccurs="0"/>
				</xsd:sequence>
			</xsd:extension>
		</xsd:complexContent>
	</xsd:complexType>
	<xsd:complexType name="ConfigHideFormats">
		<xsd:sequence>
			<xsd:element name="comments" type="xsd:string" minOccurs="0"/>
		</xsd:sequence>
		<xsd:attribute name="name" type="xsd:string" use="required"><xsd:annotation><xsd:documentation xml:lang="en">Required as the first attribute</xsd:documentation></xsd:annotation></xsd:attribute>
		<xsd:attribute name="hidden" type="xsd:boolean"><xsd:annotation><xsd:documentation xml:lang="en">Hide hidden files and folders</xsd:documentation></xsd:annotation></xsd:attribute>
		<xsd:attribute name="system" type="xsd:boolean"><xsd:annotation><xsd:documentation xml:lang="en">Hide system files and folders</xsd:documentation></xsd:annotation></xsd:attribute>
		<xsd:attribute name="regex" type="xsd:boolean"><xsd:annotation><xsd:documentation xml:lang="en">Masks are regular expressions rather than file masks</xsd:documentation></xsd:annotation></xsd:attribute>
		<xsd:attribute name="masksfiles" type="xsd:string"><xsd:annotation><xsd:documentation xml:lang="en">Hide files matching these file masks</xsd:documentation></xsd:annotation></xsd:attribute>
		<xsd:attribute name="masksfolders" type="xsd:string"><xsd:annotation><xsd:documentation xml:lang="en">Hide folders matching these file masks</xsd:documentation></xsd:annotation></xsd:attribute>
	</xsd:complexType>
	<xsd:simpleType name="ImportFileListSplit">
		<xsd:restriction base="xsd:token">
			<xsd:enumeration value="line"/>
			<xsd:enumeration value="comma"/>
			<xsd:enumeration value="semicolon"/>
			<xsd:enumeration value="tab"/>
			<xsd:enumeration value="search"/>
			<xsd:enumeration value="regex"/>
			<xsd:enumeration value="split"/>
		</xsd:restriction>
	</xsd:simpleType>
	<xsd:simpleType name="ImportFileListMark">
		<xsd:restriction base="xsd:token">
			<xsd:enumeration value="mark"/>
			<xsd:enumeration value="recurse"/>
			<xsd:enumeration value="unmark"/>
		</xsd:restriction>
	</xsd:simpleType>
	<xsd:complexType name="ImportFileList">
		<xsd:sequence>
			<xsd:element name="file" type="xsd:string" minOccurs="1" maxOccurs="unbounded"/>
		</xsd:sequence>
		<xsd:attribute name="split" type="pgr:ImportFileListSplit"/>
		<xsd:attribute name="regex" type="xsd:string"/>
		<xsd:attribute name="relative" type="xsd:string"/>
		<xsd:attribute name="mark" type="pgr:ImportFileListMark"/>
		<xsd:attribute name="markinclude" type="xsd:boolean"/>
		<xsd:attribute name="markrecurse" type="xsd:boolean"/>
		<xsd:attribute name="clearmarked" type="xsd:boolean"/>
		<xsd:attribute name="clearunmarked" type="xsd:boolean"/>
		<xsd:attribute name="clearglobal" type="xsd:boolean"/>
	</xsd:complexType>
	<xsd:complexType name="FileSelection">
		<xsd:sequence>
			<xsd:element name="convertformats" type="pgr:ConfigConvertFormats" minOccurs="0"><xsd:annotation><xsd:documentation xml:lang="en">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).</xsd:documentation></xsd:annotation></xsd:element>
			<xsd:element name="archiveformats" type="pgr:ConfigArchiveFormats" minOccurs="0"><xsd:annotation><xsd:documentation xml:lang="en">Omitting this has the same effect as specifying all archive formats with blank file masks (meaning no files will be recognized as archives).</xsd:documentation></xsd:annotation></xsd:element>
			<xsd:element name="dataformats" type="pgr:ConfigDataFormats"/>
			<xsd:element name="hideformats" type="pgr:ConfigHideFormats" minOccurs="0"/>
			<xsd:element name="drive" type="pgr:FSDrive" minOccurs="0" maxOccurs="unbounded"/>
			<xsd:element name="network" type="pgr:FSNetwork" minOccurs="0"/>
			<xsd:element name="clipboard" type="pgr:FSSpecialDrive" minOccurs="0"/>
			<xsd:element name="editor" type="pgr:FSSpecialDrive" minOccurs="0"/>
			<xsd:element name="import" type="pgr:ImportFileList" minOccurs="0"/>
		</xsd:sequence>
		<xsd:attribute name="binary" type="xsd:boolean"><xsd:annotation><xsd:documentation xml:lang="en">Search through binary files?</xsd:documentation></xsd:annotation></xsd:attribute>
		<xsd:attribute name="results" type="xsd:boolean"><xsd:annotation><xsd:documentation xml:lang="en">Search only through files in which search matches were found in the previous search? This option is ignored for the first search.</xsd:documentation></xsd:annotation></xsd:attribute>
		<xsd:attribute name="globalmasks" type="xsd:boolean"><xsd:annotation><xsd:documentation xml:lang="en">Use global file masks for all marked folders?</xsd:documentation></xsd:annotation></xsd:attribute>
		<xsd:attribute name="regexmasks" type="xsd:boolean"/>
		<xsd:attribute name="includemasks" type="xsd:string"/>
		<xsd:attribute name="excludemasks" type="xsd:string"/>
		<xsd:attribute name="includemasksfolders" type="xsd:string"/>
		<xsd:attribute name="excludemasksfolders" type="xsd:string"/>
		<xsd:attribute name="timespan" type="pgr:TimeSpanType"/>
		<xsd:attribute name="timespanlength" type="xsd:positiveInteger"/>
		<xsd:attribute name="timespanstart" type="xsd:date"/>
		<xsd:attribute name="timespanstop" type="xsd:date"/>
		<xsd:attribute name="timespannegated" type="xsd:boolean"/>
	</xsd:complexType>
	<xsd:simpleType name="ActionType">
		<xsd:restriction base="xsd:token">
			<xsd:enumeration value="simple"><xsd:annotation><xsd:documentation xml:lang="en">Simple search</xsd:documentation></xsd:annotation></xsd:enumeration>
			<xsd:enumeration value="search"><xsd:annotation><xsd:documentation xml:lang="en">Search</xsd:documentation></xsd:annotation></xsd:enumeration>
			<xsd:enumeration value="collect"><xsd:annotation><xsd:documentation xml:lang="en">Collect data</xsd:documentation></xsd:annotation></xsd:enumeration>
			<xsd:enumeration value="count"><xsd:annotation><xsd:documentation xml:lang="en">Count matches</xsd:documentation></xsd:annotation></xsd:enumeration>
			<xsd:enumeration value="find"><xsd:annotation><xsd:documentation xml:lang="en">List files</xsd:documentation></xsd:annotation></xsd:enumeration>
			<xsd:enumeration value="findname"><xsd:annotation><xsd:documentation xml:lang="en">File name search</xsd:documentation></xsd:annotation></xsd:enumeration>
			<xsd:enumeration value="collectname"><xsd:annotation><xsd:documentation xml:lang="en">File name collect</xsd:documentation></xsd:annotation></xsd:enumeration>
			<xsd:enumeration value="rename"><xsd:annotation><xsd:documentation xml:lang="en">Rename files</xsd:documentation></xsd:annotation></xsd:enumeration>
			<xsd:enumeration value="replace"><xsd:annotation><xsd:documentation xml:lang="en">Search and replace</xsd:documentation></xsd:annotation></xsd:enumeration>
			<xsd:enumeration value="delete"><xsd:annotation><xsd:documentation xml:lang="en">Search and delete</xsd:documentation></xsd:annotation></xsd:enumeration>
			<xsd:enumeration value="merge"><xsd:annotation><xsd:documentation xml:lang="en">Merge files</xsd:documentation></xsd:annotation></xsd:enumeration>
			<xsd:enumeration value="split"><xsd:annotation><xsd:documentation xml:lang="en">Split files</xsd:documentation></xsd:annotation></xsd:enumeration>
		</xsd:restriction>
	</xsd:simpleType>
	<xsd:simpleType name="PathPart">
		<xsd:restriction base="xsd:token">
			<xsd:enumeration value="name"><xsd:annotation><xsd:documentation xml:lang="en">File names</xsd:documentation></xsd:annotation></xsd:enumeration>
			<xsd:enumeration value="relative"><xsd:annotation><xsd:documentation xml:lang="en">Relative path to files</xsd:documentation></xsd:annotation></xsd:enumeration>
			<xsd:enumeration value="full"><xsd:annotation><xsd:documentation xml:lang="en">Full path to files</xsd:documentation></xsd:annotation></xsd:enumeration>
			<xsd:enumeration value="foldername"><xsd:annotation><xsd:documentation xml:lang="en">File names</xsd:documentation></xsd:annotation></xsd:enumeration>
			<xsd:enumeration value="folderrelative"><xsd:annotation><xsd:documentation xml:lang="en">Relative path to folders</xsd:documentation></xsd:annotation></xsd:enumeration>
			<xsd:enumeration value="folderfull"><xsd:annotation><xsd:documentation xml:lang="en">Full path to folders</xsd:documentation></xsd:annotation></xsd:enumeration>
			<xsd:enumeration value="anyname"><xsd:annotation><xsd:documentation xml:lang="en">File names</xsd:documentation></xsd:annotation></xsd:enumeration>
			<xsd:enumeration value="anyrelative"><xsd:annotation><xsd:documentation xml:lang="en">Relative path to files and folders</xsd:documentation></xsd:annotation></xsd:enumeration>
			<xsd:enumeration value="anyfull"><xsd:annotation><xsd:documentation xml:lang="en">Full path to files and folders</xsd:documentation></xsd:annotation></xsd:enumeration>
		</xsd:restriction>
	</xsd:simpleType>
	<xsd:simpleType name="DeleteType">
		<xsd:restriction base="xsd:token">
			<xsd:enumeration value="all"><xsd:annotation><xsd:documentation xml:lang="en">All matches</xsd:documentation></xsd:annotation></xsd:enumeration>
			<xsd:enumeration value="duplicate"><xsd:annotation><xsd:documentation xml:lang="en">Duplicate matches</xsd:documentation></xsd:annotation></xsd:enumeration>
			<xsd:enumeration value="duplicateterm"><xsd:annotation><xsd:documentation xml:lang="en">Duplicates, separately per search term</xsd:documentation></xsd:annotation></xsd:enumeration>
			<xsd:enumeration value="second"><xsd:annotation><xsd:documentation xml:lang="en">Second and following matches</xsd:documentation></xsd:annotation></xsd:enumeration>
			<xsd:enumeration value="secondterm"><xsd:annotation><xsd:documentation xml:lang="en">Second and following, separately per search term</xsd:documentation></xsd:annotation></xsd:enumeration>
		</xsd:restriction>
	</xsd:simpleType>
	<xsd:simpleType name="SearchType">
		<xsd:restriction base="xsd:token">
			<xsd:enumeration value="literal"><xsd:annotation><xsd:documentation xml:lang="en">Literal text</xsd:documentation></xsd:annotation></xsd:enumeration>
			<xsd:enumeration value="literal list"><xsd:annotation><xsd:documentation xml:lang="en">List of literal text</xsd:documentation></xsd:annotation></xsd:enumeration>
			<xsd:enumeration value="literal delimited"><xsd:annotation><xsd:documentation xml:lang="en">Delimited literal text</xsd:documentation></xsd:annotation></xsd:enumeration>
			<xsd:enumeration value="regex"><xsd:annotation><xsd:documentation xml:lang="en">Regular expression</xsd:documentation></xsd:annotation></xsd:enumeration>
			<xsd:enumeration value="regex free"><xsd:annotation><xsd:documentation xml:lang="en">Free-spacing regular expression</xsd:documentation></xsd:annotation></xsd:enumeration>
			<xsd:enumeration value="regex list"><xsd:annotation><xsd:documentation xml:lang="en">List of regular expressions</xsd:documentation></xsd:annotation></xsd:enumeration>
			<xsd:enumeration value="regex free list"><xsd:annotation><xsd:documentation xml:lang="en">List of free-spacing regexes</xsd:documentation></xsd:annotation></xsd:enumeration>
			<xsd:enumeration value="regex delimited"><xsd:annotation><xsd:documentation xml:lang="en">Delimited regular expressions</xsd:documentation></xsd:annotation></xsd:enumeration>
			<xsd:enumeration value="hex"><xsd:annotation><xsd:documentation xml:lang="en">Binary data</xsd:documentation></xsd:annotation></xsd:enumeration>
			<xsd:enumeration value="hex list"><xsd:annotation><xsd:documentation xml:lang="en">List of binary data</xsd:documentation></xsd:annotation></xsd:enumeration>
			<xsd:enumeration value="hex delimited"><xsd:annotation><xsd:documentation xml:lang="en">Delimited binary data</xsd:documentation></xsd:annotation></xsd:enumeration>
		</xsd:restriction>
	</xsd:simpleType>
	<xsd:simpleType name="FilterType">
		<xsd:restriction base="xsd:token">
			<xsd:enumeration value="off"><xsd:annotation><xsd:documentation xml:lang="en">Do not filter files</xsd:documentation></xsd:annotation></xsd:enumeration>
			<xsd:enumeration value="none"><xsd:annotation><xsd:documentation xml:lang="en">Disallow any terms to match</xsd:documentation></xsd:annotation></xsd:enumeration>
			<xsd:enumeration value="any"><xsd:annotation><xsd:documentation xml:lang="en">Require one term to match</xsd:documentation></xsd:annotation></xsd:enumeration>
			<xsd:enumeration value="all"><xsd:annotation><xsd:documentation xml:lang="en">Require all terms to match</xsd:documentation></xsd:annotation></xsd:enumeration>
		</xsd:restriction>
	</xsd:simpleType>
	<xsd:simpleType name="SectionType">
		<xsd:restriction base="xsd:token">
			<xsd:enumeration value="whole file"/>
			<xsd:enumeration value="line"/>
			<xsd:enumeration value="line breaks"/>
			<xsd:enumeration value="split"/>
			<xsd:enumeration value="section"/>
			<xsd:enumeration value="section collect"/>
		</xsd:restriction>
	</xsd:simpleType>
	<xsd:simpleType name="ContextType">
		<xsd:restriction base="xsd:token">
			<xsd:enumeration value="none"/>
			<xsd:enumeration value="section"/>
			<xsd:enumeration value="line"/>
			<xsd:enumeration value="record"/>
			<xsd:enumeration value="split"/>
			<xsd:enumeration value="search"/>
			<xsd:enumeration value="collect"/>
		</xsd:restriction>
	</xsd:simpleType>
	<xsd:simpleType name="ContextExtra">
		<xsd:restriction base="xsd:token">
			<xsd:enumeration value="context"><xsd:annotation><xsd:documentation xml:lang="en">Expand the context by the given number of context blocks, if any.</xsd:documentation></xsd:annotation></xsd:enumeration>
			<xsd:enumeration value="lines"><xsd:annotation><xsd:documentation xml:lang="en">Expand the context to span whole lines, and then expand it by the given number of lines, if any.</xsd:documentation></xsd:annotation></xsd:enumeration>
		</xsd:restriction>
	</xsd:simpleType>
	<xsd:simpleType name="ContextRecordSize">
		<xsd:restriction base="xsd:integer">
			<xsd:minInclusive value="2"/>
		</xsd:restriction>
	</xsd:simpleType>
	<xsd:simpleType name="CollectBetweenType">
		<xsd:restriction base="xsd:token">
			<xsd:enumeration value="none"><xsd:annotation><xsd:documentation xml:lang="en">Nothing</xsd:documentation></xsd:annotation></xsd:enumeration>
			<xsd:enumeration value="line break"><xsd:annotation><xsd:documentation xml:lang="en">Line break (default)</xsd:documentation></xsd:annotation></xsd:enumeration>
			<xsd:enumeration value="all"><xsd:annotation><xsd:documentation xml:lang="en">Same text between all items</xsd:documentation></xsd:annotation></xsd:enumeration>
			<xsd:enumeration value="same"><xsd:annotation><xsd:documentation xml:lang="en">Put text between matches from the same file only</xsd:documentation></xsd:annotation></xsd:enumeration>
			<xsd:enumeration value="file"><xsd:annotation><xsd:documentation xml:lang="en">Put text between matches from different files only</xsd:documentation></xsd:annotation></xsd:enumeration>
			<xsd:enumeration value="dual"><xsd:annotation><xsd:documentation xml:lang="en">Put text between matches from the same file, and other text between matches from different files</xsd:documentation></xsd:annotation></xsd:enumeration>
		</xsd:restriction>
	</xsd:simpleType>
	<xsd:simpleType name="TargetType">
		<xsd:restriction base="xsd:token">
			<xsd:enumeration value="none"/>
			<xsd:enumeration value="single"/>
			<xsd:enumeration value="clipboard"/>
			<xsd:enumeration value="editor"/>
			<xsd:enumeration value="same"/>
			<xsd:enumeration value="copy modified"/>
			<xsd:enumeration value="copy all"/>
			<xsd:enumeration value="move"/>
			<xsd:enumeration value="copy recurse"/>
			<xsd:enumeration value="move recurse"/>
			<xsd:enumeration value="convert"/>
			<xsd:enumeration value="convert copy"/>
			<xsd:enumeration value="delete"/>
			<xsd:enumeration value="replacement"/>
			<xsd:enumeration value="placeholders"/>
		</xsd:restriction>
	</xsd:simpleType>
	<xsd:simpleType name="TargetDest">
		<xsd:restriction base="xsd:token">
			<xsd:enumeration value="single folder"/>
			<xsd:enumeration value="folder tree"/>
			<xsd:enumeration value="archive"/>
			<xsd:enumeration value="numbered archive"/>
			<xsd:enumeration value="placeholders"/>
		</xsd:restriction>
	</xsd:simpleType>
	<xsd:simpleType name="TargetOrder">
		<xsd:restriction base="xsd:token">
			<xsd:enumeration value="none"><xsd:annotation><xsd:documentation xml:lang="en">No particular order</xsd:documentation></xsd:annotation></xsd:enumeration>
			<xsd:enumeration value="none group"><xsd:annotation><xsd:documentation xml:lang="en">Keep each file's matches together</xsd:documentation></xsd:annotation></xsd:enumeration>
			<xsd:enumeration value="alnum inc"><xsd:annotation><xsd:documentation xml:lang="en">Sort files alphanumerically, A..Z, 0..9</xsd:documentation></xsd:annotation></xsd:enumeration>
			<xsd:enumeration value="alnum dec"><xsd:annotation><xsd:documentation xml:lang="en">Sort files alphanumerically, Z..A, 0..9</xsd:documentation></xsd:annotation></xsd:enumeration>
			<xsd:enumeration value="total inc"><xsd:annotation><xsd:documentation xml:lang="en">Sort files by increasing totals</xsd:documentation></xsd:annotation></xsd:enumeration>
			<xsd:enumeration value="total dec"><xsd:annotation><xsd:documentation xml:lang="en">Sort files by decreasing totals</xsd:documentation></xsd:annotation></xsd:enumeration>
			<xsd:enumeration value="new old"><xsd:annotation><xsd:documentation xml:lang="en">Newest file to oldest file</xsd:documentation></xsd:annotation></xsd:enumeration>
			<xsd:enumeration value="old new"><xsd:annotation><xsd:documentation xml:lang="en">Oldest file to newest file</xsd:documentation></xsd:annotation></xsd:enumeration>
		</xsd:restriction>
	</xsd:simpleType>
	<xsd:simpleType name="BackupType">
		<xsd:restriction base="xsd:token">
			<xsd:enumeration value="none"/>
			<xsd:enumeration value="single bak"/>
			<xsd:enumeration value="single tilde"/>
			<xsd:enumeration value="multi bak"/>
			<xsd:enumeration value="multi name"/>
			<xsd:enumeration value="same"/>
			<xsd:enumeration value="placeholders"/>
			<xsd:enumeration value="history"/>
		</xsd:restriction>
	</xsd:simpleType>
	<xsd:simpleType name="BackupDest">
		<xsd:restriction base="xsd:token">
			<xsd:enumeration value="same folder"/>
			<xsd:enumeration value="subfolder"/>
			<xsd:enumeration value="single folder"/>
			<xsd:enumeration value="folder tree"/>
			<xsd:enumeration value="archive"/>
			<xsd:enumeration value="numbered archive"/>
		</xsd:restriction>
	</xsd:simpleType>
	<xsd:complexType name="SearchText">
		<xsd:simpleContent>
			<xsd:extension base="xsd:string">
				<xsd:attribute name="label" type="xsd:string"><xsd:annotation><xsd:documentation xml:lang="en">Label to identify the search term.  Only used when the search type is a list.</xsd:documentation></xsd:annotation></xsd:attribute>
				<xsd:attribute name="enabled" type="xsd:boolean"><xsd:annotation><xsd:documentation xml:lang="en">Set to zero to disable individual search terms.  Terms without the attribute are enabled.  Only used when the search type is a list.</xsd:documentation></xsd:annotation></xsd:attribute>
			</xsd:extension>
		</xsd:simpleContent>
	</xsd:complexType>
	<xsd:complexType name="SearchBytes">
		<xsd:simpleContent>
			<xsd:extension base="xsd:hexBinary">
				<xsd:attribute name="label" type="xsd:string"><xsd:annotation><xsd:documentation xml:lang="en">Label to identify the search term.  Only used when the search type is a list.</xsd:documentation></xsd:annotation></xsd:attribute>
				<xsd:attribute name="enabled" type="xsd:boolean"><xsd:annotation><xsd:documentation xml:lang="en">Set to zero to disable individual search terms.  Terms without the attribute are enabled.  Only used when the search type is a list.</xsd:documentation></xsd:annotation></xsd:attribute>
			</xsd:extension>
		</xsd:simpleContent>
	</xsd:complexType>
	<xsd:complexType name="ActionPart">
		<xsd:annotation><xsd:documentation xml:lang="en">Building block for the various sets of search terms that make up a PowerGREP action</xsd:documentation></xsd:annotation>
		<xsd:sequence>
			<xsd:element name="prefixdelimiter" type="xsd:string" minOccurs="0"/>
			<xsd:element name="searchdelimiter" type="xsd:string" minOccurs="0"/>
			<xsd:element name="replacedelimiter" type="xsd:string" minOccurs="0"/>
			<xsd:choice minOccurs="0">
				<xsd:annotation><xsd:documentation xml:lang="en">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.</xsd:documentation></xsd:annotation>
				<xsd:sequence maxOccurs="unbounded">
					<xsd:element name="searchtext" type="pgr:SearchText"/>
					<xsd:element name="replacetext" type="xsd:string" minOccurs="0"/>
					<xsd:element name="regexmagicformula" type="xsd:string" minOccurs="0"><xsd:annotation><xsd:documentation xml:lang="en">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.</xsd:documentation></xsd:annotation></xsd:element>
				</xsd:sequence>
				<xsd:sequence maxOccurs="unbounded">
					<xsd:element name="searchbytes" type="pgr:SearchBytes"/>
					<xsd:element name="replacebytes" type="xsd:hexBinary" minOccurs="0"/>
				</xsd:sequence>
			</xsd:choice>
		</xsd:sequence>
		<xsd:attribute name="searchtype" type="pgr:SearchType"/>
		<xsd:attribute name="concurrent" type="xsd:boolean"/>
		<xsd:attribute name="casesensitive" type="xsd:boolean"/>
		<xsd:attribute name="caseadaptive" type="xsd:boolean"/>
		<xsd:attribute name="wholewords" type="xsd:boolean"/>
		<xsd:attribute name="dotall" type="xsd:boolean"/>
	</xsd:complexType>
	<xsd:complexType name="Action">
		<xsd:complexContent>
			<xsd:extension base="pgr:ActionPart">
				<xsd:sequence>
					<xsd:element name="filterfile" minOccurs="0">
						<xsd:complexType>
							<xsd:complexContent>
								<xsd:extension base="pgr:ActionPart">
									<xsd:attribute name="filtertype" type="pgr:FilterType" use="required"/>
								</xsd:extension>
							</xsd:complexContent>
						</xsd:complexType>
					</xsd:element>
					<xsd:element name="sectioning" minOccurs="0">
						<xsd:complexType>
							<xsd:complexContent>
								<xsd:extension base="pgr:ActionPart">
									<xsd:attribute name="sectiontype" type="pgr:SectionType" use="required"/>
									<xsd:attribute name="invertresults" type="xsd:boolean"/>
									<xsd:attribute name="wholesections" type="xsd:boolean"/>
									<xsd:attribute name="replacesections" type="xsd:boolean"/>
									<xsd:attribute name="findall" type="xsd:boolean"/>
								</xsd:extension>
							</xsd:complexContent>
						</xsd:complexType>
					</xsd:element>
					<xsd:element name="extraprocessing" minOccurs="0">
						<xsd:complexType>
							<xsd:complexContent>
								<xsd:extension base="pgr:ActionPart">
									<xsd:attribute name="enable" type="xsd:boolean" use="required"/>
								</xsd:extension>
							</xsd:complexContent>
						</xsd:complexType>
					</xsd:element>
					<xsd:element name="context" minOccurs="0">
						<xsd:complexType>
							<xsd:complexContent>
								<xsd:extension base="pgr:ActionPart">
									<xsd:attribute name="contexttype" type="pgr:ContextType" use="required"/>
									<xsd:attribute name="recordsize" type="pgr:ContextRecordSize"/>
									<xsd:attribute name="numbering" type="xsd:boolean"/>
									<xsd:attribute name="extra" type="pgr:ContextExtra"/>
									<xsd:attribute name="extrabefore" type="xsd:nonNegativeInteger"/>
									<xsd:attribute name="extraafter" type="xsd:nonNegativeInteger"/>
								</xsd:extension>
							</xsd:complexContent>
						</xsd:complexType>
					</xsd:element>
					<xsd:element name="collecttextbetween" type="xsd:string" minOccurs="0"><xsd:annotation><xsd:documentation xml:lang="en">Between items collected from the same file when searchtype is literal or regex</xsd:documentation></xsd:annotation></xsd:element>
					<xsd:element name="collecttextbetweenfiles" type="xsd:string" minOccurs="0"><xsd:annotation><xsd:documentation xml:lang="en">Between items collected from different files when searchtype is literal or regex</xsd:documentation></xsd:annotation></xsd:element>
					<xsd:element name="collecttextheadersource" type="xsd:string" minOccurs="0"><xsd:annotation><xsd:documentation xml:lang="en">Target file header when searchtype is literal or regex</xsd:documentation></xsd:annotation></xsd:element>
					<xsd:element name="collecttextfootersource" type="xsd:string" minOccurs="0"><xsd:annotation><xsd:documentation xml:lang="en">Target file footer when searchtype is literal or regex</xsd:documentation></xsd:annotation></xsd:element>
					<xsd:element name="collecttextheadertarget" type="xsd:string" minOccurs="0"><xsd:annotation><xsd:documentation xml:lang="en">Source file header when searchtype is literal or regex</xsd:documentation></xsd:annotation></xsd:element>
					<xsd:element name="collecttextfootertarget" type="xsd:string" minOccurs="0"><xsd:annotation><xsd:documentation xml:lang="en">Source file footer when searchtype is literal or regex</xsd:documentation></xsd:annotation></xsd:element>
					<xsd:element name="collectbytesbetween" type="xsd:hexBinary" minOccurs="0"><xsd:annotation><xsd:documentation xml:lang="en">Between items collected from the same file when searchtype is hex</xsd:documentation></xsd:annotation></xsd:element>
					<xsd:element name="collectbytesbetweenfiles" type="xsd:hexBinary" minOccurs="0"><xsd:annotation><xsd:documentation xml:lang="en">Between items collected from different files when searchtype is hex</xsd:documentation></xsd:annotation></xsd:element>
					<xsd:element name="collectbytesheadersource" type="xsd:hexBinary" minOccurs="0"><xsd:annotation><xsd:documentation xml:lang="en">Target file header when searchtype is hex</xsd:documentation></xsd:annotation></xsd:element>
					<xsd:element name="collectbytesfootersource" type="xsd:hexBinary" minOccurs="0"><xsd:annotation><xsd:documentation xml:lang="en">Target file footer when searchtype is hex</xsd:documentation></xsd:annotation></xsd:element>
					<xsd:element name="collectbytesheadertarget" type="xsd:hexBinary" minOccurs="0"><xsd:annotation><xsd:documentation xml:lang="en">Source file header when searchtype is hex</xsd:documentation></xsd:annotation></xsd:element>
					<xsd:element name="collectbytesfootertarget" type="xsd:hexBinary" minOccurs="0"><xsd:annotation><xsd:documentation xml:lang="en">Source file footer when searchtype is hex</xsd:documentation></xsd:annotation></xsd:element>
					<xsd:element name="collectplaceholders" type="xsd:boolean" minOccurs="0"><xsd:annotation><xsd:documentation xml:lang="en">Expand placeholders in source and target file headers and footers?</xsd:documentation></xsd:annotation></xsd:element>
					<xsd:element name="comments" type="xsd:string" minOccurs="0"/>
				</xsd:sequence>
				<xsd:attribute name="actiontype" type="pgr:ActionType" use="required"/>
				<xsd:attribute name="pathpart" type="pgr:PathPart"><xsd:annotation><xsd:documentation xml:lang="en">Only used when actiontype = find, findname, collectname, or rename</xsd:documentation></xsd:annotation></xsd:attribute>
				<xsd:attribute name="deletetype" type="pgr:DeleteType"><xsd:annotation><xsd:documentation xml:lang="en">Only used when actiontype = delete</xsd:documentation></xsd:annotation></xsd:attribute>
				<xsd:attribute name="findall" type="xsd:boolean"/>
				<xsd:attribute name="groupfiles" type="xsd:boolean"/>
				<xsd:attribute name="groupmatches" type="xsd:boolean"/>
				<xsd:attribute name="collectsort" type="pgr:ResultsSortMatchesAlwaysOption"/>
				<xsd:attribute name="collectminimum" type="xsd:positiveInteger"/>
				<xsd:attribute name="collectbetweentype" type="pgr:CollectBetweenType"/>
				<xsd:attribute name="targettype" type="pgr:TargetType"/>
				<xsd:attribute name="targetdest" type="pgr:TargetDest"/>
				<xsd:attribute name="targetorder" type="pgr:TargetOrder"/>
				<xsd:attribute name="targetlocation" type="xsd:string"/>
				<xsd:attribute name="targetencoding" type="pgr:DataFormat"/>
				<xsd:attribute name="targetlinebreakstyle" type="pgr:LineBreakStyle"/>
				<xsd:attribute name="backuptype" type="pgr:BackupType"/>
				<xsd:attribute name="backupdest" type="pgr:BackupDest"/>
				<xsd:attribute name="backuplocation" type="xsd:string"/>
			</xsd:extension>
		</xsd:complexContent>
	</xsd:complexType>
	<xsd:simpleType name="ExecutionMode">
		<xsd:restriction base="xsd:token">
			<xsd:enumeration value="preview"/>
			<xsd:enumeration value="execute"/>
			<xsd:enumeration value="quick"/>
		</xsd:restriction>
	</xsd:simpleType>
	<xsd:simpleType name="ResultsDisplayOption">
		<xsd:restriction base="xsd:token">
			<xsd:enumeration value="none"/>
			<xsd:enumeration value="file"/>
			<xsd:enumeration value="file target"/>
			<xsd:enumeration value="match"/>
			<xsd:enumeration value="match number"/>
			<xsd:enumeration value="match context"/>
			<xsd:enumeration value="match context number"/>
			<xsd:enumeration value="align match context"/>
			<xsd:enumeration value="align match context number"/>
		</xsd:restriction>
	</xsd:simpleType>
	<xsd:simpleType name="ResultsGroupOption">
		<xsd:restriction base="xsd:token">
			<xsd:enumeration value="none"/>
			<xsd:enumeration value="file"/>
			<xsd:enumeration value="file void"/>
			<xsd:enumeration value="file match"/>
			<xsd:enumeration value="file match void"/>
			<xsd:enumeration value="match"/>
			<xsd:enumeration value="match file"/>
		</xsd:restriction>
	</xsd:simpleType>
	<xsd:simpleType name="ResultsTotalsOption">
		<xsd:restriction base="xsd:token">
			<xsd:enumeration value="none"/>
			<xsd:enumeration value="header"/>
			<xsd:enumeration value="before"/>
			<xsd:enumeration value="after"/>
			<xsd:enumeration value="before after"/>
			<xsd:enumeration value="group"/>
			<xsd:enumeration value="header group"/>
			<xsd:enumeration value="before group"/>
			<xsd:enumeration value="after group"/>
			<xsd:enumeration value="before after group"/>
		</xsd:restriction>
	</xsd:simpleType>
	<xsd:simpleType name="ResultsSortFilesOption">
		<xsd:restriction base="xsd:token">
			<xsd:enumeration value="none"><xsd:annotation><xsd:documentation xml:lang="en">In order searched through</xsd:documentation></xsd:annotation></xsd:enumeration>
			<xsd:enumeration value="reverse"><xsd:annotation><xsd:documentation xml:lang="en">In reverse order searched through</xsd:documentation></xsd:annotation></xsd:enumeration>
			<xsd:enumeration value="alnum inc"><xsd:annotation><xsd:documentation xml:lang="en">Alphanumeric: A..Z, 0..9</xsd:documentation></xsd:annotation></xsd:enumeration>
			<xsd:enumeration value="alnum dec"><xsd:annotation><xsd:documentation xml:lang="en">Alphanumeric: Z..A, 9..0</xsd:documentation></xsd:annotation></xsd:enumeration>
			<xsd:enumeration value="total inc"><xsd:annotation><xsd:documentation xml:lang="en">By increasing totals</xsd:documentation></xsd:annotation></xsd:enumeration>
			<xsd:enumeration value="total dec"><xsd:annotation><xsd:documentation xml:lang="en">By decreasing totals</xsd:documentation></xsd:annotation></xsd:enumeration>
			<xsd:enumeration value="new old"><xsd:annotation><xsd:documentation xml:lang="en">From newest to oldest</xsd:documentation></xsd:annotation></xsd:enumeration>
			<xsd:enumeration value="old new"><xsd:annotation><xsd:documentation xml:lang="en">From oldest to newest</xsd:documentation></xsd:annotation></xsd:enumeration>
		</xsd:restriction>
	</xsd:simpleType>
	<xsd:simpleType name="ResultsSortMatchesOption">
		<xsd:restriction base="xsd:token">
			<xsd:enumeration value="none"><xsd:annotation><xsd:documentation xml:lang="en">Show in original order</xsd:documentation></xsd:annotation></xsd:enumeration>
			<xsd:enumeration value="alpha inc"><xsd:annotation><xsd:documentation xml:lang="en">Alphabetic: A..Z</xsd:documentation></xsd:annotation></xsd:enumeration>
			<xsd:enumeration value="alpha dec"><xsd:annotation><xsd:documentation xml:lang="en">Alphabetic: Z..A</xsd:documentation></xsd:annotation></xsd:enumeration>
			<xsd:enumeration value="alnum inc"><xsd:annotation><xsd:documentation xml:lang="en">Alphanumeric: A..Z, 0..9</xsd:documentation></xsd:annotation></xsd:enumeration>
			<xsd:enumeration value="alnum dec"><xsd:annotation><xsd:documentation xml:lang="en">Alphanumeric: Z..A, 9..0</xsd:documentation></xsd:annotation></xsd:enumeration>
			<xsd:enumeration value="total inc"><xsd:annotation><xsd:documentation xml:lang="en">By increasing totals</xsd:documentation></xsd:annotation></xsd:enumeration>
			<xsd:enumeration value="total dec"><xsd:annotation><xsd:documentation xml:lang="en">By decreasing totals</xsd:documentation></xsd:annotation></xsd:enumeration>
		</xsd:restriction>
	</xsd:simpleType>
	<xsd:simpleType name="ResultsSortMatchesAlwaysOption">
		<xsd:restriction base="xsd:token">
			<xsd:enumeration value="none"/>
			<xsd:enumeration value="alpha inc"><xsd:annotation><xsd:documentation xml:lang="en">Alphabetic: A..Z</xsd:documentation></xsd:annotation></xsd:enumeration>
			<xsd:enumeration value="alpha dec"><xsd:annotation><xsd:documentation xml:lang="en">Alphabetic: Z..A</xsd:documentation></xsd:annotation></xsd:enumeration>
			<xsd:enumeration value="alnum inc"><xsd:annotation><xsd:documentation xml:lang="en">Alphanumeric: A..Z, 0..9</xsd:documentation></xsd:annotation></xsd:enumeration>
			<xsd:enumeration value="alnum dec"><xsd:annotation><xsd:documentation xml:lang="en">Alphanumeric: Z..A, 9..0</xsd:documentation></xsd:annotation></xsd:enumeration>
			<xsd:enumeration value="total inc"><xsd:annotation><xsd:documentation xml:lang="en">By increasing totals</xsd:documentation></xsd:annotation></xsd:enumeration>
			<xsd:enumeration value="total dec"><xsd:annotation><xsd:documentation xml:lang="en">By decreasing totals</xsd:documentation></xsd:annotation></xsd:enumeration>
		</xsd:restriction>
	</xsd:simpleType>
	<xsd:simpleType name="ResultsReplaceOption">
		<xsd:restriction base="xsd:token">
			<xsd:enumeration value="match"/>
			<xsd:enumeration value="replace"/>
			<xsd:enumeration value="inline"/>
			<xsd:enumeration value="separate"/>
		</xsd:restriction>
	</xsd:simpleType>
	<xsd:complexType name="ResultsOptions">
		<xsd:attribute name="display" type="pgr:ResultsDisplayOption"/>
		<xsd:attribute name="group" type="pgr:ResultsGroupOption"/>
		<xsd:attribute name="totals" type="pgr:ResultsTotalsOption"/>
		<xsd:attribute name="sortfiles" type="pgr:ResultsSortFilesOption"/>
		<xsd:attribute name="sortmatches" type="pgr:ResultsSortMatchesOption"/>
		<xsd:attribute name="replace" type="pgr:ResultsReplaceOption"/>
	</xsd:complexType>
	<xsd:simpleType name="ErrorType">
		<xsd:restriction base="xsd:token">
			<xsd:enumeration value="exception"><xsd:annotation><xsd:documentation xml:lang="en">Unexpected error; may indicate a bug in PowerGREP</xsd:documentation></xsd:annotation></xsd:enumeration>
			<xsd:enumeration value="outofmemory"><xsd:annotation><xsd:documentation xml:lang="en">Out of memory error; may indicate a bug in PowerGREP or memory limits set too high in the preferences</xsd:documentation></xsd:annotation></xsd:enumeration>
			<xsd:enumeration value="aborted"><xsd:annotation><xsd:documentation xml:lang="en">Operation aborted by the user</xsd:documentation></xsd:annotation></xsd:enumeration>
			<xsd:enumeration value="regextoocomplexfilterfile"><xsd:annotation><xsd:documentation xml:lang="en">Catastrophic backtracking in the file filtering regex</xsd:documentation></xsd:annotation></xsd:enumeration>
			<xsd:enumeration value="regextoocomplexsection"><xsd:annotation><xsd:documentation xml:lang="en">Catastrophic backtracking in the file sectioning regex</xsd:documentation></xsd:annotation></xsd:enumeration>
			<xsd:enumeration value="regextoocomplexsearch"><xsd:annotation><xsd:documentation xml:lang="en">Catastrophic backtracking in the search regex</xsd:documentation></xsd:annotation></xsd:enumeration>
			<xsd:enumeration value="regextoocomplexextra"><xsd:annotation><xsd:documentation xml:lang="en">Catastrophic backtracking in the extra processing regex</xsd:documentation></xsd:annotation></xsd:enumeration>
			<xsd:enumeration value="regextoocomplexcontext"><xsd:annotation><xsd:documentation xml:lang="en">Catastrophic backtracking in the context regex</xsd:documentation></xsd:annotation></xsd:enumeration>
			<xsd:enumeration value="regexcallinfinitefilterfile"><xsd:annotation><xsd:documentation xml:lang="en">Infinite recursion in the file filtering regex</xsd:documentation></xsd:annotation></xsd:enumeration>
			<xsd:enumeration value="regexcallinfinitesection"><xsd:annotation><xsd:documentation xml:lang="en">Infinite recursion in the file sectioning regex</xsd:documentation></xsd:annotation></xsd:enumeration>
			<xsd:enumeration value="regexcallinfinitesearch"><xsd:annotation><xsd:documentation xml:lang="en">Infinite recursion in the search regex</xsd:documentation></xsd:annotation></xsd:enumeration>
			<xsd:enumeration value="regexcallinfiniteextra"><xsd:annotation><xsd:documentation xml:lang="en">Infinite recursion in the extra processing regex</xsd:documentation></xsd:annotation></xsd:enumeration>
			<xsd:enumeration value="regexcallinfinitecontext"><xsd:annotation><xsd:documentation xml:lang="en">Infinite recursion in the context regex</xsd:documentation></xsd:annotation></xsd:enumeration>
			<xsd:enumeration value="warnnoresults"><xsd:annotation><xsd:documentation xml:lang="en">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</xsd:documentation></xsd:annotation></xsd:enumeration>
			<xsd:enumeration value="fileexception"><xsd:annotation><xsd:documentation xml:lang="en">Unexpected error when processing a file; may indicate a bug in PowerGREP</xsd:documentation></xsd:annotation></xsd:enumeration>
			<xsd:enumeration value="readonlyattr"><xsd:annotation><xsd:documentation xml:lang="en">File or archive has the read-only attribute set</xsd:documentation></xsd:annotation></xsd:enumeration>
			<xsd:enumeration value="fileopen"><xsd:annotation><xsd:documentation xml:lang="en">Unable to open file</xsd:documentation></xsd:annotation></xsd:enumeration>
			<xsd:enumeration value="fileread"><xsd:annotation><xsd:documentation xml:lang="en">Error reading from file</xsd:documentation></xsd:annotation></xsd:enumeration>
			<xsd:enumeration value="invalidtargetplaceholders"><xsd:annotation><xsd:documentation xml:lang="en">Invalid target path returend by path placeholders</xsd:documentation></xsd:annotation></xsd:enumeration>
			<xsd:enumeration value="invalidtargetreplacement"><xsd:annotation><xsd:documentation xml:lang="en">Invalid target path based on search match</xsd:documentation></xsd:annotation></xsd:enumeration>
			<xsd:enumeration value="targetduplicate"><xsd:annotation><xsd:documentation xml:lang="en">Two target files with the same name for an action that cannot combine targets</xsd:documentation></xsd:annotation></xsd:enumeration>
			<xsd:enumeration value="backupduplicate"><xsd:annotation><xsd:documentation xml:lang="en">Two backup files with the same name for different target files</xsd:documentation></xsd:annotation></xsd:enumeration>
			<xsd:enumeration value="targetfail"><xsd:annotation><xsd:documentation xml:lang="en">Unable to create target file</xsd:documentation></xsd:annotation></xsd:enumeration>
			<xsd:enumeration value="backupfail"><xsd:annotation><xsd:documentation xml:lang="en">Unable to create backup copy</xsd:documentation></xsd:annotation></xsd:enumeration>
			<xsd:enumeration value="archiveformat"><xsd:annotation><xsd:documentation xml:lang="en">Cannot determine the archive format because none of the file masks in the archive format configuration match the archive's file name</xsd:documentation></xsd:annotation></xsd:enumeration>
			<xsd:enumeration value="zipopen"><xsd:annotation><xsd:documentation xml:lang="en">Error reading the archive</xsd:documentation></xsd:annotation></xsd:enumeration>
			<xsd:enumeration value="unzip"><xsd:annotation><xsd:documentation xml:lang="en">Error extracting file from archive</xsd:documentation></xsd:annotation></xsd:enumeration>
			<xsd:enumeration value="zip"><xsd:annotation><xsd:documentation xml:lang="en">Error adding file to archive</xsd:documentation></xsd:annotation></xsd:enumeration>
			<xsd:enumeration value="decompress"><xsd:annotation><xsd:documentation xml:lang="en">Error decompressing file</xsd:documentation></xsd:annotation></xsd:enumeration>
			<xsd:enumeration value="compress"><xsd:annotation><xsd:documentation xml:lang="en">Error compressing file</xsd:documentation></xsd:annotation></xsd:enumeration>
			<xsd:enumeration value="backupnotfound"><xsd:annotation><xsd:documentation xml:lang="en">Backup file not found (undo)</xsd:documentation></xsd:annotation></xsd:enumeration>
			<xsd:enumeration value="undofailed"><xsd:annotation><xsd:documentation xml:lang="en">Unable to replace target file with backup file (undo)</xsd:documentation></xsd:annotation></xsd:enumeration>
			<xsd:enumeration value="convertreadonly"><xsd:annotation><xsd:documentation xml:lang="en">Cannot make replacements in file with proprietary file format</xsd:documentation></xsd:annotation></xsd:enumeration>
			<xsd:enumeration value="converterror"><xsd:annotation><xsd:documentation xml:lang="en">Cannot decode proprietary file format</xsd:documentation></xsd:annotation></xsd:enumeration>
			<xsd:enumeration value="convertpassword"><xsd:annotation><xsd:documentation xml:lang="en">Password-protected document</xsd:documentation></xsd:annotation></xsd:enumeration>
			<xsd:enumeration value="convertbusy"><xsd:annotation><xsd:documentation xml:lang="en">Timed out waiting for another PowerGREP instance to convert the file</xsd:documentation></xsd:annotation></xsd:enumeration>
			<xsd:enumeration value="converttarget"><xsd:annotation><xsd:documentation xml:lang="en">Cannot convert plain text back into proprietary file format</xsd:documentation></xsd:annotation></xsd:enumeration>
			<xsd:enumeration value="unziplist"><xsd:annotation><xsd:documentation xml:lang="en">Error extracting list of files from the archive</xsd:documentation></xsd:annotation></xsd:enumeration>
			<xsd:enumeration value="unzippassword"><xsd:annotation><xsd:documentation xml:lang="en">Archive is password-protected</xsd:documentation></xsd:annotation></xsd:enumeration>
			<xsd:enumeration value="unziponly"><xsd:annotation><xsd:documentation xml:lang="en">PowerGREP cannot modify archives of this kind</xsd:documentation></xsd:annotation></xsd:enumeration>
		</xsd:restriction>
	</xsd:simpleType>
	<xsd:complexType name="Error">
		<xsd:simpleContent>
			<xsd:extension base="xsd:string">
				<xsd:attribute name="type" type="pgr:ErrorType" use="required"/>
			</xsd:extension>
		</xsd:simpleContent>
	</xsd:complexType>
	<xsd:simpleType name="ConvertSaveStatus">
		<xsd:restriction base="xsd:token">
			<xsd:enumeration value="ok"><xsd:annotation><xsd:documentation xml:lang="en">File saved without issue</xsd:documentation></xsd:annotation></xsd:enumeration>
			<xsd:enumeration value="someunadjusted"><xsd:annotation><xsd:documentation xml:lang="en">All text could be saved, but some of the replacement ranges could not be adjusted</xsd:documentation></xsd:annotation></xsd:enumeration>
			<xsd:enumeration value="allunadjusted"><xsd:annotation><xsd:documentation xml:lang="en">All text could be saved, but none of the replacement ranges could be adjusted</xsd:documentation></xsd:annotation></xsd:enumeration>
			<xsd:enumeration value="failed"><xsd:annotation><xsd:documentation xml:lang="en">File could not be saved because the plain text was no longer in the correct format</xsd:documentation></xsd:annotation></xsd:enumeration>
			<xsd:enumeration value="forced"><xsd:annotation><xsd:documentation xml:lang="en">File was saved because Forced was True even though the plain text was no longer in the correct format; replacement ranges not adjusted</xsd:documentation></xsd:annotation></xsd:enumeration>
		</xsd:restriction>
	</xsd:simpleType>
	<xsd:complexType name="ResultsSearchTerm">
		<xsd:simpleContent>
			<xsd:extension base="xsd:string">
				<xsd:annotation><xsd:documentation xml:lang="en">Search term label as displayed on the Results panel for "count matches" actions.</xsd:documentation></xsd:annotation>
				<xsd:attribute name="count" type="xsd:nonNegativeInteger"><xsd:annotation><xsd:documentation xml:lang="en">Number of matches found by this search term in all files.</xsd:documentation></xsd:annotation></xsd:attribute>
			</xsd:extension>
		</xsd:simpleContent>
	</xsd:complexType>
	<xsd:complexType name="ResultsMatch">
		<xsd:sequence>
			<xsd:element name="text" type="xsd:string" minOccurs="0"><xsd:annotation><xsd:documentation xml:lang="en">Text that was matched, if not ResultsFile/binary</xsd:documentation></xsd:annotation></xsd:element>
			<xsd:element name="bytes" type="xsd:hexBinary" minOccurs="0"><xsd:annotation><xsd:documentation xml:lang="en">Bytes that were matched, if ResultsFile/binary</xsd:documentation></xsd:annotation></xsd:element>
			<xsd:element name="replacement" type="xsd:string" minOccurs="0"><xsd:annotation><xsd:documentation xml:lang="en">Replacement or collect text, if not ResultsFile/binary</xsd:documentation></xsd:annotation></xsd:element>
			<xsd:element name="replacebytes" type="xsd:hexBinary" minOccurs="0"><xsd:annotation><xsd:documentation xml:lang="en">Replacement or collect bytes, if ResultsFile/binary</xsd:documentation></xsd:annotation></xsd:element>
		</xsd:sequence>
		<xsd:attribute name="searchterm" type="xsd:nonNegativeInteger"><xsd:annotation><xsd:documentation xml:lang="en">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.</xsd:documentation></xsd:annotation></xsd:attribute>
		<xsd:attribute name="filestart" type="xsd:nonNegativeInteger" use="required"><xsd:annotation><xsd:documentation xml:lang="en">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.</xsd:documentation></xsd:annotation></xsd:attribute>
		<xsd:attribute name="filestop" type="xsd:nonNegativeInteger" use="required"><xsd:annotation><xsd:documentation xml:lang="en">Offset beyond the match in the file (byte position, exclusive).</xsd:documentation></xsd:annotation></xsd:attribute>
		<xsd:attribute name="targetstart" type="xsd:nonNegativeInteger"><xsd:annotation><xsd:documentation xml:lang="en">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.</xsd:documentation></xsd:annotation></xsd:attribute>
		<xsd:attribute name="targetstop" type="xsd:nonNegativeInteger"><xsd:annotation><xsd:documentation xml:lang="en">Offset beyond the replacement or collected text in the target file (byte position, exclusive).</xsd:documentation></xsd:annotation></xsd:attribute>
		<xsd:attribute name="contextnumber" type="xsd:positiveInteger"><xsd:annotation><xsd:documentation xml:lang="en">Number of the line or context block in the file</xsd:documentation></xsd:annotation></xsd:attribute>
		<xsd:attribute name="contextstart" type="xsd:positiveInteger"><xsd:annotation><xsd:documentation xml:lang="en">Starting position of the match relative to the text (or bytes) in firstcontext (1-based character (or byte) position)</xsd:documentation></xsd:annotation></xsd:attribute>
		<xsd:attribute name="contextstop" type="xsd:positiveInteger"><xsd:annotation><xsd:documentation xml:lang="en">Starting position of the match relative to the text (or bytes) in lastcontext (1-based character (or byte) position, exclusive)</xsd:documentation></xsd:annotation></xsd:attribute>
		<xsd:attribute name="firstcontext" type="xsd:nonNegativeInteger"><xsd:annotation><xsd:documentation xml:lang="en">Index to ResultsFile/context of the context in which the match begins</xsd:documentation></xsd:annotation></xsd:attribute>
		<xsd:attribute name="lastcontext" type="xsd:nonNegativeInteger"><xsd:annotation><xsd:documentation xml:lang="en">Index to ResultsFile/context of the context in which the match ends, if the match spans more than one context block</xsd:documentation></xsd:annotation></xsd:attribute>
		<xsd:attribute name="firstcontextextra" type="xsd:nonNegativeInteger"><xsd:annotation><xsd:documentation xml:lang="en">Index to ResultsFile/context of the first context block to display before the match, if extra blocks before firstcontext need to be displayed</xsd:documentation></xsd:annotation></xsd:attribute>
		<xsd:attribute name="lastcontextextra" type="xsd:nonNegativeInteger"><xsd:annotation><xsd:documentation xml:lang="en">Index to ResultsFile/context of the last context block to display after the match, if extra blocks after lastcontext need to be displayed</xsd:documentation></xsd:annotation></xsd:attribute>
		<xsd:attribute name="sectionstep" type="xsd:nonNegativeInteger"><xsd:annotation><xsd:documentation xml:lang="en">File sectioning step this match is part of, if the action is a multi-step action for the purpose of collecting context.</xsd:documentation></xsd:annotation></xsd:attribute>
		<xsd:attribute name="mainstep" type="xsd:nonNegativeInteger"><xsd:annotation><xsd:documentation xml:lang="en">Main action step this match is part of, if the action is a multi-step action for the purpose of collecting context.</xsd:documentation></xsd:annotation></xsd:attribute>
		<xsd:attribute name="sourcereplaced" type="xsd:boolean"><xsd:annotation><xsd:documentation xml:lang="en">Was the match replaced or reverted in the source file?</xsd:documentation></xsd:annotation></xsd:attribute>
		<xsd:attribute name="targetreplaced" type="xsd:boolean"><xsd:annotation><xsd:documentation xml:lang="en">Was the match replaced or reverted in the target file?</xsd:documentation></xsd:annotation></xsd:attribute>
	</xsd:complexType>
	<xsd:complexType name="ResultsContext">
		<xsd:choice>
			<xsd:element name="text" type="xsd:string"><xsd:annotation><xsd:documentation xml:lang="en">Context, if not ResultsFile/binary</xsd:documentation></xsd:annotation></xsd:element>
			<xsd:element name="bytes" type="xsd:hexBinary"><xsd:annotation><xsd:documentation xml:lang="en">Hexadecimal context, if ResultsFile/binary</xsd:documentation></xsd:annotation></xsd:element>
		</xsd:choice>
		<xsd:attribute name="filestart" type="xsd:nonNegativeInteger" use="required"><xsd:annotation><xsd:documentation xml:lang="en">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.</xsd:documentation></xsd:annotation></xsd:attribute>
		<xsd:attribute name="filestop" type="xsd:nonNegativeInteger" use="required"><xsd:annotation><xsd:documentation xml:lang="en">Offset beyond the match in the file (byte position, exclusive).</xsd:documentation></xsd:annotation></xsd:attribute>
		<xsd:attribute name="targetstart" type="xsd:nonNegativeInteger"><xsd:annotation><xsd:documentation xml:lang="en">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.</xsd:documentation></xsd:annotation></xsd:attribute>
		<xsd:attribute name="targetstop" type="xsd:nonNegativeInteger"><xsd:annotation><xsd:documentation xml:lang="en">Offset beyond the replacement or collected text in the target file (byte position, exclusive).</xsd:documentation></xsd:annotation></xsd:attribute>
		<xsd:attribute name="contextnumber" type="xsd:positiveInteger"><xsd:annotation><xsd:documentation xml:lang="en">Number of the line or context block in the file</xsd:documentation></xsd:annotation></xsd:attribute>
		<xsd:attribute name="sectionstep" type="xsd:nonNegativeInteger"><xsd:annotation><xsd:documentation xml:lang="en">File sectioning step this context is part of, if the action is a multi-step action for the purpose of collecting context.</xsd:documentation></xsd:annotation></xsd:attribute>
		<xsd:attribute name="mainstep" type="xsd:nonNegativeInteger"><xsd:annotation><xsd:documentation xml:lang="en">Main action step this context is part of, if the action is a multi-step action for the purpose of collecting context.</xsd:documentation></xsd:annotation></xsd:attribute>
	</xsd:complexType>
	<xsd:complexType name="ResultsFileSource">
		<xsd:sequence>
			<xsd:element name="filename" type="xsd:string"><xsd:annotation><xsd:documentation xml:lang="en">Full path to the file that was searched through.</xsd:documentation></xsd:annotation></xsd:element>
			<xsd:element name="error" type="pgr:Error" minOccurs="0"/>
			<xsd:choice>
				<xsd:element name="terms" type="pgr:NumberList"><xsd:annotation><xsd:documentation xml:lang="en">Comma-delimited list of the number of matches found by each search term in this file.  Must have as many numbers as there are Results/term elements.</xsd:documentation></xsd:annotation></xsd:element>
				<xsd:sequence>
					<xsd:element name="context" type="pgr:ResultsContext" minOccurs="0" maxOccurs="unbounded"><xsd:annotation><xsd:documentation xml:lang="en">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.</xsd:documentation></xsd:annotation></xsd:element>
					<xsd:element name="match" type="pgr:ResultsMatch" minOccurs="0" maxOccurs="unbounded"><xsd:annotation><xsd:documentation xml:lang="en">Matches found in this file.  The match elements must be ordered by increasing filestart attributes.</xsd:documentation></xsd:annotation></xsd:element>
				</xsd:sequence>
				<xsd:element name="unique" type="pgr:ResultsUniqueFileMatch" minOccurs="0" maxOccurs="unbounded"><xsd:annotation><xsd:documentation xml:lang="en">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).</xsd:documentation></xsd:annotation></xsd:element>
			</xsd:choice>
		</xsd:sequence>
		<xsd:attribute name="binary" type="xsd:boolean"><xsd:annotation><xsd:documentation xml:lang="en">True when this file was determined to be binary and when searching for hexadecimal bytes.</xsd:documentation></xsd:annotation></xsd:attribute>
		<xsd:attribute name="skippedbinary" type="xsd:boolean"><xsd:annotation><xsd:documentation xml:lang="en">Set to True when this file was skipped because it was determined to be binary.</xsd:documentation></xsd:annotation></xsd:attribute>
		<xsd:attribute name="skippedproprietary" type="xsd:boolean"><xsd:annotation><xsd:documentation xml:lang="en">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.</xsd:documentation></xsd:annotation></xsd:attribute>
		<xsd:attribute name="filtered" type="xsd:boolean"><xsd:annotation><xsd:documentation xml:lang="en">Indicates if the file was filtered out because of Action/filterfile.</xsd:documentation></xsd:annotation></xsd:attribute>
		<xsd:attribute name="filefindermatch" type="xsd:boolean"><xsd:annotation><xsd:documentation xml:lang="en">Should this file be included when limiting the next action to files with results?</xsd:documentation></xsd:annotation></xsd:attribute>
		<xsd:attribute name="matchcount" type="xsd:nonNegativeInteger"><xsd:annotation><xsd:documentation xml:lang="en">Number of matches or replacements in this file.</xsd:documentation></xsd:annotation></xsd:attribute>
		<xsd:attribute name="uniquematchcount" type="xsd:nonNegativeInteger"><xsd:annotation><xsd:documentation xml:lang="en">Number of unique matches in this file.</xsd:documentation></xsd:annotation></xsd:attribute>
	</xsd:complexType>
	<xsd:complexType name="ResultsReplacement">
		<xsd:attribute name="file" type="xsd:nonNegativeInteger"><xsd:annotation><xsd:documentation xml:lang="en">Index to Results/file[] if ResultsFileTarget/sourcefile is not specified.</xsd:documentation></xsd:annotation></xsd:attribute>
		<xsd:attribute name="match" type="xsd:nonNegativeInteger" use="required"><xsd:annotation><xsd:documentation xml:lang="en">Index to Results/file[file]/match[].</xsd:documentation></xsd:annotation></xsd:attribute>
	</xsd:complexType>
	<xsd:complexType name="ResultsCollect">
		<xsd:attribute name="file" type="xsd:nonNegativeInteger"><xsd:annotation><xsd:documentation xml:lang="en">Index to Results/file[] if ResultsFileTarget/sourcefile is not specified.</xsd:documentation></xsd:annotation></xsd:attribute>
		<xsd:attribute name="unique" type="xsd:nonNegativeInteger" use="required"><xsd:annotation><xsd:documentation xml:lang="en">Index to Results/file[file]/unique[] or to Results/match[] if there's no file attribute and no ResultsFileTarget/sourcefile attribute.</xsd:documentation></xsd:annotation></xsd:attribute>
	</xsd:complexType>
	<xsd:complexType name="ResultsFileTarget">
		<xsd:sequence>
			<xsd:element name="filename" type="xsd:string"><xsd:annotation><xsd:documentation xml:lang="en">Full path to the target file.</xsd:documentation></xsd:annotation></xsd:element>
			<xsd:element name="backupfile" type="xsd:string" minOccurs="0"><xsd:annotation><xsd:documentation xml:lang="en">Path to the backup copy of the target file, if any.</xsd:documentation></xsd:annotation></xsd:element>
			<xsd:element name="combinedfiles" type="pgr:NumberList" minOccurs="0"><xsd:annotation><xsd:documentation xml:lang="en">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.</xsd:documentation></xsd:annotation></xsd:element>
			<xsd:choice>
				<xsd:element name="replacement" type="pgr:ResultsReplacement" minOccurs="0" maxOccurs="unbounded"><xsd:annotation><xsd:documentation xml:lang="en">Replacement text stored in this file.  Only used if the target file does not correspond one-on-one with a source file.</xsd:documentation></xsd:annotation></xsd:element>
				<xsd:element name="collected" type="pgr:ResultsCollect" minOccurs="0" maxOccurs="unbounded"><xsd:annotation><xsd:documentation xml:lang="en">Unique matches collected into this file.  Only used if the target file does not correspond one-on-one with a source file.</xsd:documentation></xsd:annotation></xsd:element>
			</xsd:choice>
		</xsd:sequence>
		<xsd:attribute name="sourcefile" type="xsd:nonNegativeInteger"><xsd:annotation><xsd:documentation xml:lang="en">Index to results/file[] if this target file corresponds one-on-one with a source file.</xsd:documentation></xsd:annotation></xsd:attribute>
		<xsd:attribute name="binary" type="xsd:boolean"><xsd:annotation><xsd:documentation xml:lang="en">True when this file was determined to be binary and when searching for hexadecimal bytes.</xsd:documentation></xsd:annotation></xsd:attribute>
		<xsd:attribute name="convertsavestatus" type="pgr:ConvertSaveStatus"/>
		<xsd:attribute name="convertsaveerror" type="xsd:string"/>
	</xsd:complexType>
	<xsd:complexType name="ResultsUniqueFileMatch">
		<xsd:simpleContent>
			<xsd:extension base="xsd:string">
				<xsd:annotation><xsd:documentation xml:lang="en">Contents must be xsd:hexBinary if Action/searchtype = hex.</xsd:documentation></xsd:annotation>
				<xsd:attribute name="searchterm" type="xsd:nonNegativeInteger"><xsd:annotation><xsd:documentation xml:lang="en">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.</xsd:documentation></xsd:annotation></xsd:attribute>
				<xsd:attribute name="matchcount" type="xsd:nonNegativeInteger" use="required"><xsd:annotation><xsd:documentation xml:lang="en">Number of times this match was found in the file.</xsd:documentation></xsd:annotation></xsd:attribute>
				<xsd:attribute name="collectstart" type="xsd:nonNegativeInteger"><xsd:annotation><xsd:documentation xml:lang="en">Offset of the start of the collected text in the target file (byte position). Only used when collecting unique matches.</xsd:documentation></xsd:annotation></xsd:attribute>
				<xsd:attribute name="collectstop" type="xsd:nonNegativeInteger"><xsd:annotation><xsd:documentation xml:lang="en">Offset beyond the collected text in the target file (byte position, exclusive).</xsd:documentation></xsd:annotation></xsd:attribute>
			</xsd:extension>
		</xsd:simpleContent>
	</xsd:complexType>
	<xsd:complexType name="ResultsUniqueGlobalMatch">
		<xsd:simpleContent>
			<xsd:extension base="xsd:string">
				<xsd:annotation><xsd:documentation xml:lang="en">Contents must be xsd:hexBinary if Action/searchtype = hex.</xsd:documentation></xsd:annotation>
				<xsd:attribute name="searchterm" type="xsd:nonNegativeInteger"><xsd:annotation><xsd:documentation xml:lang="en">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.</xsd:documentation></xsd:annotation></xsd:attribute>
				<xsd:attribute name="matchcount" type="xsd:nonNegativeInteger" use="required"><xsd:annotation><xsd:documentation xml:lang="en">Number of times this match was found in all files.</xsd:documentation></xsd:annotation></xsd:attribute>
				<xsd:attribute name="filecount" type="xsd:nonNegativeInteger" use="required"><xsd:annotation><xsd:documentation xml:lang="en">Number of files this match was found in.</xsd:documentation></xsd:annotation></xsd:attribute>
				<xsd:attribute name="collectstart" type="xsd:nonNegativeInteger"><xsd:annotation><xsd:documentation xml:lang="en">Offset of the start of the collected text in the target file (byte position). Only used when collecting unique matches.</xsd:documentation></xsd:annotation></xsd:attribute>
				<xsd:attribute name="collectstop" type="xsd:nonNegativeInteger"><xsd:annotation><xsd:documentation xml:lang="en">Offset beyond the collected text in the target file (byte position, exclusive).</xsd:documentation></xsd:annotation></xsd:attribute>
			</xsd:extension>
		</xsd:simpleContent>
	</xsd:complexType>
	<xsd:complexType name="Bookmark">
		<xsd:attribute name="file" type="xsd:nonNegativeInteger"><xsd:annotation><xsd:documentation xml:lang="en">Index to Results/file[].</xsd:documentation></xsd:annotation></xsd:attribute>
		<xsd:attribute name="filetarget" type="xsd:nonNegativeInteger"><xsd:annotation><xsd:documentation xml:lang="en">Index to Results/filetarget[].</xsd:documentation></xsd:annotation></xsd:attribute>
		<xsd:attribute name="match" type="xsd:boolean"><xsd:annotation><xsd:documentation xml:lang="en">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.</xsd:documentation></xsd:annotation></xsd:attribute>
		<xsd:attribute name="context" type="xsd:boolean"><xsd:annotation><xsd:documentation xml:lang="en">Index Results/file[file]/context[] if there is a file attribute.</xsd:documentation></xsd:annotation></xsd:attribute>
		<xsd:attribute name="unique" type="xsd:boolean"><xsd:annotation><xsd:documentation xml:lang="en">Index Results/file[file]/unique[] if there is a file attribute, or to Results/filetarget[filetarget]/collect[] if there is a filetarget attribute.</xsd:documentation></xsd:annotation></xsd:attribute>
	</xsd:complexType>
	<xsd:complexType name="Results">
		<xsd:sequence>
			<xsd:element name="options" type="pgr:ResultsOptions" minOccurs="0"><xsd:annotation><xsd:documentation xml:lang="en">Results display options.  They do not affect how the matches are stored in the XML file, only how PowerGREP displays them.</xsd:documentation></xsd:annotation></xsd:element>
			<xsd:element name="error" type="pgr:Error" minOccurs="0" maxOccurs="unbounded"><xsd:annotation><xsd:documentation xml:lang="en">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.</xsd:documentation></xsd:annotation></xsd:element>
			<xsd:choice>
				<xsd:element name="term" type="pgr:ResultsSearchTerm" minOccurs="0" maxOccurs="unbounded"><xsd:annotation><xsd:documentation xml:lang="en">Search term in the results of a "count matches" action.</xsd:documentation></xsd:annotation></xsd:element>
				<xsd:element name="match" type="pgr:ResultsUniqueGlobalMatch" minOccurs="0" maxOccurs="unbounded"><xsd:annotation><xsd:documentation xml:lang="en">Search matches grouped per unique match.</xsd:documentation></xsd:annotation></xsd:element>
			</xsd:choice>
			<xsd:element name="file" type="pgr:ResultsFileSource" minOccurs="0" maxOccurs="unbounded"><xsd:annotation><xsd:documentation xml:lang="en">Results for each file searched through.  The number of file elements must equal the sum of the matchedfilecount, matchedfoldercount, matchlessfilecount, and matchlessfoldercount attributes.</xsd:documentation></xsd:annotation></xsd:element>
			<xsd:element name="filetarget" type="pgr:ResultsFileTarget" minOccurs="0" maxOccurs="unbounded"><xsd:annotation><xsd:documentation xml:lang="en">Details of each target file that was created.</xsd:documentation></xsd:annotation></xsd:element>
			<xsd:element name="bookmark" type="pgr:Bookmark" minOccurs="0" maxOccurs="10"><xsd:annotation><xsd:documentation xml:lang="en">Items that have been bookmarked.</xsd:documentation></xsd:annotation></xsd:element>
		</xsd:sequence>
		<xsd:attribute name="mode" type="pgr:ExecutionMode" use="required"/>
		<xsd:attribute name="filteredfilecount" type="xsd:nonNegativeInteger"><xsd:annotation><xsd:documentation xml:lang="en">Number of files filtered out because of Action/filterfile.</xsd:documentation></xsd:annotation></xsd:attribute>
		<xsd:attribute name="matchedfilecount" type="xsd:nonNegativeInteger"><xsd:annotation><xsd:documentation xml:lang="en">Number of files with one or more search matches.</xsd:documentation></xsd:annotation></xsd:attribute>
		<xsd:attribute name="matchedfoldercount" type="xsd:nonNegativeInteger"><xsd:annotation><xsd:documentation xml:lang="en">Number of folders with one or more search matches.</xsd:documentation></xsd:annotation></xsd:attribute>
		<xsd:attribute name="matchlessfilecount" type="xsd:nonNegativeInteger"><xsd:annotation><xsd:documentation xml:lang="en">Number of files without search matches.</xsd:documentation></xsd:annotation></xsd:attribute>
		<xsd:attribute name="matchlessfoldercount" type="xsd:nonNegativeInteger"><xsd:annotation><xsd:documentation xml:lang="en">Number of folders without search matches.</xsd:documentation></xsd:annotation></xsd:attribute>
		<xsd:attribute name="matchcount" type="xsd:nonNegativeInteger" use="required"><xsd:annotation><xsd:documentation xml:lang="en">Number of search matches in all files.</xsd:documentation></xsd:annotation></xsd:attribute>
		<xsd:attribute name="storedmatchcount" type="xsd:nonNegativeInteger" use="required"><xsd:annotation><xsd:documentation xml:lang="en">Number of search matches in all files that are actually stored in the results.</xsd:documentation></xsd:annotation></xsd:attribute>
		<xsd:attribute name="uniquematchcount" type="xsd:nonNegativeInteger"><xsd:annotation><xsd:documentation xml:lang="en">Number of unique matches across all files.</xsd:documentation></xsd:annotation></xsd:attribute>
		<xsd:attribute name="deletedmatchcount" type="xsd:nonNegativeInteger"><xsd:annotation><xsd:documentation xml:lang="en">Number of search matches that were deleted from the results because of Action.CollectMinimum.</xsd:documentation></xsd:annotation></xsd:attribute>
		<xsd:attribute name="deleteduniquematchcount" type="xsd:nonNegativeInteger"><xsd:annotation><xsd:documentation xml:lang="en">Number of unique search matches (i.e. match groups) that were deleted from the results because of Action.CollectMinimum.</xsd:documentation></xsd:annotation></xsd:attribute>
		<xsd:attribute name="toomanymatches" type="xsd:boolean"><xsd:annotation><xsd:documentation xml:lang="en">Set to True when PowerGREP stops adding matches to the results because the results use more memory than permitted by the preferences.</xsd:documentation></xsd:annotation></xsd:attribute>
	</xsd:complexType>
	<xsd:simpleType name="SequenceFileSelection">
		<xsd:restriction base="xsd:token">
			<xsd:enumeration value="file selector"><xsd:annotation><xsd:documentation xml:lang="en">Default.</xsd:documentation></xsd:annotation></xsd:enumeration>
			<xsd:enumeration value="own"/>
			<xsd:enumeration value="step"/>
			<xsd:enumeration value="step matched"/>
			<xsd:enumeration value="step unmatched"/>
			<xsd:enumeration value="step targets"/>
		</xsd:restriction>
	</xsd:simpleType>
	<xsd:complexType name="SequenceStep">
		<xsd:sequence>
			<xsd:element name="fileselection" type="pgr:FileSelection" minOccurs="0"><xsd:annotation><xsd:documentation xml:lang="en">File selection for this step.  Only used in sequence actions when the fileselection attribute is "own".  Always used in sequence results.</xsd:documentation></xsd:annotation></xsd:element>
			<xsd:element name="action" type="pgr:Action" minOccurs="0"><xsd:annotation><xsd:documentation xml:lang="en">Action for this step.</xsd:documentation></xsd:annotation></xsd:element>
			<xsd:element name="results" type="pgr:Results" minOccurs="0"><xsd:annotation><xsd:documentation xml:lang="en">Results produced by this step.</xsd:documentation></xsd:annotation></xsd:element>
		</xsd:sequence>
		<xsd:attribute name="enabled" type="xsd:boolean"><xsd:annotation><xsd:documentation xml:lang="en">Set to zero to disable individual steps.  Steps without the attribute are enabled.</xsd:documentation></xsd:annotation></xsd:attribute>
		<xsd:attribute name="fileselection" type="pgr:SequenceFileSelection"/>
		<xsd:attribute name="fileselectionstep" type="xsd:nonNegativeInteger"><xsd:annotation><xsd:documentation xml:lang="en">Step in the sequence to get the file selection from.  First step has number 0.</xsd:documentation></xsd:annotation></xsd:attribute>
	</xsd:complexType>
	<xsd:complexType name="Sequence">
		<xsd:sequence>
			<xsd:element name="step" type="pgr:SequenceStep" minOccurs="1" maxOccurs="unbounded"/>
		</xsd:sequence>
	</xsd:complexType>
	<xsd:simpleType name="UndoStatusFile">
		<xsd:restriction base="xsd:token">
			<xsd:enumeration value="ok"><xsd:annotation><xsd:documentation xml:lang="en">All is well</xsd:documentation></xsd:annotation></xsd:enumeration>
			<xsd:enumeration value="backupdrive"><xsd:annotation><xsd:documentation xml:lang="en">The drive holding the backup file is not available - cannot undo</xsd:documentation></xsd:annotation></xsd:enumeration>
			<xsd:enumeration value="targetdrive"><xsd:annotation><xsd:documentation xml:lang="en">The drive holding the target file is not available - cannot undo</xsd:documentation></xsd:annotation></xsd:enumeration>
			<xsd:enumeration value="nobackupcreated"><xsd:annotation><xsd:documentation xml:lang="en">Backup copy was never created - cannot undo</xsd:documentation></xsd:annotation></xsd:enumeration>
			<xsd:enumeration value="backupdeleted"><xsd:annotation><xsd:documentation xml:lang="en">Backup copy was already deleted - cannot undo</xsd:documentation></xsd:annotation></xsd:enumeration>
			<xsd:enumeration value="backupmodified"><xsd:annotation><xsd:documentation xml:lang="en">Backup copy has been modified - cannot undo</xsd:documentation></xsd:annotation></xsd:enumeration>
			<xsd:enumeration value="targetmodified"><xsd:annotation><xsd:documentation xml:lang="en">Target file has been modified - can undo, but will revert other actions</xsd:documentation></xsd:annotation></xsd:enumeration>
			<xsd:enumeration value="targetdeleted"><xsd:annotation><xsd:documentation xml:lang="en">Target file has beem deleted</xsd:documentation></xsd:annotation></xsd:enumeration>
			<xsd:enumeration value="undone"><xsd:annotation><xsd:documentation xml:lang="en">File has already been restored</xsd:documentation></xsd:annotation></xsd:enumeration>
			<xsd:enumeration value="error"><xsd:annotation><xsd:documentation xml:lang="en">An error occurred while trying to determine the undo status of this file</xsd:documentation></xsd:annotation></xsd:enumeration>
		</xsd:restriction>
	</xsd:simpleType>
	<xsd:simpleType name="UndoStatusAction">
		<xsd:restriction base="xsd:token">
			<xsd:enumeration value="fully"><xsd:annotation><xsd:documentation xml:lang="en">All files can be restored</xsd:documentation></xsd:annotation></xsd:enumeration>
			<xsd:enumeration value="partially"><xsd:annotation><xsd:documentation xml:lang="en">Only some files can be restored</xsd:documentation></xsd:annotation></xsd:enumeration>
			<xsd:enumeration value="no"><xsd:annotation><xsd:documentation xml:lang="en">No files can be restored</xsd:documentation></xsd:annotation></xsd:enumeration>
			<xsd:enumeration value="nodrive"><xsd:annotation><xsd:documentation xml:lang="en">One of the drives holding the backup and target files is not available - cannot undo</xsd:documentation></xsd:annotation></xsd:enumeration>
			<xsd:enumeration value="alldeleted"><xsd:annotation><xsd:documentation xml:lang="en">All target files have been deleted</xsd:documentation></xsd:annotation></xsd:enumeration>
			<xsd:enumeration value="allundone"><xsd:annotation><xsd:documentation xml:lang="en">Files have already been restored</xsd:documentation></xsd:annotation></xsd:enumeration>
			<xsd:enumeration value="error"><xsd:annotation><xsd:documentation xml:lang="en">An error occurred while trying to determine the undo status of (some of) the files</xsd:documentation></xsd:annotation></xsd:enumeration>
		</xsd:restriction>
	</xsd:simpleType>
	<xsd:complexType name="UndoFile">
		<xsd:attribute name="sourcefile" type="xsd:string"/>
		<xsd:attribute name="targetfile" type="xsd:string" use="required"><xsd:annotation><xsd:documentation xml:lang="en">Full path to the file or folder that was written.  If the target is a folder, it must end with a backslash.</xsd:documentation></xsd:annotation></xsd:attribute>
		<xsd:attribute name="targetage" type="xsd:dateTime"><xsd:annotation><xsd:documentation xml:lang="en">Required if the target is a file.</xsd:documentation></xsd:annotation></xsd:attribute>
		<xsd:attribute name="targetsize" type="xsd:nonNegativeInteger" use="required"><xsd:annotation><xsd:documentation xml:lang="en">Required if the target is a file.</xsd:documentation></xsd:annotation></xsd:attribute>
		<xsd:attribute name="backupneeded" type="xsd:boolean"><xsd:annotation><xsd:documentation xml:lang="en">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.</xsd:documentation></xsd:annotation></xsd:attribute>
		<xsd:attribute name="backupfile" type="xsd:string"><xsd:annotation><xsd:documentation xml:lang="en">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.</xsd:documentation></xsd:annotation></xsd:attribute>
		<xsd:attribute name="backupage" type="xsd:dateTime"><xsd:annotation><xsd:documentation xml:lang="en">Required if the backup is a file.</xsd:documentation></xsd:annotation></xsd:attribute>
		<xsd:attribute name="backupsize" type="xsd:nonNegativeInteger"><xsd:annotation><xsd:documentation xml:lang="en">Required if the backup is a file.</xsd:documentation></xsd:annotation></xsd:attribute>
		<xsd:attribute name="movedfile" type="xsd:boolean"><xsd:annotation><xsd:documentation xml:lang="en">True if the action renamed or moved sourcefile to targetfile rather than creating targetfile leaving sourcefile as it was.</xsd:documentation></xsd:annotation></xsd:attribute>
		<xsd:attribute name="hexadecimal" type="xsd:boolean"/>
		<xsd:attribute name="undostatus" type="pgr:UndoStatusFile" use="required"/>
	</xsd:complexType>
	<xsd:simpleType name="UndoActionKind">
		<xsd:restriction base="xsd:token">
			<xsd:enumeration value="action"><xsd:annotation><xsd:documentation xml:lang="en">Files modified when executing an action.  This is implied when the action element is present in UndoAction.</xsd:documentation></xsd:annotation></xsd:enumeration>
			<xsd:enumeration value="sequence"><xsd:annotation><xsd:documentation xml:lang="en">Files modified when executing a sequence.  This is implied when the sequence element is present in UndoAction.</xsd:documentation></xsd:annotation></xsd:enumeration>
			<xsd:enumeration value="results"><xsd:annotation><xsd:documentation xml:lang="en">Files modified when making or reverting replacements in the results.</xsd:documentation></xsd:annotation></xsd:enumeration>
			<xsd:enumeration value="editor"><xsd:annotation><xsd:documentation xml:lang="en">File saved in the editor.</xsd:documentation></xsd:annotation></xsd:enumeration>
			<xsd:enumeration value="copy"><xsd:annotation><xsd:documentation xml:lang="en">Copy Files commands in the File Selector and Results menus.</xsd:documentation></xsd:annotation></xsd:enumeration>
			<xsd:enumeration value="move"><xsd:annotation><xsd:documentation xml:lang="en">Move Files commands in the File Selector and Results menus.</xsd:documentation></xsd:annotation></xsd:enumeration>
		</xsd:restriction>
	</xsd:simpleType>
	<xsd:complexType name="UndoCreatedFolderCreated">
		<xsd:choice minOccurs="0" maxOccurs="unbounded">
			<xsd:element name="created" type="pgr:UndoCreatedFolderCreated"/>
		</xsd:choice>
		<xsd:attribute name="name" type="pgr:FileName" use="required"/>
	</xsd:complexType>
	<xsd:complexType name="UndoCreatedFolderExisting">
		<xsd:choice minOccurs="0" maxOccurs="unbounded">
			<xsd:element name="created" type="pgr:UndoCreatedFolderCreated"/>
			<xsd:element name="existing" type="pgr:UndoCreatedFolderExisting"/>
		</xsd:choice>
		<xsd:attribute name="name" type="pgr:FileName" use="required"/>
	</xsd:complexType>
	<xsd:complexType name="UndoCreatedFolderDrive">
		<xsd:choice minOccurs="1" maxOccurs="unbounded">
			<xsd:element name="created" type="pgr:UndoCreatedFolderCreated"/>
			<xsd:element name="existing" type="pgr:UndoCreatedFolderExisting"/>
		</xsd:choice>
		<xsd:attribute name="name" type="pgr:DriveOrShareName" use="required"/>
	</xsd:complexType>
	<xsd:complexType name="UndoCreatedFolders">
		<xsd:sequence>
			<xsd:element name="drive" type="pgr:UndoCreatedFolderDrive" maxOccurs="unbounded"/>
		</xsd:sequence>
	</xsd:complexType>
	<xsd:complexType name="UndoAction">
		<xsd:sequence>
			<xsd:element name="fileselection" type="pgr:FileSelection"><xsd:annotation><xsd:documentation xml:lang="en">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.</xsd:documentation></xsd:annotation></xsd:element>
			<xsd:choice minOccurs="0">
				<xsd:element name="action" type="pgr:Action"/>
				<xsd:element name="sequence" type="pgr:Sequence"/>
			</xsd:choice>
			<xsd:element name="createdfolders" type="pgr:UndoCreatedFolders" minOccurs="0"><xsd:annotation><xsd:documentation xml:lang="en">Folders that were created during the action that should be removed if they become empty after undoing the action.</xsd:documentation></xsd:annotation></xsd:element>
			<xsd:element name="file" type="pgr:UndoFile" maxOccurs="unbounded"/>
		</xsd:sequence>
		<xsd:attribute name="id" type="xsd:positiveInteger" use="required"/>
		<xsd:attribute name="kind" type="pgr:UndoActionKind"/>
		<xsd:attribute name="actiondate" type="xsd:dateTime" use="required"/>
		<xsd:attribute name="undostatus" type="pgr:UndoStatusAction" use="required"/>
	</xsd:complexType>
	<xsd:element name="powergrep">
		<xsd:complexType>
			<xsd:choice>
				<xsd:element name="fileselectionfile" type="pgr:FileSelection">
					<xsd:annotation><xsd:documentation xml:lang="en">PowerGREP File Selection file (*.pgf).</xsd:documentation></xsd:annotation>
				</xsd:element>
				<xsd:element name="actionfile">
					<xsd:annotation><xsd:documentation xml:lang="en">PowerGREP Action file (*.pga).</xsd:documentation></xsd:annotation>
					<xsd:complexType>
						<xsd:sequence>
							<xsd:element name="fileselection" type="pgr:FileSelection" minOccurs="0"/>
							<xsd:element name="action" type="pgr:Action"/>
						</xsd:sequence>
					</xsd:complexType>
				</xsd:element>
				<xsd:element name="resultsfile">
					<xsd:annotation><xsd:documentation xml:lang="en">PowerGREP Results file (*.pgr).</xsd:documentation></xsd:annotation>
					<xsd:complexType>
						<xsd:sequence>
							<xsd:element name="fileselection" type="pgr:FileSelection"/>
							<xsd:element name="action" type="pgr:Action"/>
							<xsd:element name="results" type="pgr:Results"/>
						</xsd:sequence>
					</xsd:complexType>
				</xsd:element>
				<xsd:element name="sequencefile" type="pgr:Sequence">
					<xsd:annotation><xsd:documentation xml:lang="en">PowerGREP Sequence Action file (*.pgsa) or PowerGREP Sequence Results file (*.pgsr).</xsd:documentation></xsd:annotation>
				</xsd:element>
				<xsd:element name="libraryfile">
					<xsd:annotation><xsd:documentation xml:lang="en">PowerGREP Library file (*.pgl).</xsd:documentation></xsd:annotation>
					<xsd:complexType>
						<xsd:sequence>
							<xsd:element name="item" minOccurs="0" maxOccurs="unbounded">
								<xsd:annotation><xsd:documentation xml:lang="en">PowerGREP libraries store file selections, actions, and sequences.  For actions, the comments are stored inside the action.</xsd:documentation></xsd:annotation>
								<xsd:complexType>
									<xsd:choice>
										<xsd:sequence>
											<xsd:element name="fileselection" type="pgr:FileSelection"/>
											<xsd:element name="comments" type="xsd:string" minOccurs="0"/>
										</xsd:sequence>
										<xsd:element name="action" type="pgr:Action"/>
										<xsd:sequence>
											<xsd:element name="actionpart" type="pgr:ActionPart"/>
											<xsd:element name="comments" type="xsd:string" minOccurs="0"/>
										</xsd:sequence>
										<xsd:sequence>
											<xsd:element name="sequence" type="pgr:Sequence"/>
											<xsd:element name="comments" type="xsd:string" minOccurs="0"/>
										</xsd:sequence>
									</xsd:choice>
									<xsd:attribute name="added" type="xsd:dateTime" use="required"/>
								</xsd:complexType>
							</xsd:element>
						</xsd:sequence>
					</xsd:complexType>
				</xsd:element>
				<xsd:element name="undofile">
					<xsd:annotation><xsd:documentation xml:lang="en">PowerGREP Undo History file (*.pgu).</xsd:documentation></xsd:annotation>
					<xsd:complexType>
						<xsd:sequence>
							<xsd:element name="maxactionid" type="xsd:nonNegativeInteger"/>
							<xsd:element name="undoaction" type="pgr:UndoAction" minOccurs="0" maxOccurs="unbounded"/>
						</xsd:sequence>
					</xsd:complexType>
				</xsd:element>
			</xsd:choice>
			<xsd:attribute name="version" fixed="5.2" type="xsd:token" use="required"><xsd:annotation><xsd:documentation xml:lang="en">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 5.1 to 5.2:
New schema at http://www.powergrep.com/powergrep52.xsd
Added ResultsSearchTerm type.
Added "terms" element to the ResultsFileSource type.
Added "term" element to the Results type.
Changed the position of the "match" element in the Results type so that it will be loaded before any "filetarget" elements are loaded that may have a "unique" attribute that references the "match" element.

Changes from 5.0 to 5.1:
New schema at http://www.powergrep.com/powergrep51.xsd
Added "ntfs", "ext", and "hfs" to the ArchiveFormat enumeration.
Added "ntfs", "ext", and "hfs" elements to the ConfigArchiveFormats type.
Added "backupduplicate" to the ErrorType enumeration.

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</xsd:documentation></xsd:annotation></xsd:attribute>
		</xsd:complexType>
	</xsd:element>
</xsd:schema>