[Home] [Help]
PACKAGE: XDB.DBMS_XMLDOM
Source
1 PACKAGE dbms_xmldom AUTHID CURRENT_USER IS
2
3 ----------------------------------------------------------------------
4 -- DOM API
5 ----------------------------------------------------------------------
6
7 ----------------------------------------------------------------------
8 -- Constants and Type Declarations
9 ----------------------------------------------------------------------
10
11 --
12 -- DOM Node types (as returned by getNodeType)
13 --
14 ELEMENT_NODE CONSTANT PLS_INTEGER := 1;
15 ATTRIBUTE_NODE CONSTANT PLS_INTEGER := 2;
16 TEXT_NODE CONSTANT PLS_INTEGER := 3;
17 CDATA_SECTION_NODE CONSTANT PLS_INTEGER := 4;
18 ENTITY_REFERENCE_NODE CONSTANT PLS_INTEGER := 5;
19 ENTITY_NODE CONSTANT PLS_INTEGER := 6;
20 PROCESSING_INSTRUCTION_NODE CONSTANT PLS_INTEGER := 7;
21 COMMENT_NODE CONSTANT PLS_INTEGER := 8;
22 DOCUMENT_NODE CONSTANT PLS_INTEGER := 9;
23 DOCUMENT_TYPE_NODE CONSTANT PLS_INTEGER := 10;
24 DOCUMENT_FRAGMENT_NODE CONSTANT PLS_INTEGER := 11;
25 NOTATION_NODE CONSTANT PLS_INTEGER := 12;
26
27 --
28 -- DOMException types
29 --
30 INDEX_SIZE_ERR EXCEPTION;
31 DOMSTRING_SIZE_ERR EXCEPTION;
32 HIERARCHY_REQUEST_ERR EXCEPTION;
33 WRONG_DOCUMENT_ERR EXCEPTION;
34 INVALID_CHARACTER_ERR EXCEPTION;
35 NO_DATA_ALLOWED_ERR EXCEPTION;
36 NO_MODIFICATION_ALLOWED_ERR EXCEPTION;
37 NOT_FOUND_ERR EXCEPTION;
38 NOT_SUPPORTED_ERR EXCEPTION;
39 INUSE_ATTRIBUTE_ERR EXCEPTION;
40 INVALID_STATE_ERR EXCEPTION;
41 SYNTAX_ERR EXCEPTION;
42 INVALID_MODIFICATION_ERR EXCEPTION;
43 NAMESPACE_ERR EXCEPTION;
44 INVALID_ACCESS_ERR EXCEPTION;
45
46 --
47 -- DOM interface types
48 --
49 SUBTYPE domtype IS RAW(13);
50
51 TYPE DOMNode IS RECORD (id RAW(13));
52 TYPE DOMNamedNodeMap IS RECORD (id RAW(13));
53 TYPE DOMNodeList IS RECORD (id RAW(13));
54 TYPE DOMAttr IS RECORD (id RAW(13));
55 TYPE DOMCDataSection IS RECORD (id RAW(13));
56 TYPE DOMCharacterData IS RECORD (id RAW(13));
57 TYPE DOMComment IS RECORD (id RAW(13));
58 TYPE DOMDocumentFragment IS RECORD (id RAW(13));
59 TYPE DOMElement IS RECORD (id RAW(13));
60 TYPE DOMEntity IS RECORD (id RAW(13));
61 TYPE DOMEntityReference IS RECORD (id RAW(13));
62 TYPE DOMNotation IS RECORD (id RAW(13));
63 TYPE DOMProcessingInstruction IS RECORD (id RAW(13));
64 TYPE DOMText IS RECORD (id RAW(13));
65 TYPE DOMImplementation IS RECORD (id RAW(13));
66 TYPE DOMDocumentType IS RECORD (id RAW(13));
67 TYPE DOMDocument IS RECORD (id RAW(13));
68 TYPE DOMStreamHandle IS RECORD (id RAW(12));
69 /*
70 SUBTYPE DOMNode IS domtype;
71 SUBTYPE DOMNamedNodeMap IS domtype;
72 SUBTYPE DOMNodeList IS domtype;
73 SUBTYPE DOMAttr IS domtype;
74 SUBTYPE DOMCDataSection IS domtype;
75 SUBTYPE DOMCharacterData IS domtype;
76 SUBTYPE DOMComment IS domtype;
77 SUBTYPE DOMDocumentFragment IS domtype;
78 SUBTYPE DOMElement IS domtype;
79 SUBTYPE DOMEntity IS domtype;
80 SUBTYPE DOMEntityReference IS domtype;
81 SUBTYPE DOMNotation IS domtype;
82 SUBTYPE DOMProcessingInstruction IS domtype;
83 SUBTYPE DOMText IS domtype;
84 SUBTYPE DOMImplementation IS domtype;
85 SUBTYPE DOMDocumentType IS domtype;
86 SUBTYPE DOMDocument IS domtype;
87 */
88
89 -----------------------------------------------------------------------------
90 -- Public Interface
91 ----------------------------------------------------------------------------
92
93 ---------------------------------------------------------------------------
94 -- Interface DOMImplementation:
95 --
96 -- hasFeature
97 -- createDocument
98 --
99 -- implementation_isNull (Extension)
100 --
101 ---------------------------------------------------------------------------
102
103
104 /**
105 * DOM DOMImplementation interface methods
106 * These methods implement the DOM DOMImplementation interface as specified in:
107 * http://www.w3.org/TR/REC-DOM-Level-1/level-one-core.html#ID-102161490
108 */
109 FUNCTION hasFeature(di DOMImplementation, feature IN VARCHAR2,
110 version IN VARCHAR2) RETURN BOOLEAN;
111
112 FUNCTION createDocument(namespaceURI IN VARCHAR2, qualifiedName IN VARCHAR2,
113 doctype IN DOMType := NULL) RETURN DOMDocument;
114
115 /**
116 * DOM Node XDK interface methods
117 */
118
119 -- Check validity of object
120 FUNCTION isNull(di DOMImplementation) RETURN BOOLEAN;
121
122
123 ---------------------------------------------------------------------------
124 -- DOM Node interface:
125 --
126 -- getNodeName
127 -- getNodeValue
128 -- setNodeValue
129 -- getNodeType
130 -- getParentNode
131 -- getChildNodes
132 -- getFirstChild
133 -- getLastChild
134 -- getPreviousSibling
135 -- getNextSibling
136 -- getAttributes
137 -- getOwnerDocument
138 -- getPrefix
139 -- setPrefix
140 -- insertBefore
141 -- replaceChild
142 -- removeChild
143 -- appendChild
144 -- hasChildNodes
145 -- cloneNode
146
147 -- node_isNull (Extension)
148 -- writeToFile (Extension)
149 -- node_writeToBuffer (Extension)
150 -- node_writeToClob (Extension)
151 -- getNodeFromFragment (Extension)
152 -- writeToFile (given charset, Extension)
153 -- writeToBuffer (given charset, Extension)
154 -- writeToClob (given charset, Extension)
155 -- makeAttr (Extension)
156 -- makeCDataSection (Extension)
157 -- makeCharacterData (Extension)
158 -- makeComment (Extension)
159 -- makeDocumentFragment (Extension)
160 -- makeDocumentType (Extension)
161 -- makeElement (Extension)
162 -- makeEntity (Extension)
163 -- makeEntityReference (Extension)
164 -- makeNotation (Extension)
165 -- makeProcessingInstruction (Extension)
166 -- makeText (Extension)
167 -- makeDocument (Extension)
168 -- getSchemaNode (Extension)
169 -- freeNode (Extension)
170
171 -- numChildNodes (available for C wrapper)
172 -- getQualifiedName (available for C wrapper)
173 -- getNodeNameSpace (available for C wrapper)
174 -- getNodePrefix (available for C wrapper)
175 -- getNodeLocal (available for C wrapper)
176 ---------------------------------------------------------------------------
177 --
178
179 /**
180 * DOM Node interface methods
181 * These methods implement the DOM Node interface as specified in:
182 * http://www.w3.org/TR/REC-DOM-Level-1/level-one-core.html#ID-1950641247
183 */
184 FUNCTION getNodeName(n DOMNode) RETURN VARCHAR2;
185 FUNCTION getNodeValue(n domnode) RETURN VARCHAR2;
186 PROCEDURE setNodeValue(n DOMNode, nodeValue IN VARCHAR2);
187 FUNCTION getNodeType(n DOMNode) RETURN pls_INTEGER;
188 FUNCTION getParentNode(n DOMNode) RETURN DOMNode;
189
190 -- FUNCTION domnode_getChildNodes (n IN domnode) RETURN DOMNodeList;
191 FUNCTION getChildNodes(n DOMNode) RETURN DOMNodeList;
192
193 FUNCTION getFirstChild(n DOMNode) RETURN DOMNode;
194 FUNCTION getLastChild(n DOMNode) RETURN DOMNode;
195 FUNCTION getPreviousSibling(n DOMNode) RETURN DOMNode;
196 FUNCTION getNextSibling(n DOMNode) RETURN DOMNode;
197 FUNCTION getAttributes(n DOMNode) RETURN DOMNamedNodeMap;
198 FUNCTION getOwnerDocument(n DOMNode) RETURN DOMDocument;
199 FUNCTION getPrefix(n domnode) RETURN VARCHAR2;
200 FUNCTION getNodeFromFragment (fragment IN sys.xmltype) return DOMNode;
201 PROCEDURE setPrefix(n DOMNode, prefix IN VARCHAR2);
202 FUNCTION insertBefore(n DOMNode, newChild IN DOMNode, refChild IN DOMNode)
203 RETURN DOMNode;
204 FUNCTION replaceChild(n DOMNode, newChild IN DOMNode, oldChild IN DOMNode)
205 RETURN DOMNode;
206 FUNCTION removeChild(n DOMNode, oldChild IN DOMNode) RETURN DOMNode;
207 FUNCTION appendChild(n DOMNode, newChild IN DOMNode) RETURN DOMNode;
208 FUNCTION hasChildNodes(n DOMNode) RETURN BOOLEAN;
209 FUNCTION hasAttributes(n DOMNode) RETURN BOOLEAN;
210 FUNCTION cloneNode(n DOMNode, deep boolean) RETURN DOMNode;
211
212 /**
213 * DOM Node XDK interface methods
214 */
215
216 -- Check validity of object
217 FUNCTION isNull(n DOMNode) RETURN BOOLEAN;
218
219 -- Write DOMNode object using the database character set
220 PROCEDURE writeToFile(n DOMNode, fileName VARCHAR2);
221 PROCEDURE writeToBuffer(n DOMNode, buffer IN OUT VARCHAR2);
222 PROCEDURE writeToClob(n DOMNode, cl IN OUT CLOB);
223
224 -- Write DOMNode object using database character set and Print Options
225 PROCEDURE writeToFile(n DOMNode, fileName VARCHAR2,
226 pflag IN NUMBER, indent IN NUMBER);
227 PROCEDURE writeToBuffer(n DOMNode, buffer IN OUT VARCHAR2,
228 pflag IN NUMBER, indent IN NUMBER);
229 PROCEDURE writeToClob(n DOMNode, cl IN OUT CLOB,
230 pflag IN NUMBER, indent IN NUMBER);
231
232 -- Write DOMNode object using the specified character set
233 PROCEDURE writeToFile(n DOMNode, fileName VARCHAR2, charset VARCHAR2);
234 PROCEDURE writeToBuffer(n DOMNode, buffer IN OUT VARCHAR2, charset VARCHAR2);
235 PROCEDURE writeToClob(n DOMNode, cl IN OUT CLOB, charset VARCHAR2);
236
237 -- Write DOMNode object using the specified character set and print options
238 PROCEDURE writeToFile(n DOMNode, fileName VARCHAR2, charset VARCHAR2,
239 pflag IN NUMBER, indent IN NUMBER);
240 PROCEDURE writeToBuffer(n DOMNode, buffer IN OUT VARCHAR2, charset VARCHAR2,
241 pflag IN NUMBER, indent IN NUMBER);
242 PROCEDURE writeToClob(n DOMNode, cl IN OUT CLOB, charset VARCHAR2,
243 pflag IN NUMBER, indent IN NUMBER);
244
245 -- Cast DOMNode objects
246 FUNCTION makeAttr(n DOMNode) RETURN DOMAttr;
247 FUNCTION makeCDataSection(n DOMNode) RETURN DOMCDataSection;
248 FUNCTION makeCharacterData(n DOMNode) RETURN DOMCharacterData;
249 FUNCTION makeComment(n DOMNode) RETURN DOMComment;
250 FUNCTION makeDocumentFragment(n DOMNode) RETURN DOMDocumentFragment;
251 FUNCTION makeDocumentType(n DOMNode) RETURN DOMDocumentType;
252 FUNCTION makeElement(n DOMNode) RETURN DOMElement;
253 FUNCTION makeEntity(n DOMNode) RETURN DOMEntity;
254 FUNCTION makeEntityReference(n DOMNode) RETURN DOMEntityReference;
255 FUNCTION makeNotation(n DOMNode) RETURN DOMNotation;
256 FUNCTION makeProcessingInstruction(n DOMNode) RETURN DOMProcessingInstruction;
257 FUNCTION makeText(n DOMNode) RETURN DOMText;
258 FUNCTION makeDocument(n DOMNode) RETURN DOMDocument;
259
260 FUNCTION getSchemaNode(n DOMnode) RETURN DOMnode;
261 PROCEDURE getNamespace(n DOMnode, data IN OUT VARCHAR2);
262 PROCEDURE getLocalName(n DOMnode, data OUT VARCHAR2);
263 PROCEDURE getExpandedName(n DOMnode, data OUT VARCHAR2);
264 PROCEDURE freeNode(n DOMnode);
265
266
267
268 -------------------------------------------------------------------------------
269 -- The following functions and procedures are added to support the 4 Streaming
270 -- models defined for Large Node access
271 -------------------------------------------------------------------------------
272 -- Get-Pull methods
273 -------------------------------------------------------------------------------
274 FUNCTION getNodeValueAsBinaryStream (n in domnode)
275 return sys.utl_BinaryInputStream;
276 FUNCTION getNodeValueAsCharacterStream (n in domnode)
277 return sys.utl_CharacterInputStream;
278 ----------------------------------------------------------------------------
279 -- Get-Push methods
280 ----------------------------------------------------------------------------
281 PROCEDURE getNodeValueAsBinaryStream (n in domnode,
282 pushValue in out sys.utl_BinaryOutputStream);
283 PROCEDURE getNodeValueAsCharacterStream (n in domnode,
284 pushValue in out sys.utl_CharacterOutputStream);
285 ----------------------------------------------------------------------------
286 -- Set-Pull methods
287 ----------------------------------------------------------------------------
288 PROCEDURE setNodeValueAsBinaryStream (n in domnode,
289 nodeValue in out sys.utl_BinaryInputStream);
290 PROCEDURE setNodeValueAsCharacterStream (n in domnode,
291 nodeValue in out sys.utl_CharacterInputStream);
292 ----------------------------------------------------------------------------
293 -- "Deferred" Set-Pull
294 ----------------------------------------------------------------------------
295 PROCEDURE setNodeValueAsDeferredBfile (n in domnode,
296 value in bfile);
297 PROCEDURE setNodeValueAsDeferredBlob (n in domnode,
298 value in blob);
299 PROCEDURE setNodeValueAsDeferredClob (n in domnode,
300 value in clob);
301 ----------------------------------------------------------------------------
302 -- Set-Push methods
303 ----------------------------------------------------------------------------
304 FUNCTION setNodeValueAsBinaryStream (n in domnode) return sys.utl_BinaryOutputStream;
305 FUNCTION setNodeValueAsCharacterStream (n in domnode) return
306 sys.utl_CharacterOutputStream;
307 ----------------------------------------------------------------------------
308 -- Determining if use of Binary Stream is valid
309 ----------------------------------------------------------------------------
310 FUNCTION useBinaryStream (n in domnode) return boolean;
311 FUNCTION xmld_useBinStream (n in raw) return boolean;
312 ----------------------------------------------------------------------------
313 -- XMLBinaryInputStream methods
314 ----------------------------------------------------------------------------
315 FUNCTION createXMLBinaryInputStream (n in raw) return raw;
316 FUNCTION BinaryInputStreamAvailable (handle in raw) return integer;
317 PROCEDURE readBytesFromBIS1 ( handle in RAW,
318 bytes in out raw
319 -- offset in pls_integer,
320 -- numBytes in pls_integer
321 );
322
323 FUNCTION readBinaryInputStream (handle in raw,
324 numBytes in integer) return raw;
325 PROCEDURE readBinaryInputStream (handle in raw,
326 bytes in out nocopy raw,
327 numBytes in out integer);
328 PROCEDURE readBinaryInputStream (handle in raw,
329 bytes in out nocopy raw,
330 offset in integer,
331 numBytes in out integer);
332 PROCEDURE closeBinaryInputStream (handle in raw);
333 ----------------------------------------------------------------------------
334 -- XMLBinaryOutputStream methods
335 ----------------------------------------------------------------------------
336 FUNCTION createXMLBinaryOutputStream (n in raw) return raw;
337 FUNCTION writeBinaryOutputStream (handle in raw,
338 bytes in out nocopy raw,
339 numBytes in integer)
340 return integer;
341 PROCEDURE writeBinaryOutputStream (handle in raw,
342 bytes in out nocopy raw,
343 numBytes in out integer);
344 PROCEDURE writeBinaryOutputStream (handle in raw,
345 bytes in out nocopy raw,
346 offset in integer,
347 numBytes in out integer);
348 PROCEDURE flushBinaryOutputStream (handle in raw);
349 PROCEDURE closeBinaryOutputStream (handle in raw);
350 ----------------------------------------------------------------------------
351 -- XMLCharacterInputStream methods
352 ----------------------------------------------------------------------------
353 FUNCTION createXMLCharacterInputStream (n in raw) return raw;
354 FUNCTION CharacterInputStreamAvailable (handle in raw) return integer;
355 FUNCTION readCharacterInputStream (handle in raw,
356 numChars in integer,
357 lineFeed in boolean) return varchar2;
358 PROCEDURE readCharacterInputStream (handle in raw,
359 chars in out nocopy varchar2,
360 numChars in out integer,
361 lineFeed in boolean);
362 PROCEDURE readCharacterInputStream (handle in raw ,
363 chars in out nocopy varchar2,
364 offset in integer ,
365 numChars in out integer,
366 lineFeed in boolean);
367 PROCEDURE closeCharacterInputStream (handle in raw);
368 ----------------------------------------------------------------------------
369 -- XMLCharacterOutputStream methods
370 ----------------------------------------------------------------------------
371 FUNCTION createXMLCharacterOutputStream (n in raw) return raw;
372 FUNCTION writeCharacterOutputStream (handle in raw,
373 chars in out nocopy varchar2,
374 numChars in integer,
375 lineFeed in boolean) return integer;
376
377 PROCEDURE writeCharacterOutputStream (handle in raw,
378 chars in out nocopy varchar2,
379 numChars in out integer,
380 lineFeed in boolean);
381
382 PROCEDURE writeCharacterOutputStream (handle in raw,
383 chars in out nocopy varchar2,
384 offset in integer,
385 numChars in out integer,
386 lineFeed in boolean);
387
388 PROCEDURE flushCharacterOutputStream (handle in raw);
389 PROCEDURE closeCharacterOutputStream (handle in raw);
390
391 ----------------------------------------------------------------------------
392 -- isNull methods
393 ----------------------------------------------------------------------------
394
395 FUNCTION StreamIsNull(handle raw) RETURN BOOLEAN;
396
397 ---------------------------------------------------------------------------
398 -- DOM NodeList interface:
399 --
400 -- nodelist_item
401 -- nodelist_getLength
402
403 -- nodelist_isNull (Extension)
404
405 -- freeNodeList (Extension)
406 ---------------------------------------------------------------------------
407
408 /**
409 * DOM NodeList interface methods
410 * These methods implement the DOM NodeList interface as specified in:
411 * http://www.w3.org/TR/REC-DOM-Level-1/level-one-core.html#ID-536297177
412 */
413
414 -- item:
415 --
416 -- Get the indexth item in the collection. If index is greater than or
417 -- equal to the number of nodes in the list, this returns null.
418 --
419 -- PARAMETERS
420 -- nl - input DOM node list
421 -- idx - index into the list
422 -- RETURN
423 -- indexed child node
424 -- EXCEPTIONS
425 -- <exception name> - <description>
426 -- NOTES
427 --
428 --
429 -- FUNCTION domnodel_item (nl IN DOMNodeList,
430 -- idx IN PLS_INTEGER) RETURN DOMNode;
431 FUNCTION item(nl DOMNodeList, idx IN PLS_INTEGER) RETURN DOMNode;
432
433 FUNCTION getLength(nl DOMNodeList) RETURN pls_INTEGER;
434
435 /**
436 * DOM Node XDK interface methods
437 */
438
439 -- Check validity of object
440 FUNCTION isNull(nl DOMNodeList) RETURN BOOLEAN;
441
442
443 PROCEDURE freeNodeList(nl DOMNodeList);
444 ---------------------------------------------------------------------------
445 -- DOM NamedNodeMap interface:
446 --
447 -- getNamedItem
448 -- setNamedItem
449 -- removeNamedItem
450 -- namednodemap_item
451 -- namednodemap_getLength
452
453 -- namednodemap_isNull (Extension)
454
455 ---------------------------------------------------------------------------
456
457 /**
458 * DOM Node interface methods
459 * These methods implement the DOM Node interface as specified in:
460 * http://www.w3.org/TR/REC-DOM-Level-1/level-one-core.html#ID-1950641247
461 */
462
463 FUNCTION getNamedItem(nnm DOMNamedNodeMap, name IN VARCHAR2) RETURN DOMNode;
464 FUNCTION getNamedItem(nnm DOMNamedNodeMap, name IN VARCHAR2,
465 ns IN VARCHAR2) RETURN DOMNode;
466 FUNCTION setNamedItem(nnm DOMNamedNodeMap, arg IN DOMNode) RETURN DOMNode;
467 FUNCTION setNamedItem(nnm DOMNamedNodeMap, arg IN DOMNode,
468 ns IN VARCHAR2) RETURN DOMNode;
469 FUNCTION removeNamedItem(nnm DOMNamedNodeMap, name IN VARCHAR2) RETURN DOMNode;
470 FUNCTION removeNamedItem(nnm DOMNamedNodeMap, name IN VARCHAR2,
471 ns IN VARCHAR2) RETURN DOMNode;
472 FUNCTION item(nnm DOMNamedNodeMap, idx IN pls_integer)
473 RETURN domNode;
474 FUNCTION getLength(nnm DOMNamedNodeMap) RETURN pls_integer;
475
476 /**
477 * DOM Node XDK interface methods
478 */
479
480 -- Check validity of object
481 FUNCTION isNull(nnm DOMNamedNodeMap) RETURN BOOLEAN;
482
483
484 ---------------------------------------------------------------------------
485 -- DOM Character Data interface:
486 --
487 -- cdata_getData
488 -- cdata_setData
489 -- cdata_getLength
490 -- substringData
491 -- appendData
492 -- insertData
493 -- deleteData
494 -- replaceData
495 --
496 -- cdata_isNull (extension)
497 -- cdata_makeNode (extension)
498
499 ---------------------------------------------------------------------------
500
501 /**
502 * DOM CharacterData interface methods
503 * These methods implement the DOM CharacterData interface as specified in:
504 * http://www.w3.org/TR/REC-DOM-Level-1/level-one-core.html#ID-FF21A306
505 */
506
507 -- getData:
508 --
509 -- Get data for character node
510 --
511 -- PARAMETERS
512 -- cd - input DOM Character node
513 -- RETURN
514 -- data for character node
515 -- EXCEPTIONS
516 -- <exception name> - <description>
517 -- NOTES
518 -- Returns data for character node, or NULL if node isn't
519 -- character-type.
520 --
521 -- PROCEDURE domcdata_getCharData (cd IN DOMNode, data OUT VARCHAR2);
522 FUNCTION getData(cd domcharacterdata) return VARCHAR2;
523
524 PROCEDURE setData(cd DOMCharacterData, data IN VARCHAR2);
525 FUNCTION getLength(cd DOMCharacterData) RETURN pls_integer;
526 FUNCTION substringData(cd DOMCharacterData, offset IN PLS_INTEGER,
527 cnt IN PLS_integer) RETURN VARCHAR2;
528 PROCEDURE appendData(cd DOMCharacterData, arg IN VARCHAR2);
529 PROCEDURE insertData(cd DOMCharacterData, offset IN PLS_INTEGER, arg IN VARCHAR2);
530 PROCEDURE deleteData(cd DOMCharacterData, offset IN PLS_INTEGER, cnt IN PLS_INTEGER);
531 PROCEDURE replaceData(cd DOMCharacterData, offset IN PLS_INTEGER,
532 cnt IN PLS_INTEGER, arg IN VARCHAR2);
533
534 /**
535 * DOM Node XDK interface methods
536 */
537
538 -- Check validity of object
539 FUNCTION isNull(cd DOMCharacterData) RETURN BOOLEAN;
540
541 -- Cast
542 FUNCTION makeNode(cd DOMCharacterData) RETURN DOMNode;
543
544
545 ---------------------------------------------------------------------------
546 -- DOM Attribute interface:
547 --
548 -- getName
549 -- getOwnerElement
550 -- getSpecified
551 -- getValue
552 -- setValue
553 --
554 -- attr_isNull (Extension)
555 -- attr_makeNode (Extension)
556 -- attr_getQualifiedName (Extension)
557 -- attr_getNamespace (Extension)
558 -- attr_getLocalName (Extension)
559 -- attr_getExpandedName (Extension)
560 --
561 ---------------------------------------------------------------------------
562
563 /**
564 * DOM interface methods
565 * These methods implement the DOM Node interface as specified in:
566 * http://www.w3.org/TR/REC-DOM-Level-1/level-one-core.html#ID-1950641247
567 */
568
569 FUNCTION getName(a DOMAttr) return varchar2;
570 FUNCTION getOwnerElement(a DOMAttr) RETURN DOMElement;
571 FUNCTION getSpecified(a DOMAttr) RETURN BOOLEAN;
572 FUNCTION getValue (a IN DOMAttr) return varchar2;
573 PROCEDURE setValue(a DOMAttr, newvalue IN VARCHAR2);
574
575 /**
576 * DOM XDK interface methods
577 */
578
579 -- Check validity of object
580 FUNCTION isNull(a DOMAttr) RETURN BOOLEAN;
581
582 -- Cast
583 FUNCTION makeNode(a DOMAttr) RETURN DOMNode;
584
585 FUNCTION getQualifiedName(a DOMAttr) return varchar2;
586 FUNCTION getNamespace(a DOMAttr) return varchar2;
587 FUNCTION getLocalName(a DOMAttr) return varchar2;
588 FUNCTION getExpandedName(a DOMAttr) return varchar2;
589
590
591 ---------------------------------------------------------------------------
592 -- DOM Element interface:
593 --
594 -- getTagName
595 -- getAttribute
596 -- hasAttribute
597 -- setAttribute
598 -- removeAttribute
599 -- getAttributeNode
600 -- setAttributeNode
601 -- removeAttributeNode
602 -- element_getElementsByTagName
603 --
604 -- element_isNull (Extension)
605 -- element_makeNode (Extension)
606 -- normalize (extension)
607 -- element_getQualifiedName (extension)
608 -- element_getNamespace (extension)
609 -- element_getLocalName (extension)
610 -- element_getExpandedName (extension)
611 -- getChildrenByTagName (extension)
612 -- getChildrenByTagName (extension)
613 -- resolveNamespacePrefix (extension)
614 -- freeElement (extension)
615 --
616 ---------------------------------------------------------------------------
617
618 /**
619 * DOM Element interface methods
620 * These methods implement the DOM Element interface as specified in:
621 * http://www.w3.org/TR/REC-DOM-Level-1/level-one-core.html#ID-745549614
622 */
623
624 FUNCTION getTagName(elem DOMElement) return varchar2;
625 FUNCTION getAttribute(elem DOMElement, name IN VARCHAR2) return varchar2;
626 FUNCTION getAttribute(elem DOMElement, name IN VARCHAR2,
627 ns IN VARCHAR2) return varchar2;
628 FUNCTION hasAttribute(elem DOMElement, name IN VARCHAR2) return BOOLEAN;
629 FUNCTION hasAttribute(elem DOMElement, name IN VARCHAR2,
630 ns IN VARCHAR2) return BOOLEAN;
631 PROCEDURE setAttribute(elem DOMElement, name IN VARCHAR2, newvalue IN VARCHAR2);
632 PROCEDURE setAttribute(elem DOMElement, name IN VARCHAR2, newvalue IN VARCHAR2,
633 ns IN VARCHAR2);
634 PROCEDURE removeAttribute(elem DOMElement, name IN VARCHAR2);
635 PROCEDURE removeAttribute(elem DOMElement, name IN VARCHAR2, ns IN VARCHAR2);
636 FUNCTION getAttributeNode(elem DOMElement, name IN VARCHAR2) RETURN DOMAttr;
637 FUNCTION getAttributeNode(elem DOMElement, name IN VARCHAR2,
638 ns IN VARCHAR2) RETURN DOMAttr;
639 FUNCTION setAttributeNode(elem DOMElement, newAttr IN DOMAttr) RETURN DOMAttr;
640 FUNCTION setAttributeNode(elem DOMElement, newAttr IN DOMAttr,
641 ns IN VARCHAR2) RETURN DOMAttr;
642 FUNCTION removeAttributeNode(elem DOMElement, oldAttr IN DOMAttr)
643 RETURN DOMAttr;
644 FUNCTION getElementsByTagName(elem DOMElement, name IN VARCHAR2)
645 RETURN DOMNodeList;
646 PROCEDURE freeElement(elem DOMElement);
647
648 /**
649 * DOM XDK interface methods
650 */
651
652 -- Check validity of object
653 FUNCTION isNull(elem DOMElement) RETURN BOOLEAN;
654
655 -- Cast
656 FUNCTION makeNode(elem DOMElement) RETURN domnode;
657
658 PROCEDURE normalize(elem DOMElement);
659 FUNCTION getQualifiedName(elem DOMElement) return varchar2;
660 FUNCTION getNamespace(elem DOMElement) return varchar2;
661 FUNCTION getLocalName(elem DOMElement) return varchar2;
662 FUNCTION getExpandedName(elem DOMElement) return varchar2;
663 FUNCTION getChildrenByTagName(elem DOMElement, name varchar2)
664 return DOMNodeList;
665 FUNCTION getChildrenByTagName(elem DOMElement, name varchar2, ns varchar2)
666 return DOMNodeList;
667 FUNCTION getElementsByTagName(elem DOMElement, name IN VARCHAR2,
668 ns varchar2) RETURN DOMNodeList;
669 PROCEDURE resolveNamespacePrefix(elem DOMElement, prefix varchar2,
670 data OUT VARCHAR2);
671 FUNCTION resolveNamespacePrefix(elem DOMElement, prefix varchar2)
672 return VARCHAR2;
673
674
675 ---------------------------------------------------------------------------
676 -- Interface DOMText:
677 --
678 -- splitText
679 --
680 -- text_isNull (extension)
681 -- text_makeNode (extension)
682 ---------------------------------------------------------------------------
683
684 /**
685 * DOM Text interface methods
686 * These methods implement the DOM Text interface as specified in:
687 * http://www.w3.org/TR/REC-DOM-Level-1/level-one-core.html#ID-1312295772
688 */
689
690 FUNCTION splitText(t DOMText, offset IN PLS_INTEGER) RETURN DOMText;
691
692 /**
693 * DOM XDK interface methods
694 */
695
696 -- Check validity of object
697 FUNCTION isNull(t DOMText) RETURN BOOLEAN;
698
699 -- Cast
700 FUNCTION makeNode(t DOMText) RETURN DOMNode;
701
702
703 ---------------------------------------------------------------------------
704 -- Interface DOMComment
705 --
706 -- comment_isNull (extension)
707 -- makeNode (extension)
708 --
709 ---------------------------------------------------------------------------
710
711 /**
712 * DOM XDK interface methods
713 */
714
715 -- Check validity of object
716 FUNCTION isNull(com DOMComment) RETURN BOOLEAN;
717
718 -- Cast
719 FUNCTION makeNode(com DOMComment) RETURN DOMNode;
720
721
722 ---------------------------------------------------------------------------
723 -- Interface DOMCDATASection
724 --
725 -- cdatasection_isNull (extension)
726 -- makeNode (extension)
727 --
728 ---------------------------------------------------------------------------
729
730 /**
731 * DOM XDK interface methods
732 */
733
734 -- Check validity of object
735 FUNCTION isNull(cds DOMCDATASection) RETURN BOOLEAN;
736
737 -- Cast
738 FUNCTION makeNode(cds DOMCDATASection) RETURN DOMNode;
739
740
741 ---------------------------------------------------------------------------
742 -- Interface Document Type:
743 --
744 -- getName
745 -- getEntities
746 -- getNotations
747 -- getpublicid (dom 2)
748 -- getsystemid (dom 2)
749 --
750 -- doctype_isNull (extension)
751 -- makeNode (extension)
752 -- findEntity (extension)
753 -- findNotation (extension)
754 --
755 ---------------------------------------------------------------------------
756
757 /**
758 * DOM DocumentType interface methods
759 * These methods implement the DOM DocumentType interface as specified in:
760 * http://www.w3.org/TR/REC-DOM-Level-1/level-one-core.html#ID-412266927
761 */
762 FUNCTION getName(dt DOMDocumentType) return varchar2;
763 FUNCTION getEntities(dt DOMDocumentType) RETURN DOMNamedNodeMap;
764 FUNCTION getNotations(dt DOMDocumentType) RETURN DOMNamedNodeMap;
765
766 -- DOM 2
767 FUNCTION getPublicId(dt DOMDocumentType) return varchar2;
768 FUNCTION getSystemId(dt DOMDocumentType) return varchar2;
769
770 /**
771 * DOM XDK interface methods
772 */
773
774 -- Check validity of object
775 FUNCTION isNull(dt DOMDocumentType) RETURN BOOLEAN;
776
777 -- Cast
778 FUNCTION makeNode(dt DOMDocumentType) RETURN DOMNode;
779
780 -- Other
781 FUNCTION findEntity(dt DOMDocumentType, name varchar2, par boolean)
782 return DOMEntity;
783 FUNCTION findNotation(dt DOMDocumentType, name varchar2) return DOMNotation;
784
785 ---------------------------------------------------------------------------
786 -- Interface DOMNotation
787 --
788 -- getPublicId
789 -- getSystemId
790 --
791 -- notation_isNull (extension)
792 -- makeNode (extension)
793 --
794 ---------------------------------------------------------------------------
795
796 /**
797 * DOM Notation interface methods
798 * These methods implement the DOM Notation interface as specified in:
799 * http://www.w3.org/TR/REC-DOM-Level-1/level-one-core.html#ID-5431D1B9
800 */
801
802 FUNCTION getPublicId(n DOMNotation) return varchar2;
803 FUNCTION getSystemId(n DOMNotation) return varchar2;
804
805 /**
806 * DOM XDK interface methods
807 */
808
809 -- Check validity of object
810 FUNCTION isNull(n DOMNotation) RETURN BOOLEAN;
811
812 -- Cast
813 FUNCTION makeNode(n DOMNotation) RETURN DOMNode;
814
815
816 ---------------------------------------------------------------------------
817 -- Interface DOMEntity:
818 --
819 -- getPublicID
820 -- getSystemID
821 -- getNotationName
822 --
823 -- entity_isNull (extension)
824 -- makeNode (extension)
825 --
826 ---------------------------------------------------------------------------
827
828 /**
829 * DOM Entity interface methods
830 * These methods implement the DOM Entity interface as specified in:
831 * http://www.w3.org/TR/REC-DOM-Level-1/level-one-core.html#ID-527DCFF2
832 */
833 FUNCTION getPublicId(ent DOMEntity) return varchar2;
834 FUNCTION getSystemId(ent DOMEntity) return varchar2;
835 FUNCTION getNotationName(ent DOMEntity) return varchar2;
836
837 /**
838 * DOM XDK interface methods
839 */
840
841 -- Check validity of object
842 FUNCTION isNull(ent DOMEntity) RETURN BOOLEAN;
843
844 -- Cast
845 FUNCTION makeNode(ent DOMEntity) RETURN DOMNode;
846
847
848 ---------------------------------------------------------------------------
849 -- Interface DOMEntityReference
850 --
851 -- entityref_isNull (extension)
852 -- makeNode (extension)
853 --
854 ---------------------------------------------------------------------------
855
856 /**
857 * DOM XDK interface methods
858 */
859
860 -- Check validity of object
861 FUNCTION isNull(eref DOMEntityReference) RETURN BOOLEAN;
862
863 -- Cast
864 FUNCTION makeNode(eref DOMEntityReference) RETURN DOMNode;
865
866
867 ---------------------------------------------------------------------------
868 -- Interface Processing Instruction:
869 --
870 -- pi_getData
871 -- getTarget
872 -- pi_setData
873 --
874 -- pi_isNull (extension)
875 -- pi_makeNode (extension)
876 --
877 ---------------------------------------------------------------------------
878
879 /**
880 * DOM ProcessingInstruction interface methods
881 * These methods implement the DOM ProcessingInstruction interface as
882 * specified in:
883 * http://www.w3.org/TR/REC-DOM-Level-1/level-one-core.html#ID-1004215813
884 */
885
886 FUNCTION getData(pi DOMProcessingInstruction) return varchar2;
887 FUNCTION getTarget(pi DOMProcessingInstruction) return varchar2;
888 PROCEDURE setData(pi DOMProcessingInstruction, data IN VARCHAR2);
889
890 /**
891 * DOM XDK interface methods
892 */
893
894 -- Check validity of object
895 FUNCTION isNull(pi DOMProcessingInstruction) RETURN BOOLEAN;
896
897 -- Cast
898 FUNCTION makeNode(pi DOMProcessingInstruction) RETURN DOMNode;
899
900
901 ---------------------------------------------------------------------------
902 -- Interface DocumentFragment:
903 --
904 -- docfrag_isNull (extension)
905 -- makeNode (extension)
906 --
907 ----------------------------------------------------------------------------
908
909 /**
910 * DOM XDK interface methods
911 */
912
913 -- Check validity of object
914 FUNCTION isNull(df DOMDocumentFragment) RETURN BOOLEAN;
915
916 -- Cast
917 FUNCTION makeNode(df DOMDocumentFragment) RETURN DOMNode;
918
919 PROCEDURE writeToBuffer(df DOMDocumentFragment, buffer IN OUT VARCHAR2);
920
921 PROCEDURE writeToBuffer(df DOMDocumentFragment, buffer IN OUT VARCHAR2,
922 pflag IN NUMBER, indent IN NUMBER);
923
924 ---------------------------------------------------------------------------
925 -- Interface DOMDocument:
926 --
927 -- getDoctype
928 -- setDoctype
929 -- getImplementation
930 -- getDocumentElement
931 -- createElement
932 -- createDocumentFragment
933 -- createComment
934 -- createTextNode
935 -- createCDATASection
936 -- createProcessingInstruction
937 -- createAttribute
938 -- createEntityReference
939 -- document_getElementsByTagName
940 -- importNode
941 -- adoptNode
942 --
943 -- document_isNull (extension)
944 -- document_makeNode (extension)
945 -- newDOMDocument (extension)
946 -- getVersion (extension)
947 -- setVersion (extension)
948 -- getCharset (extension)
949 -- setCharset (extension)
950 -- getStandalone (extension)
951 -- setStandalone (extension)
952 -- writeToFile (extension)
953 -- document_writeToBuffer (extension)
954 -- document_writeToClob (extension)
955 -- writeToFile (extension)
956 -- writeToBuffer (extension)
957 -- writeToClob (extension)
958 -- writeExternalDTDToFile (extension)
959 -- writeExternalDTDToBuffer (extension)
960 -- writeExternalDTDToClob (extension)
961 -- writeExternalDTDToFile (extension)
962 -- writeExternalDTDToBuffer (extension)
963 -- writeExternalDTDToClob (extension)
964 -- freeDocument (extension)
965 --
966 ---------------------------------------------------------------------------
967
968 /**
969 * DOM Document interface methods
970 * These methods implement the DOM Document interface as specified in:
971 * http://www.w3.org/TR/REC-DOM-Level-1/level-one-core.html#i-Document
972 */
973
974 FUNCTION getDoctype(doc DOMDocument) RETURN DOMDocumentType;
975 PROCEDURE setDoctype(doc DOMDocument, name VARCHAR2,
976 sysid VARCHAR2, pubid VARCHAR2);
977 FUNCTION getImplementation(doc DOMDocument) RETURN DOMImplementation;
978 FUNCTION getDocumentElement(doc DOMDocument) RETURN DOMElement;
979 FUNCTION createElement(doc DOMDocument, tagName IN VARCHAR2) RETURN DOMElement;
980 FUNCTION createElement(doc DOMDocument, tagName IN VARCHAR2,
981 ns IN VARCHAR2) RETURN DOMElement;
982 FUNCTION createDocumentFragment(doc DOMDocument) RETURN DOMDocumentFragment;
983 FUNCTION createTextNode(doc DOMDocument, data IN VARCHAR2) RETURN DOMText;
984 FUNCTION createComment(doc DOMDocument, data IN VARCHAR2) RETURN DOMComment;
985 FUNCTION createCDATASection(doc DOMDocument, data IN VARCHAR2)
986 RETURN DOMCDATASection;
987 FUNCTION createProcessingInstruction(doc DOMDocument, target IN VARCHAR2,
988 data IN VARCHAR2)
989 RETURN DOMProcessingInstruction;
990 FUNCTION createAttribute(doc DOMDocument, name IN VARCHAR2) RETURN DOMAttr;
991 FUNCTION createAttribute(doc DOMDocument, name IN VARCHAR2,
992 ns IN VARCHAR2) RETURN DOMAttr;
993 FUNCTION createEntityReference(doc DOMDocument, name IN VARCHAR2)
994 RETURN DOMEntityReference;
995
996 FUNCTION getElementsByTagName(doc DOMDocument, tagname IN VARCHAR2)
997 RETURN DOMNodeList;
998 -------------------------getDocElementsByTagName--------------------------
999 -- Get element by tag name
1000 --
1001 -- PARAMETERS
1002 -- doc - input DOM Document
1003 -- tagname - tagname of new element.
1004 -- RETURN
1005 -- Elements list.
1006 -- EXCEPTIONS
1007 -- <exception name> - <description>
1008 -- NOTES
1009 --
1010 --
1011 -- FUNCTION domdoc_getElementsByTagName(doc IN DOMDocument,
1012 -- tagname IN VARCHAR2)
1013 -- RETURN DOMNodeList;
1014
1015 /**
1016 * DOM XDK interface methods
1017 */
1018
1019 -- Check validity of object
1020 FUNCTION isNull(doc DOMDocument) RETURN BOOLEAN;
1021
1022 -- Cast
1023 FUNCTION makeNode(doc DOMDocument) RETURN DOMNode;
1024
1025 -- New document
1026 FUNCTION newDOMDocument RETURN domdocument;
1027 FUNCTION newDOMDocument(xmldoc IN sys.xmltype) RETURN DOMDocument;
1028 ----------------------------------create----------------------------------
1029 -- Create domdocument given xmltype
1030 --
1031 -- PARAMETERS
1032 -- xmldoc - input xmltype
1033 -- RETURN
1034 -- DOM Document
1035 -- EXCEPTIONS
1036 -- <exception name> - <description>
1037 -- NOTES
1038 --
1039 --
1040 -- FUNCTION domdoc_create(xmldoc IN sys.xmltype) RETURN DOMDocument;
1041
1042 FUNCTION newDOMDocument(cl IN clob) RETURN domdocument;
1043 FUNCTION getxmltype(doc in DOMDocument) RETURN sys.xmltype;
1044
1045 FUNCTION getVersion(doc DOMDocument) return varchar2;
1046 PROCEDURE setVersion(doc DOMDocument, version VARCHAR2);
1047 FUNCTION getCharset(doc DOMDocument) return varchar2;
1048 PROCEDURE setCharset(doc DOMDocument, charset VARCHAR2);
1049 FUNCTION getStandalone(doc DOMDocument) return varchar2;
1050 PROCEDURE setStandalone(doc DOMDocument, newvalue VARCHAR2);
1051 PROCEDURE writeToFile(doc DOMDocument, fileName VARCHAR2);
1052 PROCEDURE writeToBuffer(doc DOMDocument, buffer IN OUT VARCHAR2);
1053 PROCEDURE writeToClob(doc DOMDocument, cl IN OUT CLOB);
1054 PROCEDURE writeToFile(doc DOMDocument, fileName VARCHAR2,
1055 pflag IN NUMBER, indent IN NUMBER);
1056 PROCEDURE writeToBuffer(doc DOMDocument, buffer IN OUT VARCHAR2,
1057 pflag IN NUMBER, indent IN NUMBER);
1058 PROCEDURE writeToClob(doc DOMDocument, cl IN OUT CLOB,
1059 pflag IN NUMBER, indent IN NUMBER);
1060 PROCEDURE writeToFile(doc DOMDocument, fileName VARCHAR2, charset VARCHAR2);
1061 PROCEDURE writeToBuffer(doc DOMDocument, buffer IN OUT VARCHAR2,
1062 charset VARCHAR2);
1063 PROCEDURE writeToClob(doc DOMDocument, cl IN OUT CLOB, charset VARCHAR2);
1064 PROCEDURE writeToFile(doc DOMDocument, fileName VARCHAR2, charset VARCHAR2,
1065 pflag IN NUMBER, indent IN NUMBER);
1066 PROCEDURE writeToBuffer(doc DOMDocument, buffer IN OUT VARCHAR2,
1067 charset VARCHAR2, pflag IN NUMBER, indent IN NUMBER);
1068 PROCEDURE writeToClob(doc DOMDocument, cl IN OUT CLOB, charset VARCHAR2,
1069 pflag IN NUMBER, indent IN NUMBER);
1070 PROCEDURE writeExternalDTDToFile(doc DOMDocument, fileName varchar2);
1071 PROCEDURE writeExternalDTDToBuffer(doc DOMDocument, buffer in out varchar2);
1072 PROCEDURE writeExternalDTDToClob(doc DOMDocument, cl in out clob);
1073 PROCEDURE writeExternalDTDToFile(doc DOMDocument, fileName varchar2,
1074 charset varchar2);
1075 PROCEDURE writeExternalDTDToBuffer(doc DOMDocument, buffer in out varchar2,
1076 charset varchar2);
1077 PROCEDURE writeExternalDTDToClob(doc DOMDocument, cl in out clob,
1078 charset varchar2);
1079
1080 PROCEDURE freeDocument(doc IN DOMDocument);
1081 PROCEDURE freeDocFrag(df IN DOMDocumentFragment);
1082 PROCEDURE freeDocType(dt IN DOMDocumentType);
1083 -- PROCEDURE domdoc_remove(doc IN domdocument);
1084
1085 FUNCTION importnode(doc DOMDocument, importednode domnode, deep boolean)
1086 RETURN DOMNode;
1087 FUNCTION adoptnode(doc DOMDocument, adoptednode domnode)
1088 RETURN DOMNode;
1089
1090 end dbms_xmldom;