XSLProcessor.Process throws  oracle.xml.xpath.XPathException:

I have a java application which is parsing an XMLDocument using XMLProcessor.process(xsl,doc);
It works for many XML messages, and their related XSL transformers, but throws this error regarding a dayTimeDuration() function.
I'm using XDK version 10g, Java release:xdk_linux_10.2.0.2.0_production
Other transformations without this function work fine. What am I doing wrong?
Any help is appreciated.
The Error is:
oracle.xml.xpath.XPathException: Parse Error in dayTimeDuration function.
The XML is:
<SPLIMCreatedUpdatedOrder Destination="RTS">
     <HeaderData>
          <TransactionCode>3001</TransactionCode>
     </HeaderData>
     <TaskData>
          <FieldOrderNumber>TEST00001</FieldOrderNumber>
          <OrderStatus>Unassigned</OrderStatus>
          <DivisionName>Oregon</DivisionName>
          <DistrictName>Albany District</DistrictName>
          <CustomerName>Kathy Foote</CustomerName>
          <CustomerAddress1>105 CORCORAN LN</CustomerAddress1>
          <CustomerAddress2>Apt 101</CustomerAddress2>
          <CustomerCityState>CENTRAL POINT, OR</CustomerCityState>
          <CustomerZipCode>97502</CustomerZipCode>
          <OrderType>CON</OrderType>
          <TaskNumber>0</TaskNumber>
          <TaskDuration>10</TaskDuration>
          <TaskPriority>3</TaskPriority>
          <TaskExternalPriority></TaskExternalPriority>
          <Longitude>-122.923269</Longitude>
          <Latitude>42.370841</Latitude>
          <EnrouteDateTime></EnrouteDateTime>
          <OnsiteDateTime></OnsiteDateTime>
          <CompletionDateTime></CompletionDateTime>
          <PrimaryOrderNumber></PrimaryOrderNumber>
          <DatabaseAction>U</DatabaseAction>
          <ServiceAreaName>Serviceman - OR - 11256</ServiceAreaName>
          <DivisionCode>OR</DivisionCode>
          <DistrictCode>11256</DistrictCode>
          <ServiceAreaCode>SVC01</ServiceAreaCode>
          <CompletionStatusCode>O</CompletionStatusCode>
          <TrackingStatusCode>U</TrackingStatusCode>
     </TaskData>
     <SchedulingData>
          <EarlyStartDateTime>2007-01-17T08:00:00</EarlyStartDateTime>
          <DueOnDateTime>2007-01-31T17:00:00</DueOnDateTime>
          <ApptStartDateTime></ApptStartDateTime>
          <ApptFinishDateTime></ApptFinishDateTime>
          <TimeZone></TimeZone>
     </SchedulingData>
     <AssignmentData>
          <PreferredCrewName></PreferredCrewName>
          <RequiredCrewName></RequiredCrewName>
          <PrimaryFunction>Service</PrimaryFunction>
          <SkillData></SkillData>
          <CapabilityData></CapabilityData>
     </AssignmentData>
