Oracle9i Application Developer's Guide - Advanced Queuing
Release 1 (9.0.1)

Part Number A88890-02
Go To Documentation Library
Home
Go To Product List
Book List
Go To Table Of Contents
Contents
Go To Index
Index

Master Index

Feedback

Go to previous page Go to beginning of chapter Go to next page

Internet Access to Advanced Queuing, 4 of 9


IDAP and AQ XML Schemas

IDAP exposes the IDAP schema and AQ XML schema to the client. All documents sent by the parser are validated against these schemas:

The IDAP Schema

The IDAP schema describes the structure of a document: envelope, header, and body.

<?xml version='1.0'?>
<!-- XML Schema for IDAP v 1.0 Envelope -->

<!-- Copyright (c) Oracle Corporation 2000 All Rights Reserved.  -->

<schema xmlns="http://www.w3.org/1999/XMLSchema"
        xmlns:tdsc="http://ns.oracle.com/AQ/schemas/envelope"
        targetNamespace="http://ns.oracle.com/AQ/schemas/envelope">
     
  <!-- IDAP envelope, header and body -->
  <element name="Envelope" type="tdsc:Envelope"/>
  <complexType name='Envelope'>
    <element ref='tdsc:Header' minOccurs='0'/>
    <element ref='tdsc:Body' minOccurs='1'/>
    <any minOccurs="0" maxOccurs="*" />
    <anyAttribute/>	
  </complexType>
          
  <element name="Header" type="tdsc:Header"/>
  <complexType name='Header'>
    <any minOccurs="0" maxOccurs="*" processContents="skip"/>
    <attribute name="mustUnderstand" type="tdsc:mu_type" use="optional" 
value="0"/>
  </complexType>
  
  <element name="Body" type="tdsc:Body"/>
  <complexType name='Body'>
    <any minOccurs='0' maxOccurs='*'/>
    <anyAttribute/>
  </complexType>

  <simpleType  name="mu_type" base="string">
      	<enumeration value="0"/>
      <enumeration value="1"/>
  </simpleType>
     
  <!-- IDAP fault reporting structure -->
  <complexType name='Fault' final='extension'>
    <element name='faultcode' type='string'/>
    <element name='faultstring' type='string'/>
    <element name='faultactor' type='uriReference' minOccurs='0'/>
    <element name='detail' type='tdsc:detail' minOccurs='0'/>
  </complexType>

  <complexType name='detail'>
    <any minOccurs='0' maxOccurs='*'/>
    <anyAttribute/> 
  </complexType>

</schema>

AQ XML Schema

The AQ XML schema describes the contents of the IDAP body for Internet access to AQ features.

<?xml version="1.0"?>
<!-- ****************** AQ xml schema  ****************** -->

<!-- Copyright (c) Oracle Corporation 2000 All Rights Reserved.  -->

<schema xmlns = "http://www.w3.org/1999/XMLSchema"
        targetNamespace = "http://ns.oracle.com/AQ/schemas/access"
        xmlns:aq = "http://ns.oracle.com/AQ/schemas/access"
        xmlns:xsd = "http://www.w3.org/1999/XMLSchema">

<import namespace = "http://ns.oracle.com/AQ/schemas/envelope"
        schemaLocation = "envelope.xsd" />

