XML Parsing - problem with a value of an element if starting with space

Hi Experts,
I need your valuable guidence to get out of a problem in parsing an XML file.
An XML file is read into xstring variable and it is processed to be split into the corresponding itab.
Please find the code below
types: begin of ty-itab,
            field(4096),
          end of ty-itab.
Data:
g_ixml                       TYPE REF TO if_ixml,
g_ixmldocument               TYPE REF TO if_ixml_document,
g_ixmlstreamfactory          TYPE REF TO if_ixml_stream_factory,
g_ixmlstream                 TYPE REF TO if_ixml_istream,
g_ixmlparser              TYPE REF TO if_ixml_parser,
g_ixmlnodemainlist        TYPE REF TO if_ixml_node_list,
g_ixmlnodelistmainelement TYPE REF TO if_ixml_node_list,
g_sxmldata                TYPE string,
g_ixmlnode                TYPE REF TO if_ixml_node.
  DATA: wa_xmltab TYPE xstring,
            itab type table of ty-itab.
OPEN DATASET l_file IN BINARY MODE FOR INPUT MESSAGE v_msg.
READ DATASET l_file INTO wa_xmltab.
PERFORM f_create_xmltable USING wa_xmltab
                              CHANGING v_msg.
IF NOT v_msg IS INITIAL.
      msg = v_msg.
      EXIT.
    ELSE.
      itab[] = it_xmldata[].
    ENDIF.
CLOSE DATASET l_file.
Subroutine to convert xstring to char type ITAB.
FORM f_create_xmltable USING  value(pi_inputxmlstring) TYPE xstring
                       CHANGING v_msg.
*-- create the main factory
  g_ixml = cl_ixml=>create( ).
*-- create the initial document
  g_ixmldocument = g_ixml->create_document( ).
*-- create the stream factory
  g_ixmlstreamfactory = g_ixml->create_stream_factory( ).
*create input stream
  g_ixmlstream = g_ixmlstreamfactory->create_istream_xstring( string =
pi_inputxmlstring ).
*-- create the parser
  g_ixmlparser = g_ixml->create_parser( stream_factory =
g_ixmlstreamfactory
                                  istream        = g_ixmlstream
                                  document       = g_ixmldocument ).
*-- parse the stream
  IF g_ixmlparser->parse( ) NE 0.
*if parser cannot be created then give error exit
    IF g_ixmlparser->num_errors( ) NE 0.
      EXIT.
    ENDIF.
  ENDIF.
*-- we don't need the stream any more, so let's close it...
  CALL METHOD g_ixmlstream->close( ).
  CLEAR g_ixmlstream.
*get the number of main nodes of the XML document
  g_ixmlnodemainlist = g_ixmldocument->get_children( ).
*set number of elemtns
  g_inummainelements = 0.
  g_imainelementsctr = 0.
  g_inummainelements = g_ixmlnodemainlist->get_length( ).
  g_ifirstlevelctr = 0.
*loop through the document till all have nodes have been covered.
  WHILE g_ifirstlevelctr LT g_inummainelements.
*get the first node
    g_ixmlnode = g_ixmlnodemainlist->get_item( g_ifirstlevelctr ).
*check the type of node
    g_isnodeelement = g_ixmlnode->get_type( ).
*if node is not of type Element then continue
*because we have got to read only text from element nodes.
    IF g_isnodeelement NE c_nodeelement.
      g_ifirstlevelctr = g_ifirstlevelctr + 1.
      CONTINUE.
    ENDIF.
*get nodes of the element just found.
    g_ixmlnodelistmainelement = g_ixmlnode->get_children( ).
*get number of children of main element
    g_inumchildelements = g_ixmlnodelistmainelement->get_length( ).
*loop trhough the number of children
    WHILE g_imainelementsctr LT g_inumchildelements.
      g_ixmlnodemainelement = g_ixmlnodelistmainelement->get_item(
    g_imainelementsctr ).
*get type of node
      g_isnodeelement = g_ixmlnodemainelement->get_type( ).
      IF g_isnodeelement NE c_nodeelement.
        g_imainelementsctr = g_imainelementsctr + 1.
        CONTINUE.
      ENDIF.
*get name of the node.
      g_selementvalue = g_ixmlnodemainelement->get_name( ).
*get children of node
      g_childnodelist = g_ixmlnodemainelement->get_children( ).
      g_inumchildren =  g_childnodelist->get_length( ).
      g_ichildelementcounter = 0.
*while there are number of children of node.loop through
      WHILE g_ichildelementcounter LT g_inumchildren.
*get the child node
        g_childnode = g_childnodelist->get_item(
g_ichildelementcounter ).
*check the type of node
        g_isnodeelement = g_childnode->get_type( ).
*if node is not of element type continue
        IF g_isnodeelement NE c_nodeelement.
          g_ichildelementcounter = g_ichildelementcounter + 1.
          CONTINUE.
        ENDIF.
*otherwise get element name
        g_selementname = g_childnode->get_name( ).
*get value stored in this node.
        g_selementvalue = g_childnode->get_value( ).
        g_numelem = g_inumchildren - 1.
        IF g_ichildelementcounter EQ g_numelem.
          CONCATENATE: g_slinedata g_selementvalue
                  INTO g_slinedata.
        ELSE.
*      store the value of noide in delimiter ~ line
*      Check for Invalid characters in file
            IF g_selementvalue CA '&'.
              REPLACE ALL OCCURRENCES OF '&' IN g_selementvalue WITH
            endif.
*if value contains delimiter then error
            IF g_selementvalue CA '~'.             
              V_MSG = text-003.
              EXIT.
            ELSE.
              CONCATENATE: g_slinedata g_selementvalue '~'  .
              INTO g_slinedata.
            ENDIF.
        ENDIF.
*continue
        g_ichildelementcounter = g_ichildelementcounter + 1.
      ENDWHILE.
      g_ichildelementcounter = 0.
*increment the main element counter by one to go to the next node
      g_imainelementsctr = g_imainelementsctr  + 1.
*move the current delimiter line creted to internal table to be given
*back to the calling program
      MOVE g_slinedata TO wa_xmldata-data.
      APPEND wa_xmldata TO it_xmldata.
      MOVE '' TO g_slinedata.
      MOVE '' TO wa_xmldata-data.
    ENDWHILE.
*increment counter to move to hte next node.
    g_ifirstlevelctr = g_ifirstlevelctr + 1.
    g_imainelementsctr = 0.
  ENDWHILE.