</SPLIMCreatedUpdatedOrder>
The XSL is:
<xsl:stylesheet version="2.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:xdt="http://www.w3.org/2003/05/xpath-datatypes" xmlns:eg="local" xmlns:xs="http://www.w3.org/2001/XMLSchema">
     <xsl:output method="xml" omit-xml-declaration="yes" indent="yes"/>
     <xsl:template match="SPLIMCreatedUpdatedOrder">
          <SOAP-ENV:Envelope
               xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/"
               xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/"
               xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
               xmlns:xsd="http://www.w3.org/2001/XMLSchema"
               xmlns:ns2="http://mwm.splwg.com/webservices/packets/"
               xmlns:ns1="http://mwm.splwg.com/webservices/"
               xmlns:ns3="http://mwm.splwg.com/webservices/methods/">
          <xsl:variable name="databaseAction">
               <xsl:value-of select="TaskData/DatabaseAction"/>
          </xsl:variable>
          <xsl:choose>
               <xsl:when test="$databaseAction='A'">
                    <NEW_STOP>
                         <NEW_STOP_DATA>
                              <PLAN_STOP>
                                   <IDENT>
                                        <xsl:value-of select="TaskData/FieldOrderNumber"/>
                                   </IDENT>
                                   <STATUS>
                                        <xsl:value-of select="TaskData/OrderStatus"/>
                                   </STATUS>
                                   <STARTED_DATE>
                                        <xsl:value-of select="substring(TaskData/OnsiteDateTime,1,4)"/>
                                        <xsl:value-of select="substring(TaskData/OnsiteDateTime,6,2)"/>
                                        <xsl:value-of select="substring(TaskData/OnsiteDateTime,9,2)"/>
                                   </STARTED_DATE>
                                   <STARTED_TIME>
                                        <xsl:value-of select="substring(TaskData/OnsiteDateTime,12,2)"/>
                                        <xsl:value-of select="substring(TaskData/OnsiteDateTime,15,2)"/>
                                   </STARTED_TIME>
                                   <COMPLETION_DATE>
                                        <xsl:value-of select="substring(TaskData/CompletionDateTime,1,4)"/>
                                        <xsl:value-of select="substring(TaskData/CompletionDateTime,6,2)"/>
                                        <xsl:value-of select="substring(TaskData/CompletionDateTime,9,2)"/>
                                   </COMPLETION_DATE>
                                   <COMPLETION_TIME>
                                        <xsl:value-of select="substring(TaskData/CompletionDateTime,12,2)"/>
                                        <xsl:value-of select="substring(TaskData/CompletionDateTime,15,2)"/>
                                   </COMPLETION_TIME>
                              </PLAN_STOP>
                              <STOP>
                                   <IDENT>
                                        <xsl:value-of select="TaskData/FieldOrderNumber"/>
                                   </IDENT>
                                   <INITIAL_STATUS>FREE</INITIAL_STATUS>
                                   <JOB_DELAY>
                                        <xsl:value-of select="xs:int(TaskData/TaskDuration) * 60"/>
                                   </JOB_DELAY>
                                   <R_MUSTHAVE>
                                        <xsl:for-each select="AssignmentData">
                                             <xsl:for-each select="SkillData">
                                                  <xsl:value-of select="."/>,</xsl:for-each>
                                        </xsl:for-each>
                                   </R_MUSTHAVE>
                                   <LATITUDE>
                                        <xsl:value-of select="TaskData/Latitude"/>
                                   </LATITUDE>
                                   <LONGTITUDE>
                                        <xsl:value-of select="TaskData/Latitude"/>
                                   </LONGTITUDE>
                                   <PRIMARY_STOP_ID>
                                        <xsl:value-of select="TaskData/PrimaryOrderNumber"/>
                                   </PRIMARY_STOP_ID>
                                   <STREET_NO>
                                        <xsl:value-of select="substring-before(TaskData/CustomerAddress1,' ')"/>
                                   </STREET_NO>
                                   <STREET>
                                        <xsl:value-of select="substring-after(TaskData/CustomerAddress1,' ')"/>
                                   </STREET>
                                   <CITY>
                                        <xsl:value-of select="substring-before(TaskData/CustomerCityState,',')"/>
                                   </CITY>
                                   <STATE>
                                        <xsl:value-of select="substring-after(TaskData/CustomerCityState,',')"/>
                                   </STATE>
                                   <POSTCODE>
                                        <xsl:value-of select="TaskData/CustomerZipCode"/>
                                   </POSTCODE>
                              </STOP>
                              <STOP_TW>
                                   <IDENT>
                                        <xsl:value-of select="TaskData/FieldOrderNumber"/>
                                   </IDENT>
                                   <STOP>
                                        <xsl:value-of select="TaskData/FieldOrderNumber"/>
                                   </STOP>
                                   <xsl:if test="string-length(SchedulingData/ApptStartDateTime) > 0">
                                        <xsl:variable name="apptDuration">
                                             <xsl:value-of select="xs:dayTimeDuration(xs:dateTime(SchedulingData/ApptFinishDateTime)-xs:dateTime(SchedulingData/ApptStartDateTime))"/>
                                        </xsl:variable>
                                        <START_DATE>
                                             <xsl:value-of select="substring(SchedulingData/ApptStartDateTime,1,4)"/>
                                             <xsl:value-of select="substring(SchedulingData/ApptStartDateTime,6,2)"/>
                                             <xsl:value-of select="substring(SchedulingData/ApptStartDateTime,9,2)"/>
                                        </START_DATE>
                                        <START_TIME>
                                             <xsl:value-of select="substring(SchedulingData/ApptStartDateTime,12,2)"/>
                                             <xsl:value-of select="substring(SchedulingData/ApptStartDateTime,15,2)"/>
                                        </START_TIME>
                                        <xsl:variable name="iTotalHours">
                                             <xsl:value-of select="xs:int(days-from-duration($apptDuration) * 24 + hours-from-duration($apptDuration))"/>
                                        </xsl:variable>
                                        <xsl:variable name="iMinutes">
                                             <xsl:value-of select="xs:int(minutes-from-duration($apptDuration))"/>
                                        </xsl:variable>
                                        <DURATION>
                                             <xsl:if test="not ($iTotalHours > 99)">0</xsl:if>
                                             <xsl:if test="not ($iTotalHours > 9)">0</xsl:if>
                                             <xsl:value-of select="xs:string($iTotalHours)"/>
                                             <xsl:if test="not ($iMinutes > 60)">0</xsl:if>
                                             <xsl:value-of select="xs:string($iMinutes) "/>
                                        </DURATION>
                                   </xsl:if>
                                   <!---->
                                   <xsl:if test="string-length(SchedulingData/ApptStartDateTime) = 0">
                                        <xsl:variable name="apptDuration">
                                             <xsl:value-of select="xs:dayTimeDuration(xs:dateTime(SchedulingData/DueOnDateTime) - xs:dateTime(SchedulingData/EarlyStartDateTime))"/>
                                        </xsl:variable>
                                        <START_DATE>
                                             <xsl:value-of select="substring(SchedulingData/EarlyStartDateTime,1,4)"/>
                                             <xsl:value-of select="substring(SchedulingData/EarlyStartDateTime,6,2)"/>
                                             <xsl:value-of select="substring(SchedulingData/EarlyStartDateTime,9,2)"/>
                                        </START_DATE>
                                        <START_TIME>
                                             <xsl:value-of select="substring(SchedulingData/EarlyStartDateTime,12,2)"/>
                                             <xsl:value-of select="substring(SchedulingData/EarlyStartDateTime,15,2)"/>
                                        </START_TIME>
                                        <xsl:variable name="iTotalHours">
                                             <xsl:value-of select="xs:int(days-from-duration($apptDuration) * 24 + hours-from-duration($apptDuration))"/>
                                        </xsl:variable>
                                        <xsl:variable name="iMinutes">
                                             <xsl:value-of select="xs:int(minutes-from-duration($apptDuration))"/>
                                        </xsl:variable>
                                        <DURATION>
                                             <xsl:if test="not ($iTotalHours > 99)">0</xsl:if>
                                             <xsl:if test="not ($iTotalHours > 9)">0</xsl:if>
                                             <xsl:value-of select="xs:string($iTotalHours)"/>
                                             <xsl:if test="not ($iMinutes > 60)">0</xsl:if>
                                             <xsl:value-of select="xs:string($iMinutes) "/>
                                        </DURATION>
                                   </xsl:if>
                              </STOP_TW>
                         </NEW_STOP_DATA>
                    </NEW_STOP>
               </xsl:when>
               <xsl:when test="$databaseAction='U'">
                    <UPDATE_STOP>
                         <UPDATE_STOP_DATA>
                              <PLAN_STOP>
                                   <IDENT>
                                        <xsl:value-of select="TaskData/FieldOrderNumber"/>
                                   </IDENT>
                                   <STOP>
                                        <xsl:value-of select="TaskData/FieldOrderNumber"/>
                                   </STOP>
                                   <STATUS>
                                        <xsl:value-of select="TaskData/OrderStatus"/>
                                   </STATUS>
                                   <STARTED_DATE>
                                        <xsl:value-of select="substring(TaskData/OnsiteDateTime,1,4)"/>
                                        <xsl:value-of select="substring(TaskData/OnsiteDateTime,6,2)"/>
                                        <xsl:value-of select="substring(TaskData/OnsiteDateTime,9,2)"/>
                                   </STARTED_DATE>
                                   <STARTED_TIME>
                                        <xsl:value-of select="substring(TaskData/OnsiteDateTime,12,2)"/>
                                        <xsl:value-of select="substring(TaskData/OnsiteDateTime,15,2)"/>
                                   </STARTED_TIME>
                                   <COMPLETION_DATE>
                                        <xsl:value-of select="substring(TaskData/CompletionDateTime,1,4)"/>
                                        <xsl:value-of select="substring(TaskData/CompletionDateTime,6,2)"/>
                                        <xsl:value-of select="substring(TaskData/CompletionDateTime,9,2)"/>
                                   </COMPLETION_DATE>
                                   <COMPLETION_TIME>
                                        <xsl:value-of select="substring(TaskData/CompletionDateTime,12,2)"/>
                                        <xsl:value-of select="substring(TaskData/CompletionDateTime,15,2)"/>
                                   </COMPLETION_TIME>
                              </PLAN_STOP>
                              <STOP>
                                   <IDENT>
                                        <xsl:value-of select="TaskData/FieldOrderNumber"/>
                                   </IDENT>
                                   <INITIAL_STATUS>FREE</INITIAL_STATUS>
                                   <JOB_DELAY>
                                        <xsl:value-of select="xs:int(TaskData/TaskDuration) * 60"/>
                                   </JOB_DELAY>
                                   <R_MUSTHAVE>
                                        <xsl:for-each select="AssignmentData">
                                             <xsl:for-each select="SkillData">
                                                  <xsl:value-of select="."/>,</xsl:for-each>
                                        </xsl:for-each>
                                   </R_MUSTHAVE>
                                   <LATITUDE>
                                        <xsl:value-of select="TaskData/Latitude"/>
                                   </LATITUDE>
                                   <LONGTITUDE>
                                        <xsl:value-of select="TaskData/Latitude"/>
                                   </LONGTITUDE>
                                   <PRIMARY_STOP_ID>
                                        <xsl:value-of select="TaskData/PrimaryOrderNumber"/>
                                   </PRIMARY_STOP_ID>
                                   <STREET_NO>
                                        <xsl:value-of select="substring-before(TaskData/CustomerAddress1,' ')"/>
                                   </STREET_NO>
                                   <STREET>
                                        <xsl:value-of select="substring-after(TaskData/CustomerAddress1,' ')"/>
                                   </STREET>
                                   <CITY>
                                        <xsl:value-of select="substring-before(TaskData/CustomerCityState,',')"/>
                                   </CITY>
                                   <STATE>
                                        <xsl:value-of select="substring-after(TaskData/CustomerCityState,',')"/>
                                   </STATE>
                                   <POSTCODE>
                                        <xsl:value-of select="TaskData/CustomerZipCode"/>
                                   </POSTCODE>
                              </STOP>
                              <STOP_TW>
                                   <IDENT>
                                        <xsl:value-of select="TaskData/FieldOrderNumber"/>
                                   </IDENT>
                                   <xsl:if test="string-length(SchedulingData/ApptStartDateTime) > 0">
                                        <xsl:variable name="apptDuration">
                                             <xsl:value-of select="xs:dayTimeDuration(xs:dateTime(SchedulingData/ApptFinishDateTime)-xs:dateTime(SchedulingData/ApptStartDateTime))"/>
                                        </xsl:variable>
                                        <START_DATE>
                                             <xsl:value-of select="substring(SchedulingData/ApptStartDateTime,1,4)"/>
                                             <xsl:value-of select="substring(SchedulingData/ApptStartDateTime,6,2)"/>
                                             <xsl:value-of select="substring(SchedulingData/ApptStartDateTime,9,2)"/>
                                        </START_DATE>
                                        <START_TIME>
                                             <xsl:value-of select="substring(SchedulingData/ApptStartDateTime,12,2)"/>
                                             <xsl:value-of select="substring(SchedulingData/ApptStartDateTime,15,2)"/>
                                        </START_TIME>
                                        <DURATION>
                                             <xsl:if test="not (xs:hours-from-duration($apptDuration) > 99)">0</xsl:if>
                                             <xsl:if test="not (xs:hours-from-duration($apptDuration) > 9)">0</xsl:if>
                                             <xsl:value-of select="xs:hours-from-duration($apptDuration)"/>
                                             <xsl:if test="not (xs:minutes-from-duration($apptDuration) > 9)">0</xsl:if>
                                             <xsl:value-of select="xs:minutes-from-duration($apptDuration)"/>
                                        </DURATION>
                                   </xsl:if>
                                   <!---->
                                   <xsl:if test="string-length(SchedulingData/ApptStartDateTime) = 0">
                                        <xsl:variable name="apptDuration">
                                             <xsl:value-of select="xs:dayTimeDuration(xs:dateTime(SchedulingData/DueOnDateTime) - xs:dateTime(SchedulingData/EarlyStartDateTime))"/>
                                        </xsl:variable>
                                        <START_DATE>
                                             <xsl:value-of select="substring(SchedulingData/EarlyStartDateTime,1,4)"/>
                                             <xsl:value-of select="substring(SchedulingData/EarlyStartDateTime,6,2)"/>
                                             <xsl:value-of select="substring(SchedulingData/EarlyStartDateTime,9,2)"/>
                                        </START_DATE>
                                        <START_TIME>
                                             <xsl:value-of select="substring(SchedulingData/EarlyStartDateTime,12,2)"/>
                                             <xsl:value-of select="substring(SchedulingData/EarlyStartDateTime,15,2)"/>
                                        </START_TIME>
                                        <xsl:variable name="iTotalHours">
                                             <xsl:value-of select="xs:int(days-from-duration($apptDuration) * 24 + hours-from-duration($apptDuration))"/>
                                        </xsl:variable>
                                        <xsl:variable name="iMinutes">
                                             <xsl:value-of select="xs:int(minutes-from-duration($apptDuration))"/>
                                        </xsl:variable>
                                        <DURATION>
                                             <!-- Add leading zeros -->
                                             <xsl:if test="not ($iTotalHours > 99)">0</xsl:if>
                                             <xsl:if test="not ($iTotalHours > 9)">0</xsl:if>
                                             <xsl:value-of select="xs:string($iTotalHours)"/>
                                             <xsl:if test="not ($iMinutes > 60)">0</xsl:if>
                                             <xsl:value-of select="xs:string($iMinutes) "/>
                                        </DURATION>
                                   </xsl:if>
                              </STOP_TW>
                         </UPDATE_STOP_DATA>
                    </UPDATE_STOP>
               </xsl:when>
          </xsl:choose>
          </SOAP-ENV:Envelope>
     </xsl:template>
