SQL> SQL> declare 2 indoc VARCHAR2(2000); 3 xsldoc VARCHAR2(2000); 4 myParser dbms_xmlparser.Parser; 5 indomdoc dbms_xmldom.domdocument; 6 xsltdomdoc dbms_xmldom.domdocument; 7 xsl dbms_xslprocessor.stylesheet; 8 outdomdocf dbms_xmldom.domdocumentfragment; 9 outnode dbms_xmldom.domnode; 10 proc dbms_xslprocessor.processor; 11 buf varchar2(2000); 12 begin 13 indoc := ' 1 robert 14 smith 1000 engineer '; 15 xsldoc := 16 ' 17 19 20 21 22 23 24 25 26 27 28 29 30 31 '; 32 33 myParser := dbms_xmlparser.newParser; 34 dbms_xmlparser.parseBuffer(myParser, indoc); 35 indomdoc := dbms_xmlparser.getDocument(myParser); 36 dbms_xmlparser.parseBuffer(myParser, xsldoc); 37 xsltdomdoc := dbms_xmlparser.getDocument(myParser); 38 xsl := dbms_xslprocessor.newstylesheet(xsltdomdoc, ''); 39 proc := dbms_xslprocessor.newProcessor; 40 41 --apply stylesheet to DOM document 42 outdomdocf := dbms_xslprocessor.processxsl(proc, xsl, indomdoc); 43 outnode := dbms_xmldom.makenode(outdomdocf); 44 -- PL/SQL DOM API for XMLType can be used here 45 dbms_xmldom.writetobuffer(outnode, buf); 46 dbms_output.put_line(buf); 47 end; 48 / 1 robert engineer smith 1000 PL/SQL procedure successfully completed. SQL> SQL> spool off