Xml processing.....to get an arry of objects  of same named tags..

Hello,
i have the folowing xml data..
<?xml version="1.0" encoding="UTF-8"?>
<modules>
<moule_1>
<m1_1>
<leaf attr1="" attar2="" />
<leaf attr1="" attar2="" />
<leaf attr1="" attar2="" />
</m1_1>
<m1_2>
<leaf attr1="" attar2="" />
<leaf attr1="" attar2="" />
<leaf attr1="" attar2="" />
</m1_2>
<m1_3>
<leaf attr1="" attar2="" />
<leaf attr1="" attar2="" />
<leaf attr1="" attar2="" />
</m1_3>
</moule_1>
<module_2>
<m2_1>
<leaf attr1="" attar2="" />
<leaf attr1="" attar2="" />
<leaf attr1="" attar2="" />
</m2_1>
<m2_2>
<leaf attr1="" attar2="" />
<leaf attr1="" attar2="" />
<leaf attr1="" attar2="" />
</m2_2>
<m2_3>
<leaf attr1="" attar2="" />
<leaf attr1="" attar2="" />
<leaf attr1="" attar2="" />
</m2_3>
</module_2>
<module_3>
<m3_1>
<leaf attr1="" attar2="" />
<leaf attr1="" attar2="" />
<leaf attr1="" attar2="" />
</m3_1>
<m3_2>
<leaf attr1="" attar2="" />
<leaf attr1="" attar2="" />
<leaf attr1="" attar2="" />
</m3_2>
<m3_3>
<leaf attr1="" attar2="" />
<leaf attr1="" attar2="" />
<leaf attr1="" attar2="" />
</m3_3>
</module_3>
</modules>
.above data is sample one i dont know how many modules are in
xml document...
now i need an array of all leaf objects.....
is there any xml processing methods ?? like
getElementByTagName()
please help me!!!

Hello,
i have the folowing xml data..
<?xml version="1.0" encoding="UTF-8"?>
<modules>
<moule_1>
<m1_1>
<leaf attr1="" attar2="" />
<leaf attr1="" attar2="" />
<leaf attr1="" attar2="" />
</m1_1>
<m1_2>
<leaf attr1="" attar2="" />
<leaf attr1="" attar2="" />
<leaf attr1="" attar2="" />
</m1_2>
<m1_3>
<leaf attr1="" attar2="" />
<leaf attr1="" attar2="" />
<leaf attr1="" attar2="" />
</m1_3>
</moule_1>
<module_2>
<m2_1>
<leaf attr1="" attar2="" />
<leaf attr1="" attar2="" />
<leaf attr1="" attar2="" />
</m2_1>
<m2_2>
<leaf attr1="" attar2="" />
<leaf attr1="" attar2="" />
<leaf attr1="" attar2="" />
</m2_2>
<m2_3>
<leaf attr1="" attar2="" />
<leaf attr1="" attar2="" />
<leaf attr1="" attar2="" />
</m2_3>
</module_2>
<module_3>
<m3_1>
<leaf attr1="" attar2="" />
<leaf attr1="" attar2="" />
<leaf attr1="" attar2="" />
</m3_1>
<m3_2>
<leaf attr1="" attar2="" />
<leaf attr1="" attar2="" />
<leaf attr1="" attar2="" />
</m3_2>
<m3_3>
<leaf attr1="" attar2="" />
<leaf attr1="" attar2="" />
<leaf attr1="" attar2="" />
</m3_3>
</module_3>
</modules>
.above data is sample one i dont know how many modules are in
xml document...
now i need an array of all leaf objects.....
is there any xml processing methods ?? like
getElementByTagName()
please help me!!!