ENDFORM.                    "f_create_xmltable
XML structure
<?xml version="1.0" encoding="utf-8"?>
<ABCInbound xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="C:\XYZSchema\ABCInbound.xsd">
<HH>
<RecordType>HH</RecordType>
<Source>ABC</Source>
<Destination>XYZ</Destination>
<TimeStamp>20050909220546</TimeStamp>
</HH>
<BH>
<RecordType>BH</RecordType>
<DocType>AB</DocType>
<Reference>2205516125</Reference>
<DocumentDate>20080909</DocumentDate>
<PostingDate></PostingDate>
<CompanyCode>ABC</CompanyCode>
<Currency>INR</Currency>
<ExchangeRate>1.0000</ExchangeRate>
<Park></Park>
<ItemNumber>2</ItemNumber>
</BH>
<BL>
<RecordType>BL</RecordType>
<Reference>2205516125</Reference>
<RefLineItem>1</RefLineItem>
<AcctType>K</AcctType>
<DrCrIndicator>H</DrCrIndicator>
<Account>01000003</Account>
<Amount>364.00</Amount>
<VendorName-1>TOM &amp; JERRY IS MY</VendorName-1>
<VendorName-2> NAME TO BE PAID</VendorName-2>
<VendorName-3>1987566Z</VendorName-3>
<VendorName-4>22</VendorName-4>
<Street>UCX STREET</Street>
<City>ROAD 4</City>
<PostalCode>515004</PostalCode>
<Country>IND</Country>
<ContactPerson></ContactPerson>
<AlternatePayeeCode></AlternatePayeeCode>
<AlternatePayeeName-1></AlternatePayeeName-1>
<AlternatePayeeName-2></AlternatePayeeName-2>
<AlternatePayeeName-3></AlternatePayeeName-3>
<PaymentTerms></PaymentTerms>
<BaselineDate></BaselineDate>
<PaymentMethods></PaymentMethods>
<Allocation></Allocation>
<LineItemText>item text</LineItemText>
<TaxCode></TaxCode>
<TaxAmount>0.00</TaxAmount>
<WHTaxCode></WHTaxCode>
<WHTaxbase>0.00</WHTaxbase>
<Fund></Fund>
<FundCenter></FundCenter>
<CostCenter></CostCenter>
<InternalOrder></InternalOrder>
<TaxAutomatically></TaxAutomatically>
<SpecialGLIndicator></SpecialGLIndicator>
</BL>
<TT>
<RecordType>TT</RecordType>
<TotalRecords>1</TotalRecords>
<TotalValue>222</TotalValue>
</TT>
</ABCInbound>
when the above xml file is read and populated into ITAB, for element vendorname-2 which has a space in first position , that space is ignored.
This is being used for a FB01 posting and vendor is paid based on Name1+Name2 printed on cheque and due to the space ignoring problem, the vendor name is displayed wrongly thus causing problems.
I appreciate if someone could guide me thru and help me in solving this problem.
How to preserve the leading or trailing space.
g_selementvalue = g_childnode->get_value( ).
when i check g_selementvalue, space is ignored.
i will be greateful if someone could guide me through.
Regards,
Simha
Edited by: Simha on Dec 11, 2008 10:49 AM

0.02: A C C E P T: Request="NEXT"
0.06: Fetch session state from database
0.08: ...Check session ... owner
0.08: ...Metadata: Fetch Page, Computation, Process, and Branch
0.08: Session: Fetch session header information
0.08: ...Metadata: Fetch page attributes for application ..., page 330
0.08: ...Validate item page affinity.
0.08: ...Validate hidden_protected items.
0.08: ...Check authorization security schemes
0.08: Session State: Save form items and p_arg_values
0.08: ...Session State: Save "P330_PROJECT" - saving same value: ""
0.09: ...Session State: Saved Item "P330_SHUTTLE" New Value=""
0.09: Processing point: ON_SUBMIT_BEFORE_COMPUTATION
0.09: Branch point: BEFORE_COMPUTATION
0.09: Computation point: AFTER_SUBMIT
0.09: Tabs: Perform Branching for Tab Requests
0.09: Branch point: BEFORE_VALIDATION
0.09: ...Evaluating Branch: BEFORE_VALIDATION type: "REDIRECT_URL" button: 12904321314585385 branch: (Unconditional)
0.09: Perform validations:
0.09: ...Item Not Null Validation: P330_SHUTTLE
0.09: ...Validation did NOT pass
This is from debugging, what does the point "0.09: ...Session State: Saved Item "P330_SHUTTLE" New Value="" "
mean ? I think it means, that the Shuttle somehow sets itself to null ?! but i dont understand why...
There is no computation or anything that deletes the shuttle, the page is quite small, there is not much more than the shuttle and the validations and computations to give default value and transforming the shuttle items into a collection to continue working with the IDs.
I dont check whats the problem
Edited by: user12154443 on 21.07.2010 09:47

