Example 5-8: The xml helper package specification

CREATE OR REPLACE PACKAGE xml AS

  -- Set HTTP proxy server in case you reference documents
  -- or DTD's outside a corporate firewall

  PROCEDURE setHttpProxy(machinename VARCHAR2,
                         port        VARCHAR2 := '80');

  -- Parse and return an XML document

  FUNCTION parse(xml VARCHAR2) RETURN xmldom.DOMDocument;
  FUNCTION parse(xml CLOB)     RETURN xmldom.DOMDocument;
  FUNCTION parse(xml BFILE)    RETURN xmldom.DOMDocument;

  -- Parse and return an XML Document by URL

  FUNCTION parseURL(url VARCHAR2) RETURN xmldom.DOMDocument;

  -- Free the memory used by an XML document

  PROCEDURE freeDocument(doc xmldom.DOMDocument);
  
END;