Oracle® Database SQL Language Reference 11g Release 2 (11.2) Part Number E10592-04 |
|
|
View PDF |
Syntax
Purpose
The XMLPatch
function is the SQL interface for the XmlPatch C API. This function patches an XML document with the changes specified. A patched XMLType
document is returned.
For the first argument, specify the name of the input XMLType
document
For the second argument, specify the XMLType document containing the changes to be applied to the first document. The changes should conform to the Xdiff XML schema
For string
, specify the flags that control the behavior of the function. These flags are specified by one or more names separated by semicolon. The names are the same as the names of constants for XmlPatch C function.
See Also:
Oracle XML Developer's Kit Programmer's Guide for more information on using this function, including examples, and Oracle Database XML C API Reference for information on the XML APIs for CExample
The following example patches an XMLType
document with the changes specified in another XMLType
and returns a patched XMLType
document:
SELECT XMLPATCH( XMLTYPE('<?xml version="1.0"?> <bk:book xmlns:bk="http://example.com"> <bk:tr> <bk:td> <bk:chapter> Chapter 1. </bk:chapter> </bk:td> <bk:td> <bk:chapter> Chapter 2. </bk:chapter> </bk:td> </bk:tr> </bk:book>'), XMLTYPE('<?xml version="1.0"?> <xd:xdiff xsi:schemaLocation="http://xmlns.example.com/xdb/xdiff.xsd http://xmlns.example.com/xdb/xdiff.xsd" xmlns:xd="http://xmlns.example.com/xdb/xdiff.xsd" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:bk="http://example.com"> <?oracle-xmldiff operations-in-docorder="true" output-model="snapshot" diff-algorithm="global"?> <xd:delete-node xd:node-type="element" xd:xpath="/bk:book[1]/bk:tr[1]/bk:td[2]/bk:chapter[1]"/> </xd:xdiff>') ) FROM DUAL;