Skip to main content

Notice: this Wiki will be going read only early in 2024 and edits will no longer be possible. Please see: https://gitlab.eclipse.org/eclipsefdn/helpdesk/-/wikis/Wiki-shutdown-plan for the plan.

Jump to: navigation, search

ALF/architecture/ALF Schemas/ALFEventBase M7.xsd

ALFEventBase_M7.xsd

WARNING: OBSOLETE DO NOT USE


<?xml version="1.0" encoding="UTF-8"?>
<xs:schema
	xmlns:xs="http://www.w3.org/2001/XMLSchema"
	xmlns="http://www.eclipse.org/alf/schema/EventBase/M7"
	targetNamespace="http://www.eclipse.org/alf/schema/EventBase/M7"
	elementFormDefault="qualified"
	attributeFormDefault="unqualified"
	version="1.0">
	<xs:annotation>
		<xs:documentation>
		WARNING: PRELIMINARY VERSION DO NOT USE
		</xs:documentation>
	</xs:annotation>
	<xs:annotation>
		<xs:documentation>
		Copyright Notice
		The material in this document is Copyright (c) Serena Software, Inc. and others, 2005, 2006
		Terms and Conditions:
		The Eclipse Foundation makes available all content in this document ("Content").
		Unless otherwise indicated below, the Content is provided to you under the terms
		and conditions of the Eclipse Public License Version 1.0 ("EPL").
		A copy of the EPL is available at http://www.eclipse.org/legal/epl-v10.html.
		For purposes of the EPL, "Program" will mean the Content.
		If you did not receive this Content directly from the Eclipse Foundation, the
		Content is being redistributed by another party ("Redistributor") and different
		terms and conditions may apply to your use of any object code in the Content.
		Check the Redistributor's license that was provided with the Content.
		If you did not receive any such license, contact the Redistributor.
		Unless otherwise indicated below, the terms and conditions of the EPL still apply to the Content.
		</xs:documentation>
	</xs:annotation>
	<!-- Begin EventBaseTypes -->
	<xs:complexType name="EventBaseType">
		<xs:annotation>
			<xs:documentation>
        EventBaseType is a container for that portion of an ALF Event that is
        generally set by the Tool that raises the event.
      </xs:documentation>
		</xs:annotation>
		<xs:sequence>
			<xs:element name="EventId" type="EventIdType"/>
			<xs:element name="Timestamp" type="TimestampType"/>
			<xs:element name="EventType" type="EventTypeType"/>
			<xs:element name="ObjectType" type="ObjectTypeType"/>
			<xs:element name="ObjectId" type="ObjectIdType"/>
			<xs:element name="Source" type="SourceType"/>
			<xs:element name="User" type="UserType"/>
			<xs:element name="EventControl" type="EmBaseType" minOccurs="0" maxOccurs="1"/>
			<xs:element name="BaseExtension" type="BaseExtensionType" minOccurs="0"/>
		</xs:sequence>
		<xs:attribute name="Version" type="xs:string" fixed="1.0"/>
		<xs:anyAttribute/>
	</xs:complexType>
	<xs:complexType name="EmBaseType">
		<xs:annotation>
			<xs:documentation>
        EventControlType is a container for that portion of an ALF Event that is
        generally set by the ALF EventManager.
        In some cases, ALF compliant tools may set some fields, in particular when the event is a result
        of an ALF service call to that tool from a ServiceFlow.
      </xs:documentation>
		</xs:annotation>
		<xs:sequence>
			<xs:element name="EmEventId" type="xs:string"/>
			<xs:element name="EmTimestamp" type="TimestampType"/>
			<xs:element name="PredecedingEmEventId" type="EventIdType"/>
			<xs:element name="ApplicationName" type="ApplicationNameType"/>
			<xs:element name="ServiceFlowId" type="ServiceFlowIdType"/>
			<xs:element name="Environment" type="EnvironmentType"/>
			<xs:element name="EmUser" type="UserType"/>
			<xs:element name="EmExtension" type="EmExtensionType" minOccurs="0"/>
		</xs:sequence>
		<xs:anyAttribute/>
	</xs:complexType>
	<xs:simpleType name="EventIdType">
		<xs:annotation>
			<xs:documentation> A UUID that uniquely identifies the Event instance.</xs:documentation>
		</xs:annotation>
		<xs:restriction base="xs:string">
			<xs:maxLength value="36"/>
		</xs:restriction>
	</xs:simpleType>
	<xs:simpleType name="ServiceFlowIdType">
		<xs:annotation>
			<xs:documentation>
        A UUID that uniquely identifies the ServiceFlow instance.
        </xs:documentation>
		</xs:annotation>
		<xs:restriction base="xs:string">
			<xs:maxLength value="36"/>
		</xs:restriction>
	</xs:simpleType>
	<xs:simpleType name="TimestampType">
		<xs:annotation>
			<xs:documentation>
        The date and timestamp when the EventManager received the Event.
        This element may be left empty by the event emitter, in which case,
        the Event Manager will supply a value.
      </xs:documentation>
		</xs:annotation>
		<xs:restriction base="xs:dateTime"/>
	</xs:simpleType>
	<xs:simpleType name="EventTypeType">
		<xs:annotation>
			<xs:documentation>
        A string indicating the type of event.  EventType designates the verb.
        That is what action happened to the Objects that triggered the event.
      </xs:documentation>
		</xs:annotation>
		<xs:restriction base="xs:string"/>
	</xs:simpleType>
	<!-- =============  Object that triggered the event  ============= -->
	<xs:simpleType name="ObjectIdType">
		<xs:annotation>
			<xs:documentation>
         An ObjectId identifies the entity or relationship that changed within a tool.
         The identifier must be unique for a particular instance of the source tool.
         The format of this element will not be standardized by ALF.
         The primary purpose is to allow subsequent ServiceFlows to uniquely identify
         (and perhaps access) the object that triggered the event.
      </xs:documentation>
		</xs:annotation>
		<xs:restriction base="xs:string"/>
	</xs:simpleType>
	<xs:simpleType name="ObjectTypeType">
		<xs:annotation>
			<xs:documentation>
         The type of entity involved. Note that the word entity is taken in
         its broadest sense, referring to whatever artifact a tool was operating on.
         For example, for a data modeling tool, an E-R relationship is a type of
         entity (i.e., and ObjectType) to ALF.  
      </xs:documentation>
		</xs:annotation>
		<xs:restriction base="xs:string"/>
	</xs:simpleType>
	<!-- =============  The source (i.e, tool or product) that emitted the event  ============= -->
	<xs:complexType name="SourceType">
		<xs:annotation>
			<xs:documentation>
         A Source element is a container type that describes the source of the event.
         ProductCallbackURI is optional for tools that don't provide a listener to
         accept the callback from a tool or serviceflow at a later time.
      </xs:documentation>
		</xs:annotation>
		<xs:sequence>
			<xs:element name="Product" type="ProductType"/>
			<xs:element name="ProductVersion" type="ProductVersionType"/>
			<xs:element name="ProductInstance" type="ProductInstanceType"/>
			<xs:element name="ProductCallbackURI" type="ProductCallbackURIType" nillable="true" minOccurs="0"/>
		</xs:sequence>
	</xs:complexType>
	<xs:simpleType name="ProductType">
		<xs:annotation>
			<xs:documentation>
         A descriptive name for the tool (i.e., program) that emitted the Event. Note that
         this is a datatype for a Product element.
      </xs:documentation>
		</xs:annotation>
		<xs:restriction base="xs:string"/>
	</xs:simpleType>
	<xs:simpleType name="ProductCallbackURIType">
		<xs:annotation>
			<xs:documentation>
        The web service endpoint for tools that support callbacks from
        ServiceFlows for additional information.
        The element content is optional for transient tools that may not be running
        at a later time, and so cannot accept a callback.
        Constantly running (server) tools that support callbacks should supply a URI.
      </xs:documentation>
		</xs:annotation>
		<xs:restriction base="xs:string"/>
	</xs:simpleType>
	<xs:simpleType name="ProductInstanceType">
		<xs:annotation>
			<xs:documentation>
        A unique string identifying the instance of the tool.
        This is useful when there may be multiple instances of a product working
        within an instance of ALF.
      </xs:documentation>
		</xs:annotation>
		<xs:restriction base="xs:string"/>
	</xs:simpleType>
	<xs:simpleType name="ProductVersionType">
		<xs:annotation>
			<xs:documentation>
        The release version of the product, such as 5.06
      </xs:documentation>
		</xs:annotation>
		<xs:restriction base="xs:string"/>
	</xs:simpleType>
	<!-- ======  The user (or userid) providing the context when the event occurred  ======= -->
	<xs:complexType name="UserType">
		<xs:annotation>
			<xs:documentation>
        A container for elements that identify the end user and his/her credentials.
        Note on possible future change: As the ALF Security work is progressing, we may eliminate
        the Credentials element here and move it to the SOAP Header.
      </xs:documentation>
		</xs:annotation>
		<xs:sequence>
			<xs:element name="CommonName" type="CommonNameType" nillable="true"/>
			<xs:element name="LoginID" type="LoginIDType"/>
			<xs:element name="Credentials" type="CredentialsType" nillable="true"/>
		</xs:sequence>
	</xs:complexType>
	<xs:simpleType name="CommonNameType">
		<xs:annotation>
			<xs:documentation>
        The first name and surname name of the user. The exact format may
        vary from locale to locale.
        If the emitting tool does not know this information, the element is optional.
      </xs:documentation>
		</xs:annotation>
		<xs:restriction base="xs:string"/>
	</xs:simpleType>
	<xs:simpleType name="LoginIDType">
		<xs:annotation>
			<xs:documentation>
        The ID of the user when they authenticated to the tool that emitted the event.
        For tools running under the control of a ServiceFlow, the LoginID will be the
        user id presented by the ServiceFlow.
      </xs:documentation>
		</xs:annotation>
		<xs:restriction base="xs:string"/>
	</xs:simpleType>
	<xs:complexType name="CredentialsType">
		<xs:annotation>
			<xs:documentation>
        A Credentials element contains the security credentials that may be passed among
        tools that operate as part of a ServiceFlow.
        ALF SSO leverages WS-Security which passes credential information as part ot hte SOAP header.  
        When ALF SSO is use this Credential element should be unecessary and will be nilled
        When ALF SSO is not being used or there are mixed security methods, the credential field may be used to pass a security credential 
        through the event to the service flow.
        If present this element may be encrypted.
      </xs:documentation>
		</xs:annotation>
		<xs:sequence>
			<xs:any minOccurs="0" maxOccurs="unbounded"/>
		</xs:sequence>
	</xs:complexType>
	<xs:simpleType name="ApplicationNameType">
		<xs:annotation>
			<xs:documentation>
         The name of the ALF application to which this event belongs.  Depending on the emitting tool, events may or may not be associated with an ALF application.
         If the emitting tool has the information available then it can provide the ALF ApplicationName as an additional information to distinguish the event.
      </xs:documentation>
		</xs:annotation>
		<xs:restriction base="xs:string"/>
	</xs:simpleType>
	<xs:simpleType name="EnvironmentType">
		<xs:annotation>
			<xs:documentation>
         The name of the environment in which this event is being raised.  This element will be set by the ALF Event manager from its installation configuration.
      </xs:documentation>
		</xs:annotation>
		<xs:restriction base="xs:string"/>
	</xs:simpleType>
	<xs:simpleType name="ALFSchemaVersionType">
		<xs:restriction base="xs:string">
			<xs:pattern value="\p{Nd}\.\p{Nd}"/>
			<xs:enumeration value="1.0"/>
		</xs:restriction>
	</xs:simpleType>

	<xs:complexType name="BaseExtensionType">
		<xs:annotation>
				<xs:documentation>
			 Place holder type for future extensions of BaseExtensionType
		  </xs:documentation>
		</xs:annotation>
		<xs:sequence>
			<xs:any namespace="targetnamespace" maxOccurs="unbounded"/>
		</xs:sequence>
		<xs:anyAttribute/>
	</xs:complexType>
	<xs:complexType name="EmExtensionType">
		<xs:annotation>
				<xs:documentation>
			 Place holder type for future extensions of EmBaseType
		  </xs:documentation>
		</xs:annotation>
		<xs:sequence>
			<xs:any namespace="targetnamespace" maxOccurs="unbounded"/>
		</xs:sequence>
		<xs:anyAttribute/>
	</xs:complexType>
	<xs:complexType name="ExtensionType">
		<xs:annotation>
				<xs:documentation>
			 Place holder type for Event payload "extensions"
		  </xs:documentation>
		</xs:annotation>
		<xs:sequence>
			<xs:any namespace="##other" maxOccurs="unbounded"/>
		</xs:sequence>
		<xs:anyAttribute/>
	</xs:complexType>
	<!-- End EventBaseTypes -->
	<!--  BEGIN ALFEvent -->
	<xs:complexType name="ALFEventType">
		<xs:sequence>
			<xs:element name="Base" type="EventBaseType"/>
			<xs:element name="Detail" type="ExtensionType" minOccurs="0"/>
			<xs:element name="Extension" type="ExtensionType" minOccurs="0"/>
			<xs:any namespace="##other" processContents="lax" minOccurs="0" maxOccurs="unbounded"/>
		</xs:sequence>
		<xs:attribute name="version" type="ALFSchemaVersionType" default="1.0"/>
	</xs:complexType>
	<xs:complexType name="ALFEventResponseType">
		<xs:sequence>
			<xs:any minOccurs="0"/>
		</xs:sequence>
	</xs:complexType>
	<xs:complexType name="ALFEventWithReplyResponseType">
		<xs:sequence>
			<xs:any minOccurs="0"/>
		</xs:sequence>
	</xs:complexType>
	<!--  END ALFEvent -->
	<!-- Event Notice -->
	<xs:element name="EventNotice" type="ALFEventType"/>
	<xs:element name="EventNoticeResponse" type="ALFEventResponseType"/>
	<xs:element name="EventNoticeWithReply" type="ALFEventType"/>
	<xs:element name="EventNoticeWithReplyResponse" type="ALFEventWithReplyResponseType"/>
</xs:schema>

Back to the top