Similar Messages

  • How do I get to the request object in a webflow.

    How do I get to the request object in a webflow.
    I created a input process and one function it needs to do is create a cookie.
    Problem is I don't have a response object.
    How do I create/get the response object so I can create a cookie.
    Thanks
    Michael C Ford
    ------------------ Code Line ------------------------------------
    public Object process(HttpServletRequest req, Object requestContext)
    throws ProcessingException
    // get the pipeline and namespace info for the process
    PipelineSession pSession = null;
    String namespace = null;
    String username = req.getRemoteUser();
    pSession = getPipelineSession(req);
    namespace = getCurrentNamespace(pSession);
    /* ***** DO THE INITIAL CREATE OF THE BEAN *** */
         try {
              Properties props = new Properties();
              props.put(
                   Context.INITIAL_CONTEXT_FACTORY,
                   "weblogic.jndi.WLInitialContextFactory");
              Context ctx = new InitialContext(props);
              Object homeObject = ctx.lookup("com.??.??PortalMgr");
              SeechangePortalMgrHome seechangePortalMgrHome =
              (SeechangePortalMgrHome) javax.rmi.PortableRemoteObject.narrow(
                                                      homeObject,
                                                      SeechangePortalMgrHome.class);
              SeechangePortalMgr portalMgr = seechangePortalMgrHome.create();
    /* Set the initail user */
    portalMgr.setUser(username);          
              UserRuntime userRuntime = (UserRuntime)portalMgr.getRuntimeObject();
              System.out.print("Run Time User is " + userRuntime.getUserName());
              System.out.print("Run Time User is " + userRuntime.getOrgSeq());
    // ** cookies for Actuate XXX=(customer sequence ID), YYY=ZZZ is a dummy per
    their requirement
              Cookie cCustSeqNumber = new Cookie("XXX",userRuntime.getOrgSeq());
              Cookie cPassword = new Cookie("YYY","ZZZ");
              cCustSeqNumber.setPath("/");
              cPassword.setPath("/");
              ??response.addCookie(cCustSeqNumber);
              ??response.addCookie(cPassword);          
         } catch (Exception ee) {
              System.out.print("Unable to create Portal Manager" + ee);
    // at this point we add the logic to produce the bean
    return "success";

    Thanks
    Just what I needed, except I needed to caste response.
    Michael C
    "Daniel Selman" <[email protected]> wrote:
    Michael,
    // get the HttpServletResponse from the HttpServletRequest
    HttpServletResponse response =
    equest.getAttribute( WebflowConstants.HTTP_SERVLET_RESPONSE );
    Cookie cPassword = new Cookie("YYY","ZZZ");
    cCustSeqNumber.setPath("/");
    cPassword.setPath("/");
    response.addCookie(cCustSeqNumber);
    response.addCookie(cPassword);
    You HAVE the HttpServletRequest...
    public Object process(HttpServletRequest req, ObjectrequestContext)
    throws ProcessingExceptionMake sense?
    Dan
    "michael C Ford" <[email protected]> wrote in message
    news:[email protected]...
    How can I get to the response this way ?
    this just stored the response as an attribute did it now ?
    If I don't have it, how can I use it in a setAttribute ?
    Sorry just a little slow
    I can't do this can I ?
    request.setAttribute(WebflowConstants.HTTP_SERVLET_RESPONSE,response);
    Cookie cPassword = new Cookie("YYY","ZZZ");
    cCustSeqNumber.setPath("/");
    cPassword.setPath("/");
    response.addCookie(cCustSeqNumber);
    response.addCookie(cPassword);
    "Daniel Selman" <[email protected]> wrote:
    Michael,
    I found this handy snippet in our code:
    // Put the httpServletResponse into the request, this is done
    in
    case IPs want to
    // use the response to deposit cookies. The IPs maynot howeverwrite
    // anything to the response as this will cause an
    IllegalStateException
    request.setAttribute(WebflowConstants.HTTP_SERVLET_RESPONSE,
    response);
    So, the HttpServletResponse is bound into the HttpServletRequest usingthe
    key, WebflowConstants.HTTP_SERVLET_RESPONSE.
    Magic!
    Sincerely,
    Daniel Selman
    "michael C Ford" <[email protected]> wrote in message
    news:[email protected]...
    How do I get to the request object in a webflow.
    I created a input process and one function it needs to do is create
    a
    cookie.
    Problem is I don't have a response object.
    How do I create/get the response object so I can create a cookie.
    Thanks
    Michael C Ford
    ------------------ Code Line ------------------------------------
    public Object process(HttpServletRequest req, Object
    requestContext)
    throws ProcessingException
    // get the pipeline and namespace info for the process
    PipelineSession pSession = null;
    String namespace = null;
    String username = req.getRemoteUser();
    pSession = getPipelineSession(req);
    namespace = getCurrentNamespace(pSession);
    /* ***** DO THE INITIAL CREATE OF THE BEAN *** */
    try {
    Properties props = new Properties();
    props.put(
    Context.INITIAL_CONTEXT_FACTORY,
    "weblogic.jndi.WLInitialContextFactory");
    Context ctx = new InitialContext(props);
    Object homeObject = ctx.lookup("com.??.??PortalMgr");
    SeechangePortalMgrHome seechangePortalMgrHome =
    (SeechangePortalMgrHome) javax.rmi.PortableRemoteObject.narrow(
    homeObject,
    SeechangePortalMgrHome.class);
    SeechangePortalMgr portalMgr = seechangePortalMgrHome.create();
    /* Set the initail user */
    portalMgr.setUser(username);
    UserRuntime userRuntime = (UserRuntime)portalMgr.getRuntimeObject();
    System.out.print("Run Time User is " + userRuntime.getUserName());
    System.out.print("Run Time User is " + userRuntime.getOrgSeq());
    // ** cookies for Actuate XXX=(customer sequence ID), YYY=ZZZ isa
    dummy per
    their requirement
    Cookie cCustSeqNumber = new
    Cookie("XXX",userRuntime.getOrgSeq());
    Cookie cPassword = new Cookie("YYY","ZZZ");
    cCustSeqNumber.setPath("/");
    cPassword.setPath("/");
    ??response.addCookie(cCustSeqNumber);
    ??response.addCookie(cPassword);
    } catch (Exception ee) {
    System.out.print("Unable to create Portal Manager" + ee);
    // at this point we add the logic to produce the bean
    return "success";

  • Java enhancement in XSLT mapping in PI 7.1 and JDK5 XML processing

    Hi,
    I am implementing an XSLT mapping and I need to use java enhancements. I got those working but only if I check "Use SAP XML Toolkit" from Operation Mapping. I would like to use JDK5 XML processing.
    I also got this message to trace:
    Resource not found: META-INF/services/javax.xml.parsers.SAXParserFactory
    Thrown:
    com.sap.aii.ib.server.mapping.execution.MappingClassNotFoundException: META-INF/services/javax.xml.parsers.saxparserfactory
    I tried to use com.sun.org.apache.xerces.internal.jaxp.SAXParserFactoryImpl but still couldn't get java enhancement working.
    Is there a way to get JDK5 XML processing working with java enhancements?

    > Is there a way to get JDK5 XML processing working with java enhancements?
    No. Java processing inside XSLT is no standard. So it works only with SAP lib.
    Regards
    Stefan

  • [CS3, JS] XML Rules: Get geoBounds of img Element in Same Branch

    Hi,
    given the following xml structure:
    <root>
    <entry>
         <img href=""></img>
         <title></title >
         <subtitle></subtitle>
    </entry>
    <entry>
         <img href=""></img>
         <annotation></annotation>
         <title></title >
         <subtitle></subtitle>
    </entry>
    </root>
    If an annotation tag exists inside an entry, it is transferred into an inlineFrame. The position of this inlineFrame depends on the geometricBounds of the image of this entry. To get the geometricBounds of the img, I tried to climb up the tree (from <annotation> to <entry>) and walk down again (inside the same branch) into the <img>.
    Now my question: Is there another (easier) way to get the right xmlElement (<img> inside same <entry> as <annotation>) as with my »for if construction« in the following sample code?
    this.xpath = "/root/entry/annotation";
    this.apply = function(myElement, myRuleProcessor){
    with(myElement){
         var the_anchored_frame = placeIntoInlineFrame([20,7.5]);
         var frameBounds = the_anchored_frame.geometricBounds;
         var theParentElements = myElement.parent.xmlElements;
         for (i=0; i < theParentElements.length; i++) {
              if ( theParentElements[i].markupTag.name == "img" ) {
                   var theIMGBounds = theParentElements[i].xmlContent.geometricBounds;
                   break;
    Thanks
    Tobias

    I'm a beginner with XML Rules and scripting, but for what it's worth I would go about it by defining a "global" variable. (In case I'm using the wrong terminology, I mean a variable for the entire script rather than one that is limited to a particular function).
    For example, before any functions are called, you might add:
    var myImageBounds = new Array;
    var myRuleSet = new Array (new ProcessEntry,
    new ProcessTitle,
    new ProcessImg,
    new ProcessAnnotation,
    new ProcessSubtitle);
    with(myDocument){
    var elements = xmlElements;
    __processRuleSet(elements.item(0), myRuleSet);
    ...then inside the <img>-processing function get the required info, possibly something like this (using Olav Kvern's very helpful "myGetBounds" function from the standard sample scripts):
    function ProcessImg(){
    this.name = "ProcessImg";
    this.xpath = "/root/entry/img";
    this.apply = function(myElement, myRuleProcessor){
    with(myElement){
    var myBounds = myGetBounds(myDocument, myDocument.pages.item(-1));
    myBounds = [myBounds[0]+100, myBounds[1]+100, myBounds[2], myBounds[3]];
    var myRectangle = placeIntoFrame(myPage, myBounds);
    myRectangle.fit(FitOptions.frameToContent);
    myImageBounds = myRectangle.geometricBounds;
    return true;
    ...then inside the <annotation>-processing function use the info you just got:
    function ProcessAnnotation(){
    this.name = "ProcessAnnotation";
    this.xpath = "/root/entry/annotation";
    this.apply = function(myElement, myRuleProcessor){
    with(myElement){
    var the_anchored_frame = placeIntoInlineFrame([20,7.5]);
    the_anchored_frame.geometricBounds = myImageBounds;
    return true;
    That's how I would avoid climbing up and down trees, anyway. But I'm a beginner really, so I may have misunderstood your question.
    Jeremy

  • Slow processing and getting opening errors/warnings

    I've modified the PDF Binder sample to get a plugin that would open PDF's and Tif files, and save them as PDF/A-1b (code below).
    It's working. The problem: it's processing too slow (compared with the Actions batch processing)... and I've been getting warnings/and errors about "The imput file is corrupt or of an unknown/unsupported type" type. This is stopping my batch process until I click OK, and the it continues.
    I am trying to process a few thousand of tif files now. I tried first to use the Batch processing capability built in the Acrobat X... an it works, but only with the first 255 documents in the folder... then gives an "insufficient disk space" message for the rest of the files in the directory.
    So, 2 questions: Does anyone knows why it is so slow processing the tiff files and... how I can make my code "silent" so it does not wait for the OK after the message??
    Thanks in advance.
    The code:
    ADOBE SYSTEMS INCORPORATED
    Copyright (C) 1998-2006 Adobe Systems Incorporated
    All rights reserved.
    NOTICE: Adobe permits you to use, modify, and distribute this file
    in accordance with the terms of the Adobe license agreement
    accompanying it. If you have received this file from a source other
    than Adobe, then your use, modification, or distribution of it
    requires the prior written permission of Adobe.
      \file PDFBinder.cpp
    - Implements a method to convert multiple files into PDFs and bind the PDFs
    into one PDF file. The code shows how to use AVConversionToPDFHandler to
    convert files to PDF and how to use PDDocInsertPages() to combind PDF files.
    // Headers.
    #include <stdio.h>
    #include <ctype.h>
    #ifndef MAC_PLATFORM
    #include <direct.h>
    #include "PIHeaders.h"
    #endif
    // Defines ----------
    // Define this flag to show AVConversionToPDFEnumHandler info. in log file.
    #define SHOW_TOPDF_HANDLER_TYPES   
    // define this flag to use file type filter 
    #define USE_FILE_FILTER   
        Constants/Declarations
    // Message display control.  Ture: display
    ASBool bEcho = true;
    // File location. User can change the following filenames.
    #if WIN_PLATFORM
        const char* STRING_PDFBinderFolder = "C:\\Fairfax\\Adobe\\in";
        const char* STRING_PDFOutputFolder = "C:\\Fairfax\\Adobe\\PDFA";
        const char* FOLDERSYMBOL="\\";
    #endif
    #if MAC_PLATFORM
        const char* STRING_PDFBinderFolder = "/PDFBinder";
        const char* FOLDERSYMBOL="/";
    #endif
    char* OutputPdfFileName = "PDFBinderOutput.pdf";
    char* LogFileName = "PDFProcessLog.txt";
    static ASInt32 gNumToPDFExt;
    static ASInt32 gNumFromPDFExt;
    static AVConversionFromPDFHandler RightHandler;
    const int MAX_FILENAME_LENGTH = 256;
    char sLogFileName[MAX_FILENAME_LENGTH];
    // Filter -----------
    // Filter is a list of file types which can be converted to PDF in this program.
    // Use a filter may fit user's specific needs and ensure a smooth automation process.
    // Of course, the user can turn off the filter in two ways:
    //   (1) gPDFBinderFileFilter = "";
    //   (2) comment out //USE_FILE_FILTER 
    // The filter should be consistent with the Acrobat viewer's menu capability:
    //   Create PDF from multiple files ...
    // Here we put the types which have been tested, but user can expand it.
    const char* gPDFBinderFileFilter = "pdf,tif,tiff,PDF,TIF,TIFF";
    const int MAX_STRING_LENGTH = 2048;
    AVConversionToPDFHandler gHandler;
    // functions in this file.
    int    ConvertAndInsertFileToPDF(ASPathName aspItem, char* aFileName, PDDoc  PDFfile);
    void BindingFileToPDF(ASPathName aPathName, char* aFilename, ASFileSysItemPropsRec nFileAttrb, PDDoc targetPDdDoc, ASPathName outputPathName, int *ipTotal, int *ipConverted);
    ASBool PassPDFBinderFileFilter(char* filename);
    int    ConvertAndSavePDFInTargetFolder(ASPathName aPathName, char* aFileName, PDDoc PDFfile, ASPathName outputPathName);
    char* NewFileName(char *& aFileName);
    // callbacks
    ACCB1 ASBool ACCB2 MyAVConversionToPDFEnumProc(AVConversionToPDFHandler handler, AVConversionEnumProcData data);
    ACCB1 ASBool ACCB2 AVConversionToPDFEnumFindHandler(AVConversionToPDFHandler handler, AVConversionEnumProcData data);
    static ACCB1 ASBool ACCB2 myAVConversionFromPDFEnumProc(AVConversionFromPDFHandler handler, AVConversionEnumProcData data);
        Implementation
    /**    This sample implements a method to convert multiple files into PDF
      and bind the PDFs into one PDF file .
        This sample shows developers how to grammatically implement To-PDF file
      converson functionality.  Basically, the code uses AVConversionToPDFHandler
      to convert files to PDF and PDDocInsertPages()to combine PDF files.
      This plug-in is designed to run from a menu item, and by setting bEcho = false
      it may be run without any graphics user interface on the screen. Therefore, it 
      can be executed from other programs such as C IAC, VB IAC, and JavaScript
      to meet enterprise workflow needs.
        How to run it :
        - This sample adds a menu item "PDF Binder" under the Acrobat SDK submenu. Two ways to
        execute it: 1) click the menu item to run the program using a fixed file location
        hard coded; 2) press the shift key and click the menu item to choose a folder where
        files to be converted are located.
        - Without folder selection, this original code is to convert and bind files in a
        directory    C\test\PDFBinder for Win, or a folder   MacHD:test:PDFBinder for Mac.
        You can copy the test files in the project's testfiles folder to the appropriate location 
        for testing. You may locate files to be converted in another directory/folder, and
        specify the location in the string variable PDFBinderFolder in the code.
        - When you have the files to be converted ready in the specified location,
        run Acrobat 6 menu Advanced->AcrobatSDK->PDF Binder to start the operation.  There are
        echo messages informing you of the operation start and end, but you can change and
        rebuild the code to turn off the display on screen.
        - An output file PDFBinderOutput.pdf in the same location is created
        when the program succeeds. A text log file  PDFBinderLog.txt in the same
        location records the process and results.
        -  You can set bEch = false in the code to turn off any display on the screen.
        This is necessary when you  call the menu function from within other programs
        of C IAC, VB IAC, JavaScript. 
        -  An optional file filter is used to pre-process the files. The filter only allows
        the files with predefined types to be processed. You can change the file type list
        as you wish. Using a filter may ensure a smooth automation process, since you can put
        only well-tested file types in the filter. To turn off the filter, you can set
        gPDFBinderFileFilter = "" or not to define USE_FILE_FILTER 
        - Note this is a sample only, developers need to make further improvement for
        their actual use. For example, you can set up a list of files to use the method for
        the conversion and binding. And you can add code to handle special file types.
          @see AVConversionConvertToPDFWithHandler
        @see AVConversionEnumToPDFConverters
        @see ASFileSysDestroyFolderIterator
        @see PDDocOpen
        @see PDDocClose
        @see PDDocInsertPages
        @see PDDocCreatePage
        @see PDDocDeletePages
        @see PDPageRelease
        @see ASFileSysCreatePathName
        @see ASFileSysFirstFolderItem
        @see ASFileSysNextFolderItem
        @see ASFileSysGetNameFromPath
        @see ASFileSysReleasePath
    ACCB1 void ACCB2 PDFBinderCommand(void*)
        // if the menu item clicked with Shift key pressed down, go to interactive mode.
        // let the user to choose a folder and process all the file in the folder.
        ASText dispText = ASTextNew();
        char PDFBinderFolder[MAX_STRING_LENGTH];
        ASBool shiftKeyIsDown = ((AVSysGetModifiers() & AV_SHIFT) != 0);
        if(shiftKeyIsDown) {
            AVOpenSaveDialogParamsRec dialogParams;
            // Configure the dialog box parameters.
            memset (&dialogParams, 0, sizeof (AVOpenSaveDialogParamsRec));
            dialogParams.size = sizeof(AVOpenSaveDialogParamsRec);
            dialogParams.windowTitle = ASTextFromScriptText("Choose folder with files to bind",kASRomanScript);
            dialogParams.flags |= kAVOpenSaveAllowForeignFileSystems;
            dialogParams.initialFileSys = ASGetDefaultUnicodeFileSys();
            ASPathName thePath;
            ASFileSys fileSys;
            AVAppBeginModal(NULL);
            if(ASBoolToBool(AVAppChooseFolderDialog(&dialogParams, &fileSys, &thePath)) != true){
                AVAppEndModal();
                //AVAlertNote("Failed to select the folder");
                return;
            AVAppEndModal();
    #ifdef WIN_PLATFORM       
            ASFileSysDisplayASTextFromPath(ASGetDefaultUnicodeFileSys(), thePath, dispText);
            ASHostEncoding bestEnc = ASTextGetBestEncoding(dispText, (ASHostEncoding)PDGetHostEncoding());
            strncpy(PDFBinderFolder, ASTextGetEncoded(dispText, bestEnc), MAX_STRING_LENGTH - 1);
    #else       
            ASPlatformPath aspPath;
            ASFileSysAcquirePlatformPath(fileSys, thePath, ASAtomFromString("POSIXPath"), &aspPath);
            strncpy(PDFBinderFolder, (char *)ASPlatformPathGetPOSIXPathPtr(aspPath), MAX_STRING_LENGTH - 1);
            ASFileSysReleasePlatformPath(fileSys, aspPath);
            // remove extra path separator
            char e = PDFBinderFolder[strlen(PDFBinderFolder)-1];
            if(e == ':' || e == '/')
                PDFBinderFolder[strlen(PDFBinderFolder)-1]='\0';
            dispText = ASTextFromScriptText(PDFBinderFolder, kASEUnicodeScript);
    #endif
            ASFileSysReleasePath(fileSys, thePath);
        // Otherwise, the hard coded file path will be used.
        else {
            strcpy(PDFBinderFolder, STRING_PDFBinderFolder);
            dispText = ASTextFromScriptText(PDFBinderFolder, kASRomanScript);
        // instruction message
        char strMsg[MAX_STRING_LENGTH] = "";
        sprintf(strMsg, "This function will convert and process Tiff and PDF files in the selected directory. ");
        strcat(strMsg, " You need to copy your files in C:\\Fairfax\\Adobe\\in directory." );
        strcat(strMsg, " Files will be processed into C:\\Fairfax\\Adobe\\PDFA directory." );
        strcat(strMsg, " If you are ready, click OK to continue, or click Cancel to quit. " );
        strcat(strMsg, " \nNote you can press down Shift key and click the menu item to have a folder selection. " );
        strcat(strMsg, " \nNote you can turn off the echo message by setting bEcho = false and rebuild the code. " );
        if(ASBoolToBool(bEcho)==true){
            ASInt32 choice = AVAlert(ALERT_CAUTION, strMsg, "OK", "Cancel", NULL, true);
            if(choice==2) {
                return;
        // create a new target pdf file with one empty page
        PDDoc TargetPDF = PDDocCreate();
        ASFixedRect mediaBox = { fixedZero, ASInt32ToFixed(792), ASInt32ToFixed(612), fixedZero };
        PDPage emptyPage = PDDocCreatePage (TargetPDF, PDBeforeFirstPage, mediaBox);
        PDPageRelease (emptyPage);
        //     get available headlers and set our file filter
        char ValidExt[MAX_STRING_LENGTH];
        memset(ValidExt, 0, MAX_STRING_LENGTH);
    #ifdef SHOW_TOPDF_HANDLER_TYPES   
        // enumerate AVConversioToPDF handlers to get all available file
        // types which can be converted to PDF.
        AVConversionEnumToPDFConverters(MyAVConversionToPDFEnumProc, (AVConversionEnumProcData) ValidExt);
        //AVAlertNote("Converters Defined");
        //AVAlertNote(ValidExt);
        //AVAlertNote(gPDFBinderFileFilter);
    #endif
    #ifdef USE_FILE_FILTER    
        // set File filter
        strcpy(ValidExt, gPDFBinderFileFilter);
        //AVAlertNote(ValidExt);
    #endif
        // process all files in the directory
        int iNumFiles = 0;
        int iNumFilesConverted = 0;
        char* Done = "Converted";
        char* NotDone = " - ";
        char fileName[MAX_FILENAME_LENGTH+1];
        ASFileSysItemPropsRec props;
        ASFolderIterator iter;
        ASPathName aspItem = NULL;
        memset(&props, 0, sizeof(props));
        props.size = sizeof(props);
        //AVAlertNote("Props Defined");
        ASPathName theFolder = NULL;
        ASFileSys fileSys = NULL;
        DURING
    #ifdef WIN_PLATFORM   
        fileSys = ASGetDefaultFileSysForPath(ASAtomFromString("ASTextPath"), dispText);
        theFolder = ASFileSysCreatePathName (fileSys, ASAtomFromString("ASTextPath"), dispText, 0);
        //AVAlertNote("FileSys and Folder Defined");
    #else
        fileSys = ASGetDefaultFileSysForPath(ASAtomFromString("POSIXPath"), PDFBinderFolder);
        theFolder = ASFileSysCreatePathName (fileSys,
                                ASAtomFromString("POSIXPath"), PDFBinderFolder, 0);
    #endif
        if (theFolder==NULL) {
            //AVAlertNote("Fail to create ASPathName for the selected folder.");
            E_RTRN_VOID
        // Find first file in current directory
        if((iter = ASFileSysFirstFolderItem(fileSys, theFolder, &props, &aspItem))==FALSE) {
            //AVAlertNote("This is either an invalid folder or the folder contains no files.");
            E_RTRN_VOID
        ASFileSysReleasePath(fileSys, theFolder);
        //AVAlertNote("Folder Released");
        // get filename only
        if(ASFileSysGetNameFromPath(fileSys, aspItem, fileName, sizeof(fileName))) {
            E_RTRN_VOID
        HANDLER   
            // exception handling
            char errorMsg[256];
            ASGetErrorString (ASGetExceptionErrorCode(), errorMsg, 256);
            if(aspItem!=NULL) ASFileSysReleasePath(fileSys, aspItem);
            if(theFolder!=NULL) ASFileSysReleasePath(fileSys, theFolder);
            // display an error message.
            if(ASBoolToBool(bEcho)==true) {
                AVAlertNote (errorMsg);
            return;
        END_HANDLER
        //AVAlertNote(fileName);
        // go to binding if it's a valid type of file
        if(props.type == kASFileSysFile && PassPDFBinderFileFilter(fileName)) {
            char outFileName[] = "";
            //strcat(outFileName, STRING_PDFOutputFolder);
            //strcat(outFileName, FOLDERSYMBOL);
            //strcat(outFileName, fileName);
            strcat(outFileName, STRING_PDFOutputFolder);
            strcat(outFileName, FOLDERSYMBOL);
            strcat(outFileName, fileName);
            //AVAlertNote(outFileName);
            ASPathName outputFileName = ASFileSysCreatePathName (ASGetDefaultFileSys(), ASAtomFromString("Cstring"), outFileName, 0);
            BindingFileToPDF(aspItem, fileName, props, TargetPDF, outputFileName ,&iNumFiles, &iNumFilesConverted);
            //AVAlertNote("File Processed");
        ASFileSysReleasePath(fileSys, aspItem);
        // process all other files 
        while(ASFileSysNextFolderItem(fileSys, iter, &props, &aspItem)) {
            // get filename only
            if(ASFileSysGetNameFromPath(fileSys, aspItem, fileName, sizeof(fileName))) {
                return;
            // go to binding if it's a valid type of file
            if(props.type == kASFileSysFile && PassPDFBinderFileFilter(fileName))  {
                char outFileName[] = "";
                //strcat(outFileName, STRING_PDFOutputFolder);
                //strcat(outFileName, FOLDERSYMBOL);
                //strcat(outFileName, fileName);
                strcat(outFileName, STRING_PDFOutputFolder);
                strcat(outFileName, FOLDERSYMBOL);
                strcat(outFileName, fileName);
                //AVAlertNote(outFileName);
                ASPathName outputFileName = ASFileSysCreatePathName (ASGetDefaultFileSys(), ASAtomFromString("Cstring"), outFileName, 0);
                BindingFileToPDF(aspItem, fileName, props, TargetPDF, outputFileName, &iNumFiles, &iNumFilesConverted);
                //AVAlertNote("File Processed");
            ASFileSysReleasePath(fileSys, aspItem);
        ASPathName pdfPathName = NULL;
        DURING
        // close the findfile
        ASFileSysDestroyFolderIterator(fileSys, iter);
        // save and close the output pdf file
        // create path
        ASText pathText = ASTextNew();
        ASTextCatMany(
            pathText,
            dispText,
            ASTextFromScriptText(FOLDERSYMBOL, kASRomanScript),
            ASTextFromScriptText(OutputPdfFileName, kASRomanScript),
            NULL);
    #ifdef WIN_PLATFORM
        ASFileSys fileSys = ASGetDefaultFileSysForPath(ASAtomFromString("ASTextPath"), pathText);
        pdfPathName = ASFileSysCreatePathName (fileSys,
                                ASAtomFromString("ASTextPath"), pathText, 0);
    #else
        char path[MAX_STRING_LENGTH];
        strncpy(path, ASTextGetEncoded(pathText,
            ASTextGetBestEncoding(pathText, (ASHostEncoding)PDGetHostEncoding())), MAX_STRING_LENGTH - 1);
        ASFileSys fileSys = ASGetDefaultFileSysForPath(ASAtomFromString("POSIXPath"), path);
        pdfPathName = ASFileSysCreatePathName (fileSys,
                                ASAtomFromString("POSIXPath"), path, 0);   
    #endif
        if(pdfPathName==NULL) {
            E_RTRN_VOID
        // delete the empty page
        if(PDDocGetNumPages(TargetPDF)>1) {
            PDDocDeletePages (TargetPDF, 0,0,NULL, NULL);
        // save
        //PDDocSave (TargetPDF, PDSaveFull | PDSaveCollectGarbage | PDSaveLinearized,
        //            pdfPathName, ASGetDefaultUnicodeFileSys(),    NULL, NULL);
        PDDocClose (TargetPDF);
        //ASFileSysReleasePath(fileSys, pdfPathName);
        HANDLER   
            // exception handling
            char errorMsg[256];
            ASGetErrorString (ASGetExceptionErrorCode(), errorMsg, 256);
            if(pdfPathName!=NULL) ASFileSysReleasePath(fileSys, pdfPathName);
            // display an error message.
            if(ASBoolToBool(bEcho)==true) {
                AVAlertNote (errorMsg);
            return;
        END_HANDLER
        // use this line to show the massage on screen if you need
        //if(ASBoolToBool(bEcho)==true) {
        AVAlertNote ("Folder Completed. PDF/A Output files generated.");
        return;
    /* ConvertAndInsertFileToPDF
    /** Internal function \n
    ** Convert a file to PDF, then insert it to target PDF file.
    ** @param aFileName IN  char string, filename.
    ** @param PDFfile IN/OUT PDDoc of the target PDF file.
    ** @return 0 if OK, 1 if failed.
    int    ConvertAndInsertFileToPDF(ASPathName aPathName, char* aFileName, PDDoc PDFfile)
        PDDoc tempPDF;
        char* Ext;
        DURING
            // get file extention
            Ext = strrchr(aFileName,'.');
            if(Ext) {
                Ext++;
            else {
                E_RETURN (1);
            // if the file is PDF, open PDDoc
            if(strcmp(Ext,"PDF")==0 || strcmp(Ext,"pdf")==0) {
                tempPDF = PDDocOpen (aPathName, ASGetDefaultFileSys(), NULL, true);
                if(tempPDF==NULL) {
                    PDDocClose(tempPDF);
                    E_RETURN (1);
            // else convert it to PDF
            else
                // let it automatically find right handler for the file and do the job.
                AVConversionStatus stat = AVConversionConvertToPDF
                    (kAVConversionAsyncOkay, //kAVConversionNoFlags
                      aPathName, ASGetDefaultFileSys(), &tempPDF, NULL);
                // check if successful
                if(stat != kAVConversionSuccess) {
                    //AVAlertNote("Cannot convert the file.");
                    E_RETURN (1);
        HANDLER   
            // exception handling
            char errorMsg[256];
            ASGetErrorString (ASGetExceptionErrorCode(), errorMsg, 256);
            // display an error message.
            if(ASBoolToBool(bEcho) == true) {
                AVAlertNote (errorMsg);
            return 1;
        END_HANDLER
        // insert new PDF into target PDF
        DURING
            // insert all pages of new pdfc to TargetPDFfile.
            PDDocInsertPages(PDFfile, PDLastPage, tempPDF, 0,
                            PDAllPages, PDInsertAll, NULL, NULL, NULL, NULL);
            PDDocClose(tempPDF);
        HANDLER
             char errorMsg[256];
            ASGetErrorString (ASGetExceptionErrorCode(), errorMsg, 256);
            if(ASBoolToBool(bEcho)==true) {
                AVAlertNote(errorMsg);
        END_HANDLER
            if(strcmp(Ext,"doc")==0) {
                char fname[40];
                sprintf(fname,"%s.pdf",aFileName);
                remove(fname);
            return 0;
    /* MyAVConversionToPDFEnumProc
    /** Internal callback function \n
    ** called for every AVConversionToPDFHandler.
    ** get the valid type (file extention) for the conversion. 
    ** @return true.
    ACCB1 ASBool ACCB2 MyAVConversionToPDFEnumProc(AVConversionToPDFHandler handler,
                                                 AVConversionEnumProcData data)
        ASUns16 numFileExt = handler->convFilter.numFileDescs;
        for (int i = 0; i < numFileExt; i++) {
            char* ext = handler->convFilter.fileDescs[i].extension;
            if(strlen(ext)>0) {
                strcat((char*) data, ext);
                strcat((char*) data, ",");
        return true;
    /* this is alternative code to get right conversion handler for a specific file
       to be converted. It works with function AVConversionConvertToPDFWithHandler.
       It's not used now, but kept for user's reference.
    ACCB1 ASBool ACCB2 AVConversionToPDFEnumFindHandler(AVConversionToPDFHandler handler,
                                                 AVConversionEnumProcData data)
        ASUns16 numFileExt = handler->convFilter.numFileDescs;
        for ( int i = 0; i < numFileExt; i++)
            char* ext = handler->convFilter.fileDescs[i].extension;
            if(strlen(ext)) {
                if(!strcmp((char*) data, ext)) {
                    gHandler = handler;
                    return false;
        return true;
    /* BindingFileToPDF
    /** Internal callback function for binding process \n
    ** IN: char* aFilename, ASFileSysItemPropsRec nFileAttrb \n
    **     PDDoc targetPDdDoc, int *ipTotal, \n
    **     int *ipConverted, FILE *logfile \n
    ** OUT: int *ipTotal, int *ipConverted. \n
    void BindingFileToPDF(ASPathName aPathName, char* aFilename, ASFileSysItemPropsRec nFileAttrb, PDDoc targetPDdDoc, ASPathName outputPathName, int *ipTotal, int *ipConverted)
        // ignore system, hidden files, and our target PDF and log file.
        if( nFileAttrb.isHidden 
            || (strcmp(aFilename,".")==0) || (strcmp(aFilename,".." )==0)
            || (strcmp(aFilename,OutputPdfFileName)==0) || (strcmp(aFilename,LogFileName)==0)) {
                return;
        (*ipTotal)++;
        char msg[MAX_STRING_LENGTH] = "";
        char* Done = "Converted";
        char* NotDone = " - ";
        // try to convert and insert it to target PDF file.
        // rc would be 0 for success, otherwise 1.
        int rc = ConvertAndSavePDFInTargetFolder(aPathName, aFilename, targetPDdDoc, outputPathName);
        // if converted
        if(rc==0) {
            (*ipConverted)++;
    /* PassPDFBinderFileFilter
    /** Internal callback function for binding process
    ** @return true if the IN aFilename is a valid file for PDF conversion,
    ** otherwise false.
    ASBool PassPDFBinderFileFilter(char* aFilename)
    #ifdef USE_FILE_FILTER
        // if the filter is empty, any file will pass.
        if(strlen(gPDFBinderFileFilter)==0)
            return true;
        char* Ext = strrchr(aFilename,'.');
        if(Ext!=NULL) {
            Ext++;
            if(strstr(gPDFBinderFileFilter, Ext)) {
                return true;
        return false;
    #else
            // not use filter, any file will pass.
            return true;
    #endif
    /* ConvertAndInsertFileToPDF
    /** Internal function \n
    ** Convert a file to PDF, then insert it to target PDF file.
    ** @param aFileName IN  char string, filename.
    ** @param PDFfile IN/OUT PDDoc of the target PDF file.
    ** @return 0 if OK, 1 if failed.
    int    ConvertAndSavePDFInTargetFolder(ASPathName aPathName, char* aFileName, PDDoc PDFfile, ASPathName outputPathName)
        PDDoc tempPDF;
        char* Ext;
        DURING
            // get file extention
            Ext = strrchr(aFileName,'.');
            if(Ext) {
                Ext++;
            else {
                E_RETURN (1);
            // if the file is PDF, open PDDoc
            if(strcmp(Ext,"PDF")==0 || strcmp(Ext,"pdf")==0) {
                tempPDF = PDDocOpen (aPathName, ASGetDefaultFileSys(), NULL, true);
                if(tempPDF==NULL) {
                    PDDocClose(tempPDF);
                    E_RETURN (1);
            // else convert it to PDF
            else
                // let it automatically find right handler for the file and do the job.
                AVConversionStatus stat = AVConversionConvertToPDF
                    (kAVConversionAsyncOkay, //kAVConversionNoFlags
                      aPathName, ASGetDefaultFileSys(), &tempPDF, NULL);
                // check if successful
                if(stat != kAVConversionSuccess) {
                    //AVAlertNote("Cannot convert the file.");
                    E_RETURN (1);
                else {
                    //change Extension
                    ASText asTmp = ASTextNew();
                    ASFileSysDisplayASTextFromPath(ASGetDefaultUnicodeFileSys(), outputPathName, asTmp);
                    //AVAlertNote(ASTextGetScriptText(asTmp, kASRomanScript));
                    if(strcmp(Ext,"TIF")==0 || strcmp(Ext,"tif")==0){
                        ASTextReplace(asTmp, ASTextFromScriptText(".tif", kASRomanScript), ASTextFromScriptText(".pdf", kASRomanScript));
                    } else {
                        ASTextReplace(asTmp, ASTextFromScriptText(".tiff", kASRomanScript), ASTextFromScriptText(".pdf", kASRomanScript));
                    //AVAlertNote(ASTextGetScriptText(asTmp, kASRomanScript));
                    outputPathName = ASFileSysCreatePathName (ASGetDefaultUnicodeFileSys(), ASAtomFromString("ASTextPath"), asTmp, 0);
        HANDLER   
            // exception handling
            char errorMsg[256];
            ASGetErrorString (ASGetExceptionErrorCode(), errorMsg, 256);
            // display an error message.
            if(ASBoolToBool(bEcho) == true) {
                AVAlertNote (errorMsg);
            return 1;
        END_HANDLER
        // Run OCR and Save new PDF into target PDF
        DURING
            //    OCR
            ASAtom cmdName;
            AVCommand cmd;
            cmdName=ASAtomFromString("PaperCapture");
            cmd=AVCommandNew(cmdName);
            ASCab config = ASCabNew();
            ASCabPutInt (config, "UIPolicy", kAVCommandUISilent);       //hide the interface
            if (kAVCommandReady ==     AVCommandSetConfig (cmd, config)) {
                //AVAlertNote("Config Ready");
            ASCab inputs = ASCabNew();
            ASCabPutPointer (inputs, kAVCommandKeyPDDoc, PDDoc, tempPDF, NULL);
            if (kAVCommandReady == AVCommandSetInputs (cmd, inputs)) {
                //AVAlertNote("Input Ready");
            ASCabDestroy (inputs);
            AVCommandStatus status = AVCommandExecute(cmd);
                        //switch (status) {
                        //    case kAVCommandReady :
                        //        AVAlertNote("Not working, but ready to work.");
                        //        break;
                        //    case kAVCommandWorking :
                        //        AVAlertNote("Still working");
                        //        break;   
                        //    case kAVCommandDone :
                        //        AVAlertNote("Done working");
                        //        break;   
                        //    case kAVCommandInError :
                        //        AVAlertNote("In Error");
                        //        break;       
                        //    case kAVCommandNotExecuted :
                        //        AVAlertNote("Command not executed due to lack of objects on which the command to be executed");
                        //        break;
            AVCommandDestroy(cmd);
            //Save
            //PDDocSave (tempPDF, PDSaveFull | PDSaveCollectGarbage | PDSaveLinearized, outputPathName, ASGetDefaultUnicodeFileSys(),    NULL, NULL);
            //ClosePDF
            //PDDocClose(tempPDF);
            //Convert to PDF/A Compliance
            //Select the right handler
            AVConversionEnumFromPDFConverters(myAVConversionFromPDFEnumProc, NULL);
            // do conversion
            AVConversionStatus stat = AVConversionConvertFromPDFWithHandler(RightHandler, NULL, kAVConversionAsyncOkay, tempPDF, outputPathName,  ASGetDefaultFileSys(), NULL);
            // check the returned status and show message
            //if (stat == kAVConversionSuccess)
            //                AVAlertNote( "The PDF/A file was saved in output folder." );
            //else if (stat == kAVConversionFailed)
            //                AVAlertNote( "The PDF/A conversion failed." );
            //else if (stat == kAVConversionSuccessAsync)
            //                AVAlertNote( "The conversion will continue asynchronously." );
            //else if (stat == kAVConversionCancelled)
            //                AVAlertNote( "The conversion was cancelled." );
            //Save
            //PDDocSave (tempPDF, PDSaveFull | PDSaveCollectGarbage | PDSaveLinearized, outputPathName, ASGetDefaultUnicodeFileSys(), NULL, NULL);
            //ClosePDF
            PDDocClose(tempPDF);
            ASFileSysReleasePath(ASGetDefaultFileSys(), outputPathName);
        HANDLER
             char errorMsg[256];
            ASGetErrorString (ASGetExceptionErrorCode(), errorMsg, 256);
            if(ASBoolToBool(bEcho)==true) {
                AVAlertNote(errorMsg);
        END_HANDLER
            if(strcmp(Ext,"doc")==0) {
                char fname[40];
                sprintf(fname,"%s.pdf",aFileName);
                remove(fname);
            return 0;
    //Select the appropiate handler for the PDF/A conversion
    static ACCB1 ASBool ACCB2 myAVConversionFromPDFEnumProc(AVConversionFromPDFHandler handler, AVConversionEnumProcData data)
        AVFileFilterRec filter = handler->convFilter;
        ASUns16 numFileExt = filter.numFileDescs;
        char *kUniqueID = handler->uniqueID;
        // go through the conversion handlers to find a handler for PDF extension files and the unique key matches the PDF/A one.
        for  (ASInt32  i = 0; i < numFileExt; i++)
            if  (strlen(handler->convFilter.fileDescs[i].extension)>0)
                // found it, fill in the handler and return false to stop going on.
                if (!strcmp(handler->convFilter.fileDescs[i].extension, "pdf") && !strcmp(kUniqueID,"com.callas.preflight.pdfa")) {
                    RightHandler = handler;
                    return  false ;
        return true;

    There are some options for various APIs to run "kinda silent" - but again, Acrobat is designed for INTERACTIVE use…so "completely silent" isn't really an option.
    As for speed – you'd need to be MUCH MORE specific about where your slow downs are.  Have you profiled?
    From: Adobe Forums <[email protected]<mailto:[email protected]>>
    Reply-To: "[email protected]<mailto:[email protected]>" <[email protected]<mailto:[email protected]>>
    Date: Mon, 12 Dec 2011 07:39:08 -0800
    To: Leonard Rosenthol <[email protected]<mailto:[email protected]>>
    Subject: Slow processing and getting opening errors/warnings
    Re: Slow processing and getting opening errors/warnings
    created by FFX-ER<http://forums.adobe.com/people/FFX-ER> in Acrobat SDK - View the full discussion<http://forums.adobe.com/message/4079175#4079175

  • ORA-31011: XML parsing failed ORA-19202: Error occurred in XML processing

    Hi,
    I am trying to update an already existing Sales Order through PO Change Inbound 860. When i am performing changes in the line quantity and scheduled ship date with operation code as "Update" then it is successfully updating the Order and also we are able to generate the POAck for the updated sales order lines. But when i am rejecting one of the PO change lines by checking rejected flag, then order is getting imported successfully(I mean sales order is getting updated successfully) but during the POAck Generation i.e. 865 its raising "*ORA-31011: XML parsing failed ORA-19202: Error occurred in XML processing LPX-00103: Warning: document structure does not match DTD Error at line 1*" at XML Gateway. we are using XML Gateway to process the orders, can somebody help me to get rid of this issue. Thanks in advance.
    Thanks,
    Sunil Chauhan

    Hi Kishan
    Thanks for the reply.
    Because this is an outbound transaction so i can not provide you the XML file as we are facing issue to generate the same. Also we are using oracle seeded PO outbound Ack map.
    In addition i can provide you the DTD file.
    <!-- ==================================================== -->
    <!ENTITY % RESOURCES SYSTEM "oagis_resources.dtd">
    %RESOURCES;
    <!-- ==================================================== -->
    <!ELEMENT ACKNOWLEDGE_PO_008 (CNTROLAREA, DATAAREA+)>
    <!ATTLIST VERB
         value CDATA #FIXED "ACKNOWLEDGE"
    >
    <!ATTLIST NOUN
         value CDATA #FIXED "PO"
    >
    <!ATTLIST REVISION
         value CDATA #FIXED "008"
    >
    <!ELEMENT DATAAREA (ACKNOWLEDGE_PO)
    >
    <!ELEMENT ACKNOWLEDGE_PO (POORDERHDR, POORDERLIN*)
    >
    <!ELEMENT POORDERHDR ((%DATETIME.DOCUMENT;)?, (%OPERAMT.EXTENDED.T;)?, POID, POTYPE, ACKREQUEST?, CONTRACTB?, CONTRACTS?, DESCRIPTN?, NOTES*, OPRAMTAUTH?, PORELEASE?, TAXWHEXMPT?, USERAREA?, ACKHEADER, ATTCHREF*, CHARGE*, PARTNER*, POTERM*)
    >
    <!ELEMENT ACKHEADER (SENDER, (%DATETIME.PROMDELV;)?, (%DATETIME.PROMSHIP;)?, ACKCODE, DESCRIPTN?, NOTES*, SALESORDID?, USERAREA?)
    >
    <!ELEMENT POTERM (DESCRIPTN?, TERMID?, ((DAYOFMONTH, PROXMONTH) | DAYSNUM), ((%OPERAMT.EXTENDED.T;) | (%QUANTITY.PERCENT;)), USERAREA?)
    >
    <!ELEMENT POORDERLIN ((%QUANTITY.ORDERED;), (%DATETIME.NEEDDELV;)?, (%OPERAMT.UNIT.T;)?, POLINENUM, DRAWING?, HAZRDMATL?, ITEMRV?, ITEMRVX?, NOTES*, PACKING?, POLNSTATUS?, TAXWHEXMPT?, ((DESCRIPTN, ITEM?, ITEMX?, UPC?) | (ITEM, ITEMX?, UPC?) | (ITEMX, UPC?) | (UPC)), USERAREA?, ACKLINE*, ATTCHREF*, CHARGE*, DISTRIBUTN*, PARTNER*, POTERM*, POSUBLINE*, POLINESCHD*)
    >
    <!ELEMENT ACKLINE ((%DATETIME.PROMDELV;)?, (%DATETIME.PROMSHIP;)?, (%QUANTITY.ORDERED;)?, ACKCODE, NOTES*, SALESORDID?, USERAREA?)
    >
    <!ELEMENT POSUBLINE ((%QUANTITY.ITEM;), DRAWING?, ITEMRV?, ITEMRVX?, PSBLINENUM?, ((DESCRIPTN, ITEM?, ITEMX?, UPC?) | (ITEM, ITEMX?, UPC?) | (ITEMX, UPC?) | (UPC)), USERAREA?)>
    <!ELEMENT POLINESCHD ((%DATETIME.NEEDDELV;), (%QUANTITY.ORDERED;), DESCRIPTN?, PSCLINENUM?, USERAREA?)
    >
    Thanks,S
    --Sunil                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                       

  • ORA-19202: Error occurred in XML processing

    HI,
    I was preparing a support schema which is in synch with the production schema. For one of the UI i am getting the following error when the XML is too large.
    The same code is working in the production schema.
    I did a reconcilation and found the code sources are exactly the same.Pasting the debug lines below.Please help resolving the issue.
    gwpks_service_router.Getting the msg status for
    gwpks_service_router.Inside fn_get_msgstat
    gwpks_service_router.In wot of msg stat extraction: ORA-31011: XML parsing failed
    ORA-19202: Error occurred in XML processing
    LPX-00225: end-element tag "REC" does not match start-element tag "FCUBS_BODY"
    Error at line 15697
    gwpks_service_router.l_msgstat:
    gwpks_service_router.Returning
    gwpks_service_router.l_msg_stat:
    gwpks_service_router.p_Process_Stat: S
    gwpks_service_router. fn_service_router return true
    gwpks_service_router.After fn_service_router, msgId:
    gwpks_service_router.Logging begins
    gwpks_service_router.Inside fn_populate_logs
    gwpks_service_router.Inside fn_get_msgstat
    gwpks_service_router.In wot of msg stat extraction: ORA-31011: XML parsing failed
    ORA-19202: Error occurred in XML processing
    LPX-00225: end-element tag "REC" does not match start-element tag "FCUBS_BODY"
    Error at line 15697
    gwpks_service_router.l_msgstat:
    gwpks_service_router.Returning
    gwpks_service_router.Msg Status:
    gwpks_service_router.About to start the logging with MsgId:
    gwpks_service_router.fn_populate_logs returning true
    gwpks_service_router.MsgId:
    gwpks_service_router.SysMsgId:
    gwpks_service_router.MultitripId:
    gwpks_service_router.l_process_stat in pr_process_req_msg : S
    gwpks_service_router.GRAND SUCCESS CLOSING DEBUG
    gwpks_service_router.GRAND SUCCESS CLOSING DEBUG 1

    Hi,
    Oracle Database 11g Enterprise Edition Release 11.2.0.1.0 - 64bit Production
    PL/SQL Release 11.2.0.1.0 - Production
    CORE     11.2.0.1.0     Production
    TNS for Linux: Version 11.2.0.1.0 - Production
    NLSRTL Version 11.2.0.1.0 - Production
    The code is very big.I prepared another schema on another database and the code is working.
    Then v$ version of the working schema is as below:
    Oracle Database 11g Enterprise Edition Release 11.2.0.2.0 - 64bit Production
    PL/SQL Release 11.2.0.2.0 - Production
    CORE     11.2.0.2.0     Production
    TNS for Linux: Version 11.2.0.2.0 - Production
    NLSRTL Version 11.2.0.2.0 - Production
    Still wonder why this works in the second schema but not the first one.

  • How can I get a count of objects in the near cache? (Extend client)

    Hi,
    I'm trying to figure out how to get the count of objects in my near cache (from c++ client). Knowing the size of the near cache is a key factor when optimizing configurations for performance.
    However if I call size() on the cache handle I get the count of objects in the cache (ie the cluster). How can I get a count of objects in the near cache?
    Thanks
    Rich Carless

    H Rich,
    It may not be ideal, but I think you may be able to infer the size by using the HeapAnalyzer (http://download.oracle.com/docs/cd/E15357_01/coh.360/e15728/classcoherence_1_1lang_1_1_heap_analyzer.html) facility, specifically the "class" based HeapAnalyzer. Its Snapshot representation http://download.oracle.com/docs/cd/E15357_01/coh.360/e15728/classcoherence_1_1lang_1_1_class_based_heap_analyzer_1_1_snapshot.html provides a mapping between class name and ClassStats (http://download.oracle.com/docs/cd/E15357_01/coh.360/e15728/classcoherence_1_1lang_1_1_class_based_heap_analyzer_1_1_class_stats.html) which provides information on how many instances of a given class type are in memory. Note the reported counts are process wide but if your key or value type are distinct you may be able to infer your answer. I realize this is rather complex, my only other suggestion would be to just make some guesses on size and see how they effect performance.
    Mark
    Oracle Coherence

  • XML parsing error: xml processing instruction not at start of external entity (error code 17)

    I created a form and recieve the filled in form by email from participants. It has always worked in the past. Recently when importing data into the master form (from filled in forms in xml files sent by applicants) I am getting this error message..."xml processing instruction not at start of external entity (error code 17), line 2, column 1...." pointing to the file of data (xml) I am trying to input.  If I pull up old data forms (from 2009) they work, but now I am getting this error.  I run Adobe Design Premium CS3 for Windows.  Can anyone tell me what to do to fix?

    I created a form and recieve the filled in form by email from participants. It has always worked in the past. Recently when importing data into the master form (from filled in forms in xml files sent by applicants) I am getting this error message..."xml processing instruction not at start of external entity (error code 17), line 2, column 1...." pointing to the file of data (xml) I am trying to input.  If I pull up old data forms (from 2009) they work, but now I am getting this error.  I run Adobe Design Premium CS3 for Windows.  Can anyone tell me what to do to fix?

  • XML processing best method

    version 10.2.0.3.0
    (long time lurker, first time poster)
    Hi all,
    I am new to XML processing. Please suggest the best method to accomplish my needs as described below.
    I am developing a package that is accessed by a .NET app. The package needs to provide routines that extract data from multiple tables and pass that data - in an XML formatted string parameter - to the calling app. Other routines will accept data from the calling app - in an XML formatted string parameter - and write that data to multiple tables in the database. We prefer not to pass data in a file but would rather pass data in a procedure parameter.
    I have reviewed several documents on the subject but am confused with the best/quickest approach given all the different methods that are available. I am already developing the packages and could use some advice in accomplishing this as quickly as possible.
    Thanks in advance ya'll,
    Louis

    Hi Lou,
    Welcome to the forum.
    Perhaps you should try the XML forums (as well):
    http://forums.oracle.com/forums/category.jspa?categoryID=51
    General XML
    I'm sure you'll get some advice there.
    We're mostly sort of '(PL/)SQL'ized' on this forum ;)

  • AJAX using an XML Process

    Hi All,
    I am trying with Ajax using xml process and i implmented the same logic but it got failed. can u please me the line what does this menas:
    cursor data_cur is
    select empno,
    ‘<![CDATA[‘ ||
               ename ||’]]>’
    from emp
    where deptno =
    :F130_DEPTNO
    here the main problem is with the ‘<![CDATA[‘ || ..  but when i had tried to remove the  CDATA it is working fine i mean it fetching the rows but when ihave tried to implement using cdata it got failed..
    can any bosy explain me what the purpose of Cdata..
    Thanks,
    Anoo..                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                               

    Hi Jair,
    Any how please find the deatiled javascript code:
    AJAX using an XML Process
    declare
    cursor data_cur is
    select empno,
    ‘<![CDATA[‘ ||
               ename ||’]]>’
    from emp
    where deptno =
    :F130_DEPTNO;
    v_results varchar2(1000);
    begin
    owa_util.mime_header('text/xml', FALSE );
    htp.p('Cache-Control: no-cache');
    htp.p('Pragma: no-cache');
    owa_util.http_header_close;
    htp.prn('<options>');
    for it in data_cur loop
    htp.prn('<option value="' || it.empno || '">' || it.ename || '</option>');
    end loop;
    htp.prn('</options>');
    end;
    Javascript code
    <script language="JavaScript1.1" type="text/javascript">
    function getEmpLov(callObj, pSelect) {
    var theSelect = html_GetElement(pSelect);
    var get = new htmldb_Get(null,
    html_GetElement('pFlowId').value,
    'APPLICATION_PROCESS=getEmpLOV',0);
    get.add('F130_DEPTNO',callObj.value)
    gReturn= get.get('XML');
    if(gReturn && theSelect) {
    var cnt = gReturn.getElementsByTagName("option").length;
    theSelect.length = 0; /*clear existing list*/
    var newOpt = document.createElement("option");
    newOpt.value = ' ';
    newOpt.text = '-Select an Employee-';
    try {
    theSelect.add(newOpt,null); //standards compliant
    catch(ex) {
    theSelect.add(newOpt); // IE only
    for (var x = 0; x < cnt; x++) {
    var newOpt = document.createElement("option");
    var xmlRec = gReturn.getElementsByTagName("option")[x];
    newOpt.value = xmlRec.getAttribute('value');
    newOpt.text = xmlRec.firstChild.nodeValue;
    try {
    theSelect.add(newOpt,null); //standards compliant
    catch(ex) {
    theSelect.add(newOpt); // IE only
    for (var x = 0; x < cnt; x++) {
    var newOpt = document.createElement("option");
    var xmlRec = gReturn.getElementsByTagName("option")[x];
    newOpt.value = xmlRec.getAttribute('value');
    newOpt.text = xmlRec.firstChild.nodeValue;
    try {
    theSelect.add(newOpt,null); //standards compliant
    catch(ex) {
    theSelect.add(newOpt); // IE only
    get = null;
    html_GetElement('theJob').innerHTML = '';
    Please let me know if want any more information..
    Thanks,
    Anoo..

  • I am trying to install iTunes.  In the midst of the installing process, I get this error message: "Service 'Apple Mobile Device' (Apple Mobile Device) failed to start.  Verify that you have sufficient privileges to start system services."

    I am the only user for my computer, and consequently the administrator.  If I go to Control Panel > Administrative Tools > Services and try to manually start the service, I immediately get the following error message: "Windows could not start the Apple Mobile Device service on Local Computer.  Error 1053: The service did not respond to the start or control request in a timely fashion."  I have tried following the steps advised by others online who also have received this message, but to no avail.
    On the Apple error message, I have three options: Abort, Retry, or Ignore.  Abort, obviously, causes the installation process to cease.  Retry brings up the same message again.  Ignore causes the installation to finish, but then I receive this message: "iTunes was not installed correctly.  Please reinstall iTunes.  Error 7 (Windows error 126)."

    Go into Programs and Features
    Uninstall:
    iTunes
    Bonjour*
    Apple Software Update
    Apple Application Support
    Quicktime*
    iCloud*
    Apple Mobile Device Support
    * I didn't have to uninstall Bonjour, iCloud or Quicktime to fix my issue but it won't hurt anything to uninstall them.
    Reboot. Download a fresh copy of iTunes. Right click on the exe file and select Run as Administrator if you have the option if not just Run it. Should fix the issue.

  • HT201401 I have my a song purchased from Itunes and would like to use part of it for a ringtone and get all the way thur the process of getting it to my phone but it goes to sync to my phone it doesn't show up in my phone like it says it is suppose to und

    I have my a song purchased from Itunes and would like to use part of it for a ringtone and get all the way thur the process of getting it to my phone but it goes to sync to my phone it doesn't show up in my phone like it says it is suppose to under ringtones. Does anyone have any tips on how to do this.

    http://osxdaily.com/2010/09/04/make-free-iphone-ringtones-in-itunes-10/
    https://discussions.apple.com/message/17777381 - making a ringtone
    Getting ringtones folder to show in iTunes - https://discussions.apple.com/thread/2629494 - iTunes > Preferences. Under the General tab below Show, confirm Ringtones is selected

  • How to get similar color for objects in different pictures

    how do you get similar color for objects in different pictures
    I have a prodject that i'm working on and i need to edit several images at once (preferabley) so that they are the same color. They are wooden cupboards and i need all the wood looking the same colour. In light room you can edit a group of images at the same time hence the colours are the same . Is this possible in Elements ? If so how do i do this ?
    I have tried duplicating layers and it just replaces the whole image, it seems to work using levels layers but not the other layers ... I have 30 more images to do and would ideally not like to adjust all the images manually ? I dont mind doing minor tweaks. Essentially all the images where taken with the same camera and lighting and lens's ...
    Screen shot is where I'm at at the moment...
    I have posted this question else where but was told to repost  - this is a link to my previous post as to where we got to
    http://forums.adobe.com/message/4720576#4720576

    You could try using the raw converter. Open one file and edit it (File>Open, pick the image and choose Camera Raw as the format before you click Open). Then open the next image and click the little four-lined square on the upper right side of the ACR window and choose Previous Conversion from the flyout menu.

  • I am able to get color images in the continues shot but when i try to snap a color image which i need for my processing i get only a monocrome image

    I have been using lv_vfw.llb VI's for grabbing images from a CREATIVE WEB CAM ,i am able to get color images in the continues shot but when i try to snap a color image which i need for my processing i get only a monocrome image ,i have been trying to play around with the RGB weightings but i am unable to get a color iamge,it shall be of great help if you could help me in doing this as it is urgent for me.Thanks for your help.

    vicky,
    I am unfamiliar with the lv_vfw.llb, and have not used it before. However, I noticed that you stated that you are able to grab in color, just not snap in color. If this is the case, why not just perform a grab and then extract a single buffer from this grabbed data, which would likely be in color? This seems like a possible solution to the issue that you are seeing.
    Other than that, I really don't know enough about the lv_vfw.llb to be of much help on this issue. Hopefully another member of this forum will be able to assist you with this software.
    Regards,
    Jed R.
    Applications Engineer
    National Instruments

Maybe you are looking for