Similar Messages

  • WIJ 20002 xml Parser Problem - Rich Client

    Hi,
    I have a problem with the rich client on a new installation:
    Business Objects Enterprise XI 3.1 SP3 on Windows 2008 Standard.
    If I connect with the rich client "import document"is disabled.
    if I try to create a new document from the rich client it returns the error below (I used the rich client on two workstations):
    WIJ 20002
    Version: null
    Analisi dello stack:
    java.lang.RuntimeException: java.lang.RuntimeException: XML parser problem:
    XMLJaxpParser.parse(): Element type "ABOUT_Patentnumbers" must be followed by either attribute specification, ">" or "/>".
    at com.businessobjects.wp.xml.jaxp.XMLJaxpParser.parse (Unknown Source)
    at.com.businessobjects.webi.richclient.XMLviaOccaRC.getServerConfiguration (Unknown Source)
    Have you any solution?

    The fixpack 3.5 client resolves the problem.

  • XML parsing problems with Oracle XML parser for PL/SQL

    I am using the Oracle XML parser for PL/SQL to transform XML into HTML usign XSL. The parser gives me sporadic errors trying to parse various XML documents. For the same XML source, the XMLPARSER will parse without errors one day and the next day will give me errors such as "invalid char in text", "Expected ';'.", or even Java null pointer exceptions.
    I have verified that the XML sources are well formed, so I am pretty certain that the problems I am having are bugs in the XMLPARSER.
    Is there going to be a XML parser for PL/SQL version 2 that will fix these bugs? If so, when??? If not, is there anything else I could do to fix these problems?
    Thanks!

    You can use the latest version.

  • XML parsing problem

    Hi, my problem is :
    In my Application i want to parse an XML file with DOM parser. The problem is that in my Project "MyProject -> Project Properties -> Libraries and Classpath"
    I have included some 15 libraries which are useful for my Application: ADF Faces Runtime 11, ADF Web Runtime and etc.
    Problems are causing the libraries: BC4J Runtime,ADF Model Runtime, MDS Runtime Dependencies
    because when added my source which is parsing an XML file stops working.The source code is:
    DocumentBuilderFactory dbf = DocumentBuilderFactory.newInstance();
    DocumentBuilder db = dbf.newDocumentBuilder();
    File file =
    new File("C:\\Documents and Settings\\ilia\\Desktop\\begin.xml");
    Document doc = db.parse(file);
    Element root = doc.getDocumentElement();
    NodeList dots = root.getElementsByTagName("w:t");
    Element firstDot = (Element)dots.item(0);
    String textValue = firstDot.getFirstChild().getNodeValue();
    I use DOM because i need to change some values in the XML file, but its not working neither for reading nor for writing.When debugging I see that it gets the root of the xml but " firstDot.getFirstChild().getNodeValue() " returns null and it breaks with NullPointerException. And that's only when the libraries mentioned above are added to the project. Without them it works just fine !
    I don't know, it's like when added the parser validates my xml against some schema and returns null.
    The xml file is very simple MS Word Document saved as .xml .But I don't think that's the problem.
    Thanks in advance !
    iliya

    Hi all,
    I found the solution to my problem.The right way to parse and change an XML file with DOM parser using the Oracle XML Parser v2 should look like this:
    JXDocumentBuilderFactory factory =
    (JXDocumentBuilderFactory)JXDocumentBuilderFactory.newInstance();
    JXDocumentBuilder documentBuilder =
    (JXDocumentBuilder)factory.newDocumentBuilder();
    File file = new File("c:/Documents and Settings/ilia/Desktop/begin.xml");
    InputStream input =
    new FileInputStream(file);
    XMLDocument xmlDocument = (XMLDocument)(documentBuilder.parse(input));
    System.out.println("Encoding: " + xmlDocument.getEncoding());
    System.out.println("Version: " + xmlDocument.getVersion());
    NodeList namespaceNodeList =
    xmlDocument.getElementsByTagNameNS("http://schemas.microsoft.com/office/word/2003/wordml","t");
    XMLElement namespaceElement17 = (XMLElement)namespaceNodeList.item(17);
    namespaceElement17.getFirstChild().setNodeValue("someString");

  • Faces-config.xml XML parser problem ???

    I'm taking below error message when I was opening faces-config.xml file with diagram view, what's the exact solution of this problem???
    Message
    BME-99100: An error has been reported from the XML parser
    Cause
    The parse has reported the following error:
    <Line 24, Column 2>: XML-20201: (Fatal Error) Expected name instead of <.
    Action
    Thanks for all...
    Message was edited by:
    user559176

    I looked very well, there was'nt any error on line 24 about "<", I think if the size of faces-confic.xml file increased JDeveloper XML Parser cannot parse with high file size, what're other solutions?

  • XML-Parser-Problem ? DataBindings.cpx

    Hello,
    Ok -I just will formulate my question somewhat different: It is possible that the XML-Parser has a Problem ? Please see the stuff below.
    I just got a warning:
    Project: D:\ORAJDev101320\jdev\mywork\LoginJSF\ViewController\ViewController.jpr
    D:\ORAJDev101320\jdev\mywork\LoginJSF\ViewController\src\login\DataBindings.cpx
    Warning(11,15): <Line 11, Column 15>: XML-24521: (Fehler) Element nicht abgeschlossen: 'Application'
    for the following xml file when compiling my sampe books (chapter9) code:
    <?xml version="1.0" encoding="UTF-8" ?>
    <Application xmlns="http://xmlns.oracle.com/adfm/application"
    version="10.1.3.40.66" id="DataBindings" SeparateXMLFiles="false"
    Package="login" ClientType="Generic">
    <pageMap>
    <page path="/home.jsp" usageId="homePageDef"/>
    </pageMap>
    <pageDefinitionUsages>
    <page id="homePageDef" path="login.pageDefs.homePageDef"/>
    </pageDefinitionUsages>
    </Application>
    After trying a little bit it turned out that the message disappears when
    the :
    Application xmlns="http://xmlns.oracle.com/adfm/application"
    is rewritten to
    Application xmlns="http://xmlns.oracle.com/adfm/Application"
    (Application with a upper first A)
    I have to point out that previously I did not by hand coding in this file.
    Is this a known issue.?
    And will/could these change do cause other/addition problems somewhere ?
    Andre
    Message was edited by:
    andreml
    null

    How about adding this tag <dataControlUsages/>? My JDev doesn't complain about your content.
    just my 2 cents
    --olaf                                                                                                                                                                                                                                               

  • XML Parser Problem

    am using XML parser for PL/SQL in Oracle9i Enterprise Edition Release 9.0.1.1.1
    When i run the sample xml program, i get error which is as follows. While compiling no errors. But while executing it reports error as given below.
    SQL> execute domsample('c:\xml', 'family.xml', 'errors.txt');
    begin domsample('c:\xml', 'family.xml', 'errors.txt'); end;
    ORA-20100: Error occurred while parsing: No such file or directory
    ORA-06512: at "COMMODITYBACKCONNECT.XMLPARSER", line 22
    ORA-06512: at "COMMODITYBACKCONNECT.XMLPARSER", line 79
    ORA-06512: at "COMMODITYBACKCONNECT.DOMSAMPLE", line 80
    ORA-06512: at line 1
    What need to be done to rectify the above problem.
    when i do the following validation check
    SQL>
    SQL> select substr(dbms_java.longname(object_name),1,30) as class, status
    2 from all_objects
    3 where object_type = 'JAVA CLASS'
    4 and object_name = dbms_java.shortname('oracle/xml/parser/v2/DOMParser')
    5 ;
    CLASS STATUS
    oracle/xml/parser/v2/DOMParser VALID
    oracle/xml/parser/v2/DOMParser VALID
    Please advice to how remove the following error:
    ORA-20100: Error occurred while parsing: No such file or directory

    Found the solution on metalink. There is a file under /$ORACLE_HOME/javavm/install/init_security.sql
    which needs to be run under username where you are installing xml parser.
    This step is not in readme.txt file provided as a part of download from the OTN website.

  • XML parser Problem in Oracle 9iAS

    Dear All,
    I am trying to parse a xml file by using a SAX Parser.
    I am getting error "oracle.xml.parser.v2.XMLParseException: Invalid InputSource.'. I have already included 'xerces.jar' in the classpath.
    But it is always taking oracle xml parser.
    How to change the default XML parser in Oracle 9ias.
    This is my report.jsp File
    &lt;%@ page import="java.io.*,java.util.*,java.sql.*,javax.sql.*,javax.naming.*,javax.jms.*,iims.util.*,javax.xml.parsers.*,org.xml.sax.*,org.xml.sax.helpers.*, org.w3c.dom.*"%&gt;
    &lt;%
    generateTree();
    %&gt;
    &lt;%!
         //This method is to be called during startup. It will generate the template and rule nodes.
         public static void generateTree() throws Exception
              //Proceed with this method if the template and rule trees are not built already.
              //if (nodeTemplate != null && nodeRule != null) return;
              // Validate
              Node nodeRule = parseXml("d:\\ora9ias\\j2ee\\home\\Reports\\IIMSReportsTemplate1.xml");
         }//generateTree
    %&gt;
    &lt;%!
         //parse the input file and return a node.
         private static Node parseXml(String fileName) throws Exception
              //Parse the input file
              Document objDocument = null;
              DocumentBuilder objDocumentBuilder = DocumentBuilderFactory.newInstance().newDocumentBuilder();
              objDocument = objDocumentBuilder.parse(fileName);
              Node nodeRet = objDocument;
              return nodeRet;
         }//parseXml
    %&gt;
    Report template:
    &lt;ROOT&gt;
         &lt;HEADINGS&gt;
              &lt;HEADING1&gt;H1&lt;/HEADING1&gt;
              &lt;HEADING2&gt;H2&lt;/HEADING2&gt;
              &lt;HEADING3&gt;H3&lt;/HEADING3&gt;
              &lt;HEADING4&gt;H4&lt;/HEADING4&gt;
              &lt;HEADING5&gt;H5&lt;/HEADING5&gt;
              &lt;HEADING6&gt;H6&lt;/HEADING6&gt;
         &lt;/HEADINGS&gt;
         &lt;ROWSETS&gt;
              &lt;ROWSET&gt;
                   &lt;COLHDRS&gt;
                   &lt;/COLHDRS&gt;
                   &lt;ROWS&gt;
                   &lt;/ROWS&gt;
              &lt;/ROWSET&gt;
         &lt;/ROWSETS&gt;
         &lt;Footer&gt;
              &lt;PageNo&gt;Generate&lt;/PageNo&gt;
              &lt;Date&gt;SystemDate&lt;/Date&gt;
         &lt;/Footer&gt;
    &lt;/ROOT&gt;
    Stack Trace:
    strRuleFileD:\ora9ias\j2ee\home\Reports\IIMSReportsRules.xml
    oracle.xml.parser.v2.XMLParseException: Invalid InputSource.
    at oracle.xml.parser.v2.XMLError.flushErrors(XMLError.java:145)
    at oracle.xml.parser.v2.XMLReader.pushXMLReader(XMLReader.java:208)
    at oracle.xml.parser.v2.XMLParser.parse(XMLParser.java:140)
    at oracle.xml.jaxp.JXDocumentBuilder.parse(JXDocumentBuilder.java:96)
    at javax.xml.parsers.DocumentBuilder.parse(DocumentBuilder.java:165)
    at iims.REPORTS.IIMSGenerateReport.parseXml(IIMSGenerateReport.java:115)
    at iims.REPORTS.IIMSGenerateReport.generateTree(IIMSGenerateReport.java:
    100)
    at iims.REPORTS.IIMSGenerateReport.buildXML(IIMSGenerateReport.java:147)
    at PCREPORT_PROCESS.processBody(PCREPORT_PROCESS.java:3248)
    at PCREPORT_PROCESS.doPost(PCREPORT_PROCESS.java:100)
    at PCREPORT_PROCESS.doGet(PCREPORT_PROCESS.java:92)
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:244)
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:336)
    at com.evermind.server.http.ResourceFilterChain.doFilter(ResourceFilterC
    hain.java:59)
    at oracle.security.jazn.oc4j.JAZNFilter.doFilter(JAZNFilter.java:283)
    at com.evermind.server.http.ServletRequestDispatcher.invoke(ServletReque
    stDispatcher.java:523)
    at com.evermind.server.http.ServletRequestDispatcher.forwardInternal(Ser
    vletRequestDispatcher.java:269)
    at com.evermind.server.http.HttpRequestHandler.processRequest(HttpReques
    tHandler.java:735)
    at com.evermind.server.http.AJPRequestHandler.run(AJPRequestHandler.java
    :151)
    at com.evermind.util.ThreadPoolThread.run(ThreadPoolThread.java:64)
    Please advise.
    Thanks
    Siva Kishor Rao U

    Adding Xerces XML parser is not enough to make it work. Since some version of JDK (I think 1.4.X) XML parser is included and for older version it can be setup like a runtime option. And this is probably how ORACLE is using its XML parser. If you want to use different parser, you have to pass runtime option to JVM - for Xalan it looks like this:
    -Djavax.xml.transform.TransformerFactory=org.apache.xalan.processor.TransformerFactoryImpl
    ...this way it becomes default parser factory used by javax interface functions. Look for documentation on xml.apache.org
    Myrra

  • Xslt/xpath: count preceding elements which starts-with 'S'

    Hi everybody,
    I got the following XML:
    <?xml version="1.0" encoding="UTF-8"?>
    <ROOT>
         <A1>
              <FOO>1</FOO>
         </A1>
         <A1>
              <FOO>2</FOO>
         </A1>
         <B1>
              <FOO>3</FOO>
         </B1>
         <A1>
              <FOO>4</FOO>
         </A1>
    </ROOT>
    I want wo count all preceding Elements of each 3
    How has the experssion has to look?
    count(/ROOT/A1/FOO/preceding::[starts-with(.,'A')])
    DOES not work
    Any suggestions?
    Regards Mario
    Edited by: Mario Müller on Sep 12, 2008 2:23 AM

    Hi Mario,
    What are you using to test xsl expressions?
    I am using XSL Tester, all sugestions that i gave you retrieve a solution. Therefore, this solution will depend from XML tree. For instance if you have something like this:
    <?xml version="1.0" encoding="UTF-8"?>
    <ROOT>
         <A1>
              <FOO>1</FOO>
              <FOO>5</FOO>
                            <A1000>
                                  <FOO>46</FOO>
                           <FOO>400</FOO>
                            </A1000>
              <FOO>300</FOO>
         </A1>
         <A2>
              <FOO>2</FOO>
              <FO>6</FO>
         </A2>
         <B1>
              <FOO>3</FOO>
         </B1>
         <A1>
              <FOO>4</FOO>
              <FO>7</FO>
         </A1>
    </ROOT>
    Using this XSL:
    <xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
         <xsl:template match="/">
                <Result>
                   ---- Expression ----
              </Result>
         </xsl:template>
    </xsl:stylesheet>
    Results using the expressions that i gave you, will be:
    1.1
    <xsl:value-of select="count(//FOO[1][starts-with(name(parent::node()),'A')])"/>
    <?xml version="1.0" encoding="UTF-16"?>
         <Result>7</Result>
    1.2
    <xsl:value-of select="count(//FOO[1][starts-with(name(parent::node()),'A')])"/>
    <?xml version="1.0" encoding="UTF-16"?>
        <Result>4</Result>
    2.1
    <xsl:value-of select="count(/ROOT/*/FOO[starts-with(name(parent::node()),'A')])"/>
    <?xml version="1.0" encoding="UTF-16"?>
      <Result>5</Result>
    2.2
    <xsl:value-of select="count(/ROOT/*/FOO[1][starts-with(name(parent::node()),'A')])"/>
    <?xml version="1.0" encoding="UTF-16"?>
        <Result>3</Result>
    I think the last one, fits your solution. Give me more hints, maybe i can help you.
    Best regards,
    Pedro Pereira

  • After 4.3.3 update, with International assist enable, all US calls start with 001  area code   number.  If disabled, works as before upgrade.  New feature ? working as new design?

    I upgrade my 3GS yesterday to version 4.3.3 without changing any settings.  Now all incomming US calls are displayed starting with 001 + AC + Number.  Incomming calls do not match entrys in contacts list.  Calling number cannot be dialed back with the way the number presented e.g. 001 +. 
    International assist is enabled under settings.  When International Assist is disable, works as it has for the past year + (the way it should)
    Is this a new feature with version 4.3.3?
    Or working as new design feature?

    Gweeper64 wrote:
    I'm sorry you've had a bad experience, but the page does say:
    Limited time offer! Only available by calling:
    CALL 877.873.3278
    Could that be any clearer?
    Seems pretty clear to me. Even though they do not give an expiration date, it is certainly implied that it will expire at some point. If they give you the deal, then great. If they don't give you the deal, though, it seems that you are just crying for something that you don't deserve and that Verizon has no obligation to provide for you.

  • XML Parse problem consuming external webservice

    Hi all,
    I'm testing consuming an external webservice from a WAS 6.40 client. I generated an ABAP proxy for it .
    I managed to get the correct soap request out and receiving the response, but while parsing the SOAP XML response back into the output parameter, I'm running into a parse error :
    - <CX_XMS_SYSTEM_ERROR>
      <ID>PARSE_APPLICATION_DATA</ID>
      <P1>Response Message</P1>
      <P2>CX_ST_MATCH_TYPE</P2>
      <P3>/1SAI/TXS00000000000000000003</P3>
      <P4>XML Bytepos.: 354 XML Path: root(1)ns1:checkValidSerialNumbersResponse(1)checkValidSerialNumbersReturn(1) Error Text: System expected a value for the type g</P4>
      <INFO />
      <CATEGORY>XIProxy</CATEGORY>
      <AREA>ABAP</AREA>
      <RETRY>M</RETRY>
      </CX_XMS_SYSTEM_ERROR>
    - <CX_XMS_SYSERR_PROXY>
      <CO_AREA_ABAP>ABAP</CO_AREA_ABAP>
      </CX_XMS_SYSERR_PROXY>
      </cls:CX_XMS_SYSERR_PROXY>
    - <cls:CX_ST_MATCH_TYPE id="o163">
    The response parameter is defined as xsd:string ( and string in the generated ABAP structure ).
    IF the byteposition is correct there would be a problem
    with the '?' characeter being in  the response.
    What does the datatype 'g' mean ?
    see also in the error message :
      <ACTUAL_NAMESPACE />
      <ACTUAL_VALUE />
      </CX_ST_MATCH>
    - <CX_ST_MATCH_TYPE>
      <EXPECTED_TYPE>g</EXPECTED_TYPE>
      </CX_ST_MATCH_TYPE>
    Any ideas ? Using 2 other soap clients give no issue what soever...:(

    <wsdl:definitions targetNamespace="http://shareTax.DataExchange.NonLiveSchema.Web.Service/">
    u2212
    <wsdl:types>
    u2212
    <s:schema elementFormDefault="qualified" targetNamespace="http://shareTax.DataExchange.NonLiveSchema.Web.Service/">
    u2212
    <s:element name="processInputXML">
    u2212
    <s:complexType>
    u2212
    <s:sequence>
    <s:element minOccurs="0" maxOccurs="1" name="InputXML" type="s:string"/>
    </s:sequence>
    </s:complexType>
    </s:element>
    u2212
    <s:element name="processInputXMLResponse">
    u2212
    <s:complexType>
    u2212
    <s:sequence>
    <s:element minOccurs="0" maxOccurs="1" name="processInputXMLResult" type="s:string"/>
    </s:sequence>
    </s:complexType>
    </s:element>
    </s:schema>
    </wsdl:types>
    u2212
    <wsdl:message name="processInputXMLSoapIn">
    <wsdl:part name="parameters" element="tns:processInputXML"/>
    </wsdl:message>
    u2212
    <wsdl:message name="processInputXMLSoapOut">
    <wsdl:part name="parameters" element="tns:processInputXMLResponse"/>
    </wsdl:message>
    u2212
    <wsdl:portType name="NonLiveSchemaSoap">
    u2212
    <wsdl:operation name="processInputXML">
    <wsdl:input message="tns:processInputXMLSoapIn"/>
    <wsdl:output message="tns:processInputXMLSoapOut"/>
    </wsdl:operation>
    </wsdl:portType>
    u2212
    <wsdl:binding name="NonLiveSchemaSoap" type="tns:NonLiveSchemaSoap">
    <soap:binding transport="http://schemas.xmlsoap.org/soap/http"/>
    u2212
    <wsdl:operation name="processInputXML">
    <soap:operation soapAction="http://shareTax.DataExchange.NonLiveSchema.Web.Service/processInputXML" style="document"/>
    u2212
    <wsdl:input>
    <soap:body use="literal"/>
    </wsdl:input>
    u2212
    <wsdl:output>
    <soap:body use="literal"/>
    </wsdl:output>
    </wsdl:operation>
    </wsdl:binding>
    u2212
    <wsdl:binding name="NonLiveSchemaSoap12" type="tns:NonLiveSchemaSoap">
    <soap12:binding transport="http://schemas.xmlsoap.org/soap/http"/>
    u2212
    <wsdl:operation name="processInputXML">
    <soap12:operation soapAction="http://shareTax.DataExchange.NonLiveSchema.Web.Service/processInputXML" style="document"/>
    u2212
    <wsdl:input>
    <soap12:body use="literal"/>
    </wsdl:input>
    u2212
    <wsdl:output>
    <soap12:body use="literal"/>
    </wsdl:output>
    </wsdl:operation>
    </wsdl:binding>
    u2212
    <wsdl:service name="NonLiveSchema">
    u2212
    <wsdl:port name="NonLiveSchemaSoap" binding="tns:NonLiveSchemaSoap">
    <soap:address location="http://89.234.8.200:8085/shareTaxDataExchangeWebService/NonLiveSchema.asmx"/>
    </wsdl:port>
    u2212
    <wsdl:port name="NonLiveSchemaSoap12" binding="tns:NonLiveSchemaSoap12">
    <soap12:address location="http://89.234.8.200:8085/shareTaxDataExchangeWebService/NonLiveSchema.asmx"/>
    </wsdl:port>
    </wsdl:service>
    </wsdl:definitions>
    I am facing same problem.
    This is WSDL. Could you please tell if anything is wrong in WSDL?
    I am not aware of WSDL files.

  • Wrong XML parsing in Java  6.0 , the same code works fine with Java 5.0

    I have the following xml data in a file ( C:\_rf\jrebug.xml ) :
    <?xml version="1.0" encoding="UTF-8"?>
    <rs>
         <data
              input3='aa[1]'
              input4='bb[1]'
              input6='cc[2]'
              input8='dd[7]'
              output2='ee[7]'
              output4='ff[511]'
              output6='gg[15]'
              output7='hh[1]'
         />
    </rs>
    I have the following code to parse this XML data :
    import java.io.IOException;
    import javax.xml.parsers.DocumentBuilder;
    import javax.xml.parsers.DocumentBuilderFactory;
    import javax.xml.parsers.ParserConfigurationException;
    import org.w3c.dom.Document;
    import org.w3c.dom.Element;
    import org.w3c.dom.NamedNodeMap;
    import org.w3c.dom.NodeList;
    import org.w3c.dom.Node;
    import org.xml.sax.SAXException;
    import org.xml.sax.ErrorHandler;
    import org.xml.sax.SAXParseException;
    public class DomParserBug {
         Document dom;
         public void runExample() {
    parseXmlFile("C:\\_rf\\jrebug.xml");
              parseDocument();
         private void parseXmlFile(String filename){
              //get the factory
              DocumentBuilderFactory dbf = DocumentBuilderFactory.newInstance();
              //dbf.setValidating(true);
    dbf.setValidating(false);
              try {
                   //Using factory get an instance of document builder
                   DocumentBuilder db = dbf.newDocumentBuilder();
                   db.setErrorHandler(new MyErrorHandler());
                   //parse using builder to get DOM representation of the XML file
                   dom = db.parse(filename);
              }catch(ParserConfigurationException pce) {
                   pce.printStackTrace();
              catch(SAXParseException spe) {
                   spe.printStackTrace();
              catch(IOException ioe) {
                   ioe.printStackTrace();
              catch(SAXException se) {
                   se.printStackTrace();
    private void parseDocument()
    Element docEle = dom.getDocumentElement();
    NodeList nl = docEle.getElementsByTagName("data");
    if(nl != null && nl.getLength() > 0)
    for(int i = 0 ; i < nl.getLength();i++)
    Element el = (Element)nl.item(i);
    NamedNodeMap attrsssss = el.getAttributes();
    for (int ii=0; ii<attrsssss.getLength(); ++ii)
    Node attr = attrsssss.item(ii);
    System.out.println("Attribute name is =" attr.getNodeName() " AND Attribute value is ="+attr.getNodeValue());
         public static void main(String[] args){
              DomParserBug dpe = new DomParserBug();
              dpe.runExample();
         class MyErrorHandler implements ErrorHandler {
              public void error(SAXParseException e) {
              System.out.println("error : " +e.toString());
         // This method is called in the event of a non-recoverable error
         public void fatalError(SAXParseException e) {
         System.out.println("fatalError : " +e.toString());
         // This method is called in the event of a warning
         public void warning(SAXParseException e) {
         System.out.println("warning : " +e.toString());
    The parsed output is :
    Attribute name is =input3 AND Attribute value is =aa[1]
    Attribute name is =input4 AND Attribute value is =bb[1]
    Attribute name is =input6 AND Attribute value is =cc[2]
    Attribute name is =input8 AND Attribute value is =dd[7]
    Attribute name is =output2 AND Attribute value is =ee[7]
    Attribute name is =output4 AND Attribute value is =ff[511]
    Attribute name   is  =output6 AND Attribute value  is =hh[1]]
    Attribute name   is  =output7 AND Attribute value  is =hh[1]
    THE LAST TWO LINES ARE SIMPLY WRONG.
    With java 5.0 the last two lines are parsed correctly :
    Attribute name   is  =output6 AND Attribute value  is =gg[15]
    Attribute name   is  =output7 AND Attribute value  is =hh[1]
    I have seen this issue only after I upgraded to java 6.0. I have searched the java 6.0 bug database but there is nothing there.
    I have also submitted a bug to the bugdatabase last month but have not heared anything.
    Anybody have any clue about this ???
    Thanks
    Edited by: skaushik on Jan 4, 2008 12:40 AM
    Edited by: skaushik on Jan 4, 2008 6:38 PM

    I have seen similar issue. I found that if you remove the square brackets from the first line in teh XML file, the last two lines are parsed correctly.
    Replace the follwing line : :
    Attribute name is =input3 AND Attribute value is =aa[1]
    with :
    Attribute name is =input3 AND Attribute value is =aa
    and the output is CORRECT :
    Attribute name is =input3 AND Attribute value is =aa
    Attribute name is =input4 AND Attribute value is =bb[1]
    Attribute name is =input6 AND Attribute value is =cc[2]
    Attribute name is =input8 AND Attribute value is =dd[7]
    Attribute name is =output2 AND Attribute value is =ee[7]
    Attribute name is =output4 AND Attribute value is =ff[511]
    Attribute name   is  =output6 AND Attribute value  is =gg[15]
    Attribute name   is  =output7 AND Attribute value  is =hh[1]

  • Java XMl parsing problems

    i have an xml sturcture as shown below:
    <cnv:conversion xmlns:cnv="urn:ssis-conv" xmlns:xsql="urn:oracle-xsql">
    <cnv:roottag support="yes" destag="xfw:script">
    <cnv:addattr name="debug" value="no" />
    <cnv:addattr name="xmlns:xfw" value="urn:scb-xfw-v2" />
    </cnv:roottag>
    <xsql:query support="yes" destag="xfw:genxml">
    <connection support="no" />
    <row-element support="yes" destag="row-name" />
    <rowset-element support="yes" destag="rowset-name" />
    <id-attribute support="no" />
    <tag-case support="no" />
    <null-indicator support="no" />
    <cnv:addattr name="debug" value="yes" />
    <cnv:addattr name="Attribute1" value="Value1" />
    </xsql:query>
    <xsql:no-rows-query support="no" child="no" />
    <responsedata support="no" child="yes" />
    <responsedata2 support="no" child="yes" />
    <page destag="page1" support="yes">
    <connection support="no" /> <debug destag="MyDebug" />
    <cnv:addattr name="tt" value="t1" />
    </page>
    <xsql:set-page-param support="yes" destag="setpageparam">
    <name destag="myname" />
    </xsql:set-page-param>
    <xsql:set-page-param-local support="yes" destag="Myset-page-param-local">
    <name destag="mylocalname" />
    </xsql:set-page-param-local>
    </cnv:conversion>
    I want this xml to be validated by the dom parser which i had done and its showing it as valid XML.
    If there are any repeating tags like:
    <cnv:conversion xmlns:cnv="urn:ssis-conv" xmlns:xsql="urn:oracle-xsql">
    <cnv:conversion xmlns:cnv="urn:ssis-conv" xmlns:xsql="urn:oracle-xsql">
    <cnv:roottag support="yes" destag="xfw:script">
    <cnv:addattr name="debug" value="no" />
    <cnv:addattr name="xmlns:xfw" value="urn:scb-xfw-v2" />
    </cnv:roottag>
    <xsql:query support="yes" destag="xfw:genxml">
    <connection support="no" />
    <row-element support="yes" destag="row-name" />
    <rowset-element support="yes" destag="rowset-name" />
    <id-attribute support="no" />
    <tag-case support="no" />
    <null-indicator support="no" />
    <cnv:addattr name="debug" value="yes" />
    <cnv:addattr name="Attribute1" value="Value1" />
    </xsql:query>
    <xsql:no-rows-query support="no" child="no" />
    <responsedata support="no" child="yes" />
    <responsedata2 support="no" child="yes" />
    <page destag="page1" support="yes">
    <connection support="no" /> <debug destag="MyDebug" />
    <cnv:addattr name="tt" value="t1" />
    </page>
    <xsql:set-page-param support="yes" destag="setpageparam">
    <name destag="myname" />
    </xsql:set-page-param>
    <xsql:set-page-param-local support="yes" destag="Myset-page-param-local">
    <name destag="mylocalname" />
    </xsql:set-page-param-local>
    </cnv:conversion>
    </cnv:conversion>
    or like this....................
    <cnv:conversion xmlns:cnv="urn:ssis-conv" xmlns:xsql="urn:oracle-xsql">
    <cnv:roottag support="yes" destag="xfw:script">
    <cnv:addattr name="debug" value="no" />
    <cnv:addattr name="xmlns:xfw" value="urn:scb-xfw-v2" />
    </cnv:roottag>
    <cnv:roottag support="yes" destag="xfw:script">
    <cnv:addattr name="debug" value="no" />
    <cnv:addattr name="xmlns:xfw" value="urn:scb-xfw-v2" />
    </cnv:roottag>
    <xsql:query support="yes" destag="xfw:genxml">
    <connection support="no" />
    <row-element support="yes" destag="row-name" />
    <rowset-element support="yes" destag="rowset-name" />
    <id-attribute support="no" />
    <tag-case support="no" />
    <null-indicator support="no" />
    <cnv:addattr name="debug" value="yes" />
    <cnv:addattr name="Attribute1" value="Value1" />
    </xsql:query>
    <xsql:no-rows-query support="no" child="no" />
    <responsedata support="no" child="yes" />
    <responsedata2 support="no" child="yes" />
    <page destag="page1" support="yes">
    <connection support="no" /> <debug destag="MyDebug" />
    <cnv:addattr name="tt" value="t1" />
    </page>
    <xsql:set-page-param support="yes" destag="setpageparam">
    <name destag="myname" />
    </xsql:set-page-param>
    <xsql:set-page-param-local support="yes" destag="Myset-page-param-local">
    <name destag="mylocalname" />
    </xsql:set-page-param-local>
    </cnv:conversion>
    My java code is shown below :
    import java.io.*;
    import javax.xml.parsers.DocumentBuilder;
    import javax.xml.parsers.DocumentBuilderFactory;
    import org.w3c.dom.*;
    public class sample2
    public void processXML(String path)
    File docFile=new File(path);
    Document doc=null;
    try
    DocumentBuilderFactory dbf=DocumentBuilderFactory.newInstance(); DocumentBuilder db=dbf.newDocumentBuilder();
    doc=db.parse(docFile);
    catch(IOException ioe)
    System.out.println("cant find file");
    catch(Exception e)
    System.out.println("Error has occured");
    Element root=doc.getDocumentElement();
    NodeList children=root.getChildNodes();
    StringBuffer sbuf=new StringBuffer();
    for(Node child=root.getFirstChild(); child!=null; child=child.getNextSibling())
    if(child.getNodeType()==child.TEXT_NODE) sbuf.append(child.getNodeValue()) ;
    else if(child.getNodeType()==child.ELEMENT_NODE) if(child.getChildNodes()!=null)
    getnodes(child, sbuf);
    public void getnodes(Node Child, StringBuffer sbf)
    NodeList children=Child.getChildNodes();
    if(children.getLength() > 0)
    System.out.println(children.getLength() + Child.getNodeName());
    for(Node child=Child.getFirstChild(); child!=null;child=child.getNextSibling())
    if(child.getNodeType()==child.TEXT_NODE) sbf.append((child.getNodeValue()).trim());
    else if(child.getNodeType()==child.ELEMENT_NODE)
    if(child.getChildNodes()!=null)
    getnodes(child, sbf); sbf.append(";");
    public static void main(String[] args)
    testxml txml=new testxml();
    txml.processXML("E:\\Naresh\\conversion_fxsql.xml");
    can any body tell me how to validate the repeating tags (as i dont have dtd for this xml )with the given code.... if any one of the tags are repeating it should raise an exception thats its not a valid xml
    Thanks in advance
    Regards
    Bunny

    I suggest you create a DTD or a XSD file to validate your existing XML document, because it's easier that i looks, and will help in future changes.
    If you want to do it in Java code, you can always store each line of the XML file in some form (like a class) in a List, and the each time you read a line, you compare with everything on the list.
    But don't go that way, make a XSD file

  • XML parsing problems

    I'm having trouble parsing the following XML
    <?xml version="1.0" encoding="UTF-8"?>
    <!DOCTYPE ecurom>
    <roms>
       <rom base="WRXBASE">
          <romid>
             <xmlid>A4TF400E</xmlid>
             <internalidaddress>200</internalidaddress>
             <internalidstring>A4TF400E</internalidstring>
             <caseid>AH792</caseid>
             <ecuid>1234567890</ecuid>
             <market>USDM</market>
             <transmission>Manual</transmission>
             <year>2004</year>
             <flashmethod>wrx04</flashmethod>         
             <memmodel>unknown</memmodel>
          </romid>      
          <table name="Main Ignition" storageaddress="0x293EB">
             <table type="X Axis" storageaddress="0x293C9" />
             <table type="Y Axis" storageaddress="0x293AA" />
          </table>      
          <table name="Rev Limit" storageaddress="0x291C8">
             <table type="Static Y Axis" storageaddress="0x291C8" />
          </table>      
          <table type="1D" name="Injector Flow Scaling" storageaddress="0x286BB"/>
       </rom>   
          <rom>
             <romid>
                <xmlid>WRXBASE</xmlid>
                <make>Subaru</make>
                <model>Impreza</model>
                <submodel>WRX</submodel>
             </romid>
          <table type="3D" name="Main Ignition" category="Timing" swapxy="false" flipx="false" flipy="false" storagetype="uint8" endian="big" sizex="16" sizey="15">
             <scaling units="degrees" expression="(x-57)*360/1024" format="#.00" increment="1" />
             <table type="X Axis" name="Engine Load" storagetype="uint16" endian="big" sizex="16">
                <scaling units="grams" expression="x/8192" format="0.00" increment="256" />
             </table>
             <table type="Y Axis" name="Engine RPM" storagetype="uint16" endian="big" sizey="15">
                <scaling units="RPM" expression="x/256*50" format="#" increment="256" />
             </table>
             <description>"This is a map of base ignition values."</description>
          </table>      
          <table type="2D" name="Rev Limit" storagetype="uint16" endian="big" sizey="2">
             <scaling units="RPM" expression="x/256*50" format="#" increment="256" />
             <description>"RPM at which limiter turns on and off."</description>
             <table type="Static Y Axis" name="Condition" units="" sizey="2">
                <data>on</data>
                <data>off</data>
             </table>
          </table>      
          <table type="1D" name="Injector Flow Scaling" category="Fuel" storagetype="uint16" endian="big" sizey="1">
             <scaling units="cc" expression="2447960/x" format="#.00" increment="-17" />
             <description>"Injector flow rating in cc/min"</description>
          </table>
       </rom>       
    </roms>Here's a piece of my unmarshalling code:
        public Rom unmarshallXMLDefinition (Node rootNode, byte[] input) throws RomNotFoundException, XMLParseException {
            Node n;
            NodeList nodes = rootNode.getChildNodes();
            for (int i = 0; i < nodes.getLength(); i++) {
             n = nodes.item(i);
                System.out.println(n.getNodeName());
             if (n.getNodeType() == Node.ELEMENT_NODE && n.getNodeName().equalsIgnoreCase("rom")) { 
                    Rom rom = unmarshallRom(n, new Rom());      
                    String ecuID = new String(input, rom.getRomID().getInternalIdAddress(), rom.getRomID().getXmlid().length());
                    System.out.println(rom.getRomID().getXmlid());
                    if (ecuID.equalsIgnoreCase(rom.getRomID().getXmlid())) return rom; 
            throw new RomNotFoundException();
        }  You can see the println in there -- I'm expecting it to print
    rom
    rom
    But instead it's printing
    #text
    rom
    I don't have a clue whats going on with the first node and I'm pretty confused. Am I missing something?

    I printed the value of the text node and it's a few
    whitespaces, like you said. I tried removing ALL of
    the whitespace from the XML and it's still doing the
    same thing.What do you get as value for the text node after you removed all the whitespace? A newline or the empty string?
    So I'm confused by 2 things. First, what is DOM
    interpreting as a text node? I can't find any reason
    it should be doing that. It should be doing that because there is a text node. Although they aren't typically mixed, an XML element can have any number of child and text nodes in any order. Either way, what you should do is ignore text nodes if you are only interested in the element nodes. I'm not sure but it may be possible to instruct the parser to ignore whitespaces.
    I have no idea why it isn't finding the other child nodes though...
    Second, why is it not
    parsing the second <rom> node? It's only finding the
    2 nodes, but one of them is the text node instead of
    both being rom element nodes.

  • PL/SQL XML Parser (problem getting text of a node)

    I am trying to get the contents of an ELEMENT (node with a CDATA section) using xmldom.getNodeValue(). However, it seems that there is a MAXIMUM number of characters that I can get back.
    I think I've found a work-around using xmldom.writeToBuffer() which seems to write all of the CDATA contents to a VARCHAR2 variable. Now my problem is that it is using strings like '&#60' and '&#38'. I recognize these strings as being "internal representations of '<' and '&' respectively. I'd not have to replace every occurence of these types of strings with the ASCII equivalent -especially since I don't know all of the possible '&#nn' strings that may crop up.
    Help!

    The use of "//" or "\\" appears to be a bug in JServer. It has
    been filed. You should not specify the path as a shared
    directory as a workaround.
    Oracle XML Team
    http://technet.oracle.com
    Oracle Technology Network
    Andre (guest) wrote:
    : Oracle 8.1.5 database on NT
    : When i try running the example with command:
    : SQL*Plus> exec domsample
    : ('//SERVER_03/ORACLE/xml_tmp','family.xml', 'err.txt');
    : I get the following error:
    : ERROR at line 1:
    : ORA-20100: Error occurred while parsing:
    : //ORACLE/xml_tmp/err.txt
    : ORA-06512: at "OEF1_MGR.XMLPARSER", line 43
    : ORA-06512: at "OEF1_MGR.XMLPARSER", line 120
    : ORA-06512: at "OEF1_MGR.DOMSAMPLE", line 80
    : ORA-06512: at line 1
    : If i use backward-slashes '\' which should be OK for NT i get:
    : ORA-20100: Error occurred while parsing:
    : \\ORACLE\xml_tmp/err.txt
    : I tried using a directory (create directory ...) but this
    : results in the same error.
    : Thus anyone now how it should be done?
    : Thanks
    null

Maybe you are looking for

  • Multiple Users / One Unity Voicemail Box

    When you have one box that has multiple users that can access it, is there a way to limit the access to the box to one user at a time?  I can't find where or if this is even an option to do.

  • Char displaying only the first three characters in the cube

    Hi Experts I have a char  with lenth 60 and it's active.I am updating this char via the update routine whereby i am reading data from an active table of an ODS as i update in the update rules. But surprisingly,once the load is succesful and complete,

  • Country name in Chinese not displaying in PDF

    Hi Experts I am working on a Chinese localisation DB and when I export any docs to PDF the country name disappears. Print preview is fine . I have checked the forum and found the following link Chinese Characters not display when PDF for marketing do

  • I lost my disk to load my Airport Express

    I use a PC and I have been using an Airport Express for wireless capability. Recently, my PC crashed and I have had to reload everything. I can't find my Airport Express disk that originally came with the product. Can someone tell me how I can downlo

  • ICal entries on my MacBook are GONE. How do I get them back?

    This is really strange. I've moved from MobileMe to iCloud on my MacBook, iMac, iPad and iPhone. I was closing a window on my MacBook and a message came up that said something to effect that if I close iCloud the Calendar will be deleted from this Ma