SQL> SQL> -- How do I see the whole content for a resource? SQL> -- Note that this resource itself is not an XML documnet, SQL> -- it was loaded into the XDB repository via FTP. SQL> SQL> select path from path_view where path like '%XmlAccess.sql'; PATH -------------------------------------------------------------------------------- /home/XmlAccess.sql SQL> SELECT sys.xdburitype('/home/XmlAccess.sql').getClob() FROM dual; SYS.XDBURITYPE('/HOME/XMLACCESS.SQL').GETCLOB() -------------------------------------------------------------------------------- set serveroutput on set long 2000 set pagesize 999 spool d:\yang\oracle\xml\XmlAccess.txt conn jyang/jyang@athena select * from XMLTAB1; -- The existsNode function -- Existing nodes SELECT existsNode(value(X),'/PurchaseOrder/Reference') FROM XMLTAB1 X; SELECT existsNode(value(X), '/PurchaseOrder[Reference="ADAMS-20011127121040988PST"]') FROM XMLTAB1 X; SELECT existsNode(value(X), '/PurchaseOrder/LineItems/LineItem[2]/Part[@Id="037429135020"]') FROM XMLTAB1 X; SELECT existsNode(value(X), '/PurchaseOrder/LineItems/LineItem[Description="8 1/2"]') FROM XMLTAB1 X; -- Non-existing nodes SELECT existsNode(value(X),'/PurchaseOrder/UserName') FROM XMLTAB1 X; SELECT existsNode(value(X), '/PurchaseOrder[Reference="ADAMS-XXXXXXXXXXXXXXXXXXXX"]') FROM XMLTAB1 X; SELECT existsNode(value(X), '/PurchaseOrder/LineItems/LineItem[3]/Part[@Id="037429135020"]') FROM XMLTAB1 X; SELECT existsNode(value(X), '/PurchaseOrder/LineItems/LineItem[Description="Snow White"]') FROM XMLTAB1 X; -- The extractValue function SELECT extractValue(value(x),'/PurchaseOrder/Reference') FROM XMLTAB1 X; SELECT extractValue(value(x), '/PurchaseOrder/LineItems/LineItem[2]/Part/@Id') FROM XMLTAB1 X; SELECT extractValue(value(X), '/PurchaseOrder/LineItems/LineItem/Description') FROM XMLTAB1 X; SELECT extractValue(value(X), '/PurchaseOrder/LineItems/LineItem[1]') FROM XMLTAB1 X; -- Join XML table with other table SELECT extractValue(value(x),'/PurchaseOrder/Reference') FROM XMLTAB1 X, SCOTT.EMP WHERE extractValue(value(x),'/PurchaseOrder/User') = EMP.ENAME AND EMP.EMPNO = 7876; -- The extract method -- Using extract() to Return an XML Fragment SELECT extract(value(X), '/PurchaseOrder/LineItems/LineItem/Description') FROM XMLTAB1 X; -- Using extract() to Return a Node Tree that Matche SQL> desc xdburitype XDBURITYPE extends SYS.URITYPE Name Null? Type ----------------------------------------- -------- ---------------------------- URL VARCHAR2(4000) SPARE RAW(2000) METHOD ------ MEMBER FUNCTION GETCLOB RETURNS CLOB GETCLOB IS NOT INSTANTIABLE METHOD ------ MEMBER FUNCTION GETEXTERNALURL RETURNS VARCHAR2 METHOD ------ MEMBER FUNCTION GETURL RETURNS VARCHAR2 METHOD ------ MEMBER FUNCTION GETBLOB RETURNS BLOB GETBLOB IS NOT INSTANTIABLE METHOD ------ MEMBER FUNCTION GETXML RETURNS XMLTYPE METHOD ------ MEMBER FUNCTION GETCONTENTTYPE RETURNS VARCHAR2 METHOD ------ MEMBER FUNCTION GETCLOB RETURNS CLOB Argument Name Type In/Out Default? ------------------------------ ----------------------- ------ -------- CONTENT VARCHAR2 OUT DEFAULT METHOD ------ MEMBER FUNCTION GETBLOB RETURNS BLOB Argument Name Type In/Out Default? ------------------------------ ----------------------- ------ -------- CONTENT VARCHAR2 OUT DEFAULT METHOD ------ MEMBER FUNCTION GETXML RETURNS XMLTYPE Argument Name Type In/Out Default? ------------------------------ ----------------------- ------ -------- CONTENT VARCHAR2 OUT DEFAULT METHOD ------ MEMBER FUNCTION GETRESOURCE RETURNS XMLTYPE METHOD ------ STATIC FUNCTION CREATEURI RETURNS XDBURITYPE Argument Name Type In/Out Default? ------------------------------ ----------------------- ------ -------- XDBURI VARCHAR2 IN DEFAULT METHOD ------ FINAL CONSTRUCTOR FUNCTION XDBURITYPE RETURNS SELF AS RESULT Argument Name Type In/Out Default? ------------------------------ ----------------------- ------ -------- URL VARCHAR2 IN DEFAULT SPARE RAW IN DEFAULT SQL> SQL> spool off