</xsl:stylesheet>

The code is appended:
public XMLElement TransformDoc(XMLDocument doc, String xslFile){
     DOMParser           parser;
     XMLDocument      xsldoc;
     URL                xslURL;
     try {
     // Parse xsl and xml documents
     xsldoc = new XMLDocument();
     parser = new DOMParser();
     // Parse the XSL file
     xslURL = createURL(xslFile);
     parser.parse(xslURL);
     xsldoc = parser.getDocument();
     // Instantiate a stylesheet
     XSLProcessor processor = new XSLProcessor();
     processor.setBaseURL(xslURL);
     XSLStylesheet xsl = processor.newXSLStylesheet(xsldoc);
     // Display any warnings that may occur
     processor.showWarnings(true);
     processor.setErrorStream(System.err);
     XMLDocumentFragment result = processor.processXSL(xsl, doc);

Similar Messages

  • Oracle.xdo11g.xpath.XPathException: Variable not defined

    Hello,
    I got two pivot tables in the RTF Word PlugIn, when I take the second one out, the HTLM output shows fine, when I out the second one in, I get the error "oracle.xdo11g.xpath.XPathException: Variable not defined". I used the wizard to create the tables.
    If I upload the layout and try to execute the report online, I get this error" oracle.xdo.XDOException: java.lang.reflect.InvocationTargetException"
    anyone an Idea how I can add two pivot tables to my template without causing xml errors?

    I got those two in a WORD table and as soon as I put the second one in the table (a word layout table by putting my pivot table in it) the error comes.

  • ANN: Oracle XML Parser for C - v2.0.7

    A new release of the Oracle XML Parser for C (release 2.0.7) for Solaris and NT is now available from OTN at http://technet.oracle.com/tech/xml.
    Key new features include:
    XSLT improvements: This release further improves upon the processing speed and memory requirements for XSLT.
    By using -r directive the effect of <xsl:output> instruction and "disable-escape" attributes can be taken in to account while doing XSLT processing.
    Oracle XML Team

    A new release of the Oracle XML Parser for C (release 2.0.7) for Solaris and NT is now available from OTN at http://technet.oracle.com/tech/xml.
    Key new features include:
    XSLT improvements: This release further improves upon the processing speed and memory requirements for XSLT.
    By using -r directive the effect of <xsl:output> instruction and "disable-escape" attributes can be taken in to account while doing XSLT processing.
    Oracle XML Team

  • Oracle.xml.parser.v2.XPathException: Extension function error: Method not f

    Hi all,
    When I am trying to call an external java function in XSLT it is throwing the following exception .
    Exception in thread "main" oracle.xml.parser.v2.XPathException: Extension functi
    on error: Method not found 'getValue'
    at oracle.xml.parser.v2.XSLExtFunctions.getMethod(XSLExtFunctions.java:2
    85)
    at oracle.xml.parser.v2.XPathExtFunction.evaluateMethod(XPathExtFunction
    .java:178)
    at oracle.xml.parser.v2.XPathExtFunction.getValue(XPathExtFunction.java:
    137)
    at oracle.xml.parser.v2.XSLExprBase.getStringValue(XSLExprBase.java:369)
    at oracle.xml.parser.v2.XSLValueOf.processAction(XSLValueOf.java:99)
    at oracle.xml.parser.v2.XSLNode.processChildren(XSLNode.java:369)
    at oracle.xml.parser.v2.XSLResultElement.processAction(XSLResultElement.
    java:176)
    at oracle.xml.parser.v2.XSLNode.processChildren(XSLNode.java:369)
    at oracle.xml.parser.v2.XSLResultElement.processAction(XSLResultElement.
    java:176)
    at oracle.xml.parser.v2.XSLNode.processChildren(XSLNode.java:369)
    at oracle.xml.parser.v2.XSLTemplate.processAction(XSLTemplate.java:200)
    at oracle.xml.parser.v2.XSLApplyTemplates.processAction(XSLApplyTemplate
    s.java:214)
    at oracle.xml.parser.v2.XSLApplyTemplates.processAction(XSLApplyTemplate
    s.java:120)
    at oracle.xml.parser.v2.XSLNode.processChildren(XSLNode.java:369)
    at oracle.xml.parser.v2.XSLTemplate.processAction(XSLTemplate.java:200)
    at oracle.xml.parser.v2.XSLStylesheet.execute(XSLStylesheet.java:474)
    at oracle.xml.parser.v2.XSLStylesheet.execute(XSLStylesheet.java:451)
    at oracle.xml.parser.v2.XSLProcessor.processXSL(XSLProcessor.java:248)
    at oracle.xml.parser.v2.XSLProcessor.processXSL(XSLProcessor.java:138)
    at oracle.xml.parser.v2.XSLProcessor.processXSL(XSLProcessor.java:210)
    at Transformer.main(Transformer.java:25)
    My small code is of XSL is:
    <xsl:stylesheet version = '1.0'
    xmlns:xsl='http://www.w3.org/1999/XSL/Transform' xmlns:XYZ="http://www.oracle.com/XSL/Transform/java/pack/XYZ">
    <xsl:template match="PatientRecord">
    <patientKey>
    <LastName>
    <xsl:value-of select="XYZ:getValue()"/>
    </LastName>
    <DOB>
    <xsl:value-of select="DOB"/>
    </DOB>
    </patientKey>
    </xsl:template>
    </xsl:stylesheet>
    My small code of java is :
    package pack;
    public class XYZ{
    public String getValue(){
    return "Hello World";
    My small piece of XML is:
    <PatientRecord>
    <RecordType>P</RecordType>
    <FirstName>JAVA</FirstName>
    <LastName>DEVELOPER</LastName>
    <SSN>737747777</SSN>
    <DOB>19740310</DOB>
    <DoctorID>20874</DoctorID>
    <VisitReason>
    Programming stress disorders
    </VisitReason>
    </PatientRecord>
    I added the xmlparserv2.jar and xyz.jar file to classpath and XYZ.class file is in xyz.jar file .
    Could any body help me if they have encounter or know the answer.
    Thanks,
    Reddy

    Hi Vetsrini, Thank you for your response.
    1. I checked the values in the xml and found no nulls. I see all 0 or non-zero numbers.
    2. Following MetaLink Doc ID 362496.1, I find:
    - PDF Producer: PDF file properties shows PDF Producer "Oracle XML Publisher 5.6.3"
    - AD_BUGS SQL: The SQL results show that I have the 5.6.3 patch, but the SQL in the Doc only includes patch numbers up to 5.6.3. I'm not sure how I can find out the patch numbers of more recent patches, to see if i have those.
    - File version of the MetaInfo.class: $Header MetaInfo.java 115.28 2006/08/17 01:24:59 bgkim noship $
    What is the latest XDO patch? I can't find anything newer than what I have in MetaLink, but I probably am missing something...

  • Oracle.xml.parser.v2.XPathException: Extension functi

    Hi all,
    When I am trying to call an external java function in XSLT it is throwing the following exception .
    Exception in thread "main" oracle.xml.parser.v2.XPathException: Extension functi
    on error: Class not found 'pack/XYZ'
    at oracle.xml.parser.v2.XSLExtFunctions.getConstructor(XSLExtFunctions.j
    ava:166)
    at oracle.xml.parser.v2.XPathExtFunction.evaluateMethod(XPathExtFunction
    .java:172)
    at oracle.xml.parser.v2.XPathExtFunction.getValue(XPathExtFunction.java:
    137)
    at oracle.xml.parser.v2.XPathExtFunction.getValue(XPathExtFunction.java:
    135)
    at oracle.xml.parser.v2.XSLExprBase.getStringValue(XSLExprBase.java:369)
    at oracle.xml.parser.v2.XSLValueOf.processAction(XSLValueOf.java:99)
    at oracle.xml.parser.v2.XSLNode.processChildren(XSLNode.java:369)
    at oracle.xml.parser.v2.XSLResultElement.processAction(XSLResultElement.
    java:176)
    at oracle.xml.parser.v2.XSLNode.processChildren(XSLNode.java:369)
    at oracle.xml.parser.v2.XSLResultElement.processAction(XSLResultElement.
    java:176)
    at oracle.xml.parser.v2.XSLNode.processChildren(XSLNode.java:369)
    at oracle.xml.parser.v2.XSLTemplate.processAction(XSLTemplate.java:200)
    at oracle.xml.parser.v2.XSLApplyTemplates.processAction(XSLApplyTemplate
    s.java:214)
    at oracle.xml.parser.v2.XSLApplyTemplates.processAction(XSLApplyTemplate
    s.java:120)
    at oracle.xml.parser.v2.XSLNode.processChildren(XSLNode.java:369)
    at oracle.xml.parser.v2.XSLTemplate.processAction(XSLTemplate.java:200)
    My small code is of XSL is:
    <xsl:stylesheet version = '1.0'
    xmlns:xsl='http://www.w3.org/1999/XSL/Transform' xmlns:XYZ="http://www.oracle.com/XSL/Transform/java/pack/XYZ">
    <xsl:template match="PatientRecord">
    <patientKey>
    <LastName>
    <xsl:value-of select="XYZ:getValue()"/>
    </LastName>
    <DOB>
    <xsl:value-of select="DOB"/>
    </DOB>
    </patientKey>
    </xsl:template>
    </xsl:stylesheet>
    My small code of java is :
    package pack;
    public class XYZ{
    public String getValue(){
    return "Hello World";
    My small piece of XML is:
    <PatientRecord>
    <RecordType>P</RecordType>
    <FirstName>JAVA</FirstName>
    <LastName>DEVELOPER</LastName>
    <SSN>737747777</SSN>
    <DOB>19740310</DOB>
    <DoctorID>20874</DoctorID>
    <VisitReason>
    Programming stress disorders
    </VisitReason>
    </PatientRecord>
    I added the xmlparserv2.jar and xyz.jar file to classpath and XYZ.class file is in xyz.jar file .
    Could any body help me if they have encounter or know the answer.
    Thanks,
    Reddy

    This occurs because of a bug in the IBM JVM's JIT compiler. You should file a bug with IBM to get this fixed, using your stylesheet as a testcase. Lots of people have hit this problem.
    Disable your JIT compiler (or switch JVM's) and you won't have the error.

  • Java.lang.ClassNotFoundException: oracle.xml.parser.v2.XMLParseException

    Hi there Masters
    I am new in Java and I would need your help please..
    I am calling a function in Java passing 1 parameter and returning an XML back but at the point of execution I get an error below... At the end I have attached my java code...PLEASE HELP
    Exception in thread "main" java.lang.NoClassDefFoundError: oracle/xml/parser/v2/XMLParseException
         at oracle.xdb.XMLTypeFactory.create(XMLTypeFactory.java:78)
         at oracle.sql.OPAQUE.toClass(OPAQUE.java:328)
         at oracle.sql.OPAQUE.toJdbc(OPAQUE.java:278)
         at oracle.sql.OPAQUE.toJdbc(OPAQUE.java:259)
         at oracle.jdbc.driver.NamedTypeAccessor.getObject(NamedTypeAccessor.java:190)
         at oracle.jdbc.driver.NamedTypeAccessor.getObject(NamedTypeAccessor.java:117)
         at oracle.jdbc.driver.OracleCallableStatement.getObject(OracleCallableStatement.java:1578)
         at oracle.jdbc.driver.OracleCallableStatementWrapper.getObject(OracleCallableStatementWrapper.java:815)
         at hospitaltool.RunAsnIn.runAsnIn(RunAsnIn.java:41)
         at hospitaltool.HospitalTool.main(HospitalTool.java:38)
    Caused by: java.lang.ClassNotFoundException: oracle.xml.parser.v2.XMLParseException
         at java.net.URLClassLoader$1.run(URLClassLoader.java:202)
         at java.security.AccessController.doPrivileged(Native Method)
         at java.net.URLClassLoader.findClass(URLClassLoader.java:190)
         at java.lang.ClassLoader.loadClass(ClassLoader.java:306)
         at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:301)
         at java.lang.ClassLoader.loadClass(ClassLoader.java:247)
         ... 10 more
    =====================JAVA CODE====================================
    package hospitaltool;
    import java.sql.*;
    import oracle.jdbc.*;
    import oracle.xdb.XMLType;
    public class RunAsnIn {
    public void runAsnIn(Connection con, Boolean fam) throws SQLException {
    System.out.println("RunASNIn Section");
    String messStatus;
    int numRecs = 0; //to hold the number of Records processed
    int totRecs = 0; //to hold the number of total records processed
    ResultSet rs = null;
    Statement stmt = null;
    stmt = con.createStatement();
    //Delete all already caused messages
    try {
    rs = stmt.executeQuery("DELETE FROM asnin WHERE message_num IN(SELECT message_num FROM asnin MINUS SELECT message_num FROM hospital WHERE family = 'ASNIn')");
    //Select all the uncaused messages
    rs = stmt.executeQuery("SELECT message_num FROM hospital WHERE family = 'ASNIn' and rownum <= 1 MINUS SELECT message_num FROM asnin");
    //Go thru the uncaused messages
    } catch (Exception e) {
    while (rs.next()) {
    String messageNum = rs.getString(1);
    // System.out.println("tableName=" + messageNum);
    System.out.println(messageNum);
    //Get the XMLDoc
    XMLType xml = null;
    //Get the XML Doc
    CallableStatement cs1 = null;
    //CallableStatement proc = con.prepareCall("? {call rmsauto.hospitaltool.getmessagedoc(?)}");
    try {
    cs1 = con.prepareCall("{? = call rmsauto.hospitaltool.getmessagedoc(?)}");
    cs1.registerOutParameter(1, OracleTypes.OPAQUE, "SYS.XMLTYPE");
    cs1.setString(2, messageNum);
    cs1.execute();
    } catch (Exception e) {
    xml = (XMLType) cs1.getObject(1);
    System.out.println(xml.getStringVal());
    }

    I did google this and found that I needed a specific jar file called xmlparserv2.jar and I did download it and loaded it on as part of my Libraries the I got a new error... I am using NetBeans
    Exception in thread "main" java.lang.NoClassDefFoundError: oracle/xml/binxml/BinXMLMetadataProvider
         at oracle.xdb.XMLTypeFactory.create(XMLTypeFactory.java:78)
         at oracle.sql.OPAQUE.toClass(OPAQUE.java:328)
         at oracle.sql.OPAQUE.toJdbc(OPAQUE.java:278)
         at oracle.sql.OPAQUE.toJdbc(OPAQUE.java:259)
         at oracle.jdbc.driver.NamedTypeAccessor.getObject(NamedTypeAccessor.java:190)
         at oracle.jdbc.driver.NamedTypeAccessor.getObject(NamedTypeAccessor.java:117)
         at oracle.jdbc.driver.OracleCallableStatement.getObject(OracleCallableStatement.java:1578)
         at oracle.jdbc.driver.OracleCallableStatementWrapper.getObject(OracleCallableStatementWrapper.java:815)
         at hospitaltool.RunAsnIn.runAsnIn(RunAsnIn.java:41)
         at hospitaltool.HospitalTool.main(HospitalTool.java:38)
    Caused by: java.lang.ClassNotFoundException: oracle.xml.binxml.BinXMLMetadataProvider
         at java.net.URLClassLoader$1.run(URLClassLoader.java:202)
         at java.security.AccessController.doPrivileged(Native Method)
         at java.net.URLClassLoader.findClass(URLClassLoader.java:190)
         at java.lang.ClassLoader.loadClass(ClassLoader.java:306)
         at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:301)
         at java.lang.ClassLoader.loadClass(ClassLoader.java:247)
         ... 10 more
    Java Result: 1

  • Oracle.xml.sql.OracleXMLSQLException when using OracleXMLQuery getXMLDOM()

    Hi!
    I am trying to reuse a code in JDeveloper to get XML from a query. I have copied the code from a method and created a new method with the copied code and changed it. The problem is that when I run the old code I now get following error:
    Ett oförväntat fel har inträffat: Application: FND, Message Name: FND_GENERIC_MESSAGE.
    Tokens: MESSAGE = oracle.xml.sql.OracleXMLSQLException: Det här objektet har stängts.
    Vill du inte att objektet ska stängas automatiskt mellan anropen kan du granska metoden 'keepObjectOpen()'.;
    This means in english something like:
    An unexpected error accoured: Application: FND, Message Name: FND_GENERIC_MESSAGE = oracle.xml.sql.OracleXMLSQLException: This object is closed. If you don't want the object to close automatically between calls you can check method 'keepObjectOpen()';
    the code I'm running is:
    public String punchoutSomething()
    throws Exception
    StringBuffer sqlForXml =new StringBuffer("select pv.*"
    +", cursor(select * from XXPOS_PUNCHOUT_TABLE2 c where c.vendor_id=pv.vendor_id) as contacts"
    +" from XXPOS_PUNCHOUT_TABLE1 pv where vendor_id in (");
    // add all ids
    SuppSummVOImpl vendorView = getSuppSummVO();
    Row row;
    int punchoutCnt=0;
    // vendorView.reset();
    Row[] selectedRows = vendorView.getFilteredRows("SelectStatus","Y");
    for(int i=0;i<selectedRows.length;i++)
    if(punchoutCnt>0)
    sqlForXml.append(",");
    sqlForXml.append(((Number)selectedRows.getAttribute("VendorId")).toString());
    punchoutCnt++;
    if(punchoutCnt==0)
    sqlForXml.append("-1"); // make sql valid, will not return rows
    sqlForXml.append(")");
    // System.out.println(sqlForXml); // DEBUG
    OADBTransaction tx = (OADBTransaction)getOADBTransaction();
    OracleXMLQuery xq = new OracleXMLQuery( tx.getJdbcConnection()
    , sqlForXml.toString()
    xq.setRaiseException(true); // in case of error raise an exception (default
    // is to generate an error document
    xq.setEncoding("UTF-8"); // not necessary?
    xq.useLowerCaseTagNames();
    xq.setRowsetTag("vendors");
    xq.setRowTag("vendors_row");
    //System.out.println(xq.getXMLString()); // DEBUG
    XMLDocument suppl = (XMLDocument)xq.getXMLDOM();
    XSLProcessor xslt = new XSLProcessor();
    InputStream sheetStream = this.getClass().getResourceAsStream("mystylesheet.xsl");
    if(sheetStream==null)
    throw new Exception("Could not load stylesheet");
    XSLStylesheet sheet = xslt.newXSLStylesheet(
    sheetStream
    StringWriter serialize = new StringWriter();
    xslt.processXSL(sheet,suppl,new PrintWriter(serialize));
    String returnXML = serialize.getBuffer().toString();
    // System.out.println("X:"+returnXML); // DEBUG
    sheetStream.close();
    return returnXML;
    ===================
    i've copied the same code into another method and only changed the sql-statment to be used and the stylesheet to use to transform the xml. Is something wrong with that?
    Another question: if the xsl refers to a xsd but wihtout any path where should it be?
    Thanks for the help,
    Patricia

    Actually, having looked at Metalink, seems that although this message may be accurate and correct,
    it has been 'introduced' as part of the 9i JDBC driver.
    So, I used the 8i JDBC driver I happened to have instead and that worked fine.

  • Nls support with oracle xml parser in java

    I'm using The JAXP interface to manipulate xml with xsl. the implementation that I use is Oracle xml parser.
    My xml contains a lot of hebrew chars, and in the result stream each char translated into 5-6 chars, which makes the result to be 5-6 times bigger than it suppose to be, and harder for me to debug my application.
    The client's browser shows the results well.
    How can I make the transformator to transform the hebrew chars to hebrew char istead of longer and not readable string ?

    Oracle XML Team wrote:
    : Stephen Flinter (guest) wrote:
    : : Environment: WinNT 4.0/SP4, Apache 1.3.6, JServ 1.0, Oracle
    : 8.1.5
    : : I have downloaded the new Java v2 XML Parser (2.0.2), and
    have
    : : replaced the wrapper.classpath entry in my jserv.properties
    : file
    : : with the path to the new parser.
    : : When I rerun the "Employee Page" demo, I get the following
    : : exception message:
    : : [15/09/1999 11:02:22:974 GMT] java.lang.NoSuchMethodError:
    : : oracle.xml.parser.v2.XSLProcessor: method
    : : processXSL
    : (Loracle/xml/parser/v2/XSLStylesheet;Loracle/xml/parser
    : : /v2/XMLDocument;)Lorg/w3c/dom/DocumentFragment; not found
    : : at oracle.xml.xsql.XSLHelper.process(XSLHelper.java:34)
    : : at oracle.xml.xsql.XSQLServlet.doGet(XSQLServlet.java,
    : : Compiled Code)
    : : at
    : : javax.servlet.http.HttpServlet.service(HttpServlet.java:499)
    : : at
    : : javax.servlet.http.HttpServlet.service(HttpServlet.java:588)
    : : at
    : : org.apache.jserv.JServConnection.processRequest
    : (JServConnection.j
    : : ava)
    : : at
    : : org.apache.jserv.JServConnection.run(JServConnection.java)
    : : at java.lang.Thread.run(Thread.java:479)
    : : This demo was works fine with the parser shipped with the
    : : xsql_servlet download.
    : : Regards,
    : : Steve
    : Version 2.0.2 uses the August XSLT WD which is incompatible
    with
    : the April WD on which our previous releases including the demos
    : were based.
    : Oracle XML Team
    : http://technet.oracle.com
    : Oracle Technology Network
    Hi,
    Can someone from the Oracle XML Team point us to a fix so we can
    continue our testing???
    Steve...
    null

  • Fatal Error and NullPointerException in Oracle XML Transformer

    Hi,
    I'm building a dom tree in memory with oracle xml parser. Then I transform the dom document into a string to send xml to the client. But I get an fatal error on calling transform.
    I don't know what could be the problem, because apache and weblogic parser works, an when I create a dom document with org.w3c.dom elements and statements then the xml document can't be invalid,
    because the document implementation would throw an exception if wrong nodes or something like this should be inserted...
    I'm using oracle xml parser 9.2.0.4 for java, bea weblogic 7.0 and win2k.
    Thanks for help.
    XSL-1900: (Fatal Error) An internal error condition occurred.
    javax.xml.transform.TransformerException: XSL-1900: (Fatal Error) An internal error condition occurred.
    at oracle.xml.jaxp.JXTransformer.reportException(JXTransformer.java:681)
    at oracle.xml.jaxp.JXTransformer.transform(JXTransformer.java:309)
    java.lang.NullPointerException
    at oracle.xml.parser.v2.XSLSAXPrintDriver.printAttributes(XSLSAXPrintDriver.java:394)
    at oracle.xml.parser.v2.XSLSAXPrintDriver.startElement(XSLSAXPrintDriver.java:322)
    at oracle.xml.parser.v2.XMLElement.reportSAXEvents(XMLElement.java:993)
    at oracle.xml.parser.v2.XMLNode.reportChildSAXEvents(XMLNode.java:1014)
    at oracle.xml.parser.v2.XMLDocument.reportSAXEvents(XMLDocument.java:942)
    at oracle.xml.jaxp.JXTransformer.transform(JXTransformer.java:294)

    Hi,
    I'm having that problem to:
    I'm getting the following exception
    javax.xml.transform.TransformerException: XSL-1900: (Fatal Error) An internal error condition occurred.
         at oracle.xml.jaxp.JXTransformer.reportException(JXTransformer.java:723)
         at oracle.xml.jaxp.JXTransformer.transform(JXTransformer.java:340)
         at com.ac.mqif.control.Handler.handleLong(Handler.java:835)
         at com.ac.mqif.control.Handler.run(Handler.java:951)
    Caused by: java.lang.NullPointerException
         at oracle.xml.parser.v2.XPathStep.getSelectedNodes(XPathStep.java:380)
         at oracle.xml.parser.v2.PathExpr.getValue(XSLNodeSetExpr.java:483)
         at oracle.xml.parser.v2.XSLExprBase.getStringValue(XSLExprBase.java:363)
         at oracle.xml.parser.v2.XSLValueOf.processAction(XSLValueOf.java:99)
         at oracle.xml.parser.v2.XSLNode.processChildren(XSLNode.java:367)
         at oracle.xml.parser.v2.XSLTemplate.processAction(XSLTemplate.java:199)
         at oracle.xml.parser.v2.XSLApplyTemplates.processAction(XSLApplyTemplates.java:214)
         at oracle.xml.parser.v2.XSLApplyTemplates.processAction(XSLApplyTemplates.java:207)
         at oracle.xml.parser.v2.XSLApplyTemplates.processAction(XSLApplyTemplates.java:207)
         at oracle.xml.parser.v2.XSLApplyTemplates.processAction(XSLApplyTemplates.java:120)
         at oracle.xml.parser.v2.XSLNode.processChildren(XSLNode.java:367)
         at oracle.xml.parser.v2.XSLTemplate.processAction(XSLTemplate.java:199)
         at oracle.xml.parser.v2.XSLStylesheet.execute(XSLStylesheet.java:471)
         at oracle.xml.parser.v2.XSLStylesheet.execute(XSLStylesheet.java:448)
         at oracle.xml.parser.v2.XSLProcessor.processXSL(XSLProcessor.java:246)
         at oracle.xml.jaxp.JXTransformer.transform(JXTransformer.java:327)
         ... 2 more
    when using a stylesheet which has a template match condition of more than 1600 characters.
    The second thing is that the Oracle XML transformer is
    NOT threadsafe. I was using several threads using different templates to transform an incoming XML simultaneously but was ALWAYS getting internal XSL errors
    and Nullpointer Exceptions. I solved this by synchronizing the transformation, but I don't like it.
    I'm using the following versions on Windows XP:
    Oracle IDE: 9.0.3.10.35
    Business Components Version: 9.0.3.10.7
    SCM Support Version: 9.0.3.9.4
    Java(TM) 2 Runtime Environment, Standard Edition (build 1.4.2-b28)
    Thanx,
    Ellcrys

  • Oracle.xml.parse.v2.XMLParserException: Whitespace Exception

    Can any body help to sort out this problem, When I am trying to transform an XML to another XML using XSLT I am getting the following exception oracle.xml.parser.v2.XMLParserException: Whitespace Exception. My piece of codes are as below .
    XSLT:
    <?xml version="1.0"?>
    <xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:quipmentGenerator="http://www.oracle.com/XSL/Transform/java/EquipmentGenerator xmlns:TypeGenerator="http://www.oracle.com/XSL/Transform/java/TypeGenerator xmlns:ShelfGenerator="http://www.oracle.com/XSL/Transform/java/ShelfGenerator">
    </xsl:stylesheet>
    JAVA :
    import java.io.*;
    import java.net.URL;
    import java.net.MalformedURLException;
    import oracle.xml.parser.v2.*;
    public class Transformer
    public static void main(String args[]) throws Exception{
    String fileName = "abc.xsl", XMLStr = "C:\\dev\\task2\\abc.xml";
    XSLProcessor processor = new XSLProcessor();
    // you can also use a standard HTTP URL instead of
    // the file protocol shown below
    // URL xslURL = new URL(fileName);
    // instantiate a stylesheet
    InputStream xslInput = new FileInputStream(fileName);
    XSLStylesheet stylesheet = processor.newXSLStylesheet(xslInput);
         DOMParser parser = new DOMParser();
         URL xslURL = new URL("file://" + XMLStr);
         parser.setPreserveWhitespace(true);
    parser.parse(xslURL);
    // Preparing the XML document
    XMLDocument xml = parser.getDocument();
    XMLDocumentFragment result;
    result = processor.processXSL(stylesheet, xml);
         // create an output document to hold the result
    XMLDocument out = new XMLDocument();
         // create a dummy document element for the
              // output document
         out.appendChild(result);
         ByteArrayOutputStream outStream =      new ByteArrayOutputStream( );
         out.print(outStream);
         String transformedXML = outStream.toString();
         System.out.println(transformedXML);
    }     

    Remove any blank spaces or empty lines before the XML declaration.

  • Some RTF commands not working in Oracle XML Publisher Desktop 5.6.3

    Hello,
    I am using Oracle XML Publisher Desktop 5.6.3 (Patch 5887917) and seems like some of the RTF command are not working. I am following Tim Dexter's blog (http://blogs.oracle.com/xmlpublisher/2007/10/here_are_my_terms_conditions.html ) and could not make the "new" commands from his blog, work in my template.
    <?section:force-page-count;'end-on-even-layout'?> -- even with this on the template, I'm still getting output with odd total numpages
    <?section:xdofo:blank-on;'even-skip-page-count'?> -- cannot suppress the NUMPAGES value of MS Word
    Do I need to apply additional patch(es) on top of Patch 5887917 for the MS Word add-on? Could you please tell me what am I missing?
    Thanks.

    Hello,
    I am trying to install the latest version but getting the error below when performing Preview.
    ConfFile: C:\Program Files\Oracle\BI Publisher\BI Publisher Desktop\Template Builder for Word\config\xdo.cfg
    Font Dir: C:\Program Files\Oracle\BI Publisher\BI Publisher Desktop\Template Builder for Word\fonts
    Run XDO Start
    Template: C:\Documents and Settings\rmembrere\My Documents\MyDelorme\XML Publisher Project\CONVERSIONS\templates\DEL_POs\DEL\PO_TEST_AGAIN.rtf
    RTFProcessor setLocale: en-us
    RTFProcessor setConfig: C:\Program Files\Oracle\BI Publisher\BI Publisher Desktop\Template Builder for Word\config\xdo.cfg
    FOProcessor setData: C:\Documents and Settings\rmembrere\My Documents\MyDelorme\XML Publisher Project\CONVERSIONS\templates\DEL_POs\DEL\PO_Sample_2020870.xml
    FOProcessor setLocale: en-us
    FOProcessor setConfig: C:\Program Files\Oracle\BI Publisher\BI Publisher Desktop\Template Builder for Word\config\xdo.cfg
    java.lang.reflect.InvocationTargetException
         at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
         at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
         at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
         at java.lang.reflect.Method.invoke(Unknown Source)
         at oracle.apps.xdo.common.xml.XSLT10gR1.invokeProcessXSL(Unknown Source)
         at oracle.apps.xdo.common.xml.XSLT10gR1.transform(Unknown Source)
         at oracle.apps.xdo.common.xml.XSLT10gR1.transform(Unknown Source)
         at oracle.apps.xdo.common.xml.XSLTWrapper.transform(Unknown Source)
         at oracle.apps.xdo.template.fo.util.FOUtility.generateFO(Unknown Source)
         at oracle.apps.xdo.template.fo.util.FOUtility.generateFO(Unknown Source)
         at oracle.apps.xdo.template.FOProcessor.createFO(Unknown Source)
         at oracle.apps.xdo.template.FOProcessor.generate(Unknown Source)
         at RTF2PDF.runRTFto(RTF2PDF.java:629)
         at RTF2PDF.runXDO(RTF2PDF.java:439)
         at RTF2PDF.main(RTF2PDF.java:289)
    Caused by: oracle.xdo.parser.v2.XPathException: Variable not defined: '_XDONFSEPARATORS'.
         at oracle.xdo.parser.v2.XSLStylesheet.flushErrors(XSLStylesheet.java:1534)
         at oracle.xdo.parser.v2.XSLStylesheet.execute(XSLStylesheet.java:521)
         at oracle.xdo.parser.v2.XSLStylesheet.execute(XSLStylesheet.java:489)
         at oracle.xdo.parser.v2.XSLProcessor.processXSL(XSLProcessor.java:271)
         at oracle.xdo.parser.v2.XSLProcessor.processXSL(XSLProcessor.java:155)
         at oracle.xdo.parser.v2.XSLProcessor.processXSL(XSLProcessor.java:192)
         ... 15 more
    Anybody who has used the commands (page suppression) provided by Tim in his blog? May I know from what version you have done it? The blog was posted back in 2007.
    Thanks!

  • Oracle.xml.sql.OracleXMLSQLException: Character ')' is not allowed in an XM

    I need to use query-database functionality in transform activity to make a stored function call. My sql query parameter should be
    Select CDMB_BPEL_UTILS_PKG.get_coa(null) from dual
    Corresponding XML is
    ?>
    <xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:ns0="http://www.example.org" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:ldap="http://schemas.oracle.com/xpath/extension/ldap" xmlns:xp20="http://www.oracle.com/XSL/Transform/java/oracle.tip.pc.services.functions.Xpath20" xmlns:bpws="http://schemas.xmlsoap.org/ws/2003/03/business-process/" xmlns:ora="http://schemas.oracle.com/xpath/extension" xmlns:orcl="http://www.oracle.com/XSL/Transform/java/oracle.tip.pc.services.functions.ExtFunc" exclude-result-prefixes="xsl ns0 xsd ldap xp20 bpws ora orcl">
    <xsl:template match="/">
    <ns0:OracleRoot>
    <ns0:OracleMappedOut>
    <ns0:ExpType>
    <xsl:value-of select="orcl:query-database('select cdmb_bpel_utils_pkg.get_coa(null) from dual',false(),false(),'eis/JNDI/GDB2')"/>
    </ns0:ExpType>
    </ns0:OracleMappedOut>
    =========But I get the following error when testing the same===========
    oracle.xml.sql.OracleXMLSQLException: Character ')' is not allowed in an XML tag name
    ========================================================
    I guess I need to use escape characters to pass ( . I tried using &quot; and &apos; but in vain. Any help is appreciated to resolve this issue.

    Siva,
    version: 10.1.3.4
    Your inputs may be of high use for me as well.
    I have similar requirement. I have to execute the following sql query
    select sum(salary) from emp. When I run this query using ora:orcl:query-database, I got the same exception what you have got. So do you mean if i use an alias for this, it would solve my pbm?
    select sum(salary) sal from emp+
    rgds,
    sen

  • Building Oracle XML Application Book....

    Has anyone purchased the 'Building Oracle XML Applications' book and do they have any opinions on it? Useful?

    It it currently orderable, and is planned to ship by September 31st/October 1st, just in time for the Oracle OpenWorld conference.
    The full table of contents (which eventually should be put also up on the O'Reilly Site) is:
    Preface
    Audience for This Book
    Which Platform and Version?
    Structure of This Book
    Chapter Summaries
    About the Examples
    About the CD-ROM
    Conventions Used in this Book
    Comments and Questions
    Acknowledgements
    Part 1: XML Basics
    Chapter 1: Introduction to XML
    What Is XML?
    What Can I Do With XML?
    Why Should I Use It?
    What XML Technology Does Oracle Provide?
    Chapter 2: Working with XML
    Creating and Validating XML
    Modularizing XML
    Searching XML with XPath
    Part 2: Oracle XML Fundamentals
    Chapter 3: Combining XML and Oracle
    Hosting the XML FAQ System on Oracle
    Serving XML in Any Format
    Acquiring Web-Based XML Content
    Chapter 4: Using JDeveloper for XML Development
    Working with XML, XSQL, and JSP Files
    Working with Database Objects
    Using JDeveloper with Oracle XDK Components
    Chapter 5: Processing XML with PL/SQL
    Loading External XML Files
    Parsing XML
    Searching XML Documents with XPath
    Working with XML Messages
    Producing and Transforming XML Query Results
    Chapter 6: Processing XML with Java
    Introduction to Oracle8i JServer
    Parsing and Programmatically Constructing XML
    Searching XML Documents in Memory Using XPath
    Working with XML Messages
    Producing and Transforming XML Query Results
    Chapter 7: Transforming XML with XSLT
    XSLT Processing Mechanics
    Single-Template Stylesheets
    Understanding Input and Output Options
    Improving Flexibility with Multiple Templates
    Chapter 8: Publishing Data with XSQL Pages
    Introduction to XSQL Pages
    Transforming XSQL Page Results with XSLT
    Troubleshooting Your XSQL Pages
    Chapter 9: XSLT Beyond the Basics
    Using XSLT Variables
    The Talented Identity Transformation
    Grouping Repeating Data Using SQL
    Sorting and Grouping Repeating Data with XSLT
    Chapter 10: Generating Datagrams with PL/SQL
    Programmatically Generating XML Using PL/SQL
    Automatic XML Generation with DBXML
    Chapter 11: Generating Datagrams With Java
    Generating XML Using Java
    Serving XML Datagrams Over the Web
    Automatic XML from SQL Queries
    Chapter 12: Storing XML Datagrams
    Overview of XML Storage Approaches
    Loading Datagrams with the XML SQL Utility
    Storing Posted XML Using XSQL Servlet
    Inserting Datagrams Using Java
    Chapter 13: Searching XML with interMedia
    Why Use interMedia Text?
    What is interMedia Text?
    The interMedia Text Query Language
    Handling Heterogeneous Doctypes
    Handling Doctype Evolution
    Advanced interMedia Text
    Chapter 14: Advanced XML Loading Techniques
    Storing Datagrams in Multiple Tables
    Building an XMLLoader Utility
    Creating Insert Transformations Automatically
    Part 3: Oracle XML Applications
    Chapter 15: Using XSQL as a Publishing Framework
    Overview of All XSQL Pages Facilities
    Additional XML Delivery Options
    Chapter 16: Extending XSQL and XSLT with Java
    Developing Custom XSQL Actions
    Integrating Custom XML Sources
    XSLT Extension Functions
    Chapter 17: XSLT-Powered Portals and Applications
    XSLT-Powered Web Store
    Personalized News Portal
    Online Discussion Forum
    Part 4: Appendices
    Appendix 1: XML Helper Packages
    Installing the XML Helper Packages
    Source Code for the XML Helper Packages
    Appendix 2: Installing Oracle XSQL Servlet
    Installing
    Appendix 3: Conceptual Map to XML Family
    Appendix 4: Quick References

  • Does Oracle XML Parser support double byte charset?

    Hi,
    Does Oracle XML Parser support double byte characters such as Korean or Chinese? If so, please tell me what version and how to construct xml/xsl files (...encoding="???")?
    Thanks for any help,
    Tuan

    Hi Raymond,
    Thank you for your help. It worked when I running in JDeveloper with your posted code. However, when I tried in my real application, it won't work.
    The problem is for localization purposes, my application using some texts display in browsers are saved in Unicode file. Later, application runs and depends on languages setting in browsers, with JavaServlet retrieves those texts and saves in formated xml StringBuffer. Then, using existed XSL Stylesheet file and OracleXMLParser to generate an output HTML.
    It has worked fine with English, France or others (single byte characters), but it can't
    for double bytes character such as Korean or Chinese. I also tried different charset in xml file.
    The following is one of returning errors:
    -- oracle.xml.parser.v2.XSLException: XSL-1004: Error while parsing input XML document (<Line 1, Column 552>: XML-0221: (Fatal Error) Invalid char in text.)
    I run this app in win2000/IIS with ServletExec3.0, JDK1.2.2 and OracleXMLParser v2.0.2.10
    Thank you for any helps,
    Tuan
    <BLOCKQUOTE><font size="1" face="Verdana, Arial">quote:</font><HR>Originally posted by Raymond Hayes Jr ([email protected]):
    Nothing fancy 'cause I'm half asleep but I used your xml/xsl and it seemed to work. No errors anyway. This is what I put together in JDeveloper 3.2
    package demo;
    import javax.servlet.*;
    import javax.servlet.http.*;
    import java.io.*;
    import java.net.*;
    import java.util.*;
    import oracle.xml.parser.v2.*;
    public class CuriosityKilledTheCat extends HttpServlet {
    * Initialize global variables
    public void init(ServletConfig config) throws ServletException {
    super.init(config);
    * Service the request
    public void service(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
    try
    XSLStylesheet xsl = new XSLStylesheet( new URL ("file:///c:\\temp\\input.xsl") , null );
    XSLProcessor xp = new XSLProcessor();
    XMLDocument xd = new XMLDocument ();
    XMLDocumentFragment xf = new XMLDocumentFragment();
    xf = xp.processXSL ( xsl , new URL ( "file:///c:\\temp\\input.xml") , null );
    System.out.println ( "here" );
    xd.appendChild( xf );
    xd.print ( response.getOutputStream() );
    catch ( Exception e )
    System.out.println ( e.getMessage() );
    * Get Servlet information
    * @return java.lang.String
    public String getServletInfo() {
    return "demo.CuriosityKilledTheCat Information";
    }<HR></BLOCKQUOTE>
    null

  • Weaknesses I've come across in the Oracle XML/XSL implementation

    Weaknesses I've come across in the Oracle XML/XSL implementation
    NOTE: I think Oracle is a fantastic database and the XML implementation is lovely to use - also I know these are not limited to XE and also that some are fixed in 11g enterprise however I'm not sure if all are so I am posting here in the hope that Oracle will include fixes for all if any have been missed
    1. getclobval() returns a spurious carriage return on end of the value returned
    2. extract does not handle mixed content tags well (for example it simply discards tags that only have whitespace between them
    3. XSL: using a xsl:number level="multiple" with anything beyond a simple count= xpath value crashes the database completely
    4. XSL: insists on pretty printing output XML which is extremely odd behaviour and causes problems when dealing with mixed content

    Another weakness I've seen is with the appendchildxml function and mixed content xml - it appears to likewise pretty print XML causing the injection of carriage returns and whitespace into mixed content nodes

Maybe you are looking for