1 PACKAGE DBMS_XMLSCHEMA_ANNOTATE authid CURRENT_USER AS
2
3 procedure printWarnings(value in BOOLEAN default TRUE);
4
5
6 procedure addXDBNamespace(xmlschema in out XMLType);
7 -- Adds the XDB namespace that is required for xdb annotation.
8 -- This procedure is called implicitly by any other procedure that adds a
9 -- schema annotation. Without further annotations the xdb namespace
10 -- annotations does not make sense, therefore this procedure might mostly
11 -- be called by other annotations procedures and not by the user directly.
12 -- The procedure gets an XML Schema as XMLType, performs the annotation and
13 -- returns it.
14
15 procedure setDefaultTable(xmlschema in out XMLType,
16 globalElementName VARCHAR2,
17 tableName VARCHAR2,
18 overwrite BOOLEAN default TRUE);
19 -- Sets the name of the default table for a given global element that is
20 -- specified by its name
21
22 procedure removeDefaultTable(xmlschema in out XMLType,
23 globalElementName VARCHAR2);
24 -- Removes the default table attribute for the given element.
25 -- After calling this
26 -- function system generated table names will be used. The procedure will
27 -- always overwrite.
28
29 procedure setTableProps(xmlschema in out XMLType,
30 globalElementName VARCHAR2,
31 tableProps VARCHAR2,
32 overwrite BOOLEAN default TRUE);
33 -- Specifies the TABLE storage clause that is appended to the default
34 -- CREATE TABLE statement.
35
36 procedure removeTableProps(xmlschema in out XMLType,
37 globalElementName VARCHAR2);
38 -- removes the table storage props.
39
40 procedure setTableProps(xmlschema in out XMLType,
41 globalObject VARCHAR2,
42 globalObjectName VARCHAR2,
43 localElementName VARCHAR2,
44 tableProps VARCHAR2,
45 overwrite BOOLEAN default TRUE);
46 -- Specifies the TABLE storage clause that is appended to the
47 -- default CREATE TABLE statement.
48
49 procedure removeTableProps(xmlschema in out XMLType,
50 globalObject VARCHAR2,
51 globalObjectName VARCHAR2,
52 localElementName VARCHAR2);
53 -- Removes the TABLE storage clause that is appended to the
54 -- default CREATE TABLE statement.
55
56 procedure disableDefaultTableCreation(xmlschema in out XMLType,
57 globalElementName VARCHAR2);
58 -- Add a default table attribute with an empty value to the
59 -- top level element with the specified name.
60 -- No table will be created for that element.
61 -- The procedure will always overwrite.
62
63
64 procedure disableDefaultTableCreation(xmlschema in out XMLType);
65 -- Add a default table attribute with an empty value to ALL top level
66 -- elements that have no defined default table name.
67 -- The procedure will never overwrite existing annotations since this
68 -- would lead to no table creation at all.
69 -- This is the way to prevent XDB from creating many and unused tables
70 -- for elements that are no root elements of
71 -- instance documents.
72 /* TODO This function
73 * This functions should test that at least one default table with a given
74 * name exists. If no default table name is assigned calling this
75 * disableTopLevelTableCreation would lead to no table creation at all. */
76
77 procedure enableDefaultTableCreation(xmlschema in out XMLType,
78 globalElementName VARCHAR2);
79 -- Enables the creation of top level tables by removing the empty default
80 -- table name annotation.
81
82 procedure enableDefaultTableCreation(xmlschema in out XMLType);
83 -- Enables the creation of ALL top level tables by removing the empty
84 -- default table name annotation.
85
86 procedure setSQLName (xmlschema in out XMLType,
87 globalObject VARCHAR2,
88 globalObjectName VARCHAR2,
89 localObject VARCHAR2,
90 localObjectName VARCHAR2,
91 sqlName VARCHAR2,
92 overwrite BOOLEAN default TRUE);
93 -- assigns a sqlname to an element
94
95 procedure removeSQLName (xmlschema in out XMLType,
96 globalObject VARCHAR2,
97 globalObjectName VARCHAR2,
98 localObject VARCHAR2,
99 localObjectName VARCHAR2);
100 -- removes a sqlname from a global element
101
102 procedure setSQLType (xmlschema in out XMLType,
103 globalElementName VARCHAR2,
104 sqlType VARCHAR2,
105 overwrite BOOLEAN default TRUE);
106 -- assigns a sqltype to a global element
107
108 procedure removeSQLType (xmlschema in out XMLType,
109 globalElementName VARCHAR2);
110 -- removes a sqltype from a global element
111
112 procedure setSQLType(xmlschema in out XMLType,
113 globalObject VARCHAR2,
114 globalObjectName VARCHAR2,
115 localObject VARCHAR2,
116 localObjectName VARCHAR2,
117 sqlType VARCHAR2,
118 overwrite BOOLEAN default TRUE);
119 -- assigns a sqltype inside a complex type (local)
120
121 procedure removeSQLType (xmlschema in out XMLType,
122 globalObject VARCHAR2,
123 globalObjectName VARCHAR2,
124 localObject VARCHAR2,
125 localObjectName VARCHAR2);
126 -- removes a sqltype inside a complex type (local)
127
128 procedure setSQLTypeMapping(xmlschema in out XMLType,
129 schemaTypeName VARCHAR2,
130 sqlTypeName VARCHAR2,
131 overwrite BOOLEAN default TRUE);
132 -- defines a mapping of schema type and sqltype.
133 -- The addSQLType procedure do not have to be called on all instances of
134 -- the schema type instead the schema is traversed and the
135 -- sqltype is assigned automatically.
136
137 procedure removeSQLTypeMapping(xmlschema in out XMLType,
138 schemaTypeName VARCHAR2);
139 -- removes the sqltype mapping for the given schema type.
140
141 procedure setTimeStampWithTimeZone(xmlschema in out xmlType,
142 overwrite BOOLEAN default TRUE);
143 -- sets the TimeStampWithTimeZone datatype to dateTime typed element.
144
145 procedure removeTimeStampWithTimeZone(xmlschema in out xmlType);
146 -- removes the TimeStampWithTimeZone datatype to dateTime typed element.
147
148 procedure setAnyStorage (xmlschema in out XMLType,
149 complexTypeName VARCHAR2,
150 sqlTypeName VARCHAR2,
151 overwrite BOOLEAN default TRUE);
152 -- sets the sqltype of any
153
154 procedure removeAnyStorage (xmlschema in out XMLType,
155 complexTypeName VARCHAR2);
156 -- removes the sqltype of any
157
158 procedure setSQLCollType(xmlschema in out XMLType,
159 elementName VARCHAR2,
160 sqlCollType VARCHAR2,
161 overwrite BOOLEAN default TRUE);
162 -- sets the name of the SQL collection type that corresponds
163 -- to this XML element
164
165 procedure removeSQLCollType(xmlschema in out XMLType,
166 elementName VARCHAR2);
167 -- removes the sql collection type
168
169 procedure setSQLCollType(xmlschema in out XMLType,
170 globalObject VARCHAR2,
171 globalObjectName VARCHAR2,
172 localElementName VARCHAR2,
173 sqlCollType VARCHAR2,
174 overwrite BOOLEAN default TRUE );
175 -- Name of the SQL collection type that corresponds to this
176 -- XML element. inside a complex type.
177
178 procedure removeSQLCollType(xmlschema in out XMLType,
179 globalObject VARCHAR2,
180 globalObjectName VARCHAR2,
181 localElementName VARCHAR2);
182 -- removes the sql collection type
183
184 procedure disableMaintainDom(xmlschema in out XMLType,
185 overwrite BOOLEAN default TRUE);
186 -- sets dom fidelity to FALSE to ALL complex types irregardless
187 -- of their names
188
189 procedure enableMaintainDom(xmlschema in out XMLType,
190 overwrite BOOLEAN default TRUE);
191 -- sets dom fidelity to TRUE to ALL complex types irregardless
192 -- of their names
193
194 procedure disableMaintainDom(xmlschema in out XMLType,
195 complexTypeName VARCHAR2,
196 overwrite BOOLEAN default TRUE);
197 -- sets the dom fidelity attribute for the given complex type name to FALSE.
198
199 procedure enableMaintainDom(xmlschema in out XMLType,
200 complexTypeName VARCHAR2,
201 overwrite BOOLEAN default TRUE);
202 -- sets the dom fidelity attribute for the given complex type name to TRUE
203
204 procedure removeMaintainDom(xmlschema in out XMLType);
205 -- removes all maintain dom annotations from given schema
206
207 procedure setOutOfLine(xmlschema in out XMLType,
208 elementName VARCHAR2,
209 elementType VARCHAR2,
210 defaultTableName VARCHAR2,
211 overwrite BOOLEAN default TRUE);
212 -- set the sqlInline attribute to false and forces the out of line storage
213 -- for the element specified by its name.
214
215 procedure removeOutOfLine(xmlschema in out XMLType,
216 elementName VARCHAR2,
217 elementType VARCHAR2);
218 -- removes the sqlInline attribute for the element specified by its name.
219
220 procedure setOutOfLine (xmlschema in out XMLType,
221 globalObject VARCHAR2,
222 globalObjectName VARCHAR2,
223 localElementName VARCHAR2,
224 defaultTableName VARCHAR2,
225 overwrite BOOLEAN default TRUE);
226 -- set the sqlInline attribute to false and forces the out of line storage
227 -- for the element specified by its local and global name
228
229 procedure removeOutOfLine (xmlschema in out XMLType,
230 globalObject VARCHAR2,
231 globalObjectName VARCHAR2,
232 localElementName VARCHAR2);
233 -- removes the sqlInline attribute for the element specified by its
234 -- global and local name
235
236 procedure setOutOfLine(xmlschema in out XMLType,
237 reference VARCHAR2,
238 defaultTableName VARCHAR2,
239 overwrite BOOLEAN default TRUE);
240 -- sets the default table name and sqlinline attribute for all references
241 -- to a particular global Element
242
243 procedure removeOutOfLine(xmlschema in out XMLType, reference VARCHAR2);
244 -- removes the the sqlInline attribute for the global element
245
246
247
248 function getSchemaAnnotations(xmlschema xmlType) return XMLType;
249 -- creates a diff of the annotated xml schema and the
250 -- non-annotated xml schema.
251 -- This diff can be used to apply all annotation again on a
252 -- non-annotated schema.
253 -- A user calls this function to save all annotations in one document.
254
255 procedure setSchemaAnnotations(xmlschema in out xmlType, annotations XMLTYPE);
256 -- Will take the annotations
257 -- (diff result from call to 'getSchemaAnnotations'
258 -- and will patch in provided XML schema.
259
260
261
262
263 END DBMS_XMLSCHEMA_ANNOTATE;