IBM webMethods Hybrid Integration

IBM webMethods Hybrid Integration

Join this online group to communicate across IBM product users and experts by sharing advice and best practices with peers and staying up to date regarding product enhancements.

 View Only

Adding initial elements for an occurrence

  • 1.  Adding initial elements for an occurrence

    Posted Tue April 16, 2002 09:31 PM

    Here is an extension to the Loop tag, that enables
    an initial number of occurrences to be inserted.

    I’m not sure what the best package name to use is,
    so feel free to change it to whatever suits you.

    Here is the entry you need to add in the .tld:


    loop
    econtract.taglib.customdisplay.Loop
    Custom Loop Tag that has the ability to insert an initial number of nodes

    module
    true


    select
    true


    extselect
    false


    iterate
    false


    targetbase
    true


    document
    false


    base
    false


    pagesize
    false


    initialsize
    false

    If some of these occurrences need to be removed
    (because they were not populated) before the document is committed, the following
    code can be used:

    public void removeEmptyOccurrences
    (BusinessDocument doc, SessionContext sc)
    throws InvalidXPathException,
    BusinessDocumentException
    {
    Page page = sc.getPage(“<path_to_occurrence>/xapp:seq()”);

    if (page instanceof BusinessNodePage) {
    BusinessNodePage bPage =(BusinessNodePage) page;
    for (int i=bPage.size()-1; i >=0; i–) { BusinessNode entry = bPage.get(i);

    String entry = entry.getDescendant(“<node_to_check>”).getValue();
    if (entry.length() == 0) { bPage.remove(i);
    }
    }
    }
    }
    Loop.java (1.19 KB)


    #webMethods
    #Tamino
    #API-Management