XmlExists search with ampersand in the search string.

Hi all, I have a particular problem with XmlExists data that present an ampersand.

I'm under Group of hotfixes 11g 12.
You are looking for table uses sys.xmltype to keep the xml document.

DDL:
CREATE TABLE 'XML_TEST '.
(
AccountID RAW (16) NULL NOT ACTIVATE.
TenantID RAW (16) NOT NULL ACTIVATE.
CustomFields "SYS." "" XMLTYPE.
) ;


DML:

declare clobVal clob;

BEGIN

-INSERT #1
clobVal: = ' <? XML version = "1.0" encoding = "utf-8"? >
< ArrayOfCustomField xmlns: xsi = "http://www.w3.org/2001/XMLSchema-instance" container = "http://www.w3.org/2001/XMLSchema" >
< CustomField ReferencedID = "3A887DE7B2FA4A19B9F66FCC19E02062" >
Guitar < StringValue > < / StringValue >
< / CustomField >
< CustomField ReferencedID = "014F2EFA42CF40829A9A5FB761759071" >
< Chaine_de_caracteres > Louis & amp; Clark < / StringValue >
< / CustomField >
< CustomField ReferencedID = "59690AD42A5B4C83B4917D024908F905" >
< > 12,48 NumberValue < / NumberValue >
< / CustomField >
< CustomField ReferencedID = "06675CD4B0FD4C769C3266260159EAC4" >
< DateValue > 1242394042 < / DateValue >
< / CustomField >
< / ArrayOfCustomField > ';

INSERT INTO XML_TEST (AccountID, TenantID, CustomFields)
VALUES ('ADDA071176A94654A2BE2129A1ABFBF9', 'F068F6D54ED2DB11ABE500188B001DE0', xmltype (clobVal));


Here's the problem element:

< Chaine_de_caracteres > Louis & amp; Clark < / StringValue >


When I run this query:

SELECT count (*)
OF XML_TEST
WHERE XMLExists ('/ ArrayOfCustomField/CustomField [@ReferencedID = "014F2EFA42CF40829A9A5FB761759071"] / StringValue [. = "Louis % 26amp;"]) (Clark']' MOVING CustomFields);

It does not return the expected result?

Didn't this query:

SELECT count (*)
OF XML_TEST
WHERE the XMLExists ('/ ArrayOfCustomField/CustomField [@ReferencedID = "014F2EFA42CF40829A9A5FB761759071"] / StringValue [. = "Louis & amp;]) (Clark']' MOVING CustomFields);


Any help would be greatly appreciated.

L

What about the binder

SELECT count(*)
FROM XML_TEST
WHERE XMLExists('/ArrayOfCustomField/CustomField[@ReferencedID="014F2EFA42CF40829A9A5FB761759071"]/StringValue[. = $myText]' PASSING CustomFields, 'Louis & Clark' as "myText");

Published by: mdrake on June 15, 2009 13:05

Tags: Database