<!-- ****************** AQ xml client operations  ****************** -->

   <element name="AQXmlSend">
      <complexType content="mixed">
        <sequence>
           <element ref="aq:producer_options" minOccurs="1" maxOccurs="1" />
           <element ref="aq:message_set" minOccurs="1" maxOccurs="1"/>
           <element ref="aq:AQXmlCommit" minOccurs="0" maxOccurs="1"/>
        </sequence>
      </complexType>
    </element>   

   <element name="AQXmlPublish">
      <complexType content="mixed">
        <sequence>
           <element ref="aq:producer_options" minOccurs="1" maxOccurs="1" />
           <element ref="aq:message_set" minOccurs="1" maxOccurs="1"/>
           <element ref="aq:AQXmlCommit" minOccurs="0" maxOccurs="1"/>
        </sequence>
      </complexType>
    </element>   

   <element name="AQXmlReceive">
      <complexType content="mixed">
        <sequence>
           <element ref="aq:consumer_options" minOccurs="1" maxOccurs="1" />
           <element ref="aq:AQXmlCommit" minOccurs="0" maxOccurs="1"/>
        </sequence>
      </complexType>
   </element>   

   <element name="AQXmlRegister">
      <complexType content="mixed">
        <sequence>
           <element ref="aq:register_options" minOccurs="1" maxOccurs="1" />
           <element ref="aq:AQXmlCommit" minOccurs="0" maxOccurs="1"/>
        </sequence>
      </complexType>
   </element>   

   <element name="AQXmlCommit">
      <complexType content="empty">
      </complexType>
   </element>   

   <element name="AQXmlRollback">
      <complexType content="empty">
      </complexType>
   </element>   

   <!-- ****************** AQ xml server notifications ****************** -->

   <element name="AQXmlNotification">
      <complexType content="mixed">
        <sequence>
           <element ref="aq:notification_options" maxOccurs="1"/>
           <element ref="aq:message_set" minOccurs="0" maxOccurs="1"/>
        </sequence>
      </complexType>
    </element>   
 
   <!-- ****************** AQ xml server responses  ****************** -->

   <element name="AQXmlSendResponse">
      <complexType content="mixed">
        <sequence>
           <element ref="aq:status_response" minOccurs="1" maxOccurs="1"/> 
           <element ref="aq:send_result" minOccurs="0" maxOccurs="1"/>
        </sequence>
      </complexType>
    </element>   

   <element name="AQXmlPublishResponse">
      <complexType content="mixed">
        <sequence>
           <element ref="aq:status_response" minOccurs="1" maxOccurs="1"/> 
           <element ref="aq:publish_result" minOccurs="0" maxOccurs="1"/>
        </sequence>
      </complexType>
    </element>   

   <element name="AQXmlReceiveResponse">
      <complexType content="mixed">
        <sequence>
           <element ref="aq:status_response" minOccurs="1" maxOccurs="1"/> 
           <element ref="aq:receive_result" minOccurs="0" maxOccurs="1"/>
        </sequence>
      </complexType>
    </element>   

   <element name="AQXmlRegisterResponse">
      <complexType content="mixed">
           <element ref="aq:status_response" minOccurs="1" maxOccurs="1"/> 
      </complexType>
    </element>   

   <element name="AQXmlCommitResponse">
      <complexType content="mixed">
           <element ref="aq:status_response" minOccurs="1" maxOccurs="1"/> 
      </complexType>
    </element>   

   <element name="AQXmlRollbackResponse">
      <complexType content="mixed">
           <element ref="aq:status_response" minOccurs="1" maxOccurs="1"/> 
      </complexType>
    </element>   

   <element name="destination">
     <complexType base='string' derivedBy="extension">
       <attribute name="lookup_type" type="aq:dest_lookup_type" 
	           use="default" value="DATABASE"/>
     </complexType>
   </element>   		

   <!-- **** destination lookup type ******* -->
   <!-- lookup_type can be specified to either lookup LDAP or use  -->
   <simpleType name="dest_lookup_type" base="string">
      <enumeration value="DATABASE"/>
      <enumeration value="LDAP"/>
    </simpleType>

   <!-- ****************** Producer Options ****************** -->
   <element name="producer_options">
      <complexType content="mixed">
        <element ref="aq:destination" minOccurs="1" maxOccurs="1"/>   	
        <element ref="aq:visibility" minOccurs="0" maxOccurs="1"/>  
        <element ref="aq:transformation" minOccurs="0" maxOccurs="1"/>
      </complexType>
    </element>   

   <!-- ****************** Consumer Options ****************** -->
   <element name="consumer_options">
      <complexType content="mixed">
        <element ref="aq:destination" minOccurs="1" maxOccurs="1"/> 
        <element ref="aq:consumer_name" minOccurs="0" maxOccurs="1"/> 
        <element ref="aq:wait_time" minOccurs="0" maxOccurs="1"/> 
        <element ref="aq:selector" minOccurs="0" maxOccurs="1"/> 
        <element ref="aq:batch_size" minOccurs="0" maxOccurs="1"/> 
        <element ref="aq:visibility" minOccurs="0" maxOccurs="1"/>
        <element ref="aq:dequeue_mode" minOccurs="0" maxOccurs="1"/>
        <element ref="aq:navigation_mode" minOccurs="0" maxOccurs="1"/>
        <element ref="aq:transformation" minOccurs="0" maxOccurs="1"/>
       </complexType>
    </element>   

   <!-- ****************** Register Options ****************** -->
   <element name="register_options">
      <complexType content="mixed">
        <element ref="aq:destination" minOccurs="1" maxOccurs="1"/> 
        <element ref="aq:consumer_name" minOccurs="0" maxOccurs="1"/> 
        <element ref="aq:notify_url" minOccurs="1" maxOccurs="1"/> 
      </complexType>
    </element>   

   <element name="recipient_list">
     <complexType content="mixed">
	<element ref="aq:recipient" minOccurs="1" maxOccurs="*"/>
     </complexType>
   </element>   

   <!-- ****************** Message Set ************************* -->
   <element name="message_set">
      <complexType content="mixed">
        <element ref="aq:message_count" minOccurs="0" maxOccurs="1"/>
        <element ref="aq:message" minOccurs="0" maxOccurs="*"/>  
      </complexType>
   </element>   

   <!-- ****************** Message ************************* -->
   <element name="message">
      <complexType content="mixed">
        <element ref="aq:message_number" minOccurs="0" maxOccurs="1"/> 	
        <element ref="aq:message_header" minOccurs="1" maxOccurs="1"/>  
        <element ref="aq:message_payload" minOccurs="0" maxOccurs="1"/>  
      </complexType>
   </element>   

   <!-- ****************** Message header ****************** -->
   <element name="message_header">
      <complexType content="mixed">
        <element ref="aq:message_id" minOccurs="0" maxOccurs="1"/> 
        <element ref="aq:correlation" minOccurs="0" maxOccurs="1"/> 
        <element ref="aq:expiration" minOccurs="0" maxOccurs="1"/>
        <element ref="aq:delay" minOccurs="0" maxOccurs="1"/> 
        <element ref="aq:priority" minOccurs="0" maxOccurs="1"/> 
        <element ref="aq:delivery_count" minOccurs="0" maxOccurs="1"/>
        <element ref="aq:sender_id" minOccurs="1" maxOccurs="1"/>  
        <element ref="aq:recipient_list" minOccurs="0" maxOccurs="1"/> 
        <element ref="aq:message_state" minOccurs="0" maxOccurs="1"/> 
        <element ref="aq:exception_queue" minOccurs="0" maxOccurs="1"/> 
      </complexType>
    </element>   

   <!-- ****************** Oracle JMS properties ****************** -->
   <element name="oracle_jms_properties">
      <complexType content="mixed">
        <element ref="aq:type" minOccurs="0" maxOccurs="1"/> 
        <element ref="aq:reply_to" minOccurs="0" maxOccurs="1"/> 
        <element ref="aq:userid" minOccurs="0" maxOccurs="1"/> 
        <element ref="aq:appid" minOccurs="0" maxOccurs="1"/> 
        <element ref="aq:groupid" minOccurs="0" maxOccurs="1"/> 
        <element ref="aq:group_sequence" minOccurs="0" maxOccurs="1"/> 
        <element ref="aq:timestamp" minOccurs="0" maxOccurs="1"/> 
        <element ref="aq:recv_timestamp" minOccurs="0" maxOccurs="1"/> 
      </complexType>
    </element>   

   <!-- ****************** Message payload ****************** -->
   <element name="message_payload">
     <complexType>
        <choice>
          <element ref="aq:raw" minOccurs="0" maxOccurs="1"/> 
          <element ref="aq:jms_text_message" minOccurs="0" maxOccurs="1"/> 
          <element ref="aq:jms_map_message" minOccurs="0" maxOccurs="1"/> 
          <element ref="aq:jms_bytes_message" minOccurs="0" maxOccurs="1"/> 
          <element ref="aq:jms_object_message" minOccurs="0" maxOccurs="1"/> 
   	  <any minOccurs="0" maxOccurs="*" processContents="skip"/>
        </choice>
     </complexType>
   </element>   		

   <!-- ****************** User-defined properties ****************** -->
   <element name="user_properties">
      <complexType content="mixed">
        <element ref="aq:property" minOccurs="0" maxOccurs="*"/> 
      </complexType>
   </element>   

   <!-- ****************** Property  ****************** -->
   <element name="property">
      <complexType content="mixed">
        <sequence>
  	  <element ref="aq:name" minOccurs="1" maxOccurs="1"/> 
  	  <choice>
  	    <element ref="aq:int_value" minOccurs="1" maxOccurs="1"/> 
  	    <element ref="aq:string_value" minOccurs="1" maxOccurs="1"/> 
  	    <element ref="aq:long_value" minOccurs="1" maxOccurs="1"/> 
  	    <element ref="aq:double_value" minOccurs="1" maxOccurs="1"/> 
  	    <element ref="aq:boolean_value" minOccurs="1" maxOccurs="1"/> 
  	    <element ref="aq:float_value" minOccurs="1" maxOccurs="1"/> 
  	    <element ref="aq:short_value" minOccurs="1" maxOccurs="1"/> 
  	    <element ref="aq:byte_value" minOccurs="1" maxOccurs="1"/> 
  	  </choice>
        </sequence>
      </complexType>
    </element>   

   <!-- ****************** Status response ****************** -->
   <element name="status_response">
      <complexType content="mixed">
        <element ref="aq:acknowledge" minOccurs="0" maxOccurs="1"/>   	
        <element ref="aq:status_code" minOccurs="0" maxOccurs="1"/>   	
        <element ref="aq:error_code" minOccurs="0" maxOccurs="1"/>   	
        <element ref="aq:error_message" minOccurs="0" maxOccurs="1"/>  
      </complexType>
   </element>   

   <!-- ****************** Send result ****************** -->
   <element name="send_result">
      <complexType content="mixed">
        <element ref="aq:destination" minOccurs="1" maxOccurs="1"/>   	
        <element ref="aq:message_id" minOccurs="0" maxOccurs="*"/>   	
      </complexType>
   </element>   

   <!-- ****************** Publish result ****************** -->
   <element name="publish_result">
      <complexType content="mixed">
        <element ref="aq:destination" minOccurs="1" maxOccurs="1"/>   	
        <element ref="aq:message_id" minOccurs="0" maxOccurs="*"/>   	
      </complexType>
   </element>   

   <!-- ****************** Receive result ****************** -->
   <element name="receive_result">
      <complexType content="mixed">
        <element ref="aq:destination" minOccurs="1" maxOccurs="1"/>   	
        <element ref="aq:message_set" minOccurs="0" maxOccurs="*"/>   	
      </complexType>
   </element>   

   <!-- ****************** Notification *************************** -->
   <element name="notification_options">
      <complexType content="mixed">
        <element ref="aq:destination" minOccurs="1" maxOccurs="1"/>   	
        <element ref="aq:consumer_name" minOccurs="1" maxOccurs="1"/> 
      </complexType>
   </element>   

   <element name="transformation" type="string"/> 
   <element name="priority" type="integer"/>   		
   <element name="expiration" type="integer"/>   		
   <element name="consumer_name" type="string"/> 
   <element name="wait_time" type="integer"/>  
   <element name="batch_size" type="integer"/>  

   <element name="notify_url" type="string"/> 
   <element name="message_id" type="string"/> 
   <element name="message_state" type="string"/>

   <element name="message_number" type="integer"/>  
   <element name="message_count" type="integer"/>  

   <element name="correlation" type="string"/> 
   <element name="delay" type="integer"/> 
   <element name="delivery_count" type="integer"/> 
   <element name="exception_queue" type="string"/> 
   <element name="agent_alias" type="string"/>

   <element name="type" type="string"/> 
   <element name="userid" type="string"/> 
   <element name="appid" type="string"/> 
   <element name="groupid" type="string"/> 
   <element name="group_sequence" type="integer"/> 
   <element name="timestamp" type="date"/> 
   <element name="recv_timestamp" type="date"/> 

   <element name="recipient">
     <complexType>
       <choice>
         <sequence>
           <element ref="aq:agent_name" minOccurs="1" maxOccurs="1"/>
     	   <element ref="aq:address" minOccurs="0" maxOccurs="1"/>   	
           <element ref="aq:protocol" minOccurs="0" maxOccurs="1"/> 
         </sequence>
         <element ref="aq:agent_alias" minOccurs="1" maxOccurs="1"/>
       </choice>
     </complexType>
   </element>   		

   <element name="sender_id">
     <complexType>
       <choice>
         <sequence>
           <element ref="aq:agent_name" minOccurs="1" maxOccurs="1"/>
     	   <element ref="aq:address" minOccurs="0" maxOccurs="1"/>   	
           <element ref="aq:protocol" minOccurs="0" maxOccurs="1"/> 
         </sequence>
         <element ref="aq:agent_alias" minOccurs="1" maxOccurs="1"/>
       </choice>
     </complexType>
   </element>   		

   <element name="reply_to">
     <complexType>
       <choice>
         <sequence>
           <element ref="aq:agent_name" minOccurs="1" maxOccurs="1"/>
     	   <element ref="aq:address" minOccurs="0" maxOccurs="1"/>   	
           <element ref="aq:protocol" minOccurs="0" maxOccurs="1"/> 
         </sequence>
         <element ref="aq:agent_alias" minOccurs="1" maxOccurs="1"/>
       </choice>
     </complexType>
   </element>   		

   <element name="selector"> 
     <complexType>
        	<choice>
          <element ref="aq:correlation" minOccurs="0" maxOccurs="1"/> 
          <element ref="aq:message_id" minOccurs="0" maxOccurs="1"/> 
          <element ref="aq:condition" minOccurs="0" maxOccurs="1"/> 
        </choice>
     </complexType>
   </element>

   <element name="condition" type="string"/>  

   <element name="visibility">
    <simpleType base="string">
      <enumeration value="ON_COMMIT"/>
      <enumeration value="IMMEDIATE"/>
    </simpleType>
    </element>	

   <element name="dequeue_mode"> 
   <simpleType base="string">	 
      <enumeration value="BROWSE"/>
      <enumeration value="LOCKED"/>
      <enumeration value="REMOVE"/>
      <enumeration value="REMOVE_NODATA"/>
    </simpleType>
   </element>	

   <element name="navigation_mode"> 
   <simpleType base="string">
      <enumeration value="FIRST_MESSAGE"/>
      <enumeration value="NEXT_MESSAGE"/>
      <enumeration value="NEXT_TRANSACTION"/>
    </simpleType>
   </element>
 
   <element name="acknowledge">
     <complexType content="empty">
     </complexType>
   </element>   		
   <element name="status_code" type="string"/> 
   <element name="error_code" type="string"/> 
   <element name="error_message" type="string"/> 

   <element name="name" type="string"/> 
   <element name="int_value" type="integer"/> 
   <element name="string_value" type="string"/> 
   <element name="long_value" type="long"/> 
   <element name="double_value" type="double"/> 
   <element name="boolean_value" type="boolean"/> 
   <element name="float_value" type="float"/> 
   <element name="short_value" type="short"/> 
   <element name="byte_value" type="byte"/> 

   <element name="agent_name" type="string"/> 
   <element name="address" type="string"/> 
   <element name="protocol" type="integer"/> 

   <!-- ****************** RAW message *********************** -->
   <element name="raw" type="string"/> 

   <!-- ****************** JMS text message ****************** -->
   <element name="jms_text_message">
      <complexType content="mixed">
        <element ref="aq:oracle_jms_properties" minOccurs="0" maxOccurs="1"/>  
        <element ref="aq:user_properties" minOccurs="0" maxOccurs="1"/>  
        <element ref="aq:text_data" minOccurs="1" maxOccurs="1"/>  
      </complexType>
   </element>   
	
   <element name="text_data" type="string"/> 

   <!-- ****************** JMS map message ****************** -->
   <element name="jms_map_message">
      <complexType content="mixed">
        <element ref="aq:oracle_jms_properties" minOccurs="0" maxOccurs="1"/>  
        <element ref="aq:user_properties" minOccurs="0" maxOccurs="1"/>  
        <element ref="aq:map_data" minOccurs="1" maxOccurs="1"/>  
      </complexType>
   </element>   

   <!-- ****************** Map data ****************** -->
   <element name="map_data">
      <complexType content="mixed">
        <element ref="aq:item" minOccurs="0" maxOccurs="*"/> 
      </complexType>
   </element>   

   <!-- ****************** Map Item  ****************** -->
   <element name="item">
      <complexType content="mixed">
        <sequence>
  	  <element ref="aq:name" minOccurs="1" maxOccurs="1"/> 
  	  <choice>
  	    <element ref="aq:int_value" minOccurs="1" maxOccurs="1"/> 
  	    <element ref="aq:string_value" minOccurs="1" maxOccurs="1"/>
  	    <element ref="aq:long_value" minOccurs="1" maxOccurs="1"/>  
  	    <element ref="aq:double_value" minOccurs="1" maxOccurs="1"/>  
  	    <element ref="aq:boolean_value" minOccurs="1" maxOccurs="1"/>  
  	    <element ref="aq:float_value" minOccurs="1" maxOccurs="1"/>  
  	    <element ref="aq:short_value" minOccurs="1" maxOccurs="1"/>  
  	    <element ref="aq:byte_value" minOccurs="1" maxOccurs="1"/>  
  	  </choice>
        </sequence>
      </complexType>
    </element>   

   <!-- ****************** JMS bytes message ****************** -->
   <element name="jms_bytes_message">
      <complexType content="mixed">
        <element ref="aq:oracle_jms_properties" minOccurs="0" maxOccurs="1"/>  
        <element ref="aq:user_properties" minOccurs="0" maxOccurs="1"/>  
        <element ref="aq:bytes_data" minOccurs="1" maxOccurs="1"/>  
      </complexType>
   </element>   
	
   <element name="bytes_data" type="string"/> 

   <!-- ****************** JMS object message ****************** -->
   <element name="jms_object_message">
      <complexType content="mixed">
        <element ref="aq:oracle_jms_properties" minOccurs="0" maxOccurs="1"/>  
        <element ref="aq:user_properties" minOccurs="0" maxOccurs="1"/>  
        <element ref="aq:ser_object_data" minOccurs="1" maxOccurs="1"/>  
      </complexType>
   </element>   
	
   <element name="ser_object_data" type="string"/> 

   <!-- ****************** AQ xml Email Authentication  ****************** -->
   <element name="AQXmlEmailAuthentication">
      <complexType content="mixed">
        <sequence>
           <element ref="aq:user_name" minOccurs="1" maxOccurs="1" />
           <element ref="aq:encrypted_key" minOccurs="1" maxOccurs="1"/>
           <element ref="aq:hashed_session_key" minOccurs="1" maxOccurs="1"/>
           <element ref="aq:encrypt_algorithm" minOccurs="1" maxOccurs="1"/>
           <element ref="aq:hashing_algorithm" minOccurs="1" maxOccurs="1"/>
        </sequence>
      </complexType>
    </element>   

   <element name="user_name"          type="string"/>
   <element name="encrypted_key"      type="string"/>
   <element name="hashed_session_key" type="string"/>
   <element name="encrypt_algorithm"  type="string"/>
   <element name="hashing_algorithm"  type="string"/>

</schema>

Go to previous page Go to beginning of chapter Go to next page
Oracle
Copyright © 1996-2001, Oracle Corporation.

All Rights Reserved.
Go To Documentation Library
Home
Go To Product List
Book List
Go To Table Of Contents
Contents
Go To Index
Index

Master Index

Feedback