<?xml version="1.0"?>
<xs:schema id="BESAPI" xmlns:xs="http://www.w3.org/2001/XMLSchema" attributeFormDefault="qualified" elementFormDefault="qualified" version="11.0.6.137">

	<xs:element name="BESAPI">
		<xs:complexType>
			<xs:choice maxOccurs="unbounded">

				<xs:element name="ManualComputerGroup">
					<xs:complexType>
						<xs:sequence>
							<xs:element name="Name" type="xs:normalizedString"/>
							<xs:element name="EvaluateOnClient" type="xs:boolean"/>
							<xs:element name="ComputerID" type="xs:nonNegativeInteger" minOccurs="0" maxOccurs="unbounded"/>
						</xs:sequence>
						<xs:attribute name="Resource" type="xs:normalizedString"/>  
					</xs:complexType>
				</xs:element>

				<xs:element name="Fixlet">
					<xs:complexType>
						<xs:sequence>
							<xs:element name="Name" type="xs:normalizedString" minOccurs="0"/>
							<xs:element name="ID" type="xs:nonNegativeInteger" minOccurs="0"/>							
						</xs:sequence>
						<xs:attribute name="Resource" type="xs:normalizedString"/>  
						<xs:attribute name="LastModified" type="xs:normalizedString"/>
					</xs:complexType>
				</xs:element>

				<xs:element name="ReplicationServer">
					<xs:complexType>
						<xs:sequence>
				   			<xs:element name="ServerID" type="xs:nonNegativeInteger" minOccurs="0"/>
				   			<xs:element name="URL" type="xs:normalizedString" minOccurs="0"/>
				   			<xs:element name="DNS" type="xs:normalizedString" minOccurs="0"/>
				   			<xs:element name="ReplicationIntervalSeconds" type="xs:nonNegativeInteger" minOccurs="0"/>
				   			<xs:element name="ReplicationLink" type="ReplicationLinkType" minOccurs="0" maxOccurs="unbounded"/>
			   			</xs:sequence>
			   			<xs:attribute name="Resource" type="xs:normalizedString"/> 
					</xs:complexType>
				</xs:element>

				<xs:element name="WebReports">
					<xs:complexType>
						<xs:sequence>
				   			<xs:element name="URL" type="xs:normalizedString"/>
			   			</xs:sequence>
					</xs:complexType>
				</xs:element>

				<xs:element name="WebReportsServers">
					<xs:complexType>
						<xs:sequence>
							<xs:element name="WebReports">
								<xs:complexType>
									<xs:sequence>
										<xs:element name="URL" type="xs:normalizedString"/>
										<xs:element name="ID" type="xs:nonNegativeInteger"/>
										<xs:element name="Priority" type="xs:nonNegativeInteger"/>
									</xs:sequence>
								</xs:complexType>
							</xs:element>
						</xs:sequence>
					</xs:complexType>
				</xs:element>

				<xs:element name="WebReportsPriority">
					<xs:complexType>
						<xs:sequence>
							<xs:element name="Priority" type="xs:nonNegativeInteger" minOccurs="1" maxOccurs="1"/>
						</xs:sequence>
					</xs:complexType>
				</xs:element>

				<xs:element name="ReplicationLink" type="ReplicationLinkType"/>

				<xs:element name="Action">
					<xs:complexType>
						<xs:sequence>
							<xs:element name="Name" type="xs:normalizedString" minOccurs="0"/>
							<xs:element name="ID" type="xs:nonNegativeInteger"/>
						</xs:sequence>
						<xs:attribute name="Resource" type="xs:normalizedString"/>  
						<xs:attribute name="LastModified" type="xs:normalizedString"/>
					</xs:complexType>
				</xs:element>

				<xs:element name="ActionDownload">
					<xs:complexType>
						<xs:sequence>
							<xs:element name="DownloadRequestTarget">
								<xs:complexType>
									<xs:sequence>
										<xs:element name="ActionID" type="xs:unsignedByte" />
										<xs:element name="Index" type="xs:unsignedByte" />
										<xs:element name="Hashes">
											<xs:complexType>
												<xs:simpleContent>
													<xs:extension base="xs:string">
														<xs:attribute name="hashAlgorithm" type="xs:string" use="required" />
													</xs:extension>
												</xs:simpleContent>
											</xs:complexType>
										</xs:element>
										<xs:element name="Size" type="xs:unsignedInt" />
										<xs:element name="URL" type="xs:string" />
									</xs:sequence>
								</xs:complexType>
							</xs:element>
							<xs:element name="Status">
								<xs:complexType>
									<xs:sequence>
										<xs:element name="State" type="xs:string" />
										<xs:element name="Timestamp" type="xs:string" />
										<xs:element name="RetryCount" type="xs:unsignedByte" />
									</xs:sequence>
								</xs:complexType>
							</xs:element>
							<xs:element name="Available" type="xs:boolean" />
							<xs:element name="BytesDownloaded" type="xs:unsignedInt" />
							<xs:element name="TotalBytes" type="xs:unsignedInt" />
							<xs:element name="RetryLimit" type="xs:unsignedByte" />
						</xs:sequence>
					</xs:complexType>
				</xs:element>

				<xs:element name="RetryDownload">
					<xs:complexType>
						<xs:sequence>
							<xs:element name="Response">
								<xs:complexType>
									<xs:simpleContent>
										<xs:extension base="xs:string">
											<xs:attribute type="xs:string" name="Value"/>
										</xs:extension>
									</xs:simpleContent>
								</xs:complexType>
							</xs:element>
						</xs:sequence>
						<xs:attribute type="xs:string" name="Resource"/>
					</xs:complexType>
				</xs:element>

				<xs:element name="FileUpload">
					<xs:complexType>
						<xs:sequence>
							<xs:element name="Name" type="xs:normalizedString"/>
							<xs:element name="URL" type="xs:normalizedString"/>
							<xs:element name="Size" type="xs:nonNegativeInteger"/>
							<xs:element name="SHA1" type="xs:normalizedString"/>
							<xs:element name="SHA256" type="xs:normalizedString"/>
							<xs:element name="Available" type="xs:boolean"/>
							<xs:element name="ReferenceID" type="xs:nonNegativeInteger" minOccurs="0"/>
						</xs:sequence>
						<xs:attribute name="Resource" type="xs:normalizedString"/> 
					</xs:complexType>
				</xs:element>

				<xs:element name="FileUploadReference">
					<xs:complexType>
						<xs:sequence>
							<xs:element name="ID" type="xs:nonNegativeInteger"/>
							<xs:element name="UserID" type="xs:nonNegativeInteger" minOccurs="0"/>
							<xs:element name="CreationTime" type="xs:normalizedString"/>
							<xs:element name="IsPrivate" type="xs:boolean"/>
						</xs:sequence>
						<xs:attribute name="Resource" type="xs:normalizedString"/> 
					</xs:complexType>
				</xs:element>

				<xs:element name="ArchiveManagerFile">
					<xs:complexType>
						<xs:sequence>
							<xs:element name="FileName" type="xs:normalizedString"/>
							<xs:element name="FileLocation" type="xs:normalizedString"/>
							<xs:element name="FileSize" type="xs:nonNegativeInteger"/>
							<xs:element name="ComputerId" type="xs:nonNegativeInteger"/>
							<xs:element name="Sha256Checksum" type="xs:normalizedString"/>
							<xs:element name="Sequence" type="xs:nonNegativeInteger"/>
							<xs:element name="FileReceivedAt" type="xs:nonNegativeInteger"/>
						</xs:sequence>
						<xs:attribute name="Resource" type="xs:normalizedString"/> 
					</xs:complexType>
				</xs:element>
				
				<xs:element name="ActionResults">
					<xs:complexType>
						<xs:sequence>
							<xs:element name="ActionID" type="xs:nonNegativeInteger"/>
							<xs:element name="Status" type="xs:normalizedString"/>
							<xs:element name="DateIssued" type="xs:normalizedString" minOccurs="0"/>
							<xs:element name="Computer" type="ComputerResultType" minOccurs="0" maxOccurs="unbounded"/>
							<xs:element name="MemberActionResult" minOccurs="0" maxOccurs="unbounded">
								<xs:complexType>
									<xs:sequence>
										<xs:element name="ActionID" type="xs:nonNegativeInteger"/>
										<xs:element name="Computer" type="ComputerResultType" minOccurs="0" maxOccurs="unbounded"/>
									</xs:sequence>
									<xs:attribute name="Resource" type="xs:normalizedString"/>  
								</xs:complexType>
							</xs:element>
						</xs:sequence>
						<xs:attribute name="Resource" type="xs:normalizedString"/>  						
					</xs:complexType>
				</xs:element>

				<xs:element name="Analysis">
					<xs:complexType>
						<xs:sequence>
							<xs:element name="Name" type="xs:normalizedString"/>
							<xs:element name="ID" type="xs:nonNegativeInteger" minOccurs="0"/>							
						</xs:sequence>
						<xs:attribute name="Resource" type="xs:normalizedString"/>  
						<xs:attribute name="LastModified" type="xs:normalizedString"/>
					</xs:complexType>
				</xs:element>

				<xs:element name="AnalysisProperty" type="AnalysisProperty" />

				<xs:element name="AnalysisActivation">
					<xs:complexType>
						<xs:sequence>
							<xs:element name="Name" type="xs:normalizedString"/>
							<xs:element name="ID" type="xs:nonNegativeInteger" minOccurs="0"/>
						</xs:sequence>
						<xs:attribute name="Resource" type="xs:normalizedString"/>  
						<xs:attribute name="LastModified" type="xs:normalizedString"/>
					</xs:complexType>
				</xs:element>				

				<xs:element name="Task">
					<xs:complexType>
						<xs:sequence>
							<xs:element name="Name" type="xs:normalizedString" minOccurs="0"/>
							<xs:element name="ID" type="xs:nonNegativeInteger" minOccurs="0"/>							
						</xs:sequence>
						<xs:attribute name="Resource" type="xs:normalizedString"/>  
						<xs:attribute name="LastModified" type="xs:normalizedString"/>
					</xs:complexType>
				</xs:element>

				<xs:element name="Property">
					<xs:complexType>
						<xs:sequence>
							<xs:element name="Name" type="xs:normalizedString"/>
							<xs:element name="ID" type="xs:nonNegativeInteger" minOccurs="0"/>
							<xs:element name="IsReserved" type="xs:boolean" minOccurs="0"/>
						</xs:sequence>
						<xs:attribute name="Resource" type="xs:normalizedString"/>  
						<xs:attribute name="LastModified" type="xs:normalizedString"/>
					</xs:complexType>
				</xs:element>

				<xs:element name="SingleAction">
					<xs:complexType>
						<xs:choice>
							<xs:element name="Name" type="xs:normalizedString"/>
							<xs:element name="ID" type="xs:nonNegativeInteger" minOccurs="0"/>
						</xs:choice>
						<xs:attribute name="Resource" type="xs:normalizedString"/>  
						<xs:attribute name="LastModified" type="xs:normalizedString"/>
					</xs:complexType>
				</xs:element>

				<xs:element name="MultipleActionGroup">
					<xs:complexType>
						<xs:choice>
							<xs:element name="Name" type="xs:normalizedString"/>
							<xs:element name="ID" type="xs:nonNegativeInteger" minOccurs="0"/>
						</xs:choice>
						<xs:attribute name="Resource" type="xs:normalizedString"/>  
						<xs:attribute name="LastModified" type="xs:normalizedString"/>
					</xs:complexType>
				</xs:element>

				<xs:element name="SiteVersion">
					<xs:complexType>
						<xs:simpleContent>
							<xs:extension base="xs:nonNegativeInteger">
								<xs:attribute name="LastModified" type="xs:normalizedString"/>
							</xs:extension>
						</xs:simpleContent>
					</xs:complexType>
				</xs:element>

				<xs:element name="Baseline">
					<xs:complexType>
						<xs:sequence>
							<xs:element name="Name" type="xs:normalizedString"/>
							<xs:element name="ID" type="xs:nonNegativeInteger" minOccurs="0"/>
						</xs:sequence>
						<xs:attribute name="Resource" type="xs:string"/>  
						<xs:attribute name="LastModified" type="xs:normalizedString"/>
					</xs:complexType>
				</xs:element>	

				<xs:element name="Computer">
					<xs:complexType>
						<xs:sequence>
							<xs:element name="LastReportTime" type="xs:normalizedString" minOccurs="0" maxOccurs="1"/>
							<xs:element name="ID" type="xs:nonNegativeInteger" minOccurs="0" maxOccurs="unbounded"/>
							<xs:choice minOccurs="0" maxOccurs="unbounded">
								<xs:element name="Property" minOccurs="0" maxOccurs="unbounded">
									<xs:complexType>
										<xs:simpleContent>
											<xs:extension base="xs:string">
												<xs:attribute name="Name" type="ObjectName" use="required" />
											</xs:extension>
										</xs:simpleContent>
									</xs:complexType>              
								</xs:element>
								<xs:element name="Setting" type="ComputerSetting" minOccurs="0" maxOccurs="unbounded"/>
							</xs:choice>
							<xs:element name="ManagementExtension" minOccurs="0" maxOccurs="unbounded">
								<xs:complexType>
									<xs:choice minOccurs="0" maxOccurs="unbounded">
										<xs:element name="Property" minOccurs="0" maxOccurs="unbounded">
											<xs:complexType>
												<xs:simpleContent>
													<xs:extension base="xs:string">
														<xs:attribute name="Type" type="ObjectName" use="required" />
													</xs:extension>
												</xs:simpleContent>
											</xs:complexType>              
										</xs:element>
										<xs:element name="Setting" type="ComputerSetting" minOccurs="0" maxOccurs="unbounded"/>
									</xs:choice>
									<xs:attribute name="Type" type="xs:string"/>
								</xs:complexType>
							</xs:element>
						</xs:sequence>
						<xs:attribute name="Resource" type="xs:string"/>  
					</xs:complexType>
				</xs:element>	

				<xs:element name="ComputerSettings">
					<xs:complexType>
						<xs:sequence>
							<xs:element name="TargetComputers" minOccurs="0" maxOccurs="1">
								<xs:complexType>
									<xs:sequence>
										<xs:element name="ComputerID" type="xs:nonNegativeInteger" minOccurs="1" maxOccurs="unbounded"/>
									</xs:sequence>
								</xs:complexType>
							</xs:element>
							<xs:element name="Setting" type="ComputerSetting" minOccurs="0" maxOccurs="unbounded"/>
						</xs:sequence>
						<xs:attribute name="Resource" type="xs:string"/>  
					</xs:complexType>
				</xs:element>	

				<xs:element name="AdminField">
					<xs:complexType>
						<xs:sequence>
							<xs:element name="Name" type="xs:normalizedString" minOccurs="0"/>
							<xs:element name="Value" type="xs:normalizedString" minOccurs="0"/>
						</xs:sequence>
						<xs:attribute name="Resource" type="xs:string"/>  
					</xs:complexType>
				</xs:element>	

				<xs:element name="DashboardData">
					<xs:complexType>
						<xs:sequence>
							<xs:element name="Dashboard" type="xs:normalizedString" minOccurs="0"/>
							<xs:element name="Name" type="xs:normalizedString" minOccurs="0"/>
							<xs:element name="IsPrivate" type="xs:boolean" minOccurs="0"/>
							<xs:element name="User" type="xs:normalizedString" minOccurs="0"/>
							<xs:element name="Value" type="xs:string" minOccurs="0"/>
						</xs:sequence>
						<xs:attribute name="Resource" type="xs:string"/>  
					</xs:complexType>
				</xs:element>

				<xs:element name="SiteFile">
					<xs:complexType>
						<xs:sequence>
							<xs:element name="Name" type="xs:normalizedString" minOccurs="0"/>
							<xs:element name="ID" type="xs:nonNegativeInteger" minOccurs="0"/>
							<xs:element name="LastModified" type="xs:normalizedString" minOccurs="0"/>
							<xs:element name="FileSize" type="xs:nonNegativeInteger" minOccurs="0"/>
							<xs:element name="IsClientFile" type="xs:boolean" minOccurs="0"/>
						</xs:sequence>
						<xs:attribute name="Resource" type="xs:string"/>  
						<xs:attribute name="LastModified" type="xs:normalizedString"/>
					</xs:complexType>
				</xs:element>

				<xs:element name="ClientReports">
					<xs:complexType>
						<xs:sequence>
							<xs:element name="EncryptionStatus" type="xs:normalizedString"/>
							<xs:element name="Details" type="xs:normalizedString" minOccurs="0"/>
							<xs:element name="KeySize" type="EncryptionKeySizeType" minOccurs="0"/>
						</xs:sequence>
						<xs:attribute name="Resource" type="xs:normalizedString" use="required"/>  
					</xs:complexType>
				</xs:element>

				<xs:element name="SystemOptions">
					<xs:complexType>
						<xs:sequence>
							<xs:element name="MinimumRefreshSeconds" type="xs:nonNegativeInteger" minOccurs="0"/>
							<xs:element name="DefaultFixletVisibility" type="DefaultFixletVisibilityType" minOccurs="0"/>
						</xs:sequence>
						<xs:attribute name="Resource" type="xs:normalizedString" use="required"/>  
					</xs:complexType>
				</xs:element>

				<xs:element name="ComputerGroup">
					<xs:complexType>
						<xs:sequence>
							<xs:element name="Name" type="xs:normalizedString"/>
							<xs:element name="ID" type="xs:nonNegativeInteger" minOccurs="0"/>
						</xs:sequence>
						<xs:attribute name="Resource" type="xs:normalizedString" use="required"/>  
						<xs:attribute name="LastModified" type="xs:normalizedString"/>
					</xs:complexType>
				</xs:element>

				<xs:element name="ServerBasedGroup">
					<xs:complexType>
						<xs:sequence>
							<xs:element name="Name" type="xs:normalizedString"/>
							<xs:element name="RefreshInterval" type="ServerBasedGroupRefreshInterval" minOccurs="0" maxOccurs="1" />
							<xs:element name="MembershipRules">
								<xs:complexType>
									<xs:sequence>
										<xs:element name="MembershipRule" type="MembershipRuleType" minOccurs="1" maxOccurs="unbounded"/>
									</xs:sequence>
									<xs:attribute name="JoinByIntersection" type="xs:boolean" />
								</xs:complexType>
							</xs:element>
						</xs:sequence>
						<xs:attribute name="Resource" type="xs:normalizedString"/>
					</xs:complexType>
				</xs:element>

				<xs:element name="Operator" type="Operator"/>

				<xs:element name="ExternalSite">
					<xs:complexType>
						<xs:sequence>
							<xs:element name="Name" type="xs:normalizedString"/>
							<xs:element name="DisplayName" type="xs:normalizedString" minOccurs="0"/>
							<xs:element name="GatherURL" type="xs:string" minOccurs="0" />
						</xs:sequence>
						<xs:attribute name="Resource" type="xs:string" use="required"/>
						<xs:attribute name="LastModified" type="xs:normalizedString"/>
					</xs:complexType>
				</xs:element>

				<xs:element name="CustomSite">
					<xs:complexType>
						<xs:sequence>
							<xs:element name="Name" type="xs:normalizedString"/>
							<xs:element name="DisplayName" type="xs:normalizedString" minOccurs="0"/>
							<xs:element name="GatherURL" type="xs:string" minOccurs="0" />
						</xs:sequence>
						<xs:attribute name="Resource" type="xs:string" use="required"/>
						<xs:attribute name="LastModified" type="xs:normalizedString"/>
					</xs:complexType>
				</xs:element>

				<xs:element name="OperatorSite">
					<xs:complexType>
						<xs:sequence>
							<xs:element name="Name" type="xs:normalizedString"/>
							<xs:element name="DisplayName" type="xs:normalizedString" minOccurs="0"/>
							<xs:element name="GatherURL" type="xs:string" minOccurs="0" />
						</xs:sequence>
						<xs:attribute name="Resource" type="xs:string" use="required"/>
						<xs:attribute name="LastModified" type="xs:normalizedString"/>
					</xs:complexType>
				</xs:element>

				<xs:element name="ActionSite">
					<xs:complexType>
						<xs:sequence>
							<xs:element name="Name" type="xs:normalizedString"/>
							<xs:element name="DisplayName" type="xs:normalizedString" minOccurs="0"/>
							<xs:element name="GatherURL" type="xs:string" minOccurs="0" />
						</xs:sequence>
						<xs:attribute name="Resource" type="xs:normalizedString" use="required"/>
						<xs:attribute name="LastModified" type="xs:normalizedString"/>
					</xs:complexType>
				</xs:element>

				<xs:element name="Role" type="Role"/>

				<xs:element name="Site">
					<xs:complexType>
						<xs:sequence>
							<xs:element name="Name" type="xs:normalizedString" minOccurs="0"/>
							<xs:element name="DisplayName" type="xs:normalizedString" minOccurs="0"/>
							<xs:element name="Permission" type="SitePermissionString" minOccurs="0" maxOccurs="unbounded"/>
						</xs:sequence>
						<xs:attribute name="Resource" type="xs:normalizedString"/>
						<xs:attribute name="LastModified" type="xs:normalizedString"/>
					</xs:complexType>
				</xs:element>

				<xs:element name="SitePermission">
					<xs:complexType>
						<xs:sequence>
							<xs:element name="Permission" type="SitePermissionString" minOccurs="1" maxOccurs="1"/>
							<xs:choice minOccurs="0" maxOccurs="1">
								<xs:element name="Operator" type="StringWithReference"/>
								<xs:element name="Role" type="IntegerWithReference"/>
							</xs:choice>
						</xs:sequence>
						<xs:attribute name="Resource" type="xs:normalizedString"/>
					</xs:complexType>
				</xs:element>				

				<xs:element name="IDPDirectory">
					<xs:complexType>
						<xs:sequence>
							<xs:element name="ID" type="xs:nonNegativeInteger" minOccurs="0"/>							
							<xs:element name="Name" type="xs:normalizedString" minOccurs="0"/>
							<xs:element name="IdpType" type="xs:nonNegativeInteger" minOccurs="1" maxOccurs="1"/>
							<xs:element name="IsGlobalCatalog" type="xs:boolean" minOccurs="0"/>
							<xs:element name="UseSSL" type="xs:boolean" minOccurs="0"/>
							<xs:element name="AllowEmptyPasswords" type="xs:boolean" minOccurs="0"/>
							<xs:element name="BaseDN" type="xs:normalizedString" minOccurs="0"/>
							<xs:element name="UIDAttribute" type="xs:normalizedString" minOccurs="0"/>
							<xs:element name="UserFilter" type="xs:normalizedString" minOccurs="0"/>
							<xs:element name="GroupFilter" type="xs:normalizedString" minOccurs="0"/>
							<xs:element name="TenantID" type="xs:normalizedString" minOccurs="0"/>
							<xs:element name="ClientID" type="xs:normalizedString" minOccurs="0"/>
							<xs:element name="ClientSecret" type="xs:normalizedString" minOccurs="0"/>
							<xs:element name="JwtCertificateServerPath" type="xs:normalizedString" minOccurs="0"/>
							<xs:element name="JwtCertificate" type="xs:string" minOccurs="0"/>
							<xs:element name="PrivateKeyPassword" type="xs:normalizedString" minOccurs="0"/>
							<xs:element name="User" type="xs:normalizedString" minOccurs="0"/>
							<xs:element name="Password" type="xs:normalizedString" minOccurs="0"/>
							<xs:element name="Servers" minOccurs="0" maxOccurs="1">
								<xs:complexType>
									<xs:sequence>
										<xs:element name="Server" type="LDAPServer" minOccurs="1" maxOccurs="4"/>	
									</xs:sequence>
								</xs:complexType>
							</xs:element>
						</xs:sequence>
						<xs:attribute name="Resource" type="xs:normalizedString"/>
					</xs:complexType>
				</xs:element>

				<xs:element name="LDAPDirectory">
					<xs:complexType>
						<xs:sequence>
							<xs:element name="ID" type="xs:nonNegativeInteger" minOccurs="0"/>							
							<xs:element name="Name" type="xs:normalizedString" minOccurs="0"/>
							<xs:element name="IsActiveDirectory" type="xs:boolean" minOccurs="0"/>
							<xs:element name="IsGlobalCatalog" type="xs:boolean" minOccurs="0"/>
							<xs:element name="UseSSL" type="xs:boolean" minOccurs="0"/>
							<xs:element name="AllowEmptyPasswords" type="xs:boolean" minOccurs="0"/>
							<xs:element name="BaseDN" type="xs:normalizedString" minOccurs="0"/>
							<xs:element name="UIDAttribute" type="xs:normalizedString" minOccurs="0"/>
							<xs:element name="UserFilter" type="xs:normalizedString" minOccurs="0"/>
							<xs:element name="GroupFilter" type="xs:normalizedString" minOccurs="0"/>
							<xs:element name="User" type="xs:normalizedString" minOccurs="0"/>
							<xs:element name="Password" type="xs:normalizedString" minOccurs="0"/>
							<xs:element name="Servers" minOccurs="0" maxOccurs="1">
								<xs:complexType>
									<xs:sequence>
										<xs:element name="Server" type="LDAPServer" minOccurs="1" maxOccurs="4"/>	
									</xs:sequence>
								</xs:complexType>
							</xs:element>
						</xs:sequence>
						<xs:attribute name="Resource" type="xs:normalizedString"/>
					</xs:complexType>
				</xs:element>

				<xs:element name="SAMLProvider">
					<xs:complexType>
						<xs:sequence>
							<xs:element name="ID" type="xs:nonNegativeInteger" minOccurs="0"/>							
							<xs:element name="Issuer" type="xs:normalizedString"/>
							<xs:element name="EntryPoint" type="xs:normalizedString"/>
							<xs:element name="IsDisabled" type="xs:boolean"/>
							<xs:element name="SigningCertificate" type="xs:normalizedString"/>
						</xs:sequence>
						<xs:attribute name="Resource" type="xs:normalizedString"/>
					</xs:complexType>
				</xs:element>

				<xs:element name="ComputerMailboxFile">
					<xs:complexType>
						<xs:sequence>
							<xs:element name="Name" type="xs:normalizedString" minOccurs="0"/>
							<xs:element name="ID" type="xs:nonNegativeInteger" minOccurs="0"/>
							<xs:element name="SHA1" type="xs:normalizedString" minOccurs="0"/>
							<xs:element name="Size" type="xs:normalizedString" minOccurs="0"/>
							<xs:element name="Timestamp" type="xs:normalizedString" minOccurs="0"/>
							<xs:element name="ManagementExtension" minOccurs="0" maxOccurs="unbounded">
								<xs:complexType>
									<xs:sequence>
										<xs:element name="ComputerMailboxFile" minOccurs="1" maxOccurs="unbounded" >
											<xs:complexType>
												<xs:sequence>
													<xs:element name="Name" type="xs:normalizedString" minOccurs="0"/>
													<xs:element name="ID" type="xs:nonNegativeInteger" minOccurs="0"/>
													<xs:element name="SHA1" type="xs:normalizedString" minOccurs="0"/>
													<xs:element name="Size" type="xs:normalizedString" minOccurs="0"/>
													<xs:element name="Timestamp" type="xs:normalizedString" minOccurs="0"/>
												</xs:sequence>
											</xs:complexType>
										</xs:element>
									</xs:sequence>
									<xs:attribute name="Type" type="xs:string"/>
								</xs:complexType>
							</xs:element>
						</xs:sequence>
						<xs:attribute name="Resource" type="xs:normalizedString"/>
					</xs:complexType>
				</xs:element>

				<xs:element name="Query">
					<xs:complexType>
						<xs:sequence>
							<xs:element name="Result" type="RelevanceResult"/>
							<xs:choice>
								<xs:element name="Evaluation">
									<xs:complexType>
										<xs:sequence>
											<xs:element name="Time" type="xs:normalizedString"/>
											<xs:element name="Plurality" type="RelevancePlurality"/>
										</xs:sequence>
									</xs:complexType>
								</xs:element>
								<xs:element name="Error" type="xs:normalizedString"/>
							</xs:choice>
						</xs:sequence>
						<xs:attribute name="Resource" type="xs:string"/>
					</xs:complexType>
				</xs:element>

				<xs:element name="MastheadParameters">
					<xs:complexType>
						<xs:sequence>
							<xs:element name="PortNumber" type="xs:normalizedString" minOccurs="0" maxOccurs="1" />
							<xs:element name="GatherInterval" type="MastheadGatherInterval" minOccurs="0" maxOccurs="1" />
							<xs:element name="Controller" type="MastheadController" minOccurs="0" maxOccurs="1" />
							<xs:choice  minOccurs="0" maxOccurs="1">
								<xs:element name="InitialLockState" type="MastheadLockState" />
								<xs:element name="InitialLockDuration" type="xs:nonNegativeInteger" />
							</xs:choice>
							<xs:element name="ActionLockExemptionURL" type="xs:normalizedString"  minOccurs="0" maxOccurs="1" />
							<xs:element name="RequireFIPSCompliantCrypto" type="xs:boolean" minOccurs="0" maxOccurs="1" />
							<xs:element name="MinimumSupportedClient" type="xs:normalizedString" minOccurs="0" maxOccurs="1" />
						</xs:sequence>
					</xs:complexType>
				</xs:element>
				
				<xs:element name="ClientQuery">
					<xs:complexType>
						<xs:sequence>
							<xs:element name="ApplicabilityRelevance" type="xs:normalizedString" minOccurs="1" maxOccurs="1"/>
							<xs:element name="QueryText" type="xs:normalizedString" minOccurs="1" maxOccurs="1" />
							<xs:element name="UseClientContext" type="xs:boolean" minOccurs="0" />
							<xs:element name="Target" type="BESClientQueryTarget" minOccurs="0" />
						</xs:sequence>						
					</xs:complexType>
				</xs:element>
				
				<xs:element name="ClientQueryResults">
					<xs:complexType>
						<xs:sequence>
							<xs:element name="ReportingAgents" type="xs:nonNegativeInteger"/>
							<xs:element name="TotalResults"    type="xs:nonNegativeInteger"/>
							<xs:element name="QueryResult" minOccurs="0" maxOccurs="unbounded">
								<xs:complexType>
									<xs:sequence>
										<xs:element name="ComputerID"    type="xs:nonNegativeInteger"   minOccurs="1"/>
										<xs:element name="ComputerName"  type="xs:normalizedString"     minOccurs="1"/>
										<xs:element name="SubQueryID"    type="xs:nonNegativeInteger"   minOccurs="1"/>
										<xs:element name="IsFailure"     type="xs:boolean"              minOccurs="1"/>
										<xs:element name="ResponseTime"  type="xs:normalizedString"     minOccurs="1"/>
										<xs:element name="Result"        type="xs:normalizedString"     minOccurs="1"/>
										<xs:element name="ErrorMessage"  type="xs:normalizedString"/>
									</xs:sequence>						
								</xs:complexType>
							</xs:element>
						</xs:sequence>						
					</xs:complexType>
				</xs:element>

				<xs:element name="Error" type="xs:string" minOccurs="0" maxOccurs="unbounded"/> 
				<xs:element name="Warning" type="xs:string" minOccurs="0" maxOccurs="unbounded"/> 
				<xs:element name="ComputerSetting" type="ComputerSetting" minOccurs="0" maxOccurs="1"/>

				<xs:element name="Session">
					<xs:complexType>
						<xs:sequence>
							<xs:element name="Operator" type="ObjectName"/>
							<xs:element name="UserID" type="xs:nonNegativeInteger"/>
							<xs:element name="EffectivePermissions" type="EffectivePermissions"/>
						</xs:sequence>
						<xs:attribute name="Resource" type="xs:normalizedString"/>
					</xs:complexType>
				</xs:element>

				<xs:element name="PushNotification">
					<xs:complexType>
						<xs:sequence>
							<xs:element name="Type" type="xs:normalizedString" minOccurs="1" maxOccurs="1"/>
							<xs:element name="Payload" type="PushNotificationPayload" minOccurs="1" maxOccurs="1"/>
							<xs:element name="ComputerID" type="xs:nonNegativeInteger" minOccurs="1" maxOccurs="unbounded"/>
						</xs:sequence>
					</xs:complexType>
				</xs:element>

				<xs:element name="UnicastNotification">
					<xs:complexType>
						<xs:sequence>
							<xs:element name="Command" type="xs:normalizedString" minOccurs="1" maxOccurs="1"/>
							<xs:element name="Arg1" type="xs:normalizedString" minOccurs="0" maxOccurs="1"/>
							<xs:element name="Arg2" type="xs:normalizedString" minOccurs="0" maxOccurs="1"/>
							<xs:element name="ComputerID" type="xs:nonNegativeInteger" minOccurs="1" maxOccurs="unbounded"/>
						</xs:sequence>
					</xs:complexType>
				</xs:element>

				<xs:element name="RelaySiteRequestResult">
					<xs:complexType>
						<xs:sequence>
							<xs:element name="RelayComputerID" type="xs:nonNegativeInteger"/>
							<xs:element name="RelayMasterSite" type="RelaySite" minOccurs="0"/>
							<xs:element name="RelayCustomSite" type="RelaySite" minOccurs="0" maxOccurs="unbounded"/>
							<xs:element name="RelayOperatorSite" type="RelaySite" minOccurs="0" maxOccurs="unbounded"/>
							<xs:element name="RelayExternalSite" type="RelaySite" minOccurs="0" maxOccurs="unbounded"/>
						</xs:sequence>	
					</xs:complexType>
				</xs:element>

				<xs:element name="Explorer">
					<xs:complexType>
						<xs:sequence>
				   			<xs:element name="URL" type="xs:normalizedString"/>
			   			</xs:sequence>
						<xs:attribute name="Resource" type="xs:string"/>
					</xs:complexType>
				</xs:element>

				<xs:element name="ExplorerDetails">
					<xs:complexType>
						<xs:element name="Explorer">
							<xs:complexType>
								<xs:sequence>
									<xs:element name="URL" type="xs:normalizedString"/>
									<xs:element name="Name" type="xs:normalizedString"/>
									<xs:element name="Priority" type="xs:nonNegativeInteger"/>
								</xs:sequence>
							</xs:complexType>
						</xs:element>
					</xs:complexType>
				</xs:element>

				<xs:element name="ExplorerPriority">
					<xs:complexType>
						<xs:sequence>
							<xs:element name="Priority" type="xs:nonNegativeInteger" minOccurs="1" maxOccurs="1"/>
						</xs:sequence>
					</xs:complexType>
				</xs:element>

				<xs:element name="FixletVisibility">
					<xs:complexType>
						<xs:sequence>
							<xs:element name="Visibility" type="xs:boolean" minOccurs="1" maxOccurs="1"/>
						</xs:sequence>
						<xs:attribute name="Resource" type="xs:string"/>
					</xs:complexType>
				</xs:element>

			</xs:choice>
		</xs:complexType>
	</xs:element>

	<xs:complexType name="RelaySite">
		<xs:sequence>
			<xs:element name="SiteName" type="xs:string"/>
			<xs:element name="SiteVersionDiff" type="xs:nonNegativeInteger" minOccurs="0"/>
			<xs:element name="SiteVersion" type="xs:nonNegativeInteger" minOccurs="0" />
		</xs:sequence>
	</xs:complexType>

	<xs:complexType name="InterfaceLogins">
		<xs:sequence>
			<xs:element name="Console" type="xs:boolean" minOccurs="0"/>
			<xs:element name="WebUI" type="xs:boolean" minOccurs="0"/>
			<xs:element name="API" type="xs:boolean" minOccurs="0"/>
			<xs:element name="Applications" minOccurs="0">
				<xs:complexType>
					<xs:sequence>
						<xs:element name="Name" type="xs:string" minOccurs="0" maxOccurs="unbounded"/>
					</xs:sequence>
				</xs:complexType>
			</xs:element>
		</xs:sequence>
	</xs:complexType>

	<xs:complexType name="EffectivePermissions">
		<xs:sequence>
			<xs:element name="MasterOperator" type="xs:boolean"/>
			<xs:element name="CustomContent" type="xs:boolean"/>
			<xs:element name="ShowOtherActions" type="xs:boolean"/>
			<xs:element name="StopOtherActions" type="xs:boolean"/>
			<xs:element name="CanCreateActions" type="xs:boolean"/>
			<xs:element name="CanLock" type="xs:boolean"/>
			<xs:element name="CanSendMultipleRefresh" type="xs:boolean"/>
            <xs:element name="CanSubmitQueries" type="xs:boolean"/>
			<xs:element name="PostActionBehaviorPrivilege">
				<xs:simpleType>
					 <xs:restriction base="xs:normalizedString">
						 <xs:enumeration value="AllowRestartAndShutdown"/>
						 <xs:enumeration value="AllowRestartOnly"/>            
						 <xs:enumeration value="None"/>
					</xs:restriction>
				 </xs:simpleType>
			 </xs:element>
			<xs:element name="ActionScriptCommandsPrivilege">
				<xs:simpleType>
					 <xs:restriction base="xs:normalizedString">
						 <xs:enumeration value="AllowRestartAndShutdown"/>
						 <xs:enumeration value="AllowRestartOnly"/>            
						 <xs:enumeration value="None"/>
					</xs:restriction>
				 </xs:simpleType>
			 </xs:element>
			<xs:element name="UnmanagedAssetPrivilege">
				<xs:simpleType>
					<xs:restriction base="xs:normalizedString">
						<xs:enumeration value="ShowNone"/>
						<xs:enumeration value="ScanPoint"/>
						<xs:enumeration value="ShowAll"/>
					</xs:restriction>
				</xs:simpleType>
			</xs:element>
			<xs:element name="InterfaceLogins" type="InterfaceLogins" />
		</xs:sequence>
	</xs:complexType>

	<xs:complexType name="ComputerResultType">
		<xs:sequence>
			<xs:element name="Status" type="xs:normalizedString"/>
			<xs:element name="State">
				<xs:complexType>
					<xs:simpleContent>
						<xs:extension base="xs:nonNegativeInteger">
							<xs:attribute name="IsError" type="xs:boolean" />
						</xs:extension>
					</xs:simpleContent>
				</xs:complexType>
			</xs:element>
			<xs:element name="ExitCode" type="xs:integer" minOccurs="0"/>
			<xs:element name="ApplyCount" type="xs:nonNegativeInteger"/>
			<xs:element name="RetryCount" type="xs:nonNegativeInteger"/>
			<xs:element name="LineNumber" type="xs:nonNegativeInteger"/>
			<xs:element name="StartTime" type="xs:normalizedString" minOccurs="0"/>
			<xs:element name="EndTime" type="xs:normalizedString" minOccurs="0"/>
			<xs:element name="Computer" type="ComputerResultType" minOccurs="0" maxOccurs="unbounded"/>
		</xs:sequence>
		<xs:attribute name="ID" type="xs:nonNegativeInteger"/>
		<xs:attribute name="Name" type="xs:normalizedString"/>
	</xs:complexType>

	<xs:complexType name="LDAPServer">
		<xs:sequence>
			<xs:element name="Host" type="xs:normalizedString"/>
			<xs:element name="Port" type="xs:nonNegativeInteger"/>
			<xs:element name="Priority" type="xs:nonNegativeInteger"/>
		</xs:sequence>
	</xs:complexType>

   <xs:complexType name="ReplicationLinkType">
   		<xs:sequence>
   			<xs:element name="SourceServerID" type="xs:nonNegativeInteger"/>
   			<xs:element name="DestinationServerID" type="xs:nonNegativeInteger"/>
   			<xs:element name="Weight" type="xs:nonNegativeInteger"/>
   			<xs:element name="IsConnected" type="xs:boolean" minOccurs="0"/>
   			<xs:element name="LastReplication" type="xs:normalizedString" minOccurs="0"/>
   			<xs:element name="LastError" type="xs:normalizedString" minOccurs="0"/>
   		</xs:sequence>
   		<xs:attribute name="Resource" type="xs:normalizedString"/> 
   </xs:complexType>

	<xs:complexType name="StringWithReference">
		<xs:simpleContent>
			<xs:extension base="xs:normalizedString">
				<xs:attribute name="Resource" type="xs:normalizedString"/>
			</xs:extension>
		</xs:simpleContent>
	</xs:complexType>

	<xs:complexType name="IntegerWithReference">
		<xs:simpleContent>
			<xs:extension base="xs:nonNegativeInteger">
				<xs:attribute name="Resource" type="xs:normalizedString"/>
			</xs:extension>
		</xs:simpleContent>
	</xs:complexType>

	<xs:complexType name="ComputerSetting">
		<xs:sequence>
			<xs:element name="Name" type="xs:normalizedString" minOccurs="1" maxOccurs="1"/>
			<xs:element name="Value" type="xs:normalizedString" minOccurs="1" maxOccurs="1"/>
		</xs:sequence>
		<xs:attribute name="Resource" type="xs:normalizedString"/>
	</xs:complexType>

	<xs:complexType name="Operator">
		<xs:sequence>
			<xs:element name="Name" type="ObjectName" minOccurs="0"/>
			<xs:element name="ID" type="xs:nonNegativeInteger" minOccurs="0"/>
			<xs:element name="LastLoginTime" type="xs:normalizedString" minOccurs="0"/>
			<xs:element name="Password" type="xs:normalizedString" minOccurs="0"/>
			<xs:element name="LDAPServerID" type="xs:nonNegativeInteger" minOccurs="0" />
			<xs:element name="LDAPDN" type="xs:normalizedString" minOccurs="0" />
			<xs:element name="MasterOperator" type="xs:boolean" minOccurs="0" />
			<xs:element name="CustomContent" type="xs:boolean" minOccurs="0" />
			<xs:element name="ShowOtherActions" type="xs:boolean" minOccurs="0" />
			<xs:element name="StopOtherActions" type="xs:boolean" minOccurs="0" />
			<xs:element name="CanCreateActions" type="xs:boolean" minOccurs="0" />
			<xs:element name="PostActionBehaviorPrivilege" minOccurs="0">
				<xs:simpleType>
					 <xs:restriction base="xs:normalizedString">
						 <xs:enumeration value="AllowRestartAndShutdown" />
						 <xs:enumeration value="AllowRestartOnly" />            
						 <xs:enumeration value="None" />
					</xs:restriction>
				 </xs:simpleType>
			 </xs:element>
			<xs:element name="ActionScriptCommandsPrivilege" minOccurs="0">
				<xs:simpleType>
					 <xs:restriction base="xs:normalizedString">
						 <xs:enumeration value="AllowRestartAndShutdown" />
						 <xs:enumeration value="AllowRestartOnly" />            
						 <xs:enumeration value="None" />
					</xs:restriction>
				 </xs:simpleType>
			 </xs:element>
			<xs:element name="CanLock" type="xs:boolean" minOccurs="0" />
			<xs:element name="CanSendMultipleRefresh" type="xs:boolean" minOccurs="0" />
            <xs:element name="CanSubmitQueries" type="xs:boolean" minOccurs="0" />
			<xs:element name="LoginPermission" minOccurs="0">
				<xs:simpleType>
					<xs:restriction base="xs:normalizedString">
						<xs:enumeration value="Unrestricted" />
						<xs:enumeration value="RoleRestricted" />
						<xs:enumeration value="Disabled" />
					</xs:restriction>
				</xs:simpleType>
			</xs:element>
			<xs:element name="UnmanagedAssetPrivilege" minOccurs="0">
				<xs:simpleType>
					<xs:restriction base="xs:normalizedString">
						<xs:enumeration value="ShowNone" />
						<xs:enumeration value="ScanPoint" />
						<xs:enumeration value="ShowAll" />
					</xs:restriction>
				</xs:simpleType>
			</xs:element>
			<xs:element name="InterfaceLogins" type="InterfaceLogins" minOccurs="0" />
			<xs:element name="ApproverRoleID" type="xs:nonNegativeInteger" minOccurs="0"/>
			<xs:element name="ComputerAssignments" type="DynamicTarget" minOccurs="0" />
		</xs:sequence>
		<xs:attribute name="Resource" type="xs:normalizedString"/>
	</xs:complexType>

	<xs:complexType name="DynamicTarget">
		<xs:choice>
			<xs:element name="AllComputers" />
			<xs:choice minOccurs="0" maxOccurs="unbounded">
				<xs:element name="ByActiveDirectory" type="ByActiveDirectory" />
				<xs:element name="ByRetrievedProperties" type="ByRetrievedProperties" />
				<xs:element name="ByGroup" type="ByGroup" />
			</xs:choice>
		</xs:choice>
		<xs:attribute name="Match" fixed="Any" />
	</xs:complexType>

	<xs:complexType name="ByActiveDirectory">
		<xs:sequence>
			<xs:element name="DistinguishedName" type="xs:string" />
		</xs:sequence>
	</xs:complexType>

	<xs:complexType name="ByRetrievedProperties">
		<xs:sequence>
			<xs:element name="Property" type="Property" maxOccurs="unbounded" />
			<xs:element name="Relevance" type="RelevanceString" minOccurs="0" />
		</xs:sequence>
		<xs:attribute name="Match" fixed="All" />
	</xs:complexType>

	<xs:complexType name="Property">
		<xs:sequence>
			<xs:element name="Value" type="xs:string" />
		</xs:sequence>
		<xs:attribute name="Name" type="xs:string" />
		<xs:attribute name="Resource" type="xs:normalizedString" />
	</xs:complexType>

	<xs:complexType name="ByGroup">
		<xs:attribute name="Name" type="xs:string" />
		<xs:attribute name="Type" type="xs:string" />
		<xs:attribute name="Resource" type="xs:normalizedString" />
	</xs:complexType>

	<xs:complexType name="Role">
		<xs:sequence>
			<xs:element name="Name" type="ObjectName" minOccurs="0" />
			<xs:element name="ID" type="xs:nonNegativeInteger" minOccurs="0"/>
			<xs:element name="Description" type="xs:string" minOccurs="0" />
			<xs:element name="MasterOperator" type="xs:boolean" minOccurs="0" />
			<xs:element name="CustomContent" type="xs:boolean" minOccurs="0" />
			<xs:element name="ShowOtherActions" type="xs:boolean" minOccurs="0" />
			<xs:element name="StopOtherActions" type="xs:boolean" minOccurs="0" />
			<xs:element name="CanCreateActions" type="xs:boolean" minOccurs="0" />
			<xs:element name="PostActionBehaviorPrivilege" minOccurs="0">
			    <xs:simpleType>
					<xs:restriction base="xs:normalizedString">
						<xs:enumeration value="AllowRestartAndShutdown" />
						<xs:enumeration value="AllowRestartOnly" />
						<xs:enumeration value="None" />
					</xs:restriction>
				</xs:simpleType>
            </xs:element>
            <xs:element name="ActionScriptCommandsPrivilege" minOccurs="0">
                <xs:simpleType>
                    <xs:restriction base="xs:normalizedString">
                        <xs:enumeration value="AllowRestartAndShutdown" />
                        <xs:enumeration value="AllowRestartOnly" />
                        <xs:enumeration value="None" />
                    </xs:restriction>
                </xs:simpleType>
        	</xs:element>
			<xs:element name="CanSendMultipleRefresh" type="xs:boolean" minOccurs="0" />
            <xs:element name="CanSubmitQueries" type="xs:boolean" minOccurs="0" />
			<xs:element name="CanLock" type="xs:boolean" minOccurs="0" />
			<xs:element name="UnmanagedAssetPrivilege" minOccurs="0" >
				<xs:simpleType>
					<xs:restriction base="xs:normalizedString">
						<xs:enumeration value="ShowNone" />
						<xs:enumeration value="ScanPoint" />
						<xs:enumeration value="ShowAll" />
					</xs:restriction>
				</xs:simpleType>
			</xs:element>
			<xs:element name="InterfaceLogins" type="InterfaceLogins" minOccurs="0" />
			<xs:element name="Operators" minOccurs="0">
				<xs:complexType>
					<xs:choice minOccurs="0" maxOccurs="unbounded">
						<xs:element name="Explicit" type="xs:normalizedString"/>
						<xs:element name="Inherited" type="xs:normalizedString"/>
					</xs:choice>
				</xs:complexType>
			</xs:element>
			<xs:element name="LDAPGroups" minOccurs="0" >
				<xs:complexType>
					<xs:sequence>
						<xs:element name="Group" maxOccurs="unbounded">
							<xs:complexType>
								<xs:sequence>
									<xs:element name="Name" type="xs:normalizedString" />
									<xs:element name="DN" type="xs:normalizedString" />
									<xs:element name="ServerID" type="xs:normalizedString" />
								</xs:sequence>
							</xs:complexType>
						</xs:element>
					</xs:sequence>
				</xs:complexType>
			</xs:element>
			<xs:element name="Sites" minOccurs="0" >
				<xs:complexType>
					<xs:choice maxOccurs="unbounded">
						<xs:element name="CustomSite">
							<xs:complexType>
								<xs:sequence>
									<xs:element name="Name" type="xs:normalizedString" minOccurs="1"/>
									<xs:element name="Permission" type="SitePermissionString" minOccurs="1"/>
								</xs:sequence>
							</xs:complexType>
						</xs:element>
						<xs:element name="ExternalSite">
							<xs:complexType>
								<xs:sequence>
									<xs:element name="Name" type="xs:normalizedString" minOccurs="1"/>
									<xs:element name="Permission" type="SitePermissionString" minOccurs="1"/>
								</xs:sequence>
							</xs:complexType>
						</xs:element>
					</xs:choice>
				</xs:complexType>
			</xs:element>
			<xs:element name="ComputerAssignments" type="DynamicTarget" minOccurs="0" />
		</xs:sequence>
		<xs:attribute name="Resource" type="xs:normalizedString"/>
	</xs:complexType>

	<xs:simpleType name="SitePermissionString">
		<xs:restriction base="xs:normalizedString">
			<xs:enumeration value="Owner" />
			<xs:enumeration value="Reader" />
			<xs:enumeration value="Writer" />
			<xs:enumeration value="None" />
		</xs:restriction>
	</xs:simpleType>

	<xs:simpleType name="ObjectName">
		<xs:restriction base="xs:normalizedString">
			<xs:minLength value="1" />
			<xs:maxLength value="255" />
		</xs:restriction>
	</xs:simpleType>

	<xs:complexType name="RelevanceResult">
		<xs:sequence minOccurs="0" maxOccurs="unbounded">
		 	<xs:element name="Answer" type="RelevanceAnswer"/>
		 	<xs:element name="Tuple" type="RelevanceResult"/>
		</xs:sequence>
	</xs:complexType>

	<xs:simpleType name="RelevanceValueType">
		<xs:restriction base="xs:normalizedString">
			<xs:enumeration value="boolean" />
			<xs:enumeration value="integer" />
			<xs:enumeration value="string" />
			<xs:enumeration value="utf8 string" />
			<xs:enumeration value="time" />
			<xs:enumeration value="floating point" />
		</xs:restriction>
	</xs:simpleType>

	<xs:simpleType name="EncryptionKeySizeType">
		<xs:restriction base="xs:normalizedString">
			<xs:enumeration value="4096" />
			<xs:enumeration value="2048" />
		</xs:restriction>
	</xs:simpleType>

	<xs:complexType name="RelevanceAnswer">
		<xs:simpleContent>
			<xs:extension base="xs:normalizedString">
				<xs:attribute name="type" type="RelevanceValueType" />
			</xs:extension>
		</xs:simpleContent>
	</xs:complexType>

	<xs:simpleType name="RelevancePlurality">
		<xs:restriction base="xs:normalizedString">
			<xs:enumeration value="Plural" />
			<xs:enumeration value="Singular" />
		</xs:restriction>
	</xs:simpleType>

	<xs:simpleType name="MastheadGatherInterval">
		<xs:restriction base="xs:normalizedString">
			<xs:enumeration value="Fifteen Minutes" />
			<xs:enumeration value="Half Hour" />
			<xs:enumeration value="Hour" />
			<xs:enumeration value="Eight Hours" />
			<xs:enumeration value="Half Day" />
			<xs:enumeration value="Day" />
			<xs:enumeration value="Two Days" />
			<xs:enumeration value="Week" />
			<xs:enumeration value="Two Weeks" />
			<xs:enumeration value="Month" />
			<xs:enumeration value="Two Months" />
		</xs:restriction>
	</xs:simpleType>

	<xs:simpleType name="MastheadController">
		<xs:restriction base="xs:normalizedString">
			<xs:enumeration value="nobody" />
			<xs:enumeration value="client" />
			<xs:enumeration value="console" />
		</xs:restriction>
	</xs:simpleType>

	<xs:simpleType name="MastheadLockState">
		<xs:restriction base="xs:normalizedString">
			<xs:enumeration value="on" />
			<xs:enumeration value="off" />
		</xs:restriction>
	</xs:simpleType>

	<xs:simpleType name="DefaultFixletVisibilityType">
		<xs:restriction base="xs:normalizedString">
			<xs:enumeration value="Visible" />
			<xs:enumeration value="Hidden" />
		</xs:restriction>
	</xs:simpleType>

	<xs:complexType name="AnalysisProperty">
		<xs:simpleContent>
			<xs:extension base="RelevanceString">
				<xs:attribute name="Resource" type="xs:normalizedString" />
				<xs:attribute name="Name" type="xs:string" />
				<xs:attribute name="ID" type="xs:positiveInteger" />
			</xs:extension>
		</xs:simpleContent>
	</xs:complexType>

	<xs:complexType name="RelevanceString">
	  <xs:simpleContent>
	    <xs:extension base="xs:string" />
	  </xs:simpleContent>
	</xs:complexType>

	<xs:simpleType name="PushNotificationPayload">
		<xs:restriction base="xs:string">
			<xs:maxLength value="255" />
		</xs:restriction>
	</xs:simpleType>

	<xs:simpleType name="BESClientQueryString">
		<xs:restriction base="xs:normalizedString">
			<xs:minLength value="1" />
		</xs:restriction>
	</xs:simpleType>
	
	<xs:complexType name="BESClientQueryTarget">
		<xs:choice>
			<xs:element name="ComputerName" type="xs:normalizedString" maxOccurs="unbounded" />
			<xs:element name="ComputerID" type="xs:nonNegativeInteger" maxOccurs="unbounded" />
			<xs:element name="CustomRelevance" type="xs:normalizedString" />
			<xs:element name="ComputerGroup" maxOccurs="unbounded">
				<xs:complexType>
					<xs:sequence>
						<xs:element name="Name"     type="BESClientQueryString" minOccurs="1" />
						<xs:element name="SiteName" type="BESClientQueryString" minOccurs="1" />
					</xs:sequence>
				</xs:complexType>
			</xs:element>
		</xs:choice>
	</xs:complexType>

	<xs:complexType name="MembershipRuleType">
		<xs:sequence>
			<xs:element name="PropertyID" type="xs:nonNegativeInteger" minOccurs="1" maxOccurs="1"/>
			<xs:element name="SearchText" type="xs:normalizedString" minOccurs="1" maxOccurs="1"/>
		</xs:sequence>
		<xs:attribute name="Comparison">
			<xs:simpleType>
				<xs:restriction base="xs:normalizedString">
					<xs:enumeration value="Contains" />
					<xs:enumeration value="DoesNotContain" />
					<xs:enumeration value="Equals" />
					<xs:enumeration value="DoesNotEqual" />
				</xs:restriction>
			</xs:simpleType>
		</xs:attribute>
	</xs:complexType>

	<xs:simpleType name="ServerBasedGroupRefreshInterval">
		<xs:restriction base="NonNegativeTimeInterval">
			<xs:enumeration value="PT5M" />
			<xs:enumeration value="PT15M" />
			<xs:enumeration value="PT30M" />
			<xs:enumeration value="PT1H" />
			<xs:enumeration value="PT2H" />
			<xs:enumeration value="PT4H" />
			<xs:enumeration value="PT6H" />
			<xs:enumeration value="PT12H" />
			<xs:enumeration value="PT18H" />
			<xs:enumeration value="P1D" />
		</xs:restriction>
	</xs:simpleType>

	<xs:simpleType name="NonNegativeTimeInterval">
		<xs:restriction base="xs:duration">
			<xs:pattern value="P([0-9]+D)?(T([0-9]+H)?([0-9]+M)?([0-9]+(\.[0-9]{1,6})?S)?)?" />
		</xs:restriction>
	</xs:simpleType>
</xs:schema>
