Complex xml with multiple namespaces giving LPX-00601: Invalid token error

Hi
Apologies if this is a really simple question.
I have not worked with xml before and I'm drowning in different ways to do the extract.
I have a very complex xml, sample below, which I'm trying to do one siple extract to get myself going.
I have the data in a table in an xmltype column,
I am trying to extract containernumber first and get the error.
select xml_column, extract(xml_column,'/env:Envelope/env:Body/ns0:QueryCntrNumberResponse/ns0:QueryResContainerDetail/ns1:ContainerNumber/ns2:ContainerNumber')
from test_xml;
Not sure if I should use the namespaces and have tried without but results are always NULL
I would really appreciate any pointers around these ultiple namespaces.
Thanks
Nicki
XML Sample
<?xml version="1.0" encoding="UTF-8"?>
<env:Envelope xmlns:env="http://schemas.xmlsoap.org/soap/envelope/"
              xmlns:xsd="http://www.w3.org/2001/XMLSchema"
              xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
              xmlns:ns0="http://com.cargosmart.cargotracking.webservice.cntr.dto"
              xmlns:ns1="http://com.cargosmart.cargotracking.webservice.common.dto"
              xmlns:ns2="http://com.cargosmart.cargotracking.webservice.basic.dto"
              xmlns:ns3="http://com.cargosmart.cargotracking.webservice.bl.dto"
              xmlns:ns4="http://com.cargosmart.cargotracking.webservice.bkg.dto">
  <env:Body>
    <ns0:QueryByCntrNumberResponse>
      <ns0:QueryRes ult="">
        <ns0:QueryCriteria>
          <ns1:CarrierSCACCode>APLU</ns1:CarrierSCACCode>
          <ns1:ContainerNumber>APZU344693-1</ns1:ContainerNumber>
        </ns0:QueryCriteria>
        <ns0:ContainerDetail>
          <ns1:ContainerNumber>
            <ns2:ContainerNumber>APZU344693</ns2:ContainerNumber>
            <ns2:ContainerCheckDigit>1</ns2:ContainerCheckDigit>
            <ns2:GrossWeight>
              <ns2:Weight>20260.8</ns2:Weight>
              <ns2:WeightUnit>KGS</ns2:WeightUnit>
            </ns2:GrossWeight>
          </ns1:ContainerNumber>
NOT THE FULL COLUMN

