analysis_ibot.xsd

This topic lists the content of the analysis_ibot.xsd schema file.

<?xml version="1.0" encoding="UTF-8"?>
<xs:schema targetNamespace="com.siebel.analytics.web/report/v1.1" xmlns:sawx="com.siebel.analytics.web/expression/v1.1" xmlns="com.siebel.analytics.web/report/v1.1" xmlns:saw="com.siebel.analytics.web/report/v1.1" xmlns:del="com.oracle.bi/delivers/v1" xmlns:cond="com.oracle.bi/conditions/v1" xmlns:xs="http://www.w3.org/2001/XMLSchema" elementFormDefault="qualified" attributeFormDefault="unqualified">
	<xs:import namespace="com.oracle.bi/conditions/v1" schemaLocation="condition.xsd"/>
  <xs:include schemaLocation="analysis_base.xsd" />  
	<!--<xs:include schemaLocation="analysis.xsd"/>-->
	<!-- An agent is a scheduled job which has a controlling condition, content, and optional post actions.  
	     ibot is old name for agent.  This xsd is not self contained, since it uses other schema elements.  To check an 
	     instance of saw:ibot use the top level analysis.xsd which includes analysis_ibot.xsd. 
	  -->
	<xs:element name="ibot">
		<xs:complexType>
      <xs:complexContent>
        <xs:extension base="saw:appUpgradeTargetType">
			    <xs:sequence>
				    <xs:element name="schedule" type="saw:scheduleType"/>
				    <xs:element name="dataVisibility" type="saw:dataVisibilityType"/>
				    <xs:element ref="cond:condition"/>
				    <xs:element name="choose" type="chooseType"/>
				    <xs:element name="deliveryDestinations" type="saw:deliveryDestinationsType">
				        <!-- destinations are all different categories, and non-null.  -->
				        <xs:key name="destinationCategory">
					       <xs:selector xpath="saw:destination"/>
					       <xs:field xpath="@category"/>
                        </xs:key>
                    </xs:element>
                    <!-- saw:permittedSubscribers.  The ibot save xml is  super set of saw:ibot.  
                         The permittedSubscribers is NOT included in saw:ibot.  Instead the 
                         agent's access control list implements the permitted subscribers.  
                      -->
                    <!-- The recipients define BI EE users -->
				    <xs:element name="recipients" type="recipientsType"/>
				    <xs:element name="emailRecipients" type="saw:emailRecipientsType" minOccurs="0"/>
			    </xs:sequence>
			    <xs:attribute name="version" use="required">
				    <xs:simpleType>
					    <xs:restriction base="xs:integer">
						    <xs:minInclusive value="1"/>
					    </xs:restriction>
				    </xs:simpleType>
			    </xs:attribute>
			    <xs:attribute name="priority" default="normal">
				    <xs:simpleType>
					    <xs:restriction base="xs:string">
						    <xs:enumeration value="high"/>
						    <xs:enumeration value="normal"/>
						    <xs:enumeration value="low"/>
					    </xs:restriction>
				    </xs:simpleType>
			    </xs:attribute>
			    <!-- Unique key into the scheduler schema -->
			    <xs:attribute name="jobID" type="xs:integer" use="optional"/>
			    <!-- The deleteIBotAfterRun attribute will result in the iBot being deleted immediately after the first run.
		             NOTE: Even if the ibot has been scheduled to run repeatedly till end date, if this attribute is set, the ibot will be deleted after it's first run.
			     -->
			    <xs:attribute name="deleteIBotAfterRun" type="xs:boolean" use="optional"/>
    			
        </xs:extension>
      </xs:complexContent>
		</xs:complexType>
	</xs:element>
	<!-- users and groups -->
	<xs:complexType name="recipientType">
		<xs:attribute name="name" use="required"/>
		<xs:attribute name="guid" use="required"/>
	</xs:complexType>
	<!-- Supports ticking zero or more months from the possible twelve months -->
	<xs:complexType name="monthsType">
		<xs:attribute name="jan" type="xs:boolean" use="optional" default="false"/>
		<xs:attribute name="feb" type="xs:boolean" use="optional" default="false"/>
		<xs:attribute name="mar" type="xs:boolean" use="optional" default="false"/>
		<xs:attribute name="apr" type="xs:boolean" use="optional" default="false"/>
		<xs:attribute name="may" type="xs:boolean" use="optional" default="false"/>
		<xs:attribute name="jun" type="xs:boolean" use="optional" default="false"/>
		<xs:attribute name="jul" type="xs:boolean" use="optional" default="false"/>
		<xs:attribute name="aug" type="xs:boolean" use="optional" default="false"/>
		<xs:attribute name="sep" type="xs:boolean" use="optional" default="false"/>
		<xs:attribute name="oct" type="xs:boolean" use="optional" default="false"/>
		<xs:attribute name="nov" type="xs:boolean" use="optional" default="false"/>
		<xs:attribute name="dec" type="xs:boolean" use="optional" default="false"/>
	</xs:complexType>
	<!-- Define a month schedule by selecting day of week and weeks -->
	<xs:complexType name="monthlyDayOfWeekType">
		<xs:attribute name="day" use="required">
			<xs:simpleType>
				<xs:restriction base="xs:string">
					<xs:enumeration value="mon"/>
					<xs:enumeration value="tue"/>
					<xs:enumeration value="wed"/>
					<xs:enumeration value="thu"/>
					<xs:enumeration value="fri"/>
					<xs:enumeration value="sat"/>
					<xs:enumeration value="sun"/>
				</xs:restriction>
			</xs:simpleType>
		</xs:attribute>
		<xs:attribute name="first" type="xs:boolean" use="optional" default="false"/>
		<xs:attribute name="second" type="xs:boolean" use="optional" default="false"/>
		<xs:attribute name="third" type="xs:boolean" use="optional" default="false"/>
		<xs:attribute name="fourth" type="xs:boolean" use="optional" default="false"/>
		<xs:attribute name="last" type="xs:boolean" use="optional" default="false"/>
	</xs:complexType>
	<!-- Define a month schedule by selecting dates  -->
	<xs:complexType name="monthlyDateType">
		<xs:sequence maxOccurs="31">
			<xs:element name="dayOfMonth">
				<xs:complexType>
					<xs:attribute name="value" use="required">
						<xs:simpleType>
							<xs:restriction base="xs:integer">
								<xs:minInclusive value="1"/>
								<xs:maxInclusive value="31"/>
							</xs:restriction>
						</xs:simpleType>
					</xs:attribute>
				</xs:complexType>
			</xs:element>
		</xs:sequence>
	</xs:complexType>
	<!-- Define the whole schedule of an agent -->
	<xs:complexType name="scheduleType">
		<xs:sequence>
			<xs:element name="start" minOccurs="0">
				<xs:complexType>
					<xs:attribute name="startImmediately" type="xs:boolean" default="false"/>
					<xs:attribute name="date" type="xs:date" use="optional"/>
					<xs:attribute name="time" type="xs:time" use="optional"/>
					<xs:attribute name="repeatMinuteInterval" type="xs:integer" use="optional"/>
					<xs:attribute name="endTime" type="xs:time" use="optional"/>
					<!-- UI folks please uncomment after the bug is fixed at the UI end .. and delete the one below .. search for UI again
					<xs:attribute name="timeZoneId" type="xs:string" use="optional"/> -->
				</xs:complexType>
			</xs:element>
			<xs:element name="recurrence" minOccurs="0">
				<xs:complexType>
					<xs:choice minOccurs="0">
						<xs:element name="daily">
							<xs:complexType>
								<xs:attribute name="dayInterval" type="xs:integer" use="required"/>
							</xs:complexType>
						</xs:element>
						<xs:element name="weekly">
							<xs:complexType>
								<xs:attribute name="weekInterval" type="xs:integer" use="required"/>
								<xs:attribute name="mon" type="xs:boolean" use="optional" default="false"/>
								<xs:attribute name="tue" type="xs:boolean" use="optional" default="false"/>
								<xs:attribute name="wed" type="xs:boolean" use="optional" default="false"/>
								<xs:attribute name="thu" type="xs:boolean" use="optional" default="false"/>
								<xs:attribute name="fri" type="xs:boolean" use="optional" default="false"/>
								<xs:attribute name="sat" type="xs:boolean" use="optional" default="false"/>
								<xs:attribute name="sun" type="xs:boolean" use="optional" default="false"/>
							</xs:complexType>
						</xs:element>
						<xs:element name="monthly">
							<xs:complexType>
								<xs:sequence>
									<xs:element name="months" type="saw:monthsType"/>
									<xs:choice>
										<xs:element name="monthlyDayOfWeek" type="saw:monthlyDayOfWeekType"/>
										<xs:element name="monthlyDate" type="saw:monthlyDateType"/>
									</xs:choice>
								</xs:sequence>
							</xs:complexType>
						</xs:element>
					</xs:choice>
					<xs:attribute name="runOnce" type="xs:boolean" use="optional"/>
					<xs:attribute name="endDate" type="xs:date" use="optional"/>
				</xs:complexType>
			</xs:element>
		</xs:sequence>
		<xs:attribute name="timeZoneId" type="xs:string" use="optional"/>
		<xs:attribute name="disabled" type="xs:boolean" use="optional" default="false"/>
		<!-- UI folks please delete this after the bug is fixed -->
	</xs:complexType>
	<!-- RUN AS recipient or RUN as specific user? -->
	<xs:complexType name="dataVisibilityType">
		<xs:attribute name="type" use="required">
			<xs:simpleType>
				<xs:restriction base="xs:string">
					<xs:enumeration value="recipient"/>
					<xs:enumeration value="runAsUser"/>
				</xs:restriction>
			</xs:simpleType>
		</xs:attribute>
		<xs:attribute name="runAs" type="xs:string" use="optional"/>
		<xs:attribute name="runAsGuid" type="xs:string" use="optional"/>
	</xs:complexType>
	<!-- Defines what needs to be done when the condition is satisfied versus when the condition is not satisfied-->
	<xs:complexType name="chooseType">
		<xs:sequence>
			<xs:element name="when">
				<xs:complexType>
                    <!-- Need 'all' not 'sequence' since order may vary on 10g upgrade -->
					<xs:all>
						<xs:element name="deliveryContent" type="saw:deliveryContentType"/>
						<xs:element name="postActions" type="saw:postActionsType"/>
					</xs:all>
					<xs:attribute name="condition" type="xs:boolean" use="required"/>
				</xs:complexType>
			</xs:element>
			<xs:element name="otherwise">
				<xs:complexType>
                    <!-- Need 'all' not 'sequence' since order may vary on 10g upgrade -->
					<xs:all minOccurs="0">
						<xs:element name="deliveryContent" minOccurs="0">
							<xs:complexType>
								<xs:sequence>
									<xs:element name="message" minOccurs="0">
										<xs:complexType>
											<xs:sequence>
												<xs:element ref="saw:caption"/>
											</xs:sequence>
										</xs:complexType>
									</xs:element>
								</xs:sequence>
							</xs:complexType>
						</xs:element>
						<xs:element name="postActions" type="saw:postActionsType" minOccurs="0"/>
					</xs:all>
				</xs:complexType>
			</xs:element>
		</xs:sequence>
	</xs:complexType>
	<!-- Defines what data is included in the agent delivery. We need to make this schema better ... ex if disposition attribute is "attachment" then attachmentMessage is allowed. If
	Disposition is inline then message is allowed. Right now the schema seems to indicate that any one is allowed -->
	
	<xs:complexType name="deliveryContentType">
		<xs:all>
			<xs:element name="headline" minOccurs="0">
				<xs:complexType>
					<xs:sequence>
						<xs:element ref="saw:caption"/>
					</xs:sequence>
				</xs:complexType>
			</xs:element>
			<xs:element ref="saw:reportRef" minOccurs="0"/>
			<xs:element name="dashboardPageRef" minOccurs="0">
				<xs:complexType>
					<xs:attribute name="dashboard" type="xs:string" use="required"/>
					<xs:attribute name="page" type="xs:string" use="required"/>
					<xs:attribute name="entireDashboard" type="xs:string"/>
				</xs:complexType>
			</xs:element>
			<xs:element name="conditionalReport" minOccurs="0">
			    <!-- Use the underlying conditional request as the content. 
			         Can have an optional narrative format, and/or filterOverrides -->
				<xs:complexType>
					<xs:sequence minOccurs="0">
                        <xs:element name="narrative" type="saw:narrativeType" minOccurs="0"/>
						<xs:element ref="saw:filterOverrides" minOccurs="0"/>
					</xs:sequence>
				</xs:complexType>
			</xs:element>
			<xs:element name="briefingBook" minOccurs="0">
				<xs:complexType>
					<xs:attribute name="path" type="xs:string" use="required"/>
				</xs:complexType>
			</xs:element>            
			<xs:element name="disconnectedAppCube" minOccurs="0">
				<xs:complexType>
					<xs:attribute name="name" type="xs:string" use="required"/>
					<xs:attribute name="dataset" type="xs:string" use="required"/>
				</xs:complexType>
			</xs:element>
			<xs:element name="attachmentMessage" minOccurs="0">
				<xs:complexType>
					<xs:sequence>
						<xs:element ref="saw:caption" minOccurs="0"/>
					</xs:sequence>
				</xs:complexType>
			</xs:element>
			<xs:element name="message" minOccurs="0">
				<xs:complexType>
					<xs:sequence>
						<xs:element ref="saw:caption" minOccurs="0"/>
					</xs:sequence>
				</xs:complexType>
			</xs:element>
		</xs:all>
		<xs:attribute name="format" use="optional">
			<xs:simpleType>
				<xs:restriction base="xs:string">
					<xs:enumeration value="pdf"/>
					<xs:enumeration value="excel"/>
               <xs:enumeration value="excel2007"/>
					<xs:enumeration value="csv"/>
					<xs:enumeration value="html"/>
					<xs:enumeration value="text"/>
					<xs:enumeration value="powerpoint"/>
					<xs:enumeration value="powerpoint2007"/>
					<xs:enumeration value="comma"/>
				</xs:restriction>
			</xs:simpleType>
		</xs:attribute>
		<xs:attribute name="disposition" use="optional">
			<xs:simpleType>
				<xs:restriction base="xs:string">
					<xs:enumeration value="deviceDefault"/>
					<xs:enumeration value="attachment"/>
					<xs:enumeration value="inline"/>
					<xs:enumeration value="link"/>
				</xs:restriction>
			</xs:simpleType>
		</xs:attribute>
		<!-- Need 'all' not 'sequence' since order varies.  Should have the report, conditional report, briefing book, and page ref in their own element (eg dataContent) 
	         They could then be a choice.  We cannot have a choice embedded in an all.
	      -->
	</xs:complexType>
	<!-- Post actions include java actions etc, as well as ibot chaining -->
	<xs:complexType name="postActionsType">
      <xs:sequence minOccurs="0" maxOccurs="unbounded">
         <xs:choice>
            <xs:element name="action" type="saw:actionType" />
            <xs:element name="reference">
               <xs:complexType>
                  <xs:sequence>
                     <xs:element name="assignments" type="saw:assignmentsType" minOccurs="0"/>
                  </xs:sequence>
                  <xs:attribute name="path" type="xs:string" use="required"/>
                  <xs:attribute name="executePerRow" type="xs:boolean" use="optional"/>
               </xs:complexType>
            </xs:element>
         </xs:choice>
      </xs:sequence>
   </xs:complexType>
	<!-- Defines the delivery narrative content -->
	<xs:complexType name="narrativeType">
		<xs:sequence>
			<xs:element name="caption">
				<xs:complexType>
					<xs:sequence>
						<xs:element name="text"/>
					</xs:sequence>
				</xs:complexType>
			</xs:element>
		</xs:sequence>
	</xs:complexType>
	<!--  Defines the delivery destination for the iBot-->
	<xs:complexType name="deliveryDestinationsType">
		<xs:sequence>
			<xs:element name="destination" minOccurs="0" maxOccurs="8">
				<xs:complexType>
					<xs:attribute name="category" use="required">
						<xs:simpleType>
							<xs:restriction base="xs:string">
								<xs:enumeration value="pcemail"/>
								<xs:enumeration value="dashboard"/>
								<xs:enumeration value="pager"/>
								<xs:enumeration value="mobilePhone"/>
								<xs:enumeration value="activeDeliveryProfile"/>
								<xs:enumeration value="sasCache"/>
								<xs:enumeration value="dacCache"/>
								<xs:enumeration value="pda"/>
                                <xs:enumeration value="serverFile"/>
							</xs:restriction>
						</xs:simpleType>
					</xs:attribute>
				</xs:complexType>
			</xs:element>
			<!-- uniqueness defined by destinationCategory unique key constraint.
		         0 destinations are allowed since a user may only want the actions (eg chaining) 
		         -->
		</xs:sequence>
	</xs:complexType>
	<!-- Specifies the recipients/subscribers of the ibot -->
	<xs:complexType name="recipientsType">
		<xs:all>
			<xs:element name="specificRecipients" minOccurs="0">
				<xs:complexType>
					<xs:sequence minOccurs="0" maxOccurs="unbounded">
						<xs:choice>
							<xs:element name="user" type="saw:recipientType"/>
							<xs:element name="group" type="saw:recipientType"/>
						</xs:choice>
					</xs:sequence>
				</xs:complexType>
			</xs:element>
			<xs:element name="subscribers" minOccurs="0">
				<xs:complexType>
					<xs:sequence>
						<xs:element name="user" minOccurs="0" maxOccurs="unbounded">
							<xs:complexType>
								<xs:attribute name="name" use="required"/>
								<xs:attribute name="guid" use="required"/>
								<xs:attribute name="subscriptionid" use="optional"/>
							</xs:complexType>
						</xs:element>
					</xs:sequence>
				</xs:complexType>
			</xs:element>
			<xs:element name="dynamicRecipients" minOccurs="0">
				<xs:complexType>
					<xs:sequence>
						<xs:element name="recipientColumn" maxOccurs="2">
							<xs:complexType>
								<xs:attribute name="columnID" type="xs:string" use="required"/>
							</xs:complexType>
						</xs:element>
					</xs:sequence>
					<xs:attribute name="relevantRows" type="xs:boolean" use="required"/>
				</xs:complexType>
			</xs:element>
		</xs:all>
		<xs:attribute name="specificRecipients" type="xs:boolean"/>
		<xs:attribute name="dynamicRecipients" type="xs:boolean"/>
		<xs:attribute name="subscribers" type="xs:boolean"/>
		<xs:attribute name="customize" type="xs:boolean"/>
		<!-- use all not sequence since can only have 0 or 1 of each, and in some old ibots 
	         order of the elements varies.  -->
		<!-- For consistency, all are optional -->
	</xs:complexType>
	<!-- Specifies the direct email recipients of the ibot.  This allows an ibot to be delivered to 
	     people who are not BI EE users. 
	  -->
	<xs:complexType name="emailRecipientsType">
		<xs:sequence>
			<xs:element name="emailRecipient" minOccurs="0" maxOccurs="unbounded">
				<xs:complexType>
					<xs:attribute name="address" use="required"/>
					<xs:attribute name="type" use="required"/>
				</xs:complexType>
			</xs:element>
		</xs:sequence>
	</xs:complexType>
</xs:schema>