Similar Questions

  • app.findMenuCommandId (with ampersand (&amp;) in the name)

    Try to use app.findMenuCommandId () to run a script, but it doesn't seem to work if there is an ampersand in the name. Is there a way to escape to the & or otherwise do this work with names that have & in there?

    for example, this works:

    app.findMenuCommandId("You and Me.jsx");
    

    and it does not work:

    app.findMenuCommandId("You & Me.jsx");

    Replace "&" by "" (Nothing) seems to work: app.findMenuCommandId ("You Me.jsx")

    Xavier

  • BUG: Date/Time Format string with %D in the format string crashes LabVIEW

    Do %D in the format string 'Format string DateTime' blocks LabVIEW 2009 SP1, as shown in this code snippet.  Should I use instead of %D %d but an incorrect format string should not crash LabVIEW.

    Fixed in 2010.

  • The problem with ampersand in the PL/SQL procedure

    Dear Oracle experts,

    Please, help me to understand this case. I have the following code
    V_RESPONSE := UTL_HTTP.GET_RESPONSE (V_REQUEST);
    
          LOOP
             UTL_HTTP.READ_LINE (V_RESPONSE, V_BUFFER, FALSE);
             DATA_OUT := DATA_OUT || V_BUFFER;
          --DBMS_OUTPUT.PUT_LINE (V_BUFFER);
          END LOOP;
    And I'm getting DATA_OUT as
    <?xml version='1.0' encoding='UTF-8'?><soapenv:Envelope xmlns:soapenv="http://www.w3.org/2003/05/soap-envelope"><soapenv:Body><ns:chargeSubscriberResponse xmlns:ns="http://ws.cube.az"><ns:return>&lt;?xml version="1.0" encoding="UTF-8"?>
    &lt;response>
         &lt;retval>-2200003&lt;/retval>
         &lt;retmsg>Invalid Service&lt;/retmsg>
         &lt;quantity>&lt;/quantity>
         &lt;cube-transaction-id>&lt;/cube-transaction-id>
    &lt;/response></ns:return></ns:chargeSubscriberResponse></soapenv:Body></soapenv:Envelope>
    A don't have to '&' in this output. I need to analyze this variable to clear all ampersands. How can I do?

    Just replace does not work... I tried
    PROCEDURE Clean_up_xml (v_xml IN OUT VARCHAR2)
       IS
       BEGIN
          WHILE INSTR (v_xml, 'lt;') > 0
          LOOP
             v_xml :=
                SUBSTR (v_xml, 1, INSTR (v_xml, 'lt;') - 2)
                || SUBSTR (v_xml, INSTR (v_xml, 'lt;') + 4);
          END LOOP;
       END;
    But no luck...

    Does not erase the procedure '& '. How can I disable ampersand in PL/SQL procedure?

    Thanks in advance.

    PS: I know SET DEFINE OFF. But it only works in SQL * MORE.
    SQL> declare
      2
      3    data_out clob :=
      4  '<?xml version="1.0" encoding="UTF-8"?>
      5  <response>
      6       <retval>-2200003</retval>
      7       <retmsg>Invalid Service</retmsg>
      8       <quantity></quantity>
      9       <cube-transaction-id></cube-transaction-id>
     10  > </response>' ;
     11
     12  begin
     13
     14    for rec in (
     15        select r.*
     16        from xmltable(
     17               xmlnamespaces(
     18                 'http://www.w3.org/2003/05/soap-envelope' as "soap"
     19               , 'http://ws.cube.az' as "ns"
     20               )
     21             , '/soap:Envelope/soap:Body/ns:chargeSubscriberResponse'
     22               passing xmlparse(document data_out)
     23               columns xml_return clob path 'ns:return'
     24             ) x
     25           , xmltable('/response'
     26               passing xmlparse(document x.xml_return)
     27               columns retval              number       path 'retval'
     28                     , retmsg              varchar2(30) path 'retmsg'
     29                     , quantity            number       path 'quantity'
     30                     , cube_transaction_id varchar2(30) path 'cube-transaction-id'
     31             ) r
     32    )
     33    loop
     34
     35      dbms_output.put_line('retval = '||rec.retval);
     36      dbms_output.put_line('retmsg = '||rec.retmsg);
     37      dbms_output.put_line('quantity = '||rec.quantity);
     38      dbms_output.put_line('cube_transaction_id = '||rec.cube_transaction_id);
     39
     40    end loop ;
     41
     42  end;
     43  /
    
    retval = -2200003
    retmsg = Invalid Service
    quantity =
    cube_transaction_id = 
    
    PL/SQL procedure successfully completed
     
    
  • With ebay in the search bar, how can my desktop now default browser I remove it

    Each new tab I open Firefox Windows 7 and regquest a home page now comes with ebay in the search box - this means that the search results are limited to ebay. How can I remove it?

    To change the default search engine or the order of the search engines in the upper search box right in Firefox, please do the following:

    1. Move the mouse cursor inside the search box in top right of the Firefox window and click on the arrow next to the logo of the supplier.
    2. If you want to select another search engine, simply choose the engine in the drop-down list.

    To change the order of search engines, follow these steps:

    1. In the drop-down list, select Manage search engines....
    2. In the next window, you have all your search engines listed. To change the order, simply click on a search engine, and then select move up or move down from the buttons on the right side to change the order of search engines.

    ________________________________________________________________________________

    Search RESET

  • You can search for your personal library with Siri on the Apple TV and if so, how?

    You can search for your personal library with Siri on the Apple TV and if so, how?

    No, and it's a real shame...

  • How to search string in the window layout and paste it inside the element?

    I'm new to indesign to animals. Learn extendscript for automation.

    I need to paste a string copied instead of '< media >' element in the window layout like the image below.

    inde.JPG

    But I do not know how findgrep in window(ctrl+y) layout rather than the editor.

    I have a script to copy - paste into the active document at the specific position of specfic chain. But, I need to glue between the element of "< media > < / media > '."

    For example:

    If search string = "FIG. 1.1", so I want the copied string to be pasted into the document as below

    WINDOW LAYOUT:

    < media.block id = "001" Fig. > < media > < / media >

    < caption aid: pstyle = "Caption" > < num > FIG. 1.1 & #x2002; < / num >

    < para > < txt > the range of disciplines engaged in research and development

    in the field of nanoscience and technology. < / txt > < / para > < / legend > < media.block >

    OUTPUT:

    < media.block id = "Fig001" > < media > * PASTE STRING * < / media >

    < caption aid: pstyle = "Caption" > < num > FIG. 1.1 & #x2002; < / num >

    < para > < txt > the range of disciplines engaged in research and development

    in the field of nanoscience and technology. < / txt > < / para > < / legend > < media.block >

    I have a script to paste into the current document rather than the window layout.

    App.Open (file (myFigDoc));

    app.activeDocument.pageItems.everyItem () .select ();

    App.Copy ();

    app.activeDocument.close ();

    app.findGrepPreferences = app.changeGrepPreferences = null;

    var figString = "FIG." + chapno + "'." + j; "

    app.findGrepPreferences.findWhat = figString; Figure legend text

    app.findGrepPreferences.appliedParagraphStyle = "FigureCaption"; Figure caption Style

    myFinds = app.activeDocument.findGrep ();

    for (var i = 0; i < myFinds.length; i ++) {}

    myFinds[i].insertionPoints[0].contents="\r ';

    myFinds [i] .insertionPoints [0] .select ();

    App.Paste ();

    }

    How do in the window layout?

    Try this,

    app.scriptPreferences.userInteractionLevel = UserInteractionLevels.NEVER_INTERACT;
    
    var myDoc = File("/D/template-sample.indd");//Figure File
    var myFigDoc = File("/D/fig1.indd");//Destination File
    
    app.open(File(myFigDoc));
    app.activeDocument.pageItems.everyItem().select();
    myObj = app.selection;
    app.copy();
    
    app.open(File(myDoc));
    app.findGrepPreferences = app.changeGrepPreferences = null;
    app.findGrepPreferences.findWhat = "FIG. 1.1";//Figure caption text
    app.findGrepPreferences.appliedParagraphStyle = "Caption";//Figure Caption Style
    myFinds = app.activeDocument.findGrep();
    alert(myFinds.length)
    for(var i=0;i		   
  • In our Web page we have pages with lists of the pdf reports that we want to make available. I tried a search engine, but it only directs you to the page with the list. How can we lead the researcher to a specific report?

    In our Web page we have pages with lists of the pdf reports that we want to make available. I tried a search engine, but it only directs you to the page with the list. How can we lead the researcher to a specific report?

    Exactly, it would depend on how you have set the referencing of your site, please check the suggestions made in this tutorial:

    https://helpx.Adobe.com/Muse/how-to/sitemap-XML-file-explained.html

    In addition, you can check these:

    http://musewidgets.com/collections/all/SEO

    Thank you

    Sanjit

  • REF Cursor with search string

    Hello all,.

    I'm trying to implement a procedure that returns records in the hr.employees table when search strings are passed.

    Here is the package:
    create or replace package search_app 
    IS
    --
    TYPE emp_rec IS RECORD (last_name     hr.employees.last_name%TYPE
                                         ,first_name    hr.employees.first_name%TYPE
                                         ,job_id        hr.employees.first_name%TYPE
                                         ,salary        hr.employees.salary%TYPE
                                         ,dept          hr.departments.department_name%TYPE
                                         );
    --
    TYPE emp_curs  IS REF CURSOR RETURN emp_rec;
    --
    PROCEDURE  get_employees (p_last_name_search   IN  hr.employees.last_name%TYPE
                                             ,p_first_name_search  IN  hr.employees.first_name%TYPE
                                             ,p_job_id_search      IN  hr.employees.job_id%TYPE
                                             ,pr_emps              OUT emp_curs
                                             ,p_error              OUT VARCHAR2
                                             );
    --
    END search_app;
    /
    --
    create or replace package body search_app
    IS
    --
    PROCEDURE get_employees (p_last_name_search    IN  hr.employees.last_name%TYPE
                                            ,p_first_name_search  IN  hr.employees.first_name%TYPE
                                            ,p_job_id_search      IN  hr.employees.job_id%TYPE
                                            ,pr_emps              OUT emp_curs
                                            ,p_error              OUT VARCHAR2
                                            )
    IS
    --
      v_last_name_search       hr.employees.last_name%TYPE;
      v_first_name_search       hr.employees.first_name%TYPE;
      v_job_id_search             VARCHAR2(100);
      v_error_msg                  VARCHAR2(200);
    --
    BEGIN
    --
      OPEN  pr_emps FOR
    --
          SELECT e.last_name
                     ,e.first_name
                     ,e.job_id
                     ,e.salary
                     ,d.department_name as dept
          FROM hr.employees    e
                  ,hr.departments d
          WHERE (e.first_name LIKE p_first_name_search
                       AND
                     --OR   
                      e.last_name  LIKE p_last_name_search
                       AND 
                    --OR  
                       e.job_id     IN   p_job_id_search
                     )
          AND    d.department_id = e.department_id;
    --
        p_error := v_error_msg;
    --
    EXCEPTION
    --
    WHEN OTHERS THEN
       v_error_msg := SUBSTR(SQLERRM,1,200);
    END get_employees;
    --
    END search_app;
    /
    sho error
    
    ---
    here is the stub I am using to test.
    --
    set serveroutput on size 1000000
    spool search_app_OR.log
    --
    DECLARE
    --
      v_first_name_search     hr.employees.first_name%TYPE;
      v_last_name_search      hr.employees.last_name%TYPE;
      v_job_id_search           VARCHAR2(100);
      my_emps                    search_app.emp_curs;
    --
      v_first_name            hr.employees.first_name%TYPE;
      v_last_name             hr.employees.last_name%TYPE;
      v_job_id                  VARCHAR2(100);
      v_salary                   hr.employees.salary%TYPE;
      v_dept_name           hr.departments.department_name%TYPE;
      v_error_msg             VARCHAR2(200);
    --
      v_count                   PLS_INTEGER;
    --
    BEGIN
    --
        v_first_name_search := '%';
        v_last_name_search  := 'De%';
    --        v_job_id_search := '%';
        v_job_id_search     := chr(40)||chr(39)||'AD_VP'||chr(39)||','||chr(39)||'SH_CLERK'||chr(39)||chr(41);
    
    --
         search_app.get_employees(p_last_name_search   => v_last_name_search
                                 ,p_first_name_search  => v_first_name_search
                                 ,p_job_id_search      => v_job_id_search
                                 ,pr_emps              => my_emps
                                 ,p_error              => v_error_msg
                                  );
    --
         LOOP
    --
            FETCH my_emps INTO v_last_name, v_first_name,v_job_id, v_salary, v_dept_name;
                EXIT when my_emps%NOTFOUND;
    --
            DBMS_OUTPUT.PUT_LINE ('...last_name : '||v_last_name);
            DBMS_OUTPUT.PUT_LINE ('...first_name: '||v_first_name);
            DBMS_OUTPUT.PUT_LINE ('...job_id    : '||v_job_id);
            DBMS_OUTPUT.PUT_LINE ('...salary    : '||v_salary);
            DBMS_OUTPUT.PUT_LINE ('...dept      : '||v_dept_name);
            DBMS_OUTPUT.PUT_LINE ('...error_msg : '||v_error_msg);
    --
         END LOOP;
    --
         v_count := my_emps%ROWCOUNT;
    --
         CLOSE my_emps;
    --
            DBMS_OUTPUT.PUT_LINE ('v_last_name_search : '||v_last_name_search);
            DBMS_OUTPUT.PUT_LINE ('v_first_name_search : '||v_first_name_search);
            DBMS_OUTPUT.PUT_LINE ('v_job_id_search       : '||v_job_id_search);
            DBMS_OUTPUT.PUT_LINE ('num rec fetched      : '||v_count);
    --
     EXCEPTION
         WHEN OTHERS THEN
           v_error_msg := SUBSTR(SQLERRM,1,200);
           DBMS_OUTPUT.PUT_LINE ('error: '||v_error_msg);
    END;
    /
    spool off
    The results I get are as follows:

    When I OR in the request for get_employees for search parameters, 106 records are returned.

    When I AND in the application, not of records returned is 0. It should return 2 records. Why is it not return all records? Any suggestion on how this procedure should be applied?

    Thank you

    Raman

    Published by: rxshah on June 8, 2010 12:52 AM

    Hello

    The problem is that you try to implement a dynamic list in a static SQL statement:

    job_id IN '(''AD_VP'',''SH_CLERK'')'
    

    It will not work like that.

    Check out these links for some tips:
    http://tkyte.blogspot.com/2006/06/varying-in-lists.html
    http://asktom.Oracle.com/pls/asktom/f?p=100:11:1242571115131928:P11_QUESTION_ID:110612348061

  • search string and convert whole real or 8-bit 32 bit

    I was hoping to get some advice on how I could search for the following string and convert it to a real number or an integer.  The following data is output as a device ascii characters and I would look for both in each line (starting with 7699,72 seconds in this case) and convert each one to a real number.  Furthermore, I would like to get the integer values in each row (0, but could be 1,2,10,12, etc.) and convert them to an 8-bit integer.  I think that using the template Match followed by analysis of chain would screw that I need, but am not sure how to match in each case. Thank you!!
















    7699,72 0

    7699,74 0

    7699,76 0

    7699,78 0

    What are the characters in the white space between the and the numbers?

    Scan chain can probably not what you want.  Note that in the image space characters include spaces, return carriage, line breaks and tabs.

    Lynn

  • Is it not possible to get (or use) a search string that includes a reference object?

    Hello world

    I try to get the full search string property for the property "xl" seen below at the bottom of the image.

    I can go as far as the other results [0] (which is a reference), but after that, it seems not possible to access the "xl".

    "TS. SequenceCall.ResultList [0]. TS. SequenceCall.ResultList [0]. TS. SequenceCall.ResultList [0]. "AdditionalResults [0].

    If I get the interface for the object of 'xl' and then ask 'place' in what concerns the "MainSequenceResults", I get an empty string.

    Get the property for container objects and properties in the object "xl" also give the same result when I call «GetLocation (...)» with the MasterSequenceResults the TopObject property.

    Is it not possible to have a search string that includes a reference object?

    Thank you

    Ronnie

    Hi Ronnie,.

    It is possible, but to get this value, you can use the TestStand API. I have attached a sequence file that shows how to get the values of reference of object using AsPropertyObject, and then the associated GetVal method. It is much easier to understand with an example. Let me know if you have any questions about the sample file of sequence.

  • Boolean search string limitation

    When we enter a search string more than 10 words to Boolean searching for example chicken gun to GOLD OR ask brother GOLD flooding of the housing or the curry house GOLD OR GOLD OR fish Apple GOLD dog OR bird OR duck OR the request fails. Is there a way to fix this?

    You get an error message?  Or not the query returns simply no result?

    There is a dgraph flag that controls the maximum number of terms to assess when a search is called search_max.  This default value is 10, which makes me think that she might be related to your problem.  In a standard search mode, I thought it all starts with the 11th ignored word but Boolean may behave differently.

    If you try to add a - search_max 20-your dgraph and test again, I would be curious what your results are.

    Patrick Rafferty

    http://branchbird.com

  • A search string / number fields

    Hello! What I'm trying to do is create a page to request for my users that allows them to enter a search string (var = #string #), and then click the check boxes that correspond to the values that they want to search for the string in field (var = #paramSelect #). Unfortunately I have not been able to do this job properly and was hoping that someone here might be able to help me with this. So far, I have tried the following methods:

    If paramselect is not set, or a list?
    And you know how to loop through a list?
    And you know what you want to do if it is not set?

    If you answer Yes to these three questions, which is the part that you are having problems with? Also, a list can contain a single element and still be considered a list.

  • When I try to open e-mail files a small box opens with the setting or the input string was not good format

    original title: windows live suit

    When I try to open e-mail files a small box opens with the setting or the input string was not good format

    Windows Live Solution Center
    http://windowslivehelp.com/

  • Problems with the primary key of the query string

    Moving from asp to php, to work with David Power's book: The Essential Guide to Dreamweaver CS4 with CSS, AJAX, and PHP.  Recycling of my brain, so starting from scratch in the learning process.

    Everything was going perfectly until I tried to add the primary key of a record in a query string.  I compared my code with the example code for the book, and everything matches.  When previewing the page in my browser and hover over the link which must pass the main code on the next page, the query string does not appear correctly.  It shows user_id = but no figure shows, as it is supposed to.  www.webpage.com/update_user.php?user_id=

    Here is my code: (Please note, <>have been removed, as I was unable to find a way view the code in the correct way here (copy/paste was doesn't work do not, nor insert syntax))

    ? PHP {?}

    ? PHP echo $row_listUser ['family_name'];? PHP echo $row_listUser ["FirstName"];?

    ? PHP echo $row_listUser ['username'];?       ? PHP echo $row_listUser ["admin_priv"];?

    a href = "update_user.php? user_id =? php echo $row_listUser ['user_id'];?" "Edit / has

    a href = "delete_user.php? user_id =? php echo $row_listUser ['user_id'];?" ' Delete / has

    ? PHP} while ($row_listUser = mysql_fetch_assoc ($listUser));?

    Any ideas that could help me understand why this part does not in particular would be greatly appreciated.  Writing to the database worked perfectly, I see that there are numbers in the database as user_id, and it is defined as my primary key in the configuration database.  Such a simple process that is causing me headaches!

    Thank you

    You have the code to request a copy in your folder:

    $query_listUser = 'SELECT user_id, username, first_name, family_name, admin_priv from users ORDER BY family_name ASC';

    $listUser = mysql_query ($query_listUser, $connSCFDIR) or die (mysql_error ());

    $row_listUser = mysql_fetch_assoc ($listUser);

    $totalRows_listUser = mysql_num_rows ($listUser);

    $query_listUser = 'SELECT username, first_name, family_name, admin_priv from users ORDER BY family_name ASC';

    $listUser = mysql_query ($query_listUser, $connSCFDIR) or die (mysql_error ());

    $row_listUser = mysql_fetch_assoc ($listUser);

    The $listUser table will contain the results of the second query, which does not include the field user_id. delete the redundant code.

Maybe you are looking for

  • Satellite A500: Multimedia keys do not work after Win 8 upgrade

    Hi everyone, I run Toshiba SATELLITE A500 - 1C0 (PSAR3E-01300WPL) with Windows 8 PRO x 64. As I noticed - post factum /:-'Models supported' not supported for Windows 8 drivers of my PC. Although, the computer will work perfectly, but I have a little

  • Re: Tecra M9 and TV-Out

    Hello I was wondering if anyone knows whether or not it is possible "Dual screen" with a TV using my laptop Tecra M9. Really what I want to do is to connect my laptop to a TV so I can watch movies from my PC to the big screen ;) I am looking to buy a

  • can I set up a password for my entire My Documents folder?

    My Documents folder is visible at all. Can I set up a password before I can open my documents?

  • Monitor to the cable office

    I have an old hp wx8400. I have a hp p9627a monitor. Is there a connection cable that I can get to connect the desktop computer to the screen.

  • Windows Update C1900101""WindowsUpdate_dt000"

    Separated from this thread. Please find below the link to the folder of my information system. I'm having the same Windows Update C1900101""WindowsUpdate_dt000"error while trying to go on Windows 10. http://1drv.Ms/1fi7xWd My Event Viewer does not sy