<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是一個開源的項(xiàng)目,最新的版本可以在http://jawe.objectweb.org下載。

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

    它同時需要幾個運(yùn)行庫:
    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 閱讀(1414) 評論(0)  編輯  收藏


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


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

    導(dǎo)航

    統(tǒng)計

    常用鏈接

    留言簿(6)

    隨筆檔案(57)

    友情鏈接

    搜索

    最新評論

    閱讀排行榜

    評論排行榜

    主站蜘蛛池模板: 亚洲欧洲自拍拍偷午夜色| 国产av天堂亚洲国产av天堂| 亚洲福利一区二区| 久久99毛片免费观看不卡| a级亚洲片精品久久久久久久| 男女猛烈无遮掩视频免费软件| 国产一级大片免费看| 亚洲国产av玩弄放荡人妇| 四虎影视免费在线| 激情小说亚洲图片| 中文字幕精品无码亚洲字| aa毛片免费全部播放完整| 久久精品国产亚洲麻豆| 99re在线免费视频| 亚洲人成网站在线观看播放动漫 | 色欲色欲天天天www亚洲伊| 国产大片线上免费看| www在线观看免费视频| 国产亚洲高清不卡在线观看| 日韩人妻无码精品久久免费一| 亚洲人成影院77777| 麻豆国产精品入口免费观看| 春暖花开亚洲性无区一区二区| 免费h黄肉动漫在线观看| 中文字幕av免费专区| 亚洲熟妇av一区二区三区下载| 毛片免费观看网址| 日本免费精品一区二区三区| 国产亚洲欧洲精品| 野花高清在线观看免费3中文| 真人无码作爱免费视频| 日本红怡院亚洲红怡院最新| 国产h肉在线视频免费观看| 亚洲AV无码一区二区三区电影 | 69式国产真人免费视频| 特级毛片免费播放| 亚洲Av永久无码精品三区在线| 18禁网站免费无遮挡无码中文| 校园亚洲春色另类小说合集| 亚洲AV日韩AV永久无码下载| 免费看片免费播放|