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