1 PACKAGE dbms_xmlgen AUTHID CURRENT_USER AS
2
3 -- context handle
4 SUBTYPE ctxHandle IS NUMBER;
5 SUBTYPE ctxType IS NUMBER;
6 SUBTYPE conversionType IS NUMBER;
7
8 TYPE PARAM_HASH IS TABLE OF VARCHAR2(100) INDEX BY VARCHAR2(32);
9
10 -- DTD or schema specifications
11 NONE CONSTANT NUMBER := 0;
12 DTD CONSTANT NUMBER := 1;
13 SCHEMA CONSTANT NUMBER := 2;
14
15 -- conversion type
16 ENTITY_ENCODE CONSTANT conversionType := 0;
17 ENTITY_DECODE CONSTANT conversionType := 1;
18
19 -- constants for null handling
20 DROP_NULLS CONSTANT NUMBER := 0;
21 NULL_ATTR CONSTANT NUMBER := 1;
22 EMPTY_TAG CONSTANT NUMBER := 2;
23
24 -- procedure to create the XML document
25 FUNCTION newContext(queryString IN varchar2) RETURN ctxHandle;
26
27 FUNCTION newContext(queryString IN SYS_REFCURSOR) RETURN ctxHandle;
28
29 FUNCTION newContextFromHierarchy(queryString IN varchar2) RETURN ctxHandle;
30
31 -- set the row tag name
32 PROCEDURE setRowTag(ctx IN ctxHandle, rowTagName IN varchar2);
33
34 -- set the rowset tag name
35 PROCEDURE setRowSetTag(ctx IN ctxHandle, rowSetTagName IN varchar2);
36
37 -- XSLT support
38 PROCEDURE setXSLT(ctx IN ctxType, stylesheet IN CLOB);
39 PROCEDURE setXSLT(ctx IN ctxType, stylesheet IN XMLType);
40 PROCEDURE setXSLT(ctx IN ctxType, uri IN VARCHAR2);
41 PROCEDURE setXSLTParam(ctx IN ctxType,name IN VARCHAR2,value IN VARCHAR2);
42 PROCEDURE removeXSLTParam(ctx IN ctxType, name IN VARCHAR2);
43
44 PROCEDURE getXML(ctx IN ctxHandle, tmpclob IN OUT NOCOPY clob,
45 dtdOrSchema IN number := NONE);
46
47 FUNCTION getXML(ctx IN ctxHandle, dtdOrSchema IN number := NONE)
48 RETURN clob;
49
50 FUNCTION getXML(sqlQuery IN VARCHAR2, dtdOrSchema IN NUMBER := NONE)
51 RETURN CLOB;
52
53 PROCEDURE getXMLType(ctx IN ctxHandle, tmpxmltype IN OUT NOCOPY xmltype,
54 dtdOrSchema IN number := NONE);
55
56 FUNCTION getXMLType(ctx IN ctxHandle, dtdOrSchema IN number:= NONE)
57 RETURN sys.XMLType;
58
59 FUNCTION getXMLType(sqlQuery IN VARCHAR2, dtdOrSchema IN NUMBER := NONE)
60 RETURN sys.XMLType;
61
62 -- returns the number of rows processed by the last call to getXML()
63 FUNCTION getNumRowsProcessed(ctx IN ctxHandle) RETURN number;
64
65 PROCEDURE setMaxRows(ctx IN ctxHandle, maxRows IN number);
66 PROCEDURE setSkipRows(ctx IN ctxHandle, skipRows IN number);
67
68 -- This procedure sets whether you want to replace characters such as
69 -- <. > etc.. by their codes. (lt;, gt; etc..)
70 PROCEDURE setConvertSpecialChars(ctx IN ctxHandle, replace IN boolean);
71
72 -- This procedure sets whether you want to check for invalid characters
73 -- such as the null character.
74 PROCEDURE setCheckInvalidChars(ctx IN ctxHandle, chk IN boolean);
75
76 -- This forces the use of the _ITEM for collectionitems. The default is to
77 -- set the underlying object type name for collection base elements.
78 PROCEDURE useItemTagsForColl(ctx IN ctxHandle);
79
80 -- reset the query to start fetching from the begining
81 PROCEDURE restartQuery(ctx IN ctxHandle);
82
83 PROCEDURE closeContext(ctx IN ctxHandle);
84
85 -- conversion functions
86 FUNCTION convert(xmlData IN varchar2, flag IN NUMBER := ENTITY_ENCODE)
87 return varchar2;
88
89 FUNCTION convert(xmlData IN CLOB, flag IN NUMBER := ENTITY_ENCODE)
90 return CLOB;
91
92 -- This procedure sets how you want nulls handled during generation
93 PROCEDURE setNullHandling(ctx IN ctxHandle, flag IN NUMBER);
94
95 PROCEDURE useNullAttributeIndicator(ctx IN ctxHandle,
96 attrind IN boolean := TRUE);
97
98 PROCEDURE setBindValue(ctx IN ctxHandle, bindName IN VARCHAR2,
99 bindValue IN VARCHAR2);
100
101 PROCEDURE clearBindValues(ctx IN ctxHandle);
102
103 -- Procedures for setting pretty print settings
104 PROCEDURE setPrettyPrinting(ctx IN ctxHandle, pp IN boolean);
105 PROCEDURE setIndentationWidth(ctx IN ctxHandle, width IN NUMBER);
106
107 END dbms_xmlgen;