Oppose the xml mapping in mantaining plsql namespaces

Hello

I am enrolled in a schema xml using DBMS_XMLSCHEMA.registerSchema and by setting genType to "true". Pl - sql types were generated successfully.

I want serialize and deserialize in pl - sql code these types of objects from an xml source or target. I need to keep the saved schema namespaces.
In practice, my requirement is to map xml to objects sql pl (oxm) in application JAXB for java.

Thank you
Best regards

Stefano

See: {message identifier: = 10712117}

Example:

DECLARE
  v_schema clob :=
'
  
    
    
  
  
    
      
    
  
  
';

BEGIN

  dbms_xmlschema.registerSchema(
    schemaURL => 'workbook.xsd'
  , schemaDoc => v_schema
  , local => true
  , genTypes => true
  , genTables => true
  , enableHierarchy => dbms_xmlschema.ENABLE_HIERARCHY_NONE
  );

END;
/ 
SQL> set serveroutput on
SQL>
SQL> declare
  2
  3    doc   xmltype := xmltype('
  4   
  5   
  6   
  7  ');
  8
  9    obj   t_workbook;
 10
 11  begin
 12
 13    -- create an object instance from the input XML document :
 14    doc.toObject(obj, 'workbook.xsd', 'workbook');
 15
 16    -- update an attribute :
 17    obj."worksheet"(2)."sheetName" := 'new_sheet2';
 18
 19    -- save back the object as XML :
 20    doc := xmltype(obj, 'workbook.xsd', 'workbook');
 21
 22    dbms_output.put_line(doc.getstringval);
 23
 24  end;
 25  /


  
  
  


PL/SQL procedure successfully completed
 

Tags: Database

Similar Questions

  • Is it possible to modify the XML mapped schema that is generated by the action of submit before submitting?

    I have a form created in LiveCycle ES2. I have a few fields mapped to a schema which causes LC to generate XML data that follow the format for importing one of the internal databases of my company.

    There is a problem: the system import feature seeks a DOCTYPE DTD declaration between the XML declaration and root element. I tried including the declaration in the schema, but LC does not include it in the values mapped or export. I spoke with the seller on the declaration of the DTD as part of the import function and they gave a firm "no."

    Is there a way to insert a single line of markup in the XML that LC generates in the action to submit before the XML code is attached to the email?

    Hello

    You can use XSLT to transform the outbound data.

    I have never done this for the addition of a DTD, but Google finds solutions for the term "xslt adds dtd" it should be possible.

    Adding a DOCTYPE statement on the output XSL - Scriptorium Publishing

    Set the DOCTYPE in XSL, Bernie Zimmermann

  • How to create the xml file in oracle plsql

    Hello

    I need the under xml (abc.xml) in unix Server out_directory file (the out_directory path: / u01/apps/xml /)

    Select sivauser, sivapwd from sivainformations;-it will be multiple records

    Select sivatelepone phone; - it will be multiple records

    Select xyzverion versionid; - it will be multiple records

    based on the above information, I need the sub file xml using oracle plsql procedure or a block

    example: suppose we record

    <? XML version = "1.0" encoding = "UTF-8"? >
    "< sivaService version ="2.0"xmlns ="http://www.siva.ab/siva/4.0/test">."
    < data language 'DEU' = >
    < sivauser action = "siva3" sivapwd = "siva123" > --i need to sivainformations table(sivauser,sivapwd) timeline
    phone < sivatelepone > < / sivatelepone >--i need to chronogram sivatelepone table (phone) based on the sivauser column
    < abcversion version = "1.0" >
    < Productinfo >
    versionID < xyzverion > < / xyzverion >--i need to xyzverion (versionid) based on the sivauser column table records
    < / Productinfo >
    < / abcversion >
    < / action >
    < / data >
    < / sivaService >


    example: assume that multiple records

    <? XML version = "1.0" encoding = "UTF-8"? >
    "< sivaService version ="2.0"xmlns ="http://www.siva.ab/siva/4.0/test>
    < data language 'DEU' = >
    < sivauser action = "siva3" sivapwd = "siva123" > --i need to sivainformations table(sivauser,sivapwd) timeline
    < sivatelepone > '345678' < / sivatelepone >--i need to chronogram sivatelepone table (phone) based on the sivauser column
    < abcversion version = "1.0" >
    < Productinfo >
    '1.1' < xyzverion > < / xyzverion >--i need to xyzverion (versionid) based on the sivauser column table records
    < / Productinfo >
    < / abcversion >
    < / action >

    < sivauser action = "siva4" sivapwd = "siva123" > --i need to sivainformations table(sivauser,sivapwd) timeline
    < sivatelepone > '123456' < / sivatelepone >--i need to chronogram sivatelepone table (phone) based on the sivauser column
    < abcversion version = "1.0" >
    < Productinfo >
    "1.2" < xyzverion > < / xyzverion >--i need to xyzverion (versionid) based on the sivauser column table records
    < / Productinfo >
    < / abcversion >
    < / action >
    < / data >
    < / sivaService >

    Please help me

    Thank you
    Siva

    I added a column ID to match the lines between the three tables.

    SQL> with sivainformations
      2  as
      3  (
      4     select 1 id, 'karthick' sivauser, 'karthick' sivapwd from dual union all
      5     select 2 id, 'ram', 'ram' from dual
      6  )
      7  , sivatelepone
      8  as
      9  (
     10     select 1 id, 1234567890 telepone from dual union all
     11     select 2 id, 1234512345 from dual
     12  )
     13  , versionid
     14  as
     15  (
     16     select 1 id, 1.1 versionid from dual union all
     17     select 2, 1.2 from dual
     18  )
     19  select xmlelement
     20         (
     21             "shivaService"
     22           , xmlattributes('2.0' as "version", 'http://www.siva.ab/siva/4.0/test' as "xmlns")
     23           , xmlelement
     24             (
     25                 "Data"
     26               , xmlattributes('DEU' as "language")
     27               , xmlagg
     28                 (
     29                     xmlelement
     30                     (
     31                          "Action"
     32                        , xmlattributes(s.sivauser as "sivauser", s.sivapwd as "sivapwd")
     33                        , xmlelement("shivatelepone", t.telepone)
     34                        , xmlelement
     35                          (
     36                              "abcversion"
     37                            , xmlattributes('1.0' as "version")
     38                            , xmlelement
     39                              (
     40                                   "ProductInfo"
     41                                 , xmlelement("xyzversion", v.versionid)
     42                              )
     43                          )
     44                      )
     45                 )
     46             )
     47         ).EXTRACT('*') xml_output
     48    from sivainformations s
     49    join sivatelepone t
     50      on s.id = t.id
     51    join versionid v
     52      on s.id = v.id;
    
    XML_OUTPUT
    -------------------------------------------------------------------------------------------------------------------
    
      
        
          1234567890
          
            
              1.1
            
          
        
        
          1234512345
          
            
              1.2
            
          
        
      
    
    
    SQL>
    
  • How to retrieve the XML values in a plsql table type

    Hello

    I have an XML doc as below which is a Web Service response message.

    <? XML version = "1.0" encoding = "UTF-8"? >
    < SOAP - ENV:Envelope
    xmlns:SOAP - ENV = "http://schemas.xmlsoap.org/soap/envelope/".
    container = "http://www.w3.org/2001/XMLSchema".
    xmlns: xsi = "http://www.w3.org/2001/XMLSchema-instance" >
    < SOAP - ENV:Body >
    < GetOrgInput xmlns = "http://www.example.org/ComplianceServices" >
    < ProgramName > PgmA-Srsf < / ProgramName >
    < > 800 ADSL ItemName < / ItemName >
    < org > 923 < / org >
    < org > 1163 < / org >
    < org > 1103 < / org >
    < / GetOrgInput >
    < / SOAP - ENV:Body >
    < / SOAP - ENV:Envelope >

    The doc above, you could see that I have several occurrences of the element "Ent". I usually use the .extract and. getSTringVal() to retrieve the values as below.

    l_string_variable: = p_response.doc.extract ('/ /'| p_name |) ' /Child::Text()',p_namespace).getStringVal();

    But in this case if I do that, I get value as 92311631103. I need to get them in a table of the number type. Pls advice me on how to do this.

    Thank you
    PKV

    I'm guessing it's a bug fixed when Oracle 10.2 is released. I can reproduce your lack of results on 10.1.0.4 and as shown in my post above, it works correctly on 10.2.0.4.

    Here is a modification of the script that shows what is happening that I have that debugging. (It took me a bit to realize the difference that it wasn't what I was expecting)

    declare
       p_response_doc XMLTYPE;
       l_new_doc      XMLTYPE;
    begin
       p_response_doc := XMLTYPE('
    
    
    
    1163
    1103
    
    
    ');
       SELECT p_response_doc.extract('/*/*/*/CompliantOrgs','xmlns="http://www.example.org/ComplianceServices"')
         INTO l_new_doc
          FROM dual;
       dbms_output.put_line(l_new_doc.getStringVal());
       dbms_output.put_line('before loop');
       FOR r_rec IN (SELECT value(t) val
    --   FOR r_rec IN (SELECT extractvalue(value(t)
    --      , '/CompliantOrgs'
    --      , 'xmlns="http://www.example.org/ComplianceServices"' ) val
          -- BULK COLLECT INTO l_nm_array
          FROM TABLE(
            XMLSequence(
              p_response_doc.extract('/*/*/*/CompliantOrgs','xmlns="http://www.example.org/ComplianceServices"')
              )
            ) t
       ) LOOP
          dbms_output.put_line(r_rec.val.getStringVal());
    --      dbms_output.put_line(r_rec.val);
       END LOOP;
       dbms_output.put_line('After output');
    end;
    

    10.2.0.4 on this product

    1163
    1103
    
    before loop
    1163
    1103
    After output
    

    It produces on 10.1.0.4

    1163
    1103
    
    before loop
    1163
    
    1103
    
    After output
    

    As you can see, Oracle is to detach (well technically not add) the space of default names to the nodes retrieved. To compensate, you need to change your loop to look like

       FOR r_rec IN (SELECT extractvalue(value(t)
          , '/CompliantOrgs') val
    --      , 'xmlns="http://www.example.org/ComplianceServices"' ) val
          -- BULK COLLECT INTO l_nm_array
          FROM TABLE(
            XMLSequence(
              p_response_doc.extract('//CompliantOrgs','xmlns="http://www.example.org/ComplianceServices"')
              )
            ) t
       ) LOOP
    

    so extractValue does not expect the namespaces associated with the nodes.

    I would suggest you document it so that you know why things break if you upgrade to 10.2 or later at some point in the future.

  • building XPath with the XML with the Namespace using PL SQL

    All trying to build the path to each node, when the XML code with no namespace, the following code works very well provide the result

    1 ~/

    2 ~ /Person/

    3 ~ /Person/ âge /

    4 ~ /Person/ homecity /

    5 ~ /Person/ nom /

    6 ~ /Person/ AccueilGuides/lat /

    7 ~ /Person/ AccueilGuides/name /

    8 ~ /Person/ homecity / long /

    But when the XML is changed to

    <person xmlns="urn:person" xmlns:lat="urn:lat">
    <name>Rob</name>
    <age>37</age>
    <homecity>
        <name>London</name>
        <lat>123.000</lat>
        <long>0.00</long>
    </homecity>
    </person>"

    The result of the code below the performance translates into just below result

    1~/
     2~/person/

    In the XML file above, XML namespace is not constant and varies for each XML. My requirement is to analyze the complete XML code, where I can read the XML with namespace and get the result that is mentioned below

    1~/
    2~/person/
    3~/person/age/
    4~/person/homecity/
    5~/person/name/
    6~/person/homecity/lat:lat/
    7~/person/homecity/name/
    8~/person/homecity/long/

    Can you please help me solve the issue mentioned. Thanks in advance. -Code snippet below:

    DECLARE
      l_File VARCHAR2(32000) := '<person>
    <name>Rob</name>
    <age>37</age>
    <homecity>
        <name>London</name>
        <lat>123.000</lat>
        <long>0.00</long>
    </homecity>
    </person>';
     
     l_Where_Clause VARCHAR2(100) := '/*';
     l_Append_Var   VARCHAR2(100) := '/';
     
     TYPE Ty_Paths IS TABLE OF VARCHAR2(1000) INDEX BY PLS_INTEGER;
     l_Ty_Paths      Ty_Paths;
     l_Ty_Paths_Temp Ty_Paths;
     
     TYPE Ty_Verifier IS TABLE OF VARCHAR2(1000) INDEX BY VARCHAR2(1000);
     l_Ty_Varifier Ty_Verifier;
     
    l_Prev_Query_Rec VARCHAR2(100);
    l_Index_Num      NUMBER := 0;
    l_Cur_Exec_Row   NUMBER := 0;
    BEGIN
     l_Ty_Paths(Nvl(l_Ty_Paths.COUNT, 0) + 1) := l_Append_Var;
     l_Cur_Exec_Row := 1;
     
     --Dbms_Output.put_line('Before entering the loop');
     
     LOOP
       l_Ty_Paths_Temp.DELETE;
      SELECT DISTINCT REPLACE(l_Append_Var || '/' || t.Xml || '/', '//', '/') BULK COLLECT
       INTO   l_Ty_Paths_Temp
      FROM   (SELECT Xmltype(Extract(VALUE(e), '/').Getstringval()) .Getrootelement() AS Xml
               FROM   TABLE(Xmlsequence(Extract(Xmltype(l_File), l_Where_Clause))) e) t;
     
      l_Ty_Varifier(Nvl(l_Ty_Varifier.COUNT, 0) + 1) := l_Append_Var;
      --Dbms_Output.put_line('L_TY_PATHS_TEMP.Count::'||L_TY_PATHS_TEMP.Count);
      IF l_Ty_Paths_Temp.COUNT > 0 THEN
         l_Index_Num := Nvl(l_Ty_Paths.COUNT, 0) + 1;
         FOR i IN l_Ty_Paths_Temp.FIRST .. l_Ty_Paths_Temp.LAST LOOP
            l_Ty_Paths(l_Index_Num) := l_Ty_Paths_Temp(i);
            --Dbms_Output.put_line('L_INDEX_NUM::'||L_INDEX_NUM);
            --Dbms_Output.put_line('L_TY_PATHS(L_INDEX_NUM)::'||L_TY_PATHS(L_INDEX_NUM));
            l_Index_Num := l_Index_Num + 1;
         END LOOP;
      END IF;
      --Dbms_Output.put_line('L_TY_PATHS.Count::'||L_TY_PATHS.Count);
      --Dbms_Output.put_line('L_TY_PATHS.Count::'||L_CUR_EXEC_ROW);
     
      IF (NOT l_Ty_Paths.EXISTS(l_Cur_Exec_Row + 1)) OR (l_Cur_Exec_Row = l_Ty_Paths.COUNT) THEN
         --Dbms_Output.put_line('Exiting');
         EXIT;
      ELSE
         --Dbms_Output.put_line('Inside the Else part');
     
         l_Cur_Exec_Row := l_Cur_Exec_Row + 1;
         l_Append_Var   := l_Ty_Paths(l_Cur_Exec_Row);
         l_Where_Clause := l_Ty_Paths(l_Cur_Exec_Row) || '*';
      END IF;
     
      --To Display the record:
         --Dbms_Output.put_line(L_TY_PATHS.Count);
      END LOOP;
      IF l_Ty_Paths.COUNT > 0 THEN
        FOR i IN l_Ty_Paths.FIRST .. l_Ty_Paths.LAST LOOP
          Dbms_Output.Put_Line(i || ' record is ' || l_Ty_Paths(i));
       END LOOP;
     END IF;
     
    END;

    Thank you.

    If you have patterns, it may be easier to work directly on them.

    Here's the idea:

    (1) install "Oracle XML DB manageability Packages", available on the code page for the XML DB sample: http://download.oracle.com/otn/samplecode/xdb_util.zip

    This is a set of utilities which allows us to annotate the XML schemas, to deal with the underlying or storage structure, and (this is the interesting part here) a few views of dictionary to describe the relational XSD structure.

    (it is now an integrated 12 c btw)

    (2) enter these two schemas:

    Start

    () dbms_xmlschema.registerSchema

    schemaURL-online "pacs.002.001.03S2.xsd."

    schemaDoc-online xmltype (bfilename('TEST_DIR','pacs.002.001.03S2.xsd'), nls_charset_id ('AL32UTF8'))

    local-online true

    genTypes-online fake

    genTables-online fake

    enableHierarchy-online dbms_xmlschema. ENABLE_HIERARCHY_NONE

    options-online dbms_xmlschema. REGISTER_BINARYXML

    );

    end;

    /

    Start

    () dbms_xmlschema.registerSchema

    schemaURL-online "SCTCvfBlkCredTrf.xsd."

    schemaDoc-online xmltype (bfilename('TEST_DIR','SCTCvfBlkCredTrf.xsd'), nls_charset_id ('AL32UTF8'))

    local-online true

    genTypes-online fake

    genTables-online fake

    enableHierarchy-online dbms_xmlschema. ENABLE_HIERARCHY_NONE

    options-online dbms_xmlschema. REGISTER_BINARYXML

    );

    end;

    /

    (3) the following query built all the paths of node defined by the main schema (SCTCvfBlkCredTrf.xsd), as well as the namespaces:

    with schema_list (schema_url, schema_owner) as)

    Select 'SCTCvfBlkCredTrf.xsd', 'OTN' from dual

    Union of all the

    Select sd.dep_schema_url, sd.dep_schema_owner

    of schema_list sl

    Join dba_xml_schema_dependency on sd.schema_url = sl.schema_url sd

    and sd.schema_owner = sl.schema_owner

    ),

    namespace_mapping (target_namespace, prefix) as long as)

    Select target_namespace

    , « ns » || ROW_NUMBER() (order target_namespace) as a prefix

    of user_xml_schema_namespaces

    where schema_url in (select schema_url from schema_list)

    ),

    () schema_nodes

    is_attr

    node_name

    max_occurs

    element_id

    parent_element_id

    target_namespace

    schema_url

    ) as)

    Select 0

    element_name as node_name

    xmlcast)

    XMLQUERY ('/ XS: ELEMENT / ' @maxOccurs passing returning content element)

    as varchar2 (10)

    )

    element_id

    parent_element_id

    target_namespace

    schema_url

    of user_xml_schema_elements

    where schema_url in (select schema_url from schema_list)

    Union of all the

    Select 1

    attribute_name as node_name

    null

    null

    element_id

    target_namespace

    schema_url

    of user_xml_schema_attributes

    where schema_url in (select schema_url from schema_list)

    )

    Select the level

    sn.node_name

    sn.max_occurs

    connect_by_isleaf as is_leaf

    sys_connect_by_path)

    -case when ns.prefix is not null and is_attr = 0 then ns.prefix | ':' end |

    -case when sn.is_attr = 1 then ' @' end |

    SN. NODE_NAME

    , '/'

    ) as xpath

    -, target_namespace

    of schema_nodes sn

    outer join ns namespace_mapping let ns.target_namespace = sn.target_namespace

    Connect prior sn.element_id = sn.parent_element_id

    Start with sn.schema_url = "SCTCvfBlkCredTrf.xsd".

    and sn.parent_element_id is null

    ;

    LEVEL MAX_OCCURS IS_LEAF XPATH NODE_NAME
    ----- ------------------ ---------- ------- ----------------------------------------------------------------------------------------------------------
    1 SCTCvfBlkCredTrf 0 /ns2:SCTCvfBlkCredTrf
    2 1 SndgInst /ns2:SCTCvfBlkCredTrf / ns2:SndgInst
    2 1 RcvgInst /ns2:SCTCvfBlkCredTrf / ns2:RcvgInst
    2 1 SrvcId /ns2:SCTCvfBlkCredTrf / ns2:SrvcId
    2 1 TstCode /ns2:SCTCvfBlkCredTrf / ns2:TstCode
    2 FType 1 /ns2:SCTCvfBlkCredTrf / ns2:FType
    2 FileRef 1 /ns2:SCTCvfBlkCredTrf / ns2:FileRef
    2 1 FileDtTm /ns2:SCTCvfBlkCredTrf / ns2:FileDtTm
    2 1 OrigFRef /ns2:SCTCvfBlkCredTrf / ns2:OrigFRef
    2 1 OrigFName /ns2:SCTCvfBlkCredTrf / ns2:OrigFName
    2 1 OrigDtTm /ns2:SCTCvfBlkCredTrf / ns2:OrigDtTm
    2 1 FileRjctRsn /ns2:SCTCvfBlkCredTrf / ns2:FileRjctRsn
    2 1 FileBusDt /ns2:SCTCvfBlkCredTrf / ns2:FileBusDt
    2 1 FileCycleNo /ns2:SCTCvfBlkCredTrf / ns2:FileCycleNo
    2 FIToFIPmtStsRptS2 1 /ns2:SCTCvfBlkCredTrf 0 / ns2:FIToFIPmtStsRptS2
    3 GrpHdr 0 /ns2:SCTCvfBlkCredTrf / ns2:FIToFIPmtStsRptS2 / ns1:GrpHdr
    4 MsgId 1 /ns2:SCTCvfBlkCredTrf / ns2:FIToFIPmtStsRptS2 / ns1:GrpHdr / ns1:MsgId
    4 CreDtTm 1 /ns2:SCTCvfBlkCredTrf / ns2:FIToFIPmtStsRptS2 / ns1:GrpHdr / ns1:CreDtTm
    4 InstgAgt 0 /ns2:SCTCvfBlkCredTrf / ns2:FIToFIPmtStsRptS2 / ns1:GrpHdr / ns1:InstgAgt
    5 FinInstnId 0 /ns2:SCTCvfBlkCredTrf / ns2:FIToFIPmtStsRptS2 / ns1:GrpHdr / ns1:InstgAgt / ns1:FinInstnId
    6 BIC 1 /ns2:SCTCvfBlkCredTrf / ns2:FIToFIPmtStsRptS2 / ns1:GrpHdr / ns1:InstgAgt / ns1:FinInstnId / ns1:BIC
    3 OrgnlGrpInfAndSts 0 /ns2:SCTCvfBlkCredTrf / ns2:FIToFIPmtStsRptS2 / ns1:OrgnlGrpInfAndSts
    4 OrgnlMsgId 1 /ns2:SCTCvfBlkCredTrf / ns2:FIToFIPmtStsRptS2 / ns1:OrgnlGrpInfAndSts / ns1:OrgnlMsgId
    4 OrgnlMsgNmId 1 /ns2:SCTCvfBlkCredTrf / ns2:FIToFIPmtStsRptS2 / ns1:OrgnlGrpInfAndSts / ns1:OrgnlMsgNmId
    4 OrgnlNbOfTxs 1 /ns2:SCTCvfBlkCredTrf / ns2:FIToFIPmtStsRptS2 / ns1:OrgnlGrpInfAndSts / ns1:OrgnlNbOfTxs
    4 OrgnlCtrlSum 1 /ns2:SCTCvfBlkCredTrf / ns2:FIToFIPmtStsRptS2 / ns1:OrgnlGrpInfAndSts / ns1:OrgnlCtrlSum
    4 GrpSts 1 /ns2:SCTCvfBlkCredTrf / ns2:FIToFIPmtStsRptS2 / ns1:OrgnlGrpInfAndSts / ns1:GrpSts
    4 StsRsnInf 0 /ns2:SCTCvfBlkCredTrf / ns2:FIToFIPmtStsRptS2 / ns1:OrgnlGrpInfAndSts / ns1:StsRsnInf
    5 Orgtr 0 /ns2:SCTCvfBlkCredTrf / ns2:FIToFIPmtStsRptS2 / ns1:OrgnlGrpInfAndSts / ns1:StsRsnInf / ns1:Orgtr
    6 id 0 /ns2:SCTCvfBlkCredTrf / ns2:FIToFIPmtStsRptS2 / ns1:OrgnlGrpInfAndSts / ns1:StsRsnInf / ns1:Orgtr / ns1:Id
    7 OrgId 0 /ns2:SCTCvfBlkCredTrf / ns2:FIToFIPmtStsRptS2 / ns1:OrgnlGrpInfAndSts / ns1:StsRsnInf / ns1:Orgtr / ns1:Id / ns1:OrgId
    8 1 BICOrBEI /ns2:SCTCvfBlkCredTrf / ns2:FIToFIPmtStsRptS2 / ns1:OrgnlGrpInfAndSts / ns1:StsRsnInf / ns1:Orgtr / ns1:Id / ns1:OrgId / ns1:BICOrBEI
    5 ARS 0 /ns2:SCTCvfBlkCredTrf / ns2:FIToFIPmtStsRptS2 / ns1:OrgnlGrpInfAndSts / ns1:StsRsnInf / ns1:Rsn
    6 Cd 1 /ns2:SCTCvfBlkCredTrf / ns2:FIToFIPmtStsRptS2 / ns1:OrgnlGrpInfAndSts / ns1:StsRsnInf / ns1:Rsn / ns1:Cd
    6 Prtry 1 /ns2:SCTCvfBlkCredTrf / ns2:FIToFIPmtStsRptS2 / ns1:OrgnlGrpInfAndSts / ns1:StsRsnInf / ns1:Rsn / ns1:Prtry
    4 NbOfTxsPerSts 2 0 /ns2:SCTCvfBlkCredTrf / ns2:FIToFIPmtStsRptS2 / ns1:OrgnlGrpInfAndSts / ns1:NbOfTxsPerSts
    5 1 DtldNbOfTxs /ns2:SCTCvfBlkCredTrf / ns2:FIToFIPmtStsRptS2 / ns1:OrgnlGrpInfAndSts / ns1:NbOfTxsPerSts / ns1:DtldNbOfTxs
    5 1 DtldSts /ns2:SCTCvfBlkCredTrf / ns2:FIToFIPmtStsRptS2 / ns1:OrgnlGrpInfAndSts / ns1:NbOfTxsPerSts / ns1:DtldSts
    5 1 DtldCtrlSum /ns2:SCTCvfBlkCredTrf / ns2:FIToFIPmtStsRptS2 / ns1:OrgnlGrpInfAndSts / ns1:NbOfTxsPerSts / ns1:DtldCtrlSum
    3 TxInfAndSts boundless 0 /ns2:SCTCvfBlkCredTrf / ns2:FIToFIPmtStsRptS2 / ns1:TxInfAndSts
    4 StsId 1 /ns2:SCTCvfBlkCredTrf / ns2:FIToFIPmtStsRptS2 / ns1:TxInfAndSts / ns1:StsId
    4 OrgnlInstrId 1 /ns2:SCTCvfBlkCredTrf / ns2:FIToFIPmtStsRptS2 / ns1:TxInfAndSts / ns1:OrgnlInstrId
    4 OrgnlEndToEndId 1 /ns2:SCTCvfBlkCredTrf / ns2:FIToFIPmtStsRptS2 / ns1:TxInfAndSts / ns1:OrgnlEndToEndId
    4 OrgnlTxId 1 /ns2:SCTCvfBlkCredTrf / ns2:FIToFIPmtStsRptS2 / ns1:TxInfAndSts / ns1:OrgnlTxId
    4 TxSts 1 /ns2:SCTCvfBlkCredTrf / ns2:FIToFIPmtStsRptS2 / ns1:TxInfAndSts / ns1:TxSts
    4 StsRsnInf 0 /ns2:SCTCvfBlkCredTrf / ns2:FIToFIPmtStsRptS2 / ns1:TxInfAndSts / ns1:StsRsnInf
    5 Orgtr 0 /ns2:SCTCvfBlkCredTrf / ns2:FIToFIPmtStsRptS2 / ns1:TxInfAndSts / ns1:StsRsnInf / ns1:Orgtr
    6 id 0 /ns2:SCTCvfBlkCredTrf / ns2:FIToFIPmtStsRptS2 / ns1:TxInfAndSts / ns1:StsRsnInf / ns1:Orgtr / ns1:Id
    7 OrgId 0 /ns2:SCTCvfBlkCredTrf / ns2:FIToFIPmtStsRptS2 / ns1:TxInfAndSts / ns1:StsRsnInf / ns1:Orgtr / ns1:Id / ns1:OrgId
    8 1 BICOrBEI /ns2:SCTCvfBlkCredTrf / ns2:FIToFIPmtStsRptS2 / ns1:TxInfAndSts / ns1:StsRsnInf / ns1:Orgtr / ns1:Id / ns1:OrgId / ns1:BICOrBEI
    5 ARS 0 /ns2:SCTCvfBlkCredTrf / ns2:FIToFIPmtStsRptS2 / ns1:TxInfAndSts / ns1:StsRsnInf / ns1:Rsn
    6 Cd 1 /ns2:SCTCvfBlkCredTrf / ns2:FIToFIPmtStsRptS2 / ns1:TxInfAndSts / ns1:StsRsnInf / ns1:Rsn / ns1:Cd
    6 Prtry 1 /ns2:SCTCvfBlkCredTrf / ns2:FIToFIPmtStsRptS2 / ns1:TxInfAndSts / ns1:StsRsnInf / ns1:Rsn / ns1:Prtry
    4 InstdAgt 0 /ns2:SCTCvfBlkCredTrf / ns2:FIToFIPmtStsRptS2 / ns1:TxInfAndSts / ns1:InstdAgt
    5 FinInstnId 0 /ns2:SCTCvfBlkCredTrf / ns2:FIToFIPmtStsRptS2 / ns1:TxInfAndSts / ns1:InstdAgt / ns1:FinInstnId
    6 BIC 1 /ns2:SCTCvfBlkCredTrf / ns2:FIToFIPmtStsRptS2 / ns1:TxInfAndSts / ns1:InstdAgt / ns1:FinInstnId / ns1:BIC
    4 OrgnlTxRef 0 /ns2:SCTCvfBlkCredTrf / ns2:FIToFIPmtStsRptS2 / ns1:TxInfAndSts / ns1:OrgnlTxRef
    5 IntrBkSttlmAmt 0 /ns2:SCTCvfBlkCredTrf / ns2:FIToFIPmtStsRptS2 / ns1:TxInfAndSts / ns1:OrgnlTxRef / ns1:IntrBkSttlmAmt
    CTL 6 1 /ns2:SCTCvfBlkCredTrf/ns2:FIToFIPmtStsRptS2/ns1:TxInfAndSts/ns1:OrgnlTxRef/ns1:IntrBkSttlmAmt/@Ccy
    5 1 IntrBkSttlmDt /ns2:SCTCvfBlkCredTrf / ns2:FIToFIPmtStsRptS2 / ns1:TxInfAndSts / ns1:OrgnlTxRef / ns1:IntrBkSttlmDt
    5 DbtrAgt 0 /ns2:SCTCvfBlkCredTrf / ns2:FIToFIPmtStsRptS2 / ns1:TxInfAndSts / ns1:OrgnlTxRef / ns1:DbtrAgt
    6 FinInstnId 0 /ns2:SCTCvfBlkCredTrf / ns2:FIToFIPmtStsRptS2 / ns1:TxInfAndSts / ns1:OrgnlTxRef / ns1:DbtrAgt / ns1:FinInstnId
    7 1 BIC /ns2:SCTCvfBlkCredTrf / ns2:FIToFIPmtStsRptS2 / ns1:TxInfAndSts / ns1:OrgnlTxRef / ns1:DbtrAgt / ns1:FinInstnId / ns1:BIC
    5 CdtrAgt 0 /ns2:SCTCvfBlkCredTrf / ns2:FIToFIPmtStsRptS2 / ns1:TxInfAndSts / ns1:OrgnlTxRef / ns1:CdtrAgt
    6 FinInstnId 0 /ns2:SCTCvfBlkCredTrf / ns2:FIToFIPmtStsRptS2 / ns1:TxInfAndSts / ns1:OrgnlTxRef / ns1:CdtrAgt / ns1:FinInstnId
    7 1 BIC /ns2:SCTCvfBlkCredTrf / ns2:FIToFIPmtStsRptS2 / ns1:TxInfAndSts / ns1:OrgnlTxRef / ns1:CdtrAgt / ns1:FinInstnId / ns1:BIC

    In fact, you would be generally extracted from mapping data in a separate query so that you can use it to build the dynamic with XMLNamespaces clause of the namespace.

    NB1: Also note that not all roads are needed, only those which IS_LEAF = 1 or MAX_OCCURS = "unlimited" or MAX_OCCURS > '1', then you can add a filter predicate in the query directly.

    NB2: The query does support all the features of XSD, for example, I've relied on the default behavior for attributes 'element_form_default' and 'attribute_form_default '.

  • Parsing XML and get the required data only using PLSQL

    Hi friends,

    I have a XML data

    < MAJOR_LINE >

    < LINEID > 143424538 < / LINEID >

    nom_element < ITEMNAME > = < / ITEMNAME >

    < > 78245 ITEMPATH < / ITEMPATH >

    < QUANTITY > 10 < / QUANTITY >

    < MINORLINE >

    < LINEID > 143424799 < / LINEID >

    TCC_ITEM_NAME < ITEMNAME > < / ITEMNAME >

    < > 78245 ITEMPATH < / ITEMPATH >

    < QUANTITY > 10 < / QUANTITY >

    < MINORLINE LINEID = "123456_line_id" xmlns = "xxyyzz" >

    < message > < / message >

    < status > < / status >

    < covered_Product_line_id > '123_coveredProductLineID '.

    < / covered_Product_line_id >

    < itemName > < / itemName >

    < quantity > < / quantity >

    "< service lineId ="456_service_line_id">."

    "< covered_Product_line_id >"123_coveredProductLineID"

    < / covered_Product_line_id >

    < productAttributes / >

    < itemType > < / itemType >

    < itemPath > < / itemPath >

    < coveredProducts childProductLineId = "" / > "

    < / coveredProducts >

    < parentCoverage / >

    < / service >

    < / MINORLINE >

    < / MINORLINE >

    < / MAJOR_LINE >

    I want to extract only the Covered_product_line_id and the Service_line_id of the above XML format, these data can come from any where in the xml file and the xml can be any length.

    First we need to find the covered_product_line_id and the service_line_id associated with line_id, (as I pointed out in bold) here only a single pair i showed, but it can be in any number. (Note the line_id is inside the tag).

    #PLSQL

    Help, please.

    Thanks in advance

    Hey Odie,

    Me do string literal too long error:

    Select x.*

    from xmltable)

    XmlNamespaces(default ')

    , ' for $i in //serviceLine

    , $j in $i / coveredProduct

    Returns the element r {}

    $i / lineId

    , $j/childProductLineId

    }'

    from xmltype (')

    45146937

    N20

    1

    63090598

    CON-S

    1

    SNT

    UCS - IOM

    342544294

    N20-FW012

    342544295

    342544294

    UCS-IOM2

    1

    N20-C6508-UPG:

    45146937

    CON-S

    1

    SNT

    342544295

    N20-FW012

    1

    N20-C6508-UPG:

    45146937

    CON-SN

    1

    SNT

    342544296

    FET - 10G

    16

    N20-C6508 - UPG:U SC EXPERIENCE

    342544297

    UCSB-5108-PKG-FW

    1

    N20-C6508-UPXPANSION O

    342544298

    N20-CBLKP

    2

    N20-C6508 - UPG:0 - CBLKP

    342544299

    N01-UAC1

    1

    N20-C6508 - UPG:N01 - UAC1

    342544300

    N20-CBLKI

    1

    N20-C6508 - UPG:U HC EXPANSION OPT: N20-CBLKI

    342544301

    N20-FAN5

    8

    N20-C6508 - UPG:U HC EXPANSION OPT: N20-FAN5

    342544302

    N20-CBLKB1

    6

    N20-C6508-UPG-CBLKB1

    342544303

    N20 - CAK

    1

    N20-C6508-OPT: N20 - CAK

    342544304

    UCSB-B420-M3-D

    1

    N20-C6508-UP-B420-M3-D

    63090594

    CON-SNT-B420M3D

    1

    SNT

    UCS-UC-E5-4617

    342544305

    UCS-ML-1X324RY-A

    342544306

    342544305

    UCS-UC-E5-4617

    2

    N20-C6508 - UPG:PU - E5-4617

    342544304

    CON-SNT-B420M3D

    1

    SNT

    342544306

    UCSRY-A

    2

    N20-C624RY-A

    342544304

    CON-SNT-B420M3D

    1

    SNT

    342544307

    UCS0MS

    1

    N FIO-1600MS

    63090595

    CON-SNT-FIOB16MS

    1

    SNT

    342544308

    N2KD

    4

    N20-C6LKD

    342544309

    UCSB-HS-01-EP

    2

    N20-C65B-HS-01-EP

    342544310

    N1K-VSG-UCS-BUN

    1

    N20-C6508 - UPG:U-BLA1K-VSG-UCS-BUN

    342544311

    VSG-VLEM-UCS-1

    1

    N20-C6508 - UPG:U BLN1K BUN: VSG-VLEM-UCS-1

    63090596

    CON-SAU-VSGUCS

    1

    SAU

    342544312

    N1K-VLEM-UCS-1

    1

    N20-C6508CS-BUN: VMW N-UCS-1

    63090597

    CON-SAU-VLEMUCS

    1

    SAU

    342544313

    UCSB-ACDV

    2

    N20ACDV

    342544314

    R2XX-DMYMPWRCORD

    2

    PWRCORD N20 - C6

    ')

    columns for the ordinalite seq_id

    , path number child_product_line_id "childProductLineId".

    , service_line_id number path "lineId.

    ) x ;

  • How to read the xml value in plsql store proc

    I need to read the value at the bottom of the xml script in plsql procedure. I do not understand how to write. I'm new in xml, please help me solve this problem.


    <? XML version = "1.0" encoding = "UTF-8"? >
    < PrtyActDtlRequest >
    < AcctInfo >
    < > 84188 PartyID < / PartyID >
    < RelAcctID > 125148 < / RelAcctID >
    < RelAcctID > 251486 < / RelAcctID >
    < RelAcctID > 125147 < / RelAcctID >
    < RelAcctID > 125511 < / RelAcctID >
    < / AcctInfo >
    < / PrtyActDtlRequest >

    Here < AcctId > can be repeted n times (unbouinded), but < PartyID > is set once. This is the script that we will get out of the source system.

    Thanks in advance.

    Roy

    You needn't PL/SQL for it. Just use XMLTABLE:

    with t as)

    Select xmltype (')

    84188

    125148

    251486

    125147

    125511

    double x)

    Select PartyID,

    RelAcctID

    t,.

    XMLTable)

    ' / PrtyActDtlRequest/AcctInfo.

    go x

    columns

    PartyID path number "PartyID,

    Path RelAcctIDXml xmltype "RelAcctID."

    ),

    XMLTable)

    'RelAcctID '.

    by the way RelAcctIDXml

    columns

    RelAcctID path number ' / RelAcctID'

    )

    /

    PARTYID RELACCTID
    ---------- ----------
    84188 125148
    84188 251486
    84188 125147
    84188 125511

    Scott@pdborcl12 >

    SY.

  • How to extract the XML with namespace?

    Hi all

    Here's the XML I:

    <? XML version = "1.0" encoding = "UTF-8"? >
    -< transaction xmlns: xsi = "http://www.w3.org/2001/XMLSchema-instance" xmlns = "http://schemas.test.com/Support/Services/test1/2012" xsi: schemaLocation = "http://schemas.test.com/Support/Services/test1/2012 Support.test1.v1.xsd" >
    -< application >
    < > 10 Sam < / Sam >
    < > 32 Actid < / Actid >
    < Pax > 3 < / Pax >
    < > 10 - DEC - 2012 Flt < / Flt >
    < user name > WebUserNameTest < / name >
    < / request >
    < application >
    < Sam > 1 < / Sam >
    < Actid > 3 < / Actid >
    < > 2 Pax < / Pax >
    < Flt > 2012 - dec - 12 < / Flt >
    < user name > WebUserNameTest < / name >
    < / request >
    < / transaction >

    I need to extract the item values:

    The code below will help me when I have no namespace, what needs to be done in order to work with the value of the element namespace and etract

    v_string_xml: =.
    ' / / Query [' |] To_char (counter_xml) | '] / Sam / text () ';
    v_ssp_table (v_ssp_table. COUNTY) .memid: =.
    p_xml_in. EXTRACT (v_string_xml) .getnumberval ();


    v_string_xml: =.
    ' / / Query [' |] To_char (counter_xml) | '] / Actid / text () ';
    v_ssp_table (v_ssp_table. COUNTY) .actid: =.
    p_xml_in. EXTRACT (v_string_xml) .getnumberval ();

    v_string_xml: =.
    ' / / Query [']
    || To_char (counter_xml)
    || '] / Pax / text () ';
    v_ssp_table (v_ssp_table..) Pax COUNT): =.
    p_xml_in. EXTRACT (v_string_xml) .getnumberval ();

    v_string_xml: =.
    ' / / Query [' |] To_char (counter_xml) | '] / Flt / text () ';
    v_ssp_table (v_ssp_table..) Flt COUNT): =.
    p_xml_in. EXTRACT (v_string_xml) .getstringval ();

    v_string_xml: =.
    ' / / Query [']
    || To_char (counter_xml)
    || '] / Username / text () ';
    v_ssp_table (v_ssp_table. COUNTY) .username: =.
    p_xml_in. EXTRACT (v_string_xml) .getstringval ();
    declare
      v_xml xmltype := xmltype( '
    
    
    10
    32
    3
    2012-DEC-10
    WebUserNameTest
    
    
    1
    3
    2
    2012-DEC-12
    WebUserNameTest
    
    ' );
    begin
      for r_xml in ( select *
                     from xmltable( xmlnamespaces( default 'http://schemas.test.com/Support/Services/test1/2012' )
                                   , '/Transaction/Request'
                                   passing v_xml
                                     columns memid number path 'Memid'
                                           , actid number path 'Actid'
                                           , pax number path 'Pax'
                                           , flt varchar2(100) path 'Flt'
                                           , username varchar2(100) path 'Username'
                                  )
                   )
      loop
        dbms_output.put_line( r_xml.memid );
        dbms_output.put_line( r_xml.actid );
        dbms_output.put_line( r_xml.pax );
        dbms_output.put_line( r_xml.flt );
        dbms_output.put_line( r_xml.username );
      end loop;
    end;
    
  • Problem with to access the XML nodes whose namespace

    Hello
    I have a XML file with the following format;

    "" "" "< graphml version ="1.3"xmlns =" http://graphml.graphdrawing.org/xmlns/graphml ' xmlns:y = ' http://www.yworks.com/xml/graphml ' xmlns: xsi = " http://www.w3.org/2001/XMLSchema-instance" > "

    < graph id = 'G' edgedefault 'ordered' = >

    < key data 'd11' = >
    < y: SharedData >
    < name there: Brush = "SolidBrush" color = "Black" id = "1" / >
    < / y: SharedData >
    < / data >

    < node id = "G:n0" >
    < y: Labels >
    < y: Text > <! [CDATA [start]] > < / Text: y >
    < / y: Labels >
    < / node >

    < node id = "G:n1" >
    < y: Labels >
    < y: Text > <! [CDATA [end]] > < / Text: y >
    < / y: Labels >
    < / node >

    < / chart >

    < / graphml >


    I access this file as < mx:XML id = "layoutXml" source = "tmp.xml" / > "

    I have no application debugging and found that the layoutXml object contains the xml file as it is. Now when I try to access any child node of layoutXml, every time I found null. Same instruction layoutXml.graph.toXMLString () or layoutXml.graph.toString () returns null.

    I have tryied the following approach as well, but did not work,
    var nameSpace:Namespace = new Namespace (" http://www.yworks.com/xml/graphml");
    var str:String = layoutXml.graph.node. (@id == ' G:n0").nameSpace::Labels.nameSpace::Text.toXMLString();")
    also, this property returns null.

    If anyone has the solution, please answer.

    Thank you.

    Namespace var sets default namespace:
    lack of namespace xml = nameSpace;

    You should then be able to reference nodes normally.

    Tracy

  • Adding namespace to the XML output

    Hello

    I have a requirement to generate an XML document for the columns in the table. I use DBMS_XMLgen.getXML inside my procedure to get the XML document.

    The result I get after my procedure is:

    <? XML version = "1.0"? >
    < EMP >
    < EMPLOYEE_NO > 000017 < / EMPLOYEE_NO >
    ASSETS of < EMPLOYEE_STATUS > < / EMPLOYEE_STATUS >
    Mini < NAME_LAST > < / NAME_LAST >
    < NAME_FIRST / >
    < / EMP >

    But I also need to prefix and uri of namespace in the xml output. Is it possible to add the prefix and namespace uri to the xml output.

    So what I need, is something like below one:

    <? XML version = "1.0"? >
    < xs:EMP > xmlns: out = "http://xmlns:out="http:/example.org/ver1.0/ThisISTest#">
    < xs:EMPLOYEE_NO > 000017 < / xs:EMPLOYEE_NO >
    ACTIVE < xs:EMPLOYEE_STATUS > < / xs:EMPLOYEE_STATUS >
    Mini < xs:NAME_LAST > < / xs:NAME_LAST >
    < xs:NAME_FIRST / >
    < / xs:EMP >


    Any solutions or examples of code on it would be a great help.

    Thanks in advance.

    Strange...

    OK, back to the basics:

    What is your version of db (all four digits please)?

    The following gives the expected result?

    select xmltype('
    
    000017
    ACTIVE
    Mini
    
    ').transform(
     xmltype(
    '
    
    
    
    
    
    
    '
     )
    ).getClobVal()
    from dual;
    
  • Change the xml tag when generating a mapping table it

    Hello

    I have to generate a xml that involves two tables

    (1) STORE_CFA_EXT

    (2) CFA_ATTRIB

    But the problem is that the name of column in STORE_CFA_EXT is stored in CFA_ATTRIB as values of column.

    insert into STORE_CFA_EXT (STORE, GROUP_ID, VARCHAR2_1, VARCHAR2_2)

    values (114, 123, "MIDWE', 'Y');

    insert into STORE_CFA_EXT (STORE, GROUP_ID, VARCHAR2_1, VARCHAR2_2)

    values (114, 124, 'Y', ");

    insert into cfa_attrib (GROUP_ID, VIEW_COL_NAME, ATTRIB_ID, STORAGE_COL_NAME)

    values (213, 123, 'STR_NM_5_ABBR', 'VARCHAR2_1');

    insert into CFA_ATTRIB (GROUP_ID, VIEW_COL_NAME, ATTRIB_ID, STORAGE_COL_NAME)

    values (214, 123, 'DST_IND', 'VARCHAR2_2');

    insert into cfa_attrib (GROUP_ID, VIEW_COL_NAME, ATTRIB_ID, STORAGE_COL_NAME)

    values (225, 124, 'SLS_INCL_DTE_CDE', 'VARCHAR2_1');

    query used

    {code}

    Select

    XmlElement ("CFA",

    XMLFOREST (store,

    group_id,

    varchar2_1

    )

    )

    of store_cfa_ext

    where to store = 114

    and group_id = 123;

    result:

    < CFAS >

    < STORE > 114 < / STORE >

    < > 123 GROUP_ID < / GROUP_ID >

    < VARCHAR2_1 > MIDWE < / VARCHAR2_1 >

    < / CFAS >

    expected result:

    < CFAS >

    < STORE > 114 < / STORE >

    < > 123 GROUP_ID < / GROUP_ID >

    < STR_NM_5_ABBR > MIDWE < / STR_NM_5_ABBR >

    < / CFAS >

    When generating the xml file so I need to <VARCHAR2_1 > STORE_CFA_EXT table column name with the corresponding value in table i CFA_ATTRIB, e STR_NM_5_ABBR. I can't use cases or decode the tables involved have other columns with the same problem. Could someone help me please with the question. I tried several options but have not found an effective solution

    Thank you

    Hello

    The key is to use the auxiliary function EVALNAME(), which allows to build the name of the tag of an expression.

    Here is an example of the use of an intermediate PIVOT operation to retrieve the names of targets on the same line:

    SQL> select xmlserialize(document
      2           xmlelement("cfas"
      3           , xmlforest(
      4               store
      5             , group_id
      6             , varchar2_1 as evalname(varchar2_1_name)
      7             , varchar2_2 as evalname(varchar2_2_name)
      8             )
      9           )
     10           indent
     11         )
     12  from (
     13    select s.store
     14         , s.group_id
     15         , s.varchar2_1
     16         , s.varchar2_2
     17         , a.view_col_name
     18         , a.storage_col_name
     19    from store_cfa_ext s
     20         join cfa_attrib a on a.group_id = s.group_id
     21    where s.store = 114
     22    and s.group_id = 123
     23  )
     24  pivot (
     25    min(view_col_name)
     26    for storage_col_name in (
     27      'VARCHAR2_1' as varchar2_1_name
     28    , 'VARCHAR2_2' as varchar2_2_name
     29    )
     30  ) ;
    
    XMLSERIALIZE(DOCUMENTXMLELEMEN
    --------------------------------------------------------------------------------
    
      114
      123
      MIDWE
      Y
    
    
  • removed from the network computers still will appear on the network map

    I have removed two computer laptop computers fom my network and removed in the network map.  They are no longer on the PREMISIS (sold).  Subtracting them to the magic of the network, I removed the network locking, set up as 'Follow-up as intruders' and they removed the network card.  I then reset the locking system.  When I bruing to the top of the map of the network, they are gone.  However, after a few minutes, as they appear again.  How can I remove them permanently from my network?

    Your network card is like showing wrong info. You can follow the steps on this link: http://www6.nohold.net/Cisco2/ukp.aspx?vw=1&docid=8571edab25b54432bfb7b7672a577b8f_19407.xml&pid=80&.... This is a guide for you refresh the service of the network magic software platform and then check if after doing the steps in the network card will always show the same information.

  • Saving to and read the XML code

    Hi, I wanted to just record in XML data and display it in the list. That's what I tried:

    #include "applicationui.hpp"
    
    #include 
    #include 
    #include 
    #include 
    #include 
    #include 
    
    using namespace bb::cascades;
    using namespace bb::data;
    
    ApplicationUI::ApplicationUI(bb::cascades::Application *app) :
            QObject(app)
    {
    
        QVariantMap firstEmployee, secondEmployee;
    
        firstEmployee["firstName"] = QVariant("Mike");
        firstEmployee["lastName"] = QVariant("Chepesky");
        firstEmployee["number"] = QVariant("51649875");
        secondEmployee["firstName"] = QVariant("Westlee");
        secondEmployee["lastName"] = QVariant("Barichak");
        secondEmployee["number"] = QVariant("63257801");
    
        QVariantList myEmployeeList = QVariantList() << QVariant(firstEmployee)
                                   << QVariant(secondEmployee)
    
        QVariantMap topLevelEmployeeMap;
        topLevelEmployeeMap[".root"] = QVariant("employees");
        topLevelEmployeeMap["employee"] = QVariant(myEmployeeList);
        QVariant myData = QVariant(topLevelEmployeeMap);
    
        QTemporaryFile file("myXMLFile.xml");
    
        if (file.open()) {
    
            XmlDataAccess xda;
            xda.save(myData, &file);
        }    Page *root = new Page;
        ListView *listView = new ListView;
    
        GroupDataModel *model = new GroupDataModel(QStringList() << "firstName"
                                                   << "lastName");
    
        XmlDataAccess xda;
        QDir temp = QDir::tempPath();
        QVariant list = xda.load(temp.absoluteFilePath("myXMLFile.xml"),
                                 "/employees/employee");
    
        model->insertList(list.value());
    
        listView->setDataModel(model);
    
        root->setContent(listView);
        app->setScene(root);
    }
    

    Reference: https://developer.blackberry.com/native/documentation/cascades/device_platform/data_access/working_w...

    But this does not seem to display the items in the XML file. any thoughts?

    QFile use instead of QTemporaryFile, that the file could be deleted after the close() call:

        QVariantMap firstEmployee, secondEmployee;
    
        firstEmployee["firstName"] = QVariant("Mike");
        firstEmployee["lastName"] = QVariant("Chepesky");
        firstEmployee["number"] = QVariant("51649875");
        secondEmployee["firstName"] = QVariant("Westlee");
        secondEmployee["lastName"] = QVariant("Barichak");
        secondEmployee["number"] = QVariant("63257801");
    
        QVariantList myEmployeeList = QVariantList() << QVariant(firstEmployee)
                                   << QVariant(secondEmployee);
    
        QVariantMap topLevelEmployeeMap;
        topLevelEmployeeMap[".root"] = QVariant("employees");
        topLevelEmployeeMap["employee"] = QVariant(myEmployeeList);
        QVariant myData = QVariant(topLevelEmployeeMap);
    
        QFile file(QDir::temp().absoluteFilePath("myXMLFile.xml"));
    
        if (file.open(QIODevice::WriteOnly | QIODevice::Text)) {
    
            XmlDataAccess xda;
            xda.save(myData, &file);
        }
        file.close();
        Page *root = new Page;
        ListView *listView = new ListView;
    
        GroupDataModel *model = new GroupDataModel(QStringList() << "firstName"
                                                   << "lastName");
    
        XmlDataAccess xda;
        QDir temp = QDir::temp();
        QVariant list = xda.load(temp.absoluteFilePath("myXMLFile.xml"),
                                 "/employees/employee");
        model->insertList(list.value());
    
        listView->setDataModel(model);
    
        root->setContent(listView);
    
  • Citing question regardng XML maps

    I'm just finalizing on my app, when I see something strange:

    Page 17 (on the GPS and BlackBerry Maps Development Guide) has a XML call to structures of cards with a "" wrapper, while starting page 19, is "".

    Whatever it is, my code does not work. I get an "Exception number Format" which is confusing to me. I'm running a simulator 8330.

    Note: if I do not include the document in the chain, I get the card, but with the default location. I guess the problem is with the XML document.

    Here's my code string:

    String document ="
    "" dataset.elementAt(i+3) + "------" lat =-+.
    "" dataset.elementAt(i+2) + "------" label = "" + \
    "" TEMP + "------" description = "" + \
    TEMP + "-" zoom =------"4" / >
    «;»

    Here is my code Invoke:

    Invoke.invokeApplication (Invoke.APP_TYPE_MAPS, new MapsArguments (MapsArguments.ARG_LOCATION_DOCUMENT, document));

    That's what I trace in the console:

    Any help would be much appreciated! Thank you.

    Delete the point

    LON = "-80.52070' lat ="43.46310" at lon = lat '-8052070' = '4346310. '

  • Using the XML file error

    Hello

    I use an XML file as the source in a map. This worked well until I changed the context during the execution of the mapping.

    Initially, during the execution of the development, it worked without any problem. But when I changed the context to run the Test, he gave me the following error:-

    ODI-1227: task load data-LKM SQL for Oracle-don't work not to connect to the source P6_ACTIVITIES - TEST.

    Caused by: java.sql.SQLException: the object name already exists: P6ACTI_READACTIVITIESRESPONSE in the statement [create table P6ACTI_READACTIVITIESRESPONSE (READACTIVITIESRESPONSEPK NUMERIC (10) NOT NULL, SNPSFILENAME varchar (255) NULL, SNPSFILEPATH varchar (255) NULL, SNPSLOADDATE varchar (255) NULL)]

    This object name, P6ACTI_READACTIVITIESRESPONSE created by ODI is a combination of scheme name defined in the JDBC URL properties (or the first five characters of the XML file) and the element root. Therefore, I don't have any control over the name, unless I have change the schema name property.

    Restart the agent will solve the problem temporarily, but the error will appear again when the context is changed. My question is, how do I create/drop / let agent do this each time that the XML file is accessed ODI. I use ODI 12.1.3.

    Thanks in advance,

    Xmen

    Only, you should be able to query code KM to understand if these tables are created, but generally it will be in the scheme of work specified on your server of intermediate technology.

    We are not allowed to change the KMs, because it would create problems of alimony.


    Who with Oracle or internally? A large part of ODI power lies in an open framework around KMs and as long as you develop and test carefully any customizations KM I really can't see why the support would be a problem. You can run the table to fall outside the knowledge module, would be - this also be a support issue, the main difference is that a KM custom allows to reuse easier?

Maybe you are looking for