1 PACKAGE XS_NAMESPACE AUTHID CURRENT_USER AS
2
3 -- Attribute event
4 NO_EVENT CONSTANT PLS_INTEGER := 0;
5 FIRSTREAD_EVENT CONSTANT PLS_INTEGER := 1;
6 UPDATE_EVENT CONSTANT PLS_INTEGER := 2;
7 FIRSTREAD_PLUS_UPDATE_EVENT CONSTANT PLS_INTEGER := 3;
8
9 -- Enable log based replication for this package
10 PRAGMA SUPPLEMENTAL_LOG_DATA(default, AUTO);
11
12 -- Document creation API. Only name is mandatory input.
13 PROCEDURE CREATE_TEMPLATE
14 (name IN VARCHAR2,
15 attr_list IN XS$NS_ATTRIBUTE_LIST := NULL,
16 schema IN VARCHAR2 := NULL,
17 package IN VARCHAR2 := NULL,
18 function IN VARCHAR2 := NULL,
19 acl IN VARCHAR2 := 'SYS.NS_UNRESTRICTED_ACL',
20 description IN VARCHAR2 := NULL
21 );
22
23 -- Set handler for attribute events
24 PROCEDURE SET_HANDLER
25 (template IN VARCHAR2,
26 schema IN VARCHAR2,
27 package IN VARCHAR2,
28 function IN VARCHAR2
29 );
30
31 -- Add a attribute to the namespace template
32 PROCEDURE ADD_ATTRIBUTES
33 (template IN VARCHAR2,
34 attribute IN VARCHAR2,
35 default_value IN VARCHAR2 := NULL,
36 attribute_events IN PLS_INTEGER := XS_NAMESPACE.NO_EVENT);
37
38 -- Add a list of attributes to the namespace template
39 PROCEDURE ADD_ATTRIBUTES
40 (template IN VARCHAR2,
41 attr_list IN XS$NS_ATTRIBUTE_LIST);
42
43 -- Remove all attributes to the namespace template
44 PROCEDURE REMOVE_ATTRIBUTES
45 (template IN VARCHAR2);
46
47 -- Remove a single attribute from the namespace template
48 PROCEDURE REMOVE_ATTRIBUTES
49 (template IN VARCHAR2,
50 attribute IN VARCHAR2);
51
52 -- Remove a list of attribute from the namespace template
53 PROCEDURE REMOVE_ATTRIBUTES
54 (template IN VARCHAR2,
55 attr_list IN XS$LIST);
56
57 -- Set description
58 PROCEDURE SET_DESCRIPTION
59 (template IN VARCHAR2,
60 description IN VARCHAR2);
61
62 -- Delete the namespace template
63 PROCEDURE DELETE_TEMPLATE
64 (template IN VARCHAR2,
65 delete_option IN PLS_INTEGER:=XS_ADMIN_UTIL.DEFAULT_OPTION);
66
67 END XS_NAMESPACE;