<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    [轉(zhuǎn)] XPDL parser

    轉(zhuǎn)自:http://blog.csdn.net/windsails/archive/2005/03/03/309851.aspx

    XPDL作為一種由WfMC提出來的比較規(guī)范的工作流描述語言,很好的解決了工作流的定義的問題,也就是WfMC提出的工作流參考模

    型中的接口一,此外,對于工作流的核心而言,如何解釋XPDL也是關(guān)鍵。

    JaWE是目前公認(rèn)的比較好的基于Java編寫的圖形化工作流定義工具,它使用的描述語言正是XPDL。如果你自己想做個簡單的工作

    流處理引擎,了解和解釋XPDL是關(guān)鍵的第一步,既然有了JaWE這個這么好的工具,而且它還是開源的,那么為什么不也利用它的

    函數(shù)庫來解釋XPDL呢?

    JaWE是一個開源的項目,最新的版本可以在http://jawe.objectweb.org下載。

    如果你只是利用它作為XPDL的解釋器的話,只需要以下的Java庫文件:
    jawexpdl.jar

    它同時需要幾個運行庫:
    xercesImpl.jar
    xml-apis.jar
    jawelan.jar (如果不涉及中文的描述,可以不要)

    另外如果想直接用JaWE的一些現(xiàn)成的圖形化工具庫,則需要jawe.jar

    下面是個簡單的代碼例子;

    package org.aas.readXPDL;

    import org.enhydra.jawe.xml.*;
    import org.enhydra.jawe.xml.elements.*;
    import java.util.*;

    /**
     * @author Jonathan
     * @version v0.1
     * Main: TODO To declare the description of this type
     */
    public class Main {

        public static void main(String[] args) {
            XMLInterfaceForJDK13 xml = new XMLInterfaceForJDK13();
            String strFilename = "XXX.xpdl";
            int i = 0;
            XMLElement subElement = null;
            if (xml.doesPackageFileExists(strFilename))
            {
                System.out.println("OK!!!");         
                org.enhydra.jawe.xml.elements.Package pkg = xml.openPackage(strFilename,false);
                // pkg = xml.getPackageByFilename(strFilename);
                // System.out.println("Version:" + pkg.getVersion());
                System.out.println("ElementCount:" + pkg.getElementsCount());
                System.out.println("Is made by JaWE:" + pkg.isMadeByJaWE());
                System.out.println("Package to string:" + pkg.toString());
                System.out.println("ID:" + xml.getIDFromFile(strFilename));
                System.out.println("Current Version:" + pkg.getCurrentVersion());
                System.out.println("Package ID:" + pkg.get("Id"));
                System.out.println("package Name:" + pkg.get("Name"));
               
                // 讀取頭信息
                System.out.println(" --- 頭信息 ---");
                PackageHeader pkgh = (PackageHeader)pkg.get("PackageHeader");
                System.out.println("Header ElementCount:" + pkgh.getElementsCount());
                List pkghList = pkgh.getChildElements();
                for (i=0;i<pkghList.size();i++)
                {
                    subElement = (XMLElement)pkghList.get(i);
                    Object value = subElement.toValue();
                        System.out.println("No." + i + " : " + subElement.toName()
                           + "[" + subElement.toLabel() + "]  "
                           + value);                        
                }
               
                // 獲取WorkflowProcesses
                WorkflowProcesses wfps = (WorkflowProcesses)pkg.get("WorkflowProcesses");
                System.out.println("WorkflowProcesses Number: " + wfps.size());
                Collection wfpList = wfps.toCollection();
                Iterator itor = wfpList.iterator();
                while(itor.hasNext())
                {
                    WorkflowProcess wfp = (WorkflowProcess)itor.next();               
                    System.out.println(wfp.get("Name"));
                    System.out.println(wfp.get("Id"));
                }
                xml.closeAllPackages();
            }
            else
                System.out.println("Error when open the file!");
        }
    }

    熟悉XML操作的朋友一定覺得很簡單吧?
    XPDL的各個元模型元素在JaWE中都定義成了對象,可直接使用,十分方便。

    posted on 2008-03-24 19:43 hijackwust 閱讀(1425) 評論(0)  編輯  收藏


    只有注冊用戶登錄后才能發(fā)表評論。


    網(wǎng)站導(dǎo)航:
     
    <2008年3月>
    2425262728291
    2345678
    9101112131415
    16171819202122
    23242526272829
    303112345

    導(dǎo)航

    統(tǒng)計

    常用鏈接

    留言簿(6)

    隨筆檔案(57)

    友情鏈接

    搜索

    最新評論

    閱讀排行榜

    評論排行榜

    主站蜘蛛池模板: 久久亚洲国产成人精品性色| 情人伊人久久综合亚洲| 亚洲免费网站在线观看| 91青青国产在线观看免费| 亚洲AV日韩AV永久无码久久| 精品国产污污免费网站| 亚洲Av永久无码精品三区在线| 在线观看免费视频网站色| 久久精品国产亚洲沈樵| 国产在线精品免费aaa片| 亚洲AV日韩AV鸥美在线观看| 一区二区免费视频| 亚洲综合激情九月婷婷| a拍拍男女免费看全片| 亚洲啪啪免费视频| 日韩精品视频免费网址| 青青免费在线视频| 亚洲午夜久久久久久久久电影网| 99久久99这里只有免费的精品| 亚洲成人午夜在线| 日韩吃奶摸下AA片免费观看| 国产亚洲视频在线观看| 国产亚洲精品线观看动态图| 久久久久免费精品国产小说| 亚洲人成综合在线播放| 国产无遮挡吃胸膜奶免费看视频 | 亚洲成av人片在线观看天堂无码| 特级无码毛片免费视频| 久久99国产亚洲高清观看首页 | 丰满人妻一区二区三区免费视频| 亚洲AV永久无码精品水牛影视| AV无码免费永久在线观看| 日日摸日日碰夜夜爽亚洲| 好看的电影网站亚洲一区| 成人黄色免费网站| 野花视频在线官网免费1| 久久久久无码精品亚洲日韩| 好爽…又高潮了免费毛片| 精品多毛少妇人妻AV免费久久| 亚洲精品456在线播放| 免费观看日本污污ww网站一区|