Example 5-23: The xmlq helper package specification

CREATE OR REPLACE PACKAGE xmlq AS

  -- Exception raised when queue is empty and dequeue with no wait is attempted

  queue_empty EXCEPTION;

  PRAGMA EXCEPTION_INIT(queue_empty,-25228);

  -- Enqueue an XML document to the (raw-payload) 'queueName' queue.

  PROCEDURE enqueue( xmldoc xmldom.DOMDocument, queueName VARCHAR2 );

  -- Dequeue an XML document from the (raw-payload) 'queueName' queue.

  FUNCTION  dequeue( queueName VARCHAR2, wait BOOLEAN := TRUE )
    RETURN xmldom.DOMDocument;

END;