XML From Oracle

I would like to have a stored function return a CLOB field that is an XML DOM Tree that I can build from a cursor... Does anyone have some baseic information of hopw t oget this started. I have not installed any Java support into Oracle yet. Right now I have a new 8.1.7 database.
Thank you
null

You can use the XMLGEN package that comes with the XML SQL Utility, or use the XML SQL Utility's OracleXMLQuery class in a Java Stored Procedure of your own creation to accomplish this.
Steve Muench
Development Lead, Oracle XSQL Pages Framework
Lead Product Manager for BC4J and Lead XML Evangelist, Oracle Corp
Author, Building Oracle XML Applications
null

Similar Messages

  • Calling Web Service passing xml from Oracle Forms

    Hello,
    I need to call a .net web service from Oracle Forms that passes in xml data and returns xml data.
    I have seen several examples of how to create a wrapper in jdev and then to import the code
    into forms. I just have not seen any examples that are passing parmameters especially not xml
    as a parameter and that have an active wsdl that I can see how it relates to the code created.
    I have a wrapper but cannot figure out where and what notation to use to include passing in
    an xml object.
    Does anyone have an example passing in xml where the wsdl is still available to see?'
    Forms version 10.1.2.0.2. Jdev 10.1.3.4
    Thanks,
    Linda
    Edited by: lboyce on Jan 5, 2009 2:30 PM

    Also here you have several options...
    1. you can make a PJC (bean) which include a webservice stub generated with axis (you can make a stub and also test a webservice with this tool: www.soapui.org)..
    2. you can make a database webservice with JPublisher and then just call a pl/sql wrapper for this webservice
    4. you can call a webservice with java api (HttpsURLConnection, HttpURLConnection or with apache HTTPClient api) from your PJC for example:
    the code below is used as java stored procedure to call a .net webservice on https
    ====================================
    public static int getPStopnja(String polica, String reg_oznaka,
    String ime_osiguranika,
    String naziv_osiguranika,
    String leasing,
    String[] doc) {
    String l_polica="";
    String l_reg_oznaka="";
    String l_ime_osiguranika="";
    String l_naziv_osiguranika="";
    String l_leasing ="";
    URL url = null;
    HttpsURLConnection conn = null;
    BufferedReader br = null;
    String lineIn = null;
    StringBuffer sb = new StringBuffer();
    OutputStream os = null;
    int rc = 0;
    //kontrole
    l_polica = polica==null ? "":polica;
    l_reg_oznaka = reg_oznaka==null ? "": reg_oznaka;
    l_ime_osiguranika = ime_osiguranika==null ? "": ime_osiguranika;
    l_naziv_osiguranika = naziv_osiguranika==null ? "": naziv_osiguranika;
    l_leasing = leasing==null ? "": leasing;
    String body = "<?xml version=\"1.0\" encoding=\"utf-8\"?>";
    body += "<soapenv:Envelope xmlns:soapenv=\"http://schemas.xmlsoap.org/soap/envelope/\" xmlns:web=\"https://services.huo.hr/web_ao/\">";
    body += "<soapenv:Header/>";
    body += "<soapenv:Body>";
    body += "<web:get_pstupanj>";
    body += "<web:param_in>";
    body += "<web:polica>"+l_polica+"</web:polica>";
    body += "<web:reg_oznaka>"+l_reg_oznaka+"</web:reg_oznaka>";
    body += "<web:ime_osiguranika>"+l_ime_osiguranika+"</web:ime_osiguranika>";
    body += "<web:naziv_osiguranika>"+l_naziv_osiguranika+"</web:naziv_osiguranika>";
    body += "<web:leasing>"+l_leasing+"</web:leasing>";
    body += "</web:param_in>";
    body += "</web:get_pstupanj>";
    body += "</soapenv:Body>";
    body += "</soapenv:Envelope>";
    SSLContext sslContext = null;
    try {
    sslContext = SSLContext.getInstance("TLS");
    X509TrustManager[] xtmArray = new X509TrustManager[|http://forums.oracle.com/forums/] { xtm };
    sslContext.init(null, xtmArray, new java.security.SecureRandom());
    } catch (GeneralSecurityException gse) {
    doc[0] = gse.toString();
    return -1;
    if (sslContext != null) {
    conn.setDefaultSSLSocketFactory(sslContext.getSocketFactory());
    try {
    conn.setDefaultHostnameVerifier(hnv);
    } catch (Exception ex) {
    doc[0] = ex.toString();
    return -1;
    try {
    URL st = new URL("https://services.huo.hr/web_ao/web_ao.asmx");
    conn = (HttpsURLConnection)st.openConnection();
    conn.setRequestMethod("POST");
    conn.setRequestProperty("Host", "services.huo.hr");
    conn.setRequestProperty("Content-Length", "" + body.length());
    conn.setRequestProperty("SOAPAction",
    "\"https://services.huo.hr/web_ao/get_pstupanj\"");
    conn.setRequestProperty("Content-Type", "text/xml;charset=UTF-8");
    conn.setDoOutput(true);
    OutputStreamWriter wr =
    new OutputStreamWriter(conn.getOutputStream());
    wr.write(body);
    wr.flush();
    BufferedReader in =
    new BufferedReader(new InputStreamReader(conn.getInputStream()));
    String inputLine;
    while ((inputLine = in.readLine()) != null) {
    sb.append(new String(inputLine.getBytes(),"UTF-8"));
    in.close();
    //System.out.println(new String(sb.toString().getBytes(),"ISO8559_2"));
    doc[0] = sb.toString();
    return 0;
    } catch (Exception e) {
    doc[0] = e.toString() + " ===> " + body + " ==>length= " + body.length();
    return -1;
    ====================================
    best regards
    Edited by: Peterv6i on Jan 6, 2009 8:34 AM
    Edited by: Peterv6i on Jan 6, 2009 8:40 AM

  • Creating XML from Oracle Tables

    Would it be possible to post me a snapshot of the ODI Flow diagram for an Oracle to XML conversion? Does the staging area have to be on the Target (XML)? What KMs & CM should be used? Can the XML be written straight back to an .xml file? What should the XML Schema look like?
    These are the KMs I use: LKM-SQL to SQL; IKM-SQL Incremental Update; CKM-SQL.
    My flow is straight from source (oracle) to target (xml), with staging area on target (doesn't feel right).
    My Oracle Dataserver & Schema work fine. Not sure about the XML dataserver setup though - I think this is where the problem lies. These are my JDBC settings:
    - com.sunopsis.jdbc.driver.xml.SnpsXmlDriver
    - jdbc:snps:xml?f=E:\Oracle ODI\Member.xsd
    I am evaluating ODI for a client and I wanted to throw together a quick demo showing how easily ODI can generate XML from any source. I know this is the case as I understand the concept of ODI's components - just haven't had time to read manuals thoroughly.
    Many thanks for your help,
    Steve

    Hello,
    1. Try to test the connection to the XML dataserver.
    2. Create a model and reverse-engineer this dataserver. You'll see what the XML structure is mapped to immediately.
    3. Integrate data to this model (using standard KM targeting "SQL").
    You can put the staging area on the Oracle source or in the XML driver if you want. Both solutions will work.
    just haven't had time to read manuals thoroughly.I think you should quickly read the "Sunopsis ODI with... XML" section in the manual.
    It is not very long and very helpful. Have also a quick look at the XML driver documentation.
    Regards,
    -FX

  • Generate XML from Oracle Table Data

    Hi All,
    I am new to this network. I am also new to oracle XML package. I want a help for the below query.
    CREATE TABLE EMP(ID NUMBER PRIMARY KEY, NAME VARCHAR2(10), PHONE NUMBER);
    INSERT INTO EMP(ID,NAME,PHONE) VALUES (11,'Joy',1234);
    INSERT INTO EMP(ID,NAME,PHONE) VALUES (22,'Mike',5678);
    INSERT INTO EMP(ID,NAME,PHONE) VALUES (33,'Jason',NULL);
    COMMIT;
    I want to export the EMP table data in a XML file with the below format.
    Required Output:
    <?xml version="1.0" encoding="UTF-8"?><STATICDATA><EMP><ID>11</ID><NAME>Joy</NAME></EMP></STATICDATA>
    <?xml version="1.0" encoding="UTF-8"?><STATICDATA><EMP><ID>22</ID><NAME>Mike</NAME></EMP></STATICDATA>
    <?xml version="1.0" encoding="UTF-8"?><STATICDATA><EMP><ID>33</ID><NAME>Jason</NAME></EMP></STATICDATA>
    I have used some XML functions and have written the below query.
    select XMLROOT(XMLELEMENT(staticdata,XMLELEMENT(EMP,XMLELEMENT(ID,ID),XMLELEMENT(NAME,NAME))), version '1.0" encoding="UTF-8') xml FROM EMP;
    output of my query:
    <?xml version="1.0" encoding="UTF-8"?>
    <STATICDATA>
    <EMP>
    <ID>11</ID>
    <NAME>Joy</NAME>
    </EMP>
    </STATICDATA>
    <?xml version="1.0" encoding="UTF-8"?>
    <STATICDATA>
    <EMP>
    <ID>22</ID>
    <NAME>Mike</NAME>
    </EMP>
    </STATICDATA>
    <?xml version="1.0" encoding="UTF-8"?>
    <STATICDATA>
    <EMP>
    <ID>33</ID>
    <NAME>Jason</NAME>
    </EMP>
    </STATICDATA>
    But i want the out as the required output above. every record in a single line. can any one help me in achieving the required output. also can i export all the columns of the table by some thing like select * from the table in XML file ?
    Thanks,
    Sartaj

    user13683418 wrote:
    Hi All,
    I am new to this network. I am also new to oracle XML package. I want a help for the below query.
    CREATE TABLE EMP(ID NUMBER PRIMARY KEY, NAME VARCHAR2(10), PHONE NUMBER);
    INSERT INTO EMP(ID,NAME,PHONE) VALUES (11,'Joy',1234);
    INSERT INTO EMP(ID,NAME,PHONE) VALUES (22,'Mike',5678);
    INSERT INTO EMP(ID,NAME,PHONE) VALUES (33,'Jason',NULL);
    COMMIT;
    I want to export the EMP table data in a XML file with the below format.
    Required Output:
    <?xml version="1.0" encoding="UTF-8"?><STATICDATA><EMP><ID>11</ID><NAME>Joy</NAME></EMP></STATICDATA>
    <?xml version="1.0" encoding="UTF-8"?><STATICDATA><EMP><ID>22</ID><NAME>Mike</NAME></EMP></STATICDATA>
    <?xml version="1.0" encoding="UTF-8"?><STATICDATA><EMP><ID>33</ID><NAME>Jason</NAME></EMP></STATICDATA>
    I have used some XML functions and have written the below query.
    select XMLROOT(XMLELEMENT(staticdata,XMLELEMENT(EMP,XMLELEMENT(ID,ID),XMLELEMENT(NAME,NAME))), version '1.0" encoding="UTF-8') xml FROM EMP;
    output of my query:
    <?xml version="1.0" encoding="UTF-8"?>
    <STATICDATA>
    <EMP>
    <ID>11</ID>
    <NAME>Joy</NAME>
    </EMP>
    </STATICDATA>
    <?xml version="1.0" encoding="UTF-8"?>
    <STATICDATA>
    <EMP>
    <ID>22</ID>
    <NAME>Mike</NAME>
    </EMP>
    </STATICDATA>
    <?xml version="1.0" encoding="UTF-8"?>
    <STATICDATA>
    <EMP>
    <ID>33</ID>
    <NAME>Jason</NAME>
    </EMP>
    </STATICDATA>
    But i want the out as the required output above. every record in a single line.Why?
    Some things output XML all as one stream, some things naturally display it structured. It doesn't matter as the XML is still the same because by it's very nature it is a structured data definition. Anything that reads XML will be able to read it whether it's on one line (streamed) or structured.
    also can i export all the columns of the table by some thing like select * from the table in XML file ?A couple of ways of exporting XML to a file...
    -- DBMS_XSLPROCESSOR.clob2file
    -- outputs a clob to a file
    DECLARE
       ctx   DBMS_XMLGEN.ctxtype;
    BEGIN
       ctx := DBMS_XMLGEN.newcontext ('select * from emp');
       DBMS_XSLPROCESSOR.clob2file (DBMS_XMLGEN.getxml (ctx), 'TEMP', 'emp.xml');
       DBMS_XMLGEN.closecontext (ctx);
    END;
    PL/SQL procedure successfully completed.or
    ..snip..
      v_xml                 XMLTYPE;
      v_doc                 XMLDOM.DOMDocument;
      v_dir                 VARCHAR2(2000);
      v_file                VARCHAR2(2000);
    BEGIN
      v_xml := ... populate with XML ...;
      v_dir := 'TEST_DIR'; -- directory object name (in UPPER CASE)
      v_file := 'myfile.xml';
      v_doc := DBMS_XMLDOM.NEWDOMDOCUMENT(v_xml);
      DBMS_XMLDOM.WRITETOFILE(v_doc, v_dir||'\'||v_file, 'UTF-8');
      DBMS_XMLDOM.FREEDOCUMENT(v_doc);
    ..snip..

  • Generating XML from Oracle DB

    While generating XML data from Oracle relational database, using the following SQL statement,
    SELECT XMLElement("Date", VioDate)
    FROM TableName
    WHERE VioId= 10;
    I am getting the result as :
    [][][][]<Date>2010-03-22</Date>
    There four small squares coming before the xml element.
    Can anyone let me know why I am getting this and how to correct it.
    I am using Oracle SQL Developer version 1.2.1 Build MAIN - 32.13 to run the above statement.
    Regards

    Hi,
    Probably an issue about how the client "implicitly" converts an XMLType to display its lob content.
    You may use getStringVal() or getClobVal() methods to get the content :
    SQL*Plus: Release 10.1.0.4.2 - Production on Lun. Mars 29 16:28:39 2010
    Copyright (c) 1982, 2005, Oracle.  All rights reserved.
    Connecté à :
    Oracle Database 10g Enterprise Edition Release 10.2.0.4.0 - 64bit Production
    With the Partitioning, OLAP, Data Mining and Real Application Testing options
    SQL> select xmlelement("TEST", 'ABC') from dual;
    XMLELEMENT("TEST",'ABC')
    SQL> select xmlelement("TEST", 'ABC').getclobval() from dual;
    XMLELEMENT("TEST",'ABC').GETCLOBVAL()
    <TEST>ABC</TEST>HTH

  • Generating xml from oracle 10g with BLOB image

    Hello All,
    I have employee table with id(primary key), firstname,lastname
    and I have portrait table with id(secondary key from employee table),image (blob)
    portrait table store images of the employees which are in the employee table.
    I want to generate following xml output
    <rowset>
    <id> </id>
    <firstname> </firstname>
    <lastname> </lastname>
    <portrait>base64formatted string containing image of the employee for the particular id specified in the id tag</portrait>
    </rowset>
    and save this xml as id.xml into a particular folder in the c drive and generate such xmls for each and every row of the emplyee table...
    e.g. if i have 200 emplyees with id as 1 ,2 ,.....,200 and their respective portraits into portrait table; then I want to save these as separate xml files with the names 1.xml , 2.xml , .....200.xml inside a folder say : C:\temp...
    Any help is highly appreciated
    Edited by: user1030398 on Sep 28, 2010 12:01 PM
    Edited by: user1030398 on Sep 28, 2010 12:02 PM

    I was going to write up a longer answer, but then I realized this post contains pretty much all you need
    http://www.liberidu.com/blog/?p=365
    I like using XMLElement/XMLForest to build the XML as it gives you the most control.
    In the first example on Marco's website, you would just use dbms_xslprocessor.clob2file to write each file out to disk with a CURSOR FOR loop instead of doing a single OPEN/FETCH/CLOSE. The cursor would return two columns, employee.id and the generated XML. The filename would be based on the "id" column returned by the CURSOR.
    Assumption: The machine that Oracle resides on has the "C:\temp" directory that you want to write to. You cannot use this method to right files onto a client machine.
    Hope that gets you started.

  • Dequeue XML from Oracle AQ and insert data into table

    Using PL/SQL in a stored procedure, I need to dequeue a message from an Oracle AQ queue, parse the XML content and insert the data in an Oracle table. This is being done in Oracle 9.2.x.
    The payload for the message consists of 2 attributes, APPLICATION_DATA (VARCHAR2(32) and MESSAGE_BODY (CLOB). The MESSAGE_BODY is an XML document. A sample of the message is shown below:
    (M_NAME=MSG_LAW_WR_CRE_UPD, <?xml version = "1.0"?>
    <MSG_LAW_WR_CRE_UPD ID = "WMIS-4744" SRC_SYSTEM_CODE = "WMIS" SRC_SYSTEM_INSTANCE = "WMIS">
    <WR:CMP_LAW_WR_CRE_UPD xmlns:WR = "WR" >
    <WR:DATETIME>12/19/2005</WR:DATETIME>
    <WR:RUSCODE>100</WR:RUSCODE>
    <WR:WRNO>38213</WR:WRNO>
    </WR:CMP_LAW_WR_CRE_UPD>
    </MSG_LAW_WR_CRE_UPD>)
    This message needs to be dequeued from a queue named INBOUND, parsed and inserted into a table named INFO_TO_ACCT (CREATEDATE date, RUSCODE varchar2(10), WRNO number).
    Any help would be appreciated.

    SELECT EXTRACTVALUE(xmltype('<?xml version = "1.0"?>
    <MSG_LAW_WR_CRE_UPD ID = "WMIS-4744" SRC_SYSTEM_CODE = "WMIS" SRC_SYSTEM_INSTANCE = "WMIS">
    <CMP_LAW_WR_CRE_UPD>
    <DATETIME>12/19/2005</DATETIME>
    <RUSCODE>100</RUSCODE>
    <WRNO>38213</WRNO>
    </CMP_LAW_WR_CRE_UPD>
    </MSG_LAW_WR_CRE_UPD>'),'//DATETIME/text()') FROM DUAL;
    hope this helps.

  • Generating xml from oracle table

    Hi,
    I want to generate xml form an oracle table and using sql developer, oracle express 10g, xdk forler is also unzipped under oracle express folder, still getting following error: code used
    var g_clob clob;
    declare
         l_ctx  dbms_xmlquery.ctxHandle;
         l_clob clob;
        begin
          l_ctx := dbms_xmlquery.newContext('select * from scott.emp');
          dbms_lob.createtemporary(:g_clob,true,dbms_lob.session);
          :g_clob := dbms_xmlquery.getXml(l_ctx);
        end;
        /ORA-06550: line 2, column 14:
    PLS-00201: identifier 'DBMS_XMLQUERY.CTXHANDLE' must be declared
    Thanks in advance

    Hi,
    DBMS_XMLQUERY is a wrapper for methods from the Java class "oracle.xml.sql.query.OracleXMLStaticQuery".
    The problem is that Oracle 10g XE doesn't have a JVM, so you can't use this package.
    Use DBMS_XMLGEN instead, it provides similar functionalities and is more efficient (C-based) :
    SQL> var g_clob clob
    SQL> DECLARE
      2    l_ctx    dbms_xmlgen.ctxHandle;
      3  BEGIN
      4    l_ctx := dbms_xmlgen.newContext('select * from scott.emp');
      5    :g_clob := dbms_xmlgen.getXML(l_ctx);
      6    dbms_xmlgen.closeContext(l_ctx);
      7  END;
      8  /
    PL/SQL procedure successfully completed.
    SQL> set long 5000
    SQL> set pages 1000
    SQL> print g_clob
    G_CLOB
    <?xml version="1.0"?>
    <ROWSET>
    <ROW>
      <EMPNO>7369</EMPNO>
      <ENAME>SMITH</ENAME>
      <JOB>CLERK</JOB>
      <MGR>7902</MGR>
      <HIREDATE>17/12/80</HIREDATE>
      <SAL>800</SAL>
      <DEPTNO>20</DEPTNO>
    </ROW>
    <ROW>
      <EMPNO>7499</EMPNO>
      <ENAME>ALLEN</ENAME>
      <JOB>SALESMAN</JOB>
      <MGR>7698</MGR>
      <HIREDATE>20/02/81</HIREDATE>
      <SAL>1600</SAL>
      <COMM>300</COMM>
      <DEPTNO>30</DEPTNO>
    </ROW>
    <ROW>
      <EMPNO>7521</EMPNO>
      <ENAME>WARD</ENAME>
      <JOB>SALESMAN</JOB>
      <MGR>7698</MGR>
      <HIREDATE>22/02/81</HIREDATE>
      <SAL>1250</SAL>
      <COMM>500</COMM>
      <DEPTNO>30</DEPTNO>
    </ROW>
    <ROW>
      <EMPNO>7566</EMPNO>
      <ENAME>JONES</ENAME>
      <JOB>MANAGER</JOB>
      <MGR>7839</MGR>
      <HIREDATE>02/04/81</HIREDATE>
      <SAL>2975</SAL>
      <DEPTNO>20</DEPTNO>
    </ROW>
    <ROW>
      <EMPNO>7654</EMPNO>
      <ENAME>MARTIN</ENAME>
      <JOB>SALESMAN</JOB>
      <MGR>7698</MGR>
      <HIREDATE>28/09/81</HIREDATE>
      <SAL>1250</SAL>
      <COMM>1400</COMM>
      <DEPTNO>30</DEPTNO>
    </ROW>
    <ROW>
      <EMPNO>7698</EMPNO>
      <ENAME>BLAKE</ENAME>
      <JOB>MANAGER</JOB>
      <MGR>7839</MGR>
      <HIREDATE>01/05/81</HIREDATE>
      <SAL>2850</SAL>
      <DEPTNO>30</DEPTNO>
    </ROW>
    <ROW>
      <EMPNO>7782</EMPNO>
      <ENAME>CLARK</ENAME>
      <JOB>MANAGER</JOB>
      <MGR>7839</MGR>
      <HIREDATE>09/06/81</HIREDATE>
      <SAL>2450</SAL>
      <DEPTNO>10</DEPTNO>
    </ROW>
    <ROW>
      <EMPNO>7839</EMPNO>
      <ENAME>KING</ENAME>
      <JOB>PRESIDENT</JOB>
      <HIREDATE>17/11/81</HIREDATE>
      <SAL>5000</SAL>
      <DEPTNO>10</DEPTNO>
    </ROW>
    <ROW>
      <EMPNO>7844</EMPNO>
      <ENAME>TURNER</ENAME>
      <JOB>SALESMAN</JOB>
      <MGR>7698</MGR>
      <HIREDATE>08/09/81</HIREDATE>
      <SAL>1500</SAL>
      <COMM>0</COMM>
      <DEPTNO>30</DEPTNO>
    </ROW>
    <ROW>
      <EMPNO>7900</EMPNO>
      <ENAME>JAMES</ENAME>
      <JOB>CLERK</JOB>
      <MGR>7698</MGR>
      <HIREDATE>03/12/81</HIREDATE>
      <SAL>950</SAL>
      <DEPTNO>30</DEPTNO>
    </ROW>
    <ROW>
      <EMPNO>7902</EMPNO>
      <ENAME>FORD</ENAME>
      <JOB>ANALYST</JOB>
      <MGR>7566</MGR>
      <HIREDATE>03/12/81</HIREDATE>
      <SAL>3000</SAL>
      <DEPTNO>20</DEPTNO>
    </ROW>
    <ROW>
      <EMPNO>7934</EMPNO>
      <ENAME>MILLER</ENAME>
      <JOB>CLERK</JOB>
      <MGR>7782</MGR>
      <HIREDATE>23/01/82</HIREDATE>
      <SAL>1300</SAL>
      <DEPTNO>10</DEPTNO>
    </ROW>
    </ROWSET>Or, using SQL/XML functions :
    SELECT XMLElement("ROWSET",
             XMLAgg(
               XMLElement("ROW",
                 XMLForest(empno, ename, job, mgr, hiredate, sal, comm, deptno)
           ).getClobVal()
    FROM scott.emp
    ;

  • Create XML from oracle table if not null

    Hello dear community,
    I have a problem by creating an XML file in oracle and hope you could help me.
    What I have is an table named "description" with three rows there:
    person varchar2(50)
    adress varchar2(50)
    Nr number
    Reading this table I am going to create an XML file like that:
    Procedure Create_XML (iNr IN number, cXmlFile OUT clob) is
    varPerson varchar2(50);
    varAdress varchar2(50);
    Begin
    varPerson := ... ;
    varAdress := ... ;
    select
    xmlserialize
    content
    xmlelement
    "Head",
    xmlelement
    "Node",
    xmlelement
    "Line",
    xmlelement("ATNAM", 'PERSON'),
    xmlelement("ATWRT", PERSON),
    xmlelement("ATFOR", varPerson)
    xmlelement
    "Line",
    xmlelement("ATNAM", 'ADRESS'),
    xmlelement("ATWRT", ADRESS),
    xmlelement("ATFOR", varAdress)
    indent
    ) as xml
    into cXmlFile
    from description
    where Nr = iNr;
    End Create_XML;
    What I want to do, is just to take the value from the both rows "person" and "adress" and fill the xml file with additional info.
    1. My first question is, if it is possible to create any kind of routine for the xmlelement "Line" instead of doing it all over and over again? How?
    2. An other issue is very important to me: how can I check here if f.i. the row person is empty or not? If it is, the xmlelement "Line" with person information in it should not be created at all.
    Any answer would really help me!
    Thank you a lot in advance!

    Hi,
    Could you elaborate a little on your first question?
    Are you looking for something like :
    SELECT xmlquery(
    '<head>
      <node>
       for $i in ora:view("DESCRIPTION")/ROW[NR=$nr]/*[local-name()!="NR"]
       return element Line {
        element ATNAM {local-name($i)},
        element ATWRT {$i/text()}
      </node>
    </head>'
    passing sys_xmlgen(1) as "nr"
    returning content
    FROM dual;but since you use a specific variable for each "line" type, I don't see how we can generalize the construction of the line element.

  • Reading XML from Oracle directory to generate charts

    Hi,
    I have a requirement create graphs, charts and maps based on data from a data warehouse (dw).  As I see things, there are two possibilities:
    Graphs, charts and maps based on an XML file
    Graphs, charts and maps based on Oracle tables
    Both would contain small data sets that will allow for quick response.  The intent of these graphs, charts and maps is to generate a dashboard that would allow the user to quickly drill down to the desired warehouse data.
    The proof of concept has already been validated using the Oracle table scenario.  My question is whether or not this could be accomplished reading xml files for generating the same set of dashboard items?
    My Oracle database and APEX environments configuration are as follows:
    NLSRTL                 11.2.0.1.0                                                           Production
    Oracle Database 11g Enterprise Edition 11.2.0.1.0                         64bit Production
    PL/SQL 11.2.0.1.0                                                                            Production
    TNS for Solaris: 11.2.0.1.0                                                               Production
    Application Express 4.2.2.00.11
    APEX Listener Release 2.0.2.  / Tomcat
    An Oracle database directory has been setup and is accessible to our APEX application.
    Any suggestions/help is appreciated.
    Thanks,
    Charles

    An Oracle Directory has an underlying OS directory associated with it, Oracle just overlays it's control structure onto an existing folder in the OS. You can manipulate the files with stored procedures in Oracle or at the OS level from outside of Oracle.
    If you manipulate the files from the OS level, outside of Oracle, you may need a refresh of the Oracle Directory structure.

  • Generating xml from oracle-data

    In our company we have to export customer-data to xml using a predefined format (which we cannot change).
    This xml will subsequently be used to import the data into another system.
    I'm not that familiar with XML. Most of the work can be done using dbms_xmlgen which is pretty simple and straightforward to use
    There is one type of element I cannot place correctly in the specification
    The use of foreign keys. For instance
    A employee has a foreign key to a bussiness unit that should be written down in the xml
    when using "normal" dbms_xmlgen the tag would be like
    <bussinessunit>"bisut100"</bussinessunit>
    But the specification specifies the following format
    <bussinessunit bussinesunitId="bisut100"/>
    Any idea how to get this using dbms_xmlgen?
    Or if not possible with dbms_xmlgen how could this easily be achieved?

    Thanks for the reply and the challenge is more to generate the closing tag exactly like in the specification
    The following is a snippet of what is required
    -<employee>
    <id>2</id>
    <empno>102105<empno>
    -<name>
    <firstname>Tom</firstname>
    <lastname>Hanks</lastname>
    </name>
    <bussinessunit bussinesunitId="bisut100"/>
    <employee>
    -<employee>
    <id>3</id>
    I wonder how to achieve the line
    <bussinessunit bussinesunitId="bisut100"/>
    I tried using
    DBMS_XMLGEN.setNullHandling(qryCtx, DBMS_XMLGEN.EMPTY_TAG);
    and then the construction
    qryCtx := DBMS_XMLGEN.newContext(
    ' select id, custom0 bussinessunit , company_id "@bussinessunitId", lname
    from tpt_employees t
    where rownum < 2
    and custom0 is null');
    Unfortunately, the resulting xml-line
    <BUSSINESSUNIT bussinessunitId = "1" <BUSSINESSUNIT/>
    is not the xml I had hoped for (it's not valid as well)

  • Raw XML from Oracle once BI Publisher report is mapped and grouping in Word

    Hello,
    Once you have uploaded your BI Publisher report, mapped it out, etc. Does anyone know how you can still view the raw XML data, similar to what you loaded into word BI Publisher originally?
    And separately does anyone know the best way to group things in word when creating your template? I need to group off of year and then SGL but am having trouble doing this.
    Thanks,
    Jon

    XMl data will be shown under "Data' in the output layout drop down box

  • XML output from Oracle 8.1.6

    I need to generate XML from oracle 8.1.6 and place the output into a file on NT directory. The RDBMS is running on SUN 2.7 (Solaris7).
    What is the best approach to accomplish this?
    I am new to XML, any sample code is greatly appreciated.
    Thanks for your help.
    null

    If you want to write the code yourself, you can download the XML SQL Utility and write Java code (or use its PL/SQL api) to accomplish this.
    You can also download the XSQL Pages technology and do it declaratively.
    If you want to create XML for a query
    like:
    SELECT * FROM EMP
    then with XSQL Pages you create a template
    page like this:
    <!-- MyQuery.xsql -->
    <xsql:query connection="myDB" xmlns:xsql="urn:oracle-xsql">
    SELECT * FROM EMP
    </xsql:query>
    And then you can use the "xsql" command-line
    utility to process the page and write the
    output into a file like this:
    $ xsql MyQuery.xsql MyOutputFile.xml
    null

  • Generating multi-level xml in oracle

    Hi,
    I want to create a multi-level XML structure from oracle, is there a way?
    Presently oracle provides DBMS_XMLQUERY and XMLGEN package to generated XML structure given a query. But the structure so generated is of single level. That is say I use
    select XMLGEN.getXML('select * from employees') from dual;
    the output is
    <EMPLOYEE>
    <ROW num="1">
    <NAME>Mark</NAME>
    <TEL>451-638191</TEL>
    </ROW>
    </EMPLOYEE>
    That I call a single level output.
    To create a multiple level XML I went in for object type in oracle. But the problem with this is that if I want to have multiple children for a single parent then object types fail. The structure below is not possible with object type.
    <EMPLOYEE>
    <ROW num="1">
    <NAME>Mark</NAME>
    <CONTACT>
    <ROW>
    <RESIDENCE>
    <ADDRESS>
         <ROW>
         Fifth Avenue, New York
         </ROW>
    </ADDRESS>
    <TEL>
         <ROW>451-638191</ROW>
         <ROW>451-638192</ROW>
         <ROW>451-638193</ROW>
    </TEL>
    </RESIDENCE>
    </ROW>
    <ROW>
    <RESIDENCE>
    <ADDRESS>
         <ROW>
         Fouth Avenue, New York
         </ROW>
    </ADDRESS>
    <TEL>
         <ROW>452-638191</ROW>
         <ROW>452-638192</ROW>
         <ROW>452-638193</ROW>
    </TEL>
    </RESIDENCE>
    </ROW>
    </CONTACT>
    </ROW>
    </EMPLOYEE>
    Then I tried nested tables. Here one needs to create an object type to create a table type. One cannot create a table type out of another table type. So that leavs me with 2 levels
    object type
    used by
    table type
    used by
    table.
    Presently to generated a multi-level output as shown above I'm using cursors and build it in a clob variable.
    Is there any other way that one can build a multi-level structure. Or is there a build in package that comes with orace 8i (and higher).
    Regards,
    Milton.

    Milton,
    I was able to generate hierarchical XML from Oracle using object views and XML-SQL Utility (XSU).
    Here is a simplified version of my OR schema:
    /* Physical spec object */
    create or replace type physical_specifications_object as object (
    physical_specifications_id number(15),
    page_count number(10),
    product_id number(10),
    four_color_count number(10),
    two_color_count number(10),
    table_count number(10),
    binding_type varchar2(100),
    height varchar2(20),
    width varchar2(20)
    /* Market object */
    create or replace type market_object as object (
    market_id number(15),
    master_class_name varchar2(50),
    market_name varchar2(100),
    market_type varchar2(100),
    market_description varchar2(500),
    level_rank varchar2(15),
    market_code varchar2(100),
    product_id number(10)
    /* List of markets */
    create or replace type market_table as table of market_object;
    /* Market object view */
    create or replace view market_object_view of market_object
    with object identifier (market_id) as
    select mkt.market_id,
    class.master_class_name,
    mkt.market_name,
    mkt.market_type,
    mkt.market_description,
    prod_mkt.level_rank,
    mkt.market_code,
    p.product_id
    from market mkt,
    product p,
    product_market prod_mkt,
    master_class class
    where p.product_id = prod_mkt.product_id
    and prod_mkt.market_id = mkt.market_id
    and mkt.master_class_id = class.master_class_id(+);
    /* Feature object */
    create or replace type product_feature_object as object (
    feature_id number(15),
    feature_text varchar2(3500),
    feature_type varchar2(100)
    /* List of features */
    create or replace type product_feature_table as table of product_feature_object;
    /* Product object */
    create or replace type product_object as object (
    product_id number(10),
    title varchar2(150),
    media_type varchar2(20),
    standard_number varchar2(100),
    physical_specifications physical_specifications_object,
    markets market_table,
    product_features product_feature_table
    /* Product object view */
    create or replace view product_object_view of product_object
    with object identifier (product_id) as
    select p.product_id,
    p.title,
    p.media_type,
    p.standard_number,
    physical_specifications_object(spec.physical_specifications_id,
    spec.page_count,
    spec.product_id,
    spec.four_color_count,
    spec.two_color_count,
    spec.table_count,
    spec.binding_type,
    spec.height,
    spec.width),
    cast(multiset(select *
    from market_object_view mkt
    where mkt.product_id(+) = p.product_id) as market_table) as markets,
    cast(multiset(select f.feature_id, f.feature_text, f.feature_type
    from feature f
    where f.product_id = p.product_id) as product_feature_table) as product_features
    from product p,
    physical_specifications spec
    where p.product_id = spec.product_id(+)
    The objective is to generate XML for a product list with all the product subelements. The simple query "select * from product_object_view" when fed to the XML-SQL utility generates multi-level SQL. Note that Oracle 8i allows up to two level collection nesting in object types. Oracle 9i removes this limitation.
    Check XSU documentation at http://otn.oracle.com/docs/tech/xml/xdk_java/doc_library/Production9i/doc/java/xsu/xsu_userguide.html#1014886
    Hi,
    I want to create a multi-level XML structure from oracle, is there a way?
    Presently oracle provides DBMS_XMLQUERY and XMLGEN package to generated XML structure given a query. But the structure so generated is of single level. That is say I use
    select XMLGEN.getXML('select * from employees') from dual;
    the output is
    <EMPLOYEE>
    <ROW num="1">
    <NAME>Mark</NAME>
    <TEL>451-638191</TEL>
    </ROW>
    </EMPLOYEE>
    That I call a single level output.
    To create a multiple level XML I went in for object type in oracle. But the problem with this is that if I want to have multiple children for a single parent then object types fail. The structure below is not possible with object type.
    <EMPLOYEE>
    <ROW num="1">
    <NAME>Mark</NAME>
    <CONTACT>
    <ROW>
    <RESIDENCE>
    <ADDRESS>
         <ROW>
         Fifth Avenue, New York
         </ROW>
    </ADDRESS>
    <TEL>
         <ROW>451-638191</ROW>
         <ROW>451-638192</ROW>
         <ROW>451-638193</ROW>
    </TEL>
    </RESIDENCE>
    </ROW>
    <ROW>
    <RESIDENCE>
    <ADDRESS>
         <ROW>
         Fouth Avenue, New York
         </ROW>
    </ADDRESS>
    <TEL>
         <ROW>452-638191</ROW>
         <ROW>452-638192</ROW>
         <ROW>452-638193</ROW>
    </TEL>
    </RESIDENCE>
    </ROW>
    </CONTACT>
    </ROW>
    </EMPLOYEE>
    Then I tried nested tables. Here one needs to create an object type to create a table type. One cannot create a table type out of another table type. So that leavs me with 2 levels
    object type
    used by
    table type
    used by
    table.
    Presently to generated a multi-level output as shown above I'm using cursors and build it in a clob variable.
    Is there any other way that one can build a multi-level structure. Or is there a build in package that comes with orace 8i (and higher).
    Regards,
    Milton.

  • What do i need to produce XML from a query

    I am confused to what HTML DB, IAS, Portal products I need to have the database produce XML from a query. I want to write a simple query like select firstname, lastname from emp where username like 'someone'; and get XML from oracle
    <queryresults>
    <row index="1"><firstname>scott</firstname><lastname>tiger</lastname></row>
    </queryresults>
    Do I have to write custom procedures for each query or is there a neat out-of-the-box feature I can use here.

    Adobe Flash if the content is Flash based. It's a free download from Adobe's website. If you do download it, restart the computer after for the install to take effect.

Maybe you are looking for

  • How many devices can I have on my network

    I need to know how many devices I can have on my home network. I'm using the netgear wifi. 300mbps It seems to get really bogged down when I have 3 or more apple tv's going and iphone's, ipad's, etc.... Any suggestions?

  • New domain new subnet problem

    We were trying to add a new domain tree to our forest/domain with windows 2012 r2 but the promotion of the new domain controller for the new domain tree failed. Everything goes well until the final setup window, but then the new domain controller for

  • Firefox 7.0.1 Page Load forever

    Hi My Os : windows 7 ultimate sp1 (new installation) Firefox 7.0.1 Add-on: IDM CC Real -Debrid flash player showkwave java sliverlight the problem : when i brows internet Surprisingly the internet stop working and page load forever even if i open new

  • VMWare Image of OBIEE 11G

    Windows XP 32 Bit Oracle DB 11G OBIEE 11G Can I do a fresh nstall of OBIEE 11G/Oracle DB 11G on Windows XP 32 Bit and then make a VMWare Image of that that will be portable to Windows 7 and other Windows XP machines via VMWare. Thanks In Advance

  • Weblogic EJB Deployment Descriptor

    Hi, Can someone help me in learning how to write weblogic specific deployment descriptors for EJBs ??? Where can I find good tutorial or help. I am new to EJB. Thank you in advance