Could I just ask you one more question.
I had already expanded the query to include the repeating sections using xmlsequence.
Has that been replaced too?
            select extractvalue(xml_column,'/env:Envelope/env:Body/ns0:QueryByCntrNumberResponse/ns0:QueryResult/ns0:ContainerDetail/ns1:ContainerNumber/ns2:ContainerNumber',
              'xmlns:env="http://schemas.xmlsoap.org/soap/envelope/" 
              xmlns:ns0="http://com.cargosmart.cargotracking.webservice.cntr.dto"
              xmlns:ns1="http://com.cargosmart.cargotracking.webservice.common.dto"
              xmlns:ns2="http://com.cargosmart.cargotracking.webservice.basic.dto"
              xmlns:ns3="http://com.cargosmart.cargotracking.webservice.bl.dto"
              xmlns:ns4="http://com.cargosmart.cargotracking.webservice.bkg.dto"') col1,
              extractvalue(value(t2),'/ns1:Event/ns1:EventDescription', 'xmlns:ns1="http://com.cargosmart.cargotracking.webservice.common.dto"') Event_Description,
              extractvalue(value(t2),'/ns1:Event/ns1:EventDT/ns2:LocDT', 'xmlns:ns1="http://com.cargosmart.cargotracking.webservice.common.dto" xmlns:ns2="http://com.cargosmart.cargotracking.webservice.basic.dto"') Event_DT,
              extractvalue(value(t2),'/ns1:Event/ns1:Location/ns2:LocationName', 'xmlns:ns1="http://com.cargosmart.cargotracking.webservice.common.dto" xmlns:ns2="http://com.cargosmart.cargotracking.webservice.basic.dto"') location
from test_xml t1,
table(xmlsequence(extract(t1.xml_column,'/env:Envelope/env:Body/ns0:QueryByCntrNumberResponse/ns0:QueryResult/ns0:ContainerDetail/ns1:Event','xmlns:env="http://schemas.xmlsoap.org/soap/envelope/" 
              xmlns:ns0="http://com.cargosmart.cargotracking.webservice.cntr.dto"
              xmlns:ns1="http://com.cargosmart.cargotracking.webservice.common.dto"
              xmlns:ns2="http://com.cargosmart.cargotracking.webservice.basic.dto"
              xmlns:ns3="http://com.cargosmart.cargotracking.webservice.bl.dto"
              xmlns:ns4="http://com.cargosmart.cargotracking.webservice.bkg.dto"'))) t2;

Similar Messages

  • LPX-00601: Invalid token Error in DBMS_XSLPROCESSOR

    Hi All,
    I am using DBMS_XMLDOM and DBMS_XSLPROCESSOR to parse the XML file.
    the following code was working fine in Release 10.1.0.4.0
    l_n :=DBMS_XSLPROCESSOR.selectsinglenode
    (xmldom.makenode (doc)
    ,'/tmf:MTOSI_InventoryData/tmf:mdList/tmf:md/tmf:tlList/tmf:tlInv/tmf:tlNm');
    v_mux_id :=DBMS_XMLDOM.getnodevalue(DBMS_XMLDOM.getfirstchild (l_n));
    BANNER
    Oracle Database 10g Enterprise Edition Release 10.1.0.4.0 - 64bi
    PL/SQL Release 10.1.0.4.0 - Production
    CORE 10.1.0.4.0 Production
    TNS for Solaris: Version 10.1.0.4.0 - Production
    NLSRTL Version 10.1.0.4.0 - Production
    But we have copied the same code in Release 10.2.0.2.0 i am getting the following error Plese do the needful
    11:42:03 AM ORA-31011: XML parsing failed
    11:42:03 AM : Error occurred in XML processing
    11:42:03 AM LPX-00601: Invalid token in: '/tmf:MTOSI_InventoryData/tmf:mdList/tmf:md/tmf:tlList/tmf:tlInv/tmf:tlNm'
    11:42:03 AM ORA-06512: at line 9
    11:42:03 AM *** Script stopped due to error ***
    Oracle Database 10g Enterprise Edition Release 10.2.0.2.0 - 64bi
    PL/SQL Release 10.2.0.2.0 - Production
    CORE 10.2.0.2.0 Production
    TNS for Solaris: Version 10.2.0.2.0 - Production
    NLSRTL Version 10.2.0.2.0 - Production
    Plese do the needful
    Thanks in Advance
    Elan

    FUNCTION SELECTSINGLENODE RETURNS RECORD
    Argument Name       Type                 In/Out Default?
       ID                          RAW(13)           OUT
       N                           RECORD           IN
       ID                          RAW(13)            IN
    PATTERN                VARCHAR2        IN
    NAMESPACE          VARCHAR2        IN     DEFAULTYou need to provide the namespace prefix mapping for the prefixes tmf via the NAMESPACE parameter (eg 'xmlns:tmf="xxxxxx"'

  • LPX-00601: Invalid token in: err while trying to read data from xml

    Hey ,
    While trying to read data from xml i got err:
    LPX-00601: Invalid token in: 'path'
    the proc. i'm using to read data from the xml is:
    procedure read_xml_file_test (in_filename in varchar2)
    is
    my_dir  varchar2(20) := 'XML_DIR;
      cur_emp2 number:=0;
      l_bfile   BFILE;
      l_clob    CLOB;
      l_parser  dbms_xmlparser.Parser;
      l_doc     dbms_xmldom.DOMDocument;
      l_nl      dbms_xmldom.DOMNodeList;
      l_nl2    dbms_xmldom.DOMNodeList;
      l_n       dbms_xmldom.DOMNode; 
      l_n2     dbms_xmldom.DOMNode;
      l_temp    VARCHAR2(1000);
    v_errors        internet_clients.errors%type; 
    src_csid       NUMBER := NLS_CHARSET_ID('UTF8'); 
    dest_offset    INTEGER := 1;
    src_offset     INTEGER := 1;
    lang_context   INTEGER := dbms_lob.default_lang_ctx;
    warning        INTEGER;
    v_count       number := 0;   --total records
    v_count_s      number := 0;   -- sucsess record
    v_count_f      number := 0;   -- failed record
    v_flag varchar2(1);
    v_char2 varchar2(1);
    v_l1 VARCHAR2(255);
    v_l2 VARCHAR2(255);
    v_l3 VARCHAR2(255);
    v_l4 VARCHAR2(255);
    v_l6 VARCHAR2(255);
    BEGIN
      l_bfile := BFileName(my_dir, in_filename);
      dbms_lob.createtemporary(l_clob, cache=>FALSE);
      dbms_lob.open(l_bfile, dbms_lob.lob_readonly);
      dbms_lob.loadclobfromfile(l_clob, l_bfile, dbms_lob.getlength(l_bfile), dest_offset,src_offset, src_csid, lang_context, warning);                        
      dbms_lob.close(l_bfile);
      -- make sure implicit date conversions are performed correctly
      dbms_session.set_nls('NLS_DATE_FORMAT','''DD/MM/RR HH24:MI:SS''');   
      -- Create a parser.
      l_parser := dbms_xmlparser.newParser;
      -- Parse the document and create a new DOM document.
        dbms_xmlparser.parseClob(l_parser, l_clob);
        l_doc := dbms_xmlparser.getDocument(l_parser);
      -- Free resources associated with the CLOB and Parser now they are no longer needed.
      dbms_lob.freetemporary(l_clob);
      dbms_xmlparser.freeParser(l_parser);  
      -- Get a list of all the  nodes in the document using the XPATH syntax.
      l_nl := dbms_xslprocessor.selectNodes(dbms_xmldom.makeNode(l_doc),'soap:Envelope/soap:Body/GetFieldsNameResponse/GetFieldsNameResult/diffgr:diffgram/DataSet_FRM_GANERIC_PROP/FRM_GANERIC_PROP');
      -- Loop through the list and create a new record in a tble collection
      -- for each  record.
      FOR cur_emp IN 0 .. dbms_xmldom.getLength(l_nl) - 1 LOOP
       l_n := dbms_xmldom.item(l_nl, cur_emp);
       cur_emp2:=0;
       loop
         v_count := v_count + 1;
         begin
        -- Use XPATH syntax to assign values to he elements of the collection.
        dbms_xslprocessor.valueOf(l_n,'L1/text()',v_l1);
        dbms_xslprocessor.valueOf(l_n,'L2/text()',v_l2);
        dbms_xslprocessor.valueOf(l_n,'L3/text()',v_l3);
        dbms_xslprocessor.valueOf(l_n,'L4/text()',v_l4);
        dbms_xslprocessor.valueOf(l_n,'L6/text()',v_l6);
            exception
      when others then 
      null;
      end;
    exit when cur_emp2=dbms_xmldom.getLength(l_nl2);
      END LOOP;
      end loop;
      -- Free any resources associated with the document now it
      -- is no longer needed.
      dbms_xmldom.freeDocument(l_doc);
      --remove file to another directory   
          --COMMIT;  -- do not use the commit if you want to run this proc. from within the search_dir_list proc , because it execute a select from tmp table dir_list which contain a "on commit delete rows"  clause.    
      /*EXCEPTION
      /*WHEN OTHERS THEN
       dbms_lob.freetemporary(l_clob);
        dbms_xmlparser.freeParser(l_parser);
       dbms_xmldom.freeDocument(l_doc);
        null;
        ROLLBACK; */
    END;While trying to execute this i got:
    ORA-31011: XML parsing failed
    ORA-19202: Error occurred in XML processing
    LPX-00601: Invalid token in: 'soap:Envelope/soap:Body/GetFieldsNameResponse/GetFieldsNameResult/diffgr:diffgram/DataSet_FRM_GANERIC_PROP/FRM_GANERIC_PROP'
    ORA-06512: at "XDB.DBMS_XSLPROCESSOR", line 939
    ORA-06512: at "XDB.DBMS_XSLPROCESSOR", line 967
    ORA-06512: at "MARKET.READ_XML_FILE_TEST", line 51
    ORA-06512: at line 1
    i guess i mised somthing at the line
    l_nl := dbms_xslprocessor.selectNodes(dbms_xmldom.makeNode(l_doc),'soap:Envelope/soap:Body/GetFieldsNameResponse/GetFieldsNameResult/diffgr:diffgram/DataSet_FRM_GANERIC_PROP/FRM_GANERIC_PROP');i attached here part of my xml:
    <?xml version="1.0" encoding="UTF-8" ?>
    - <soap:Envelope xmlns:soap="http://www.w3.org/2003/05/soap-envelope" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
    - <soap:Body>
    - <GetFieldsNameResponse xmlns="http://tempuri.org/">
    - <GetFieldsNameResult>
    - <xs:schema id="DataSet_FRM_GANERIC_PROP" xmlns="" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
    - <xs:element name="DataSet_FRM_GANERIC_PROP" msdata:IsDataSet="true" msdata:Locale="he-IL">
    - <xs:complexType>
    - <xs:choice minOccurs="0" maxOccurs="unbounded">
    - <xs:element name="FRM_GANERIC_PROP">
    - <xs:complexType>
    - <xs:sequence>
      </xs:sequence>
      </xs:complexType>
      </xs:element>
      </xs:choice>
      </xs:complexType>
      </xs:element>
      </xs:schema>
    - <diffgr:diffgram xmlns:msdata="urn:schemas-microsoft-com:xml-msdata" xmlns:diffgr="urn:schemas-microsoft-com:xml-diffgram-v1">
    - <DataSet_FRM_GANERIC_PROP xmlns="">
    - <FRM_GANERIC_PROP diffgr:id="FRM_GANERIC_PROP1" msdata:rowOrder="0">
      <L1>val1</L1>
      <L2>val2</L2>
      <L3>val3</L3>
      <L4>val4</L4>
      <L6>val6</L6>
      </FRM_GANERIC_PROP>
      </DataSet_FRM_GANERIC_PROP>
      </diffgr:diffgram>
      </GetFieldsNameResult>
      </GetFieldsNameResponse>
      </soap:Body>
      </soap:Envelope>I Guess it somthing that have to do with node definition ,
    but i have tried so many combinations and none ot those worked for me.
    i'm deeply stuck here.
    What do i miss here?
    THANKS yair
    Edited by: yair_k on 02:30 14/10/2010

    Hey , after got a lot of success with the xml reading part , i wonder if you
    can help me with a problem while trying to reading that xml from a web service.
    i use a procedure as followes:
    FUNCTION read_from_web_service(in_username in varchar2 , in_password in varchar2)
      RETURN CHAR
    AS
      l_service          UTL_DBWS.service;
      l_call             UTL_DBWS.call;
      l_a_ns                     VARCHAR2(32767);
      l_wsdl_url         VARCHAR2(32767);
      l_namespace        VARCHAR2(32767);
      l_service_qname    UTL_DBWS.qname;
      l_port_qname       UTL_DBWS.qname;
      l_operation_qname  UTL_DBWS.qname;
      l_xmltype_in       SYS.XMLTYPE;
      l_xmltype_out      SYS.XMLTYPE;
      l_return           VARCHAR2(32767);
    BEGIN
      l_wsdl_url        := 'http://www.company.com/publisherService/ServiceGetpublisherTable.asmx?wsdl';
      l_namespace       := 'http://tempuri.org/';
      l_service_qname   := UTL_DBWS.to_qname(l_namespace, 'ServiceGetpublisherTable');
      l_port_qname      := UTL_DBWS.to_qname(l_namespace, 'ServiceGetpublisherTableSoap');
      l_operation_qname := UTL_DBWS.to_qname(l_namespace, 'GetFieldsName');
      l_service := UTL_DBWS.create_service (
        wsdl_document_location => URIFACTORY.getURI(l_wsdl_url),
        service_name           => l_service_qname);
      l_call := UTL_DBWS.create_call (
        service_handle => l_service,
        port_name      => l_port_qname,
        operation_name => l_operation_qname);
      l_xmltype_in := SYS.XMLTYPE('<?xml version="1.0" encoding="utf-8"?>
        <GetFieldsName xmlns="' || l_namespace || '">
        <user>' || in_username || '</user>
        <password>'|| in_password || '</password>
        </GetFieldsName>');
      l_xmltype_out := UTL_DBWS.invoke(call_Handle => l_call,
                                       request     => l_xmltype_in);
      UTL_DBWS.release_call (call_handle => l_call);
      UTL_DBWS.release_service (service_handle => l_service);
      l_return := l_xmltype_out.extract('//GetFieldsName/text()').getstringVal();
       dbms_output.put_line(l_return);     
      RETURN l_return;
    END;but when i run it i got message:
    ORA-29532: Java call terminated by uncaught Java exception: javax.xml.rpc.soap.SOAPFaultException: Server did not recognize the value of HTTP Header SOAPAction: .
    regarding the line:
    l_xmltype_out := UTL_DBWS.invoke(call_Handle => l_call,
    request => l_xmltype_in);
    So , i deeply stuck here!
    my web service description is:
      <?xml version="1.0" encoding="utf-8" ?>
    - <wsdl:definitions xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/" xmlns:tm="http://microsoft.com/wsdl/mime/textMatching/" xmlns:soapenc="http://schemas.xmlsoap.org/soap/encoding/" xmlns:mime="http://schemas.xmlsoap.org/wsdl/mime/" xmlns:tns="http://tempuri.org/" xmlns:s="http://www.w3.org/2001/XMLSchema" xmlns:soap12="http://schemas.xmlsoap.org/wsdl/soap12/" xmlns:http="http://schemas.xmlsoap.org/wsdl/http/" targetNamespace="http://tempuri.org/" xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/">
    - <wsdl:types>
    - <s:schema elementFormDefault="qualified" targetNamespace="http://tempuri.org/">
    - <s:element name="GetFieldsName">
    - <s:complexType>
    - <s:sequence>
      <s:element minOccurs="0" maxOccurs="1" name="user" type="s:string" />
      <s:element minOccurs="0" maxOccurs="1" name="password" type="s:string" />
      </s:sequence>
      </s:complexType>
      </s:element>
    - <s:element name="GetFieldsNameResponse">
    - <s:complexType>
    - <s:sequence>
    - <s:element minOccurs="0" maxOccurs="1" name="GetFieldsNameResult">
    - <s:complexType>
    - <s:sequence>
      <s:element ref="s:schema" />
      <s:any />
      </s:sequence>
      </s:complexType>
      </s:element>
      </s:sequence>
      </s:complexType>
      </s:element>
    - <s:element name="GetMSG_ByUser_Not_Readed">
    - <s:complexType>
    - <s:sequence>
      <s:element minOccurs="0" maxOccurs="1" name="user" type="s:string" />
      <s:element minOccurs="0" maxOccurs="1" name="password" type="s:string" />
      </s:sequence>
      </s:complexType>
      </s:element>
    - <s:element name="GetMSG_ByUser_Not_ReadedResponse">
    - <s:complexType>
    - <s:sequence>
    - <s:element minOccurs="0" maxOccurs="1" name="GetMSG_ByUser_Not_ReadedResult">
    - <s:complexType>
    - <s:sequence>
      <s:element ref="s:schema" />
      <s:any />
      </s:sequence>
      </s:complexType>
      </s:element>
      </s:sequence>
      </s:complexType>
      </s:element>
    - <s:element name="SetMSG_ByUser_Not_Readed_As_Readed">
    - <s:complexType>
    - <s:sequence>
      <s:element minOccurs="0" maxOccurs="1" name="user" type="s:string" />
      <s:element minOccurs="0" maxOccurs="1" name="password" type="s:string" />
      <s:element minOccurs="0" maxOccurs="1" name="Rec_Id" type="s:string" />
      </s:sequence>
      </s:complexType>
      </s:element>
    - <s:element name="SetMSG_ByUser_Not_Readed_As_ReadedResponse">
    - <s:complexType>
    - <s:sequence>
      <s:element minOccurs="1" maxOccurs="1" name="SetMSG_ByUser_Not_Readed_As_ReadedResult" type="s:boolean" />
      </s:sequence>
      </s:complexType>
      </s:element>
      </s:schema>
      </wsdl:types>
    - <wsdl:message name="GetFieldsNameSoapIn">
      <wsdl:part name="parameters" element="tns:GetFieldsName" />
      </wsdl:message>
    - <wsdl:message name="GetFieldsNameSoapOut">
      <wsdl:part name="parameters" element="tns:GetFieldsNameResponse" />
      </wsdl:message>
    - <wsdl:message name="GetMSG_ByUser_Not_ReadedSoapIn">
      <wsdl:part name="parameters" element="tns:GetMSG_ByUser_Not_Readed" />
      </wsdl:message>
    - <wsdl:message name="GetMSG_ByUser_Not_ReadedSoapOut">
      <wsdl:part name="parameters" element="tns:GetMSG_ByUser_Not_ReadedResponse" />
      </wsdl:message>
    - <wsdl:message name="SetMSG_ByUser_Not_Readed_As_ReadedSoapIn">
      <wsdl:part name="parameters" element="tns:SetMSG_ByUser_Not_Readed_As_Readed" />
      </wsdl:message>
    - <wsdl:message name="SetMSG_ByUser_Not_Readed_As_ReadedSoapOut">
      <wsdl:part name="parameters" element="tns:SetMSG_ByUser_Not_Readed_As_ReadedResponse" />
      </wsdl:message>
    - <wsdl:portType name="ServiceGetpublisherTableSoap">
    - <wsdl:operation name="GetFieldsName">
      <wsdl:input message="tns:GetFieldsNameSoapIn" />
      <wsdl:output message="tns:GetFieldsNameSoapOut" />
      </wsdl:operation>
    - <wsdl:operation name="GetMSG_ByUser_Not_Readed">
      <wsdl:input message="tns:GetMSG_ByUser_Not_ReadedSoapIn" />
      <wsdl:output message="tns:GetMSG_ByUser_Not_ReadedSoapOut" />
      </wsdl:operation>
    - <wsdl:operation name="SetMSG_ByUser_Not_Readed_As_Readed">
      <wsdl:input message="tns:SetMSG_ByUser_Not_Readed_As_ReadedSoapIn" />
      <wsdl:output message="tns:SetMSG_ByUser_Not_Readed_As_ReadedSoapOut" />
      </wsdl:operation>
      </wsdl:portType>
    - <wsdl:binding name="ServiceGetpublisherTableSoap" type="tns:ServiceGetpublisherTableSoap">
      <soap:binding transport="http://schemas.xmlsoap.org/soap/http" />
    - <wsdl:operation name="GetFieldsName">
      <soap:operation soapAction="http://tempuri.org/GetFieldsName" style="document" />
    - <wsdl:input>
      <soap:body use="literal" />
      </wsdl:input>
    - <wsdl:output>
      <soap:body use="literal" />
      </wsdl:output>
      </wsdl:operation>
    - <wsdl:operation name="GetMSG_ByUser_Not_Readed">
      <soap:operation soapAction="http://tempuri.org/GetMSG_ByUser_Not_Readed" style="document" />
    - <wsdl:input>
      <soap:body use="literal" />
      </wsdl:input>
    - <wsdl:output>
      <soap:body use="literal" />
      </wsdl:output>
      </wsdl:operation>
    - <wsdl:operation name="SetMSG_ByUser_Not_Readed_As_Readed">
      <soap:operation soapAction="http://tempuri.org/SetMSG_ByUser_Not_Readed_As_Readed" style="document" />
    - <wsdl:input>
      <soap:body use="literal" />
      </wsdl:input>
    - <wsdl:output>
      <soap:body use="literal" />
      </wsdl:output>
      </wsdl:operation>
      </wsdl:binding>
    - <wsdl:binding name="ServiceGetpublisherTableSoap12" type="tns:ServiceGetpublisherTableSoap">
      <soap12:binding transport="http://schemas.xmlsoap.org/soap/http" />
    - <wsdl:operation name="GetFieldsName">
      <soap12:operation soapAction="http://tempuri.org/GetFieldsName" style="document" />
    - <wsdl:input>
      <soap12:body use="literal" />
      </wsdl:input>
    - <wsdl:output>
      <soap12:body use="literal" />
      </wsdl:output>
      </wsdl:operation>
    - <wsdl:operation name="GetMSG_ByUser_Not_Readed">
      <soap12:operation soapAction="http://tempuri.org/GetMSG_ByUser_Not_Readed" style="document" />
    - <wsdl:input>
      <soap12:body use="literal" />
      </wsdl:input>
    - <wsdl:output>
      <soap12:body use="literal" />
      </wsdl:output>
      </wsdl:operation>
    - <wsdl:operation name="SetMSG_ByUser_Not_Readed_As_Readed">
      <soap12:operation soapAction="http://tempuri.org/SetMSG_ByUser_Not_Readed_As_Readed" style="document" />
    - <wsdl:input>
      <soap12:body use="literal" />
      </wsdl:input>
    - <wsdl:output>
      <soap12:body use="literal" />
      </wsdl:output>
      </wsdl:operation>
      </wsdl:binding>
    - <wsdl:service name="ServiceGetpublisherTable">
    - <wsdl:port name="ServiceGetpublisherTableSoap" binding="tns:ServiceGetpublisherTableSoap">
      <soap:address location="http://www.company.com/publisherService/ServiceGetpublisherTable.asmx" />
      </wsdl:port>
    - <wsdl:port name="ServiceGetpublisherTableSoap12" binding="tns:ServiceGetpublisherTableSoap12">
      <soap12:address location="http://www.company.com/publisherService/ServiceGetpublisherTable.asmx" />
      </wsdl:port>
      </wsdl:service>
      </wsdl:definitions>also i have to mention that i have changed publisher references inside the code , and i also canot
    supply username and password , so i guess you canot test it. still i not shure if my definitions (namespace est.) inside my code defined correctly.
    hope you can help me with this.
    regards
    yair

  • "LPX-00601: Invalid token in:" when retrieving namespaced attribute

    I'm trying to retrieve an attribute value from an XML document as follows:
    declare
       l_url varchar2(500);
       l_xml xmltype;
    begin
       l_xml := xmltype('<WMT_MS_Capabilities version="1.1.1">
                          <Capability>
                             <Layer>
                               <Layer>
                                  <Style>
                                    <Name>default</Name>
                                    <Title>default</Title>
                                    <LegendURL width="233" height="141">
                                       <Format>image/png</Format>
                                       <OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink"
                                                       xlink:type="simple"
                                                       xlink:href="http://very_long_url"/>
                                    </LegendURL>
                                  </Style>
                              </Layer>
                              </Layer>
                              </Capability>
                          </WMT_MS_Capabilities>');
       select extractvalue(l_xml
                          ,'//WMT_MS_Capabilities/Capability/Layer/Layer/Style/LegendURL/OnlineResource@xlink:href'
                          ,'xmlns:xlink="http://www.w3.org/1999/xlink"')
         into l_url
         from dual;
         dbms_output.put_line(l_url);
    end;This code executes fine in a 9.2.0.5 database but on Oracle 10.2.0.4 I get:
    ORA-31011: XML parsing failed
    ORA-19202: Error occurred in XML processing
    LPX-00601: Invalid token in: '//WMT_MS_Capabilities/Capability/Layer/Layer/Style/LegendURL/OnlineResource@xlink:href'
    ORA-06512: at line 26What am I doing wrong?

    Found the bug. there is a / missing before the @ in the xpath expression. 9R2 does not seem to care about this.
    Correct path=
    '//WMT_MS_Capabilities/Capability/Layer/Layer/Style/LegendURL/OnlineResource/@xlink:href'

  • LPX-00601: Invalid token

    Hallo,
    and the next problem arised when trying to
    SELECT XMLTransform(x.xmldoc,
    (select stylesheet from stylesheet_tab where id = 1)).getStringVal()
    AS result
    FROM testtab x;
    =>
    ORA-31011: XML parsing failed
    ORA-19202: Error occurred in XML processing
    LPX-00601: Invalid token in
    <xsl:value-of select="auskunfteiAntwort[@xsi:type='faResponse']/auskunftAusCacheA1"/>
    Whats the problem with this line ?
    The xsl file already works when the tranformation is done with java instead of oracle.
    Thanks,
    Jochen

    SQL> select * from nls_session_parameters;
    NLS_LANGUAGE AMERICAN
    NLS_TERRITORY AMERICA
    NLS_CURRENCY $
    NLS_ISO_CURRENCY AMERICA
    NLS_NUMERIC_CHARACTERS .,
    NLS_CALENDAR GREGORIAN
    NLS_DATE_FORMAT DD-MON-RR
    NLS_DATE_LANGUAGE AMERICAN
    NLS_SORT BINARY
    NLS_TIME_FORMAT HH.MI.SSXFF AM
    NLS_TIMESTAMP_FORMAT DD-MON-RR HH.MI.SSXFF AM
    HH.MI.SSXFF AM TZR
    NLS_TIMESTAMP_TZ_FORMAT DD-MON-RR HH.MI.SSXFF AM TZR
    NLS_DUAL_CURRENCY $
    NLS_COMP BINARY
    NLS_LENGTH_SEMANTICS BYTE
    NLS_NCHAR_CONV_EXCP FALSE
    SQL> select * from nls_database_parameters;
    NLS_LANGUAGE AMERICAN
    NLS_TERRITORY AMERICA
    NLS_CURRENCY $
    NLS_ISO_CURRENCY AMERICA
    NLS_NUMERIC_CHARACTERS .,
    NLS_CHARACTERSET AL32UTF8
    NLS_CALENDAR GREGORIAN
    NLS_DATE_FORMAT DD-MON-RR
    NLS_DATE_LANGUAGE AMERICAN
    NLS_SORT BINARY
    NLS_TIME_FORMAT HH.MI.SSXFF AM
    NLS_TIMESTAMP_FORMAT DD-MON-RR HH.MI.SSXFF AM
    NLS_TIME_TZ_FORMAT HH.MI.SSXFF AM TZR
    NLS_TIMESTAMP_TZ_FORMAT DD-MON-RR HH.MI.SSXFF AM TZR
    NLS_DUAL_CURRENCY $
    NLS_COMP BINARY
    NLS_LENGTH_SEMANTICS BYTE
    NLS_NCHAR_CONV_EXCP FALSE
    NLS_NCHAR_CHARACTERSET UTF8
    NLS_RDBMS_VERSION 10.2.0.1.0
    I don't find something like a xsi namespace prefix.
    In fact thats the first time "xsi" appears in this stylesheet. Is Oracle more strict than the "standard" ?

  • LPX-00601: Invalid token in: using logical AND operator in XQuery

    Hi Pro's,
    I am working on DB version 10.2.0.3, I have loaded this document into XMLType column:
    <ROOT>
    <COUNTRY>
    <NAME>India</NAME>
    <PERSON>
    <NAME>Harinath</NAME>
    <CITY>Bangalore</CITY>
    <STATE>Karnataka</STATE>
    <IMMI_STATUS>Citizen</IMMI_STATUS>
    </PERSON>
    <PERSON>
    <NAME>Mohan</NAME>
    <CITY>Kakinada</CITY>
    <STATE>Andhra Pradesh</STATE>
    <IMMI_STATUS>Citizen</IMMI_STATUS>
    </PERSON>
    </COUNTRY>
    <COUNTRY>
    <NAME>USA</NAME>
    <PERSON>
    <NAME>Drew P</NAME>
    <CITY>Appleton</CITY>
    <STATE>WI</STATE>
    <IMMI_STATUS>Citizen</IMMI_STATUS>
    </PERSON>
    <PERSON>
    <NAME>Bush</NAME>
    <CITY>Washington</CITY>
    <STATE>DC</STATE>
    <IMMI_STATUS>Citizen</IMMI_STATUS>
    </PERSON>
    <PERSON>
    <NAME>Harinath</NAME>
    <CITY>Atlanta</CITY>
    <STATE>GA</STATE>
    <IMMI_STATUS>Alien</IMMI_STATUS>
    </PERSON>
    </COUNTRY>
    </ROOT>
    This query returns one row : (As Expected)
    ===============================
    SELECT extractValue(rec.xmldata, '/ROOT/COUNTRY[PERSON/NAME="Drew P"]/NAME') C_COUNTRY
    FROM (SELECT VALUE(xml) xmldata
    FROM XXSSI_XML_STG stg
    ,TABLE(XMLSequence(extract(stg.XMLDATA, '//ROOT'))) xml
    WHERE stg.REQUEST_ID = 4204203) rec
    This query fails: TRUE as "Harinath" appears twice in the document once in "India" and once in "USA";
    ======================================================
    SELECT extractValue(rec.xmldata, '/ROOT/COUNTRY[PERSON/NAME="Harinath"]/NAME') C_COUNTRY
    FROM (SELECT VALUE(xml) xmldata
    FROM XXSSI_XML_STG stg
    ,TABLE(XMLSequence(extract(stg.XMLDATA, '//ROOT'))) xml
    WHERE stg.REQUEST_ID = 4204203) rec ;
    To fix the error I introduced "LOGICAL AND" in the XPath: THIS FAILS
    ===================================================
    SELECT extractValue(rec.xmldata, '/ROOT/COUNTRY[PERSON/NAME="Harinath" AND IMMI_STATUS="Citizen"]/NAME') C_COUNTRY
    FROM (SELECT VALUE(xml) xmldata
    FROM XXSSI.XXSSI_XML_STG stg
    ,TABLE(XMLSequence(extract(stg.XMLDATA, '//ROOT'))) xml
    WHERE stg.REQUEST_ID = 4204203) rec ;
    Please help!!!!!!

    Hi !!!
    Im sooo thankful to you... it works!!!
    Learnt a lesson today "dont blindly go by those user guides" I was refering to Example 6–8 of "B14259" 10g Developer Guide (Page 282) which has this query
    SELECT extract(OBJECT_VALUE, '/PurchaseOrder/Item').getClobval()
    FROM mypurchaseorders p
    WHERE existsNode(OBJECT_VALUE,
    '/PurchaseOrder[PONum=1001 AND Company = "Oracle Corp"]') = 1;
    may be a printing error :(
    Thanks a lot.

  • XML with multiple namespaces

    I have an XML file
    <?xml version="1.0"?>
    -<Document xmlns="http://www.taleo.com/ws/integration/toolkit/2011/05">
    +<Attributes>
    -<Content>
    -<ExportXML xmlns="http://www.taleo.com/ws/integration/toolkit/2005/07/action/export">
    -<record>
    <field name="ContestNumber">12000000RT</field>
    <field name="JobInformation,JobType,Description">Experienced</field>
    </record>
    </ExportXML>
    </Content>
    </Document>
    I am using the following file to retrieve the data
    SELECT *
       FROM XMLTable(XMLNAMESPACES('http://www.taleo.com/ws/integration/toolkit/2011/05' as "n1",
       'http://www.taleo.com/ws/integration/toolkit/2005/07/action/export' as  "n2"), '//n1:Document/Content/n2:ExportXML/record'
                passing xmltype(
                     bfilename('TEST','TALEOOUT-12-26.xml')
                     , nls_charset_id('AL32UTF8')
         columns
         ContestName varchar2(1000) path 'field[1]'
         )What am i doing wrong

    This was the code that worked.Thanks A_Non .
    SELECT *
       FROM XMLTable(XMLNAMESPACES('http://www.taleo.com/ws/integration/toolkit/2011/05' as "n1",
       'http://www.taleo.com/ws/integration/toolkit/2005/07/action/export' as  "n2"),
       '/n1:Document/n1:Content/n2:ExportXML/n2:record'
                passing xmltype(
                     bfilename('TEST','TALEOOUT-12-26.xml')
                     , nls_charset_id('AL32UTF8')
         columns
         ContestNumber VARCHAR2 (4000) path 'n2:field[1]',
         Job_Info_JobTypDesc VARCHAR2 (4000) path 'n2:field[2]',
         JobFamily VARCHAR2 (4000) path 'n2:field[3]',.........
    )Edited by: Rameshkumar T on Nov 30, 2012 10:59 AM

  • Error occurred in XML processing LPX-00601: Invalid token in

    Hello all, I'm new here and hope to find a resouce to learn from and give back to when possible.
    I am parsing an xml file in a stored proc. The file parses out fine when I make a small modification to the source xml file. Here is the mod:
    These are the first 2 lines of the source file:
    <?xml version="1.0" encoding="UTF-8"?>
    <wc:COLLECTION xmlns:wc="http://www.company.com/sub/1.0">
    If I remove the colon from the element in the second line (change wc:COLL... to wcCOLL....), and make the corresponding change in the closing element tag, the code can parse the file just fine.
    Here is the primary code that throws the error in my proc:
    PROCEDURE IMPORT_WC_XML
    AS
    v_parser xmlparser.Parser;
    v_doc xmldom.DOMDocument;
    v_nl xmldom.DOMNodeList;
    v_n xmldom.DOMNode;
    BEGIN
    v_parser := xmlparser.newParser;
    xmlparser.parse(v_parser, 'F:\SQLLOG\test.xml');
    v_doc := xmlparser.getDocument(v_parser);
    xmlparser.freeParser(v_parser);
    v_nl := xslprocessor.selectNodes(xmldom.makeNode(v_doc),'/wc:COLLECTION/AddedParts/Part');
    If I remove the colon in the root element and remove the colon in this last line of my code, it runs fine.
    Any help would be appreciated. I'm a little new to xml.
    Regards,
    Glen

    Ok, I have resolved the issue. Just in case someone has the same problem, I'm posting what I found to fix it:
    The function:
    v_nl := xslprocessor.selectNodes(n,pattern,namespace);
    has a third argument, apparently optional, named "namespace".
    I added the namespace as defined in the xml file and it works fine now.
    v_nl := xmldom.makeNode(v_doc),'/wc:COLLECTION/Transactions/Transaction','xmlns:wc=http://www.company.com/sub/1.0');
    Regards
    Glen Herman

  • XPath expression with multiple namespaces?

    Hello all.
    I have been scouring the forums and Google and can't seem to find anything similar to my problem.
    I have the following XML with three namespaces. Two are defined in the root element and the third is defined in the the IdSession element. To make things even more confusing, the second and third namespaces have the same prefix, 'f'.
    This is the xml:
    <?xml version="1.0" encoding="ISO-8859-1" ?>
    <NamespaceTestCall xmlns="http://my.default/namespace"
    xmlns:f="http://my.second/namespace">
    ...<f:Level1>
    ......<f:IdSession xmlns:f="http://my.third/namespace">12345</f:IdSession>
    ......<Language>ENG</Language>
    ...</f:Nivel1>
    </NamespaceTestCall>
    My question is, how do I get at the IdSession element? Don't I need to create an XPath object and assign it more than one NamespaceContext?
    This is what I am doing:
    Document xmlDocument = loadXML(xmlSource);
    XPath xpathEvaluator = XPathFactory.newInstance().newXPath();
    xpathEvaluator.setNamespaceContext(new NamespaceContextProvider("a", "http://my.third/namespace"));
    ... xpathEvaluator.evaluate("//a:IdSession", ...);
    This code works but it might not return the 'IdSession' I want, since by searching like this '//a:IdSession' it is looking in the whole document. If there were another 'IdSession' somewhere else in the document with the same URI, it would be returned. I want the 'IdSession' that lives inside of 'Level1'.
    So what I would like to do is something like this:
    ... xpathEvaluator.evaluate("/*/Level1/a:IdSession", ...);
    But this does NOT work because 'Level1' has its own namespace. So what it seems like I need to do is the following:
    ... xpathEvaluator.evaluate("/*/b:Level1/a:IdSession", ...);
    Having already added the 'Level1' namespace to the XPath object, with the prefix 'b'. But unlike JDOM, there is no 'add' functionality, only 'set', meaning if you call set twice the second call overwrites the first.
    Is there anyway to do this?
    Many thanks!
    Bob

    Hello,
    Sorry, that was my bad. I should have explained that NamespaceContextProvider is nothing more than my implementation of the NamespaceContext interface. The way I did it, I simply implemented getNamespaceURI() and getPrefix(). And the constructor accepted two parameters -- prefix and URI. So my problem was that when I assigned this NamespaceContext to my XPath object it would only have one prefix and one URI.
    But I found an implementation here:
    http://www.oreillynet.com/cs/user/view/cs_msg/50304
    that instead of only having one prefix and URI uses a map. Thus its method setNamespace() adds the prefix and URi to the map, and getPrefix() and getPrefixes() retrieve them from the map.
    Now when I want to use more than one namespace I simply call setNamespace() as many times as necessary, adding a prefix and URI pair each time, and when I am done I assign it to my XPath object.
    And it works!
    Thanks for the response!
    Bob

  • Xsl transformation of xml with wrong namespace

    I have xml with wrong namespace:
    <PAMStartedNotification xmlns="some site">
    <tUser>PLVUSER</tUser>
    </PAMStartedNotification>I need to leave this namespace and transform it.
    As a result of transformation now I get
    <tUser></tUser>
    ...I.e. XPath is not calculated properly.
    If I leave out that namespace then everything is ok.
    But I want to leave that namespace as it is.
    I use the following code to transform xml:
    Templates stylesheet = transformerFactory.newTemplates(new StreamSource(new File(fileName)));
    Transformer processor = stylesheet.newTransformer();
    java.io.StringWriter resultWriter = new java.io.StringWriter();
    StreamResult streamResult = new StreamResult(resultWriter);
    processor.transform(new StreamSource(new StringReader(xmlData)), streamResult);
    transformedXML = resultWriter.getBuffer().toString();Any ideas how to do that(transform xml with wrong namespace)?
    Edited by: prng on Dec 15, 2008 6:43 AM
    Edited by: prng on Dec 15, 2008 6:45 AM

    prng wrote:
    Sorry.
    Here is XPath I use to select tUser:
    /PAMStartedNotification/tUser
    Right. To start out, that selects a PAMStartedNotification element which is in no namespace. But yours isn't. It's in the default namespace, which doesn't have a prefix. You could try this XPath expression:
    /*[local-name() = 'PAMStartedNotification']/*[local-name() = 'tUser'](Untested, might have mis-typings and so on.)

  • WHAT IS THE FIX TO THIS ERROR:  XML Parsing error: not well-formed (invalid token) (error code 4)

    Hello, looking to see if there's anyone out there who knows how to resolve this error from popping up when I open a previously saved adobe file with data populated inside (tax form). 
    The error states: 
    XML Parsing error: not well-formed (invalid token) (error code 4), line 16028, column 2 of file. 
    So when I go to open this file, THAT ERROR appears.  But then allows me to view the content inside the PDF (tax form) - however it will not allow further editing - this is an issue. 
    This began after working and populating certain files, then transferring to a hosting site.  Now when I open any PDF file from the hosting site, the error appears.  Could just be coincidental however throwing that out there in case it's useful.
    What causes this error & what is the fix?
    Cheers! 

    Unfortunately No.  This was a tax form downloaded from IRS.gov.  The PDF file has been populated and saved off.  I believe the file has somehow become corrupt.  Curious how to cleanse the file so it opens without issue (that error message).
    Thanks for your response

  • XML Parsing error: not well-formed (invalid token) (error code 4) --- Urgent Help Needed!

    Hi all, what im doing now is im trying to create a database connection my my MS SQL 2005 database. I created a data source and went to my Adobe Lifecycle Designer 7.1, i created a new data connection, selected OLEDB and created the connection string using the build function.
    Ok, now the problem is, after creating the new data connection and i click on the preview tab, i will receive the error stated above.
    'XML Parsing error: not well-formed (invalid token) (error code 4), line 444, column 1 of file'
    Does anyone know why am i receiving this error and how do i go about solving this?
    I need this database connection to pre-fill my form when the user downloads the form =(

    I have a vital form that clients fill out, which is passed to many people in the company along the workflow. The form is a Planner and we have in the following PDF, Word Doc..
    Well before, the Planner.pdf was originally created in Word, since most people have access to Word.. but evolved to a PDF form created from the Word Doc via Adobe LiveCycle Designer 8.0 w/ User Rights enabled so that the form could be filled out and saved using Adobe Reader.. which was a step better than Word.. being that it is free. But this needed to be easier and more to the point b/c some clients don't particularly like installing the latest version of Reader, even if you provide them the link. Nor do they like saving the form, filling the form, and attaching the form to send back.
    My goal is to have the client fill an HTML version of the form, submit and be done with it, but everyone in the workflow be able to easily receive the filled Planner as a PDF form.
    So some months ago I ran into this post Chris Trip, "Populate Livecycle PDF from mySQL database using PHP" #8, 22 Sep 2007 4:37 pm
    which uses the command line Win32 pdftk.exe to merge an FDF file into an existing PDF on the remote server, and serve this to whoever.
    My problem was with shared hosting and having the ability to use the Win32 pdftk.exe along with PHP which is predominantly used on Linux boxes. And we used a Linux box.
    so i created the following unorthodox method, which a client fills the HTML version of the Planner, all field values are INSERTED into a table in MySQL DB, I and all filled planners that have been filled by clients to date can be viewed from a repository page where an XML file is served up of the corresponding client, but someone would have to have Acrobat Professional, to import the form data from the XML file into a blank form.. altoughh this is simple for me.. I have the PHP file already created so that when a Planner is filled and client submits. >> the an email is sent to me with a table row from the repository of the client name, #, email, and a link to d-load the XML file,
    But I also have the PHP files created so that the Planner can be sent to by email to various people in the workflow with certain fileds ommitted they they do not need to see, but instead of the XML file beiong served up i need the filled PDF Planner to be served.
    I can do this locally with ease on a testing server, but I am currently trying to use another host that uses cross-platform compatibility so i can use PHP and the pdftk.exe to achieve this, as that is why I am having to serve up an XML file b/c we use a Linux server for our website, and cant execute the exe.
    Now that I am testing the other server (cross-platform host), just to use them to do the PDF handling (and it's only $5 per month) I am having problems with getting READ, WRITE, EXECUTE permissions..
    Si guess a good question to ask is can PHP do the same procedure as the pdftk.exe, and i can eleminate it.
    or how in the heck can i get this data from the DB into a blank PDF form, like i have described??
    here are some link to reference
    Populating a LiveCycle PDF with PHP and MySQL
    http://www.andrewheiss.com/Tutorials?page=LiveCycle_PDFs_and_MySQL
    HTML form that passed data into a PDF
    http://www.mactech.com/articles/mactech/Vol.20/20.11/FillOnlinePDFFormsUsingHTML/index.htm l
    and an example
    http://accesspdf.com/html_pdf_form/

  • Xml parsing error: not well-formed (invalid token) (error code 4) - URGENT

    Hi all, i am doing an adobe form which requires me to pre-fill my form when a user downloads the form, but 1st i need a database connection, after creating a Data Source, i opened my intereactive form and created a new data connection, but after creating a data connection and i click on the preview tab, i will receive this error:
    'Xml parsing error: not well-formed (invalid token) (error code 4), line 444, column 1 of file'
    It really is a headach for me, i tried many ways of creating a database connection to my MS SQL 2005 database but failed, can anyone tell me why is am i receiving this error? and can someone guide me on solving this problem?
    POINTS AWARDED HANDSOMELY IF ANYONE IS WILLING TO HELP ME
    Thanks in advance

    Hi all, i am doing an adobe form which requires me to pre-fill my form when a user downloads the form, but 1st i need a database connection, after creating a Data Source, i opened my intereactive form and created a new data connection, but after creating a data connection and i click on the preview tab, i will receive this error:
    'Xml parsing error: not well-formed (invalid token) (error code 4), line 444, column 1 of file'
    It really is a headach for me, i tried many ways of creating a database connection to my MS SQL 2005 database but failed, can anyone tell me why is am i receiving this error? and can someone guide me on solving this problem?
    POINTS AWARDED HANDSOMELY IF ANYONE IS WILLING TO HELP ME
    Thanks in advance

  • XML Structured Index with multiple namespaces

    Hi,
    I'm having some trouble creating an xmlindex with structured component on a clob xmltype column without registered schema, whose data uses multiple namespaces.
    The code I'm using atm:
    CREATE TABLE "DECLARATIONS"
        "ID" NUMBER(19,0),
        "XML" "SYS"."XMLTYPE"
    CREATE INDEX decl_header_ix ON "DECLARATIONS"(xml) INDEXTYPE IS XDB.XMLINDEX
      PARAMETERS ('PATHS (INCLUDE (/emcs:emcsDeclaration/emcs:header//*)
                          NAMESPACE MAPPING (xmlns:emcs="http://www.myurl.eu/myapp/schema/emcs/nl"))');
    INSERT INTO "DECLARATIONS" VALUES (1,'
    <?xml version = ''1.0'' encoding = ''UTF-8'' standalone = ''yes''?>
    <emcs:emcsDeclaration xsi:schemaLocation="http://www.myurl.eu/myapp/schema/emcs/nl emcs_domain.xsd"
    xmlns:common="http://www.myurl.eu/myapp/schema/common"
    xmlns:emcs="http://www.myurl.eu/myapp/schema/emcs/nl"
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
       <emcs:header>
          <common:identifier>70</common:identifier>
          <common:declarationSequenceNumber>54566</common:declarationSequenceNumber>
          <common:dateCreated>2010-10-21-01:00</common:dateCreated>
          <common:status>01 Draft e-AAD in preparation</common:status>
       </emcs:header>
    </emcs:emcsDeclaration>');A this moment it's not desirable for us to register the schemas used in oracle. According to the documentation I should be able to add a structured component to the index as follows:
    BEGIN
          DBMS_XMLINDEX.registerParameter('MY_XSI_GROUP_PARAMETER'
                  , 'ADD_GROUP GROUP MY_XSI_GROUP
                   XMLTABLE decl_header
                   XMLNAMESPACES (''http://www.myurl.eu/myapp/schema/emcs/nl'' AS emcs,
                           ''http://www.myurl.eu/myapp/schema/common'' AS common),
                        COLUMNS
                  status VARCHAR2(30)  PATH ''/emcs:emcsDeclaration/emcs:header/common:status/text()''
       END;
    ALTER INDEX DECL_HEADER_IX PARAMETERS('PARAM MY_XSI_GROUP_PARAMETER');However this results in an ORA-00904: invalid identifier. After some experimenting it seems that oracle tries to parse the namespace URLs as identifiers (even tho http://download.oracle.com/docs/cd/E14072_01/appdev.112/e10492/xdb_indexing.htm#BCGJAAGH & http://download.oracle.com/docs/cd/E14072_01/appdev.112/e10492/xdb_xquery.htm#BABJCHCC specify the former), so I swapped them around:
    BEGIN
          DBMS_XMLINDEX.dropParameter('MY_XSI_GROUP_PARAMETER');
          DBMS_XMLINDEX.registerParameter('MY_XSI_GROUP_PARAMETER'
              , 'ADD_GROUP GROUP MY_XSI_GROUP
              XMLTABLE decl_header
              XMLNAMESPACES (emcs ''http://www.myurl.eu/myapp/schema/emcs/nl'',
              common ''http://www.myurl.eu/myapp/schema/common''),
              COLUMNS
              status varchar2(30)  PATH ''/emcs:emcsDeclaration/emcs:header/common:status/text()''
       END;
    ALTER INDEX DECL_HEADER_IX PARAMETERS('PARAM MY_XSI_GROUP_PARAMETER');Oracle seems to get a bit further with this, resulting in a ORA-19102: XQuery string literal expected. Here I pretty much hit a dead end. Removing the xmlnamespaces declaration altogether leads to a ORA-31013: Invalid XPATH expression. Going through the examples on http://www.liberidu.com/blog/?p=1805 works fine, but as soon as I try to add namespaces to it they stop working as well.
    So my question is: how do I get xmlnamespaces (with non-default namespaces) to work in a structured xmlindex component?

    If you want, I can help you tomorrow. Call me at my nieuwegein office or mail me at marco[dot]gralike[at]amis[dot]nl
    I have some time tomorrow, so I can help you with this. My next presentation for UKOUG will be on XML indexes strategies anyway...
    In the meantime and/or also have a look at:
    XML Howto's (http://www.liberidu.com/blog/?page_id=441) specifically:
    XML Indexing
    * Unstructured XMLIndex (part 1) – The Concepts (http://www.liberidu.com/blog/?p=228)
    * Unstructured XMLIndex (Part 2) – XMLIndex Path Subsetting (http://www.liberidu.com/blog/?p=242)
    * Unstructured XMLIndex (Part 3) – XMLIndex Syntax Dissected (http://www.liberidu.com/blog/?p=259)
    * Unstructured XMLIndex Performance and Fuzzy XPath Searches (http://www.liberidu.com/blog/?p=310)
    * Structured XMLIndex (Part 1) – Rules of Numb (http://www.liberidu.com/blog/?p=1791)
    * Structured XMLIndex (Part 2) – Howto build a structured XMLIndex (http://www.liberidu.com/blog/?p=1798)
    * Structured XMLIndex (Part 3) – Building Multiple XMLIndex Structures (http://www.liberidu.com/blog/?p=1805)
    The posts were based on Index for XML with Repeated Elements maybe that is a bit better to read than on my notepad on the internet (aka blog)
    Edited by: Marco Gralike on Oct 28, 2010 7:51 PM

  • XML doc with multiple namespaces

    Hi,
    a little stupid question...
    Is it possible to get a xml file that assigns two different namespaces and I don't want to use a prefix?
    example:
    xml doc uses namespace xmlns:a="someuri" and xmlns:b="otheruri"
    <?xml version="1.0" encoding="UTF-8"?>
    <Root xmlns="someuri" xmlns:b="otheruri">
    <test/>
    <b:rest/>
    </Root>
    Some way to get prefix b out of it?
    Thanx

    okay, it was a stupid question...
    solution:
    <?xml version="1.0" encoding="UTF-8"?>
    <Root xmlns="someuri" xmlns:b="otheruri">
    <test/>
    <rest xmlns="otheruri"/>
    </Root>

Maybe you are looking for

  • Whenever I leave the main VI screen, the data is no longer able to be read.

    I have a VI that I have used on and off on a test stand of mine for a year and a half. Yesterday, I ran it for the first time in about a month, and the VI had developed a peculiar problem. Whenever I leave the main VI screen and go back to it, data i

  • NCHAR OR NVARCHAR2

    HELLO i use oracle developer 6i with oracle 9i database and i have a nvarchar2 data-type , but when i wirte insert query in the developer it give me a error <<<<< character set mismatch >>>>>>> column in the database create table table_2 t_id number(

  • Nqserror 36001 Error DLL essapinu.dll

    Hi, When I try to connect Oracle BI Administration Tool with Essbase I have this error: "nQSError 36001: Unable to load the essapinu.dll". I have Essbase 11.1.1.2 and OBIEE 10.1.3.4. All software is installed in Solaris 10. Essbase and OBIEE are 64 b

  • WCS error in alarm summary

    Hi all. I've installed WCS last version. I've connected my controller to it. WCS connected to Controller and imported configurations. Now I've renamed some APs, and into Alarm Summary these AP appear like disconnected from controller (but with old na

  • WHY ON EARTH!!

    why is the software upgrade free for iPhone users but not for iPod touch's???? it is the LEAST useful to us yet we have to pay so much for it. does anyone know if they are going to change this any time soon? because i really want to use some applicat