專利名稱:使用資源有限的設(shè)備處理電子表單的方法和設(shè)備的制作方法
技術(shù)領(lǐng)域:
本發(fā)明一般而言涉及數(shù)據(jù)處理。具體來說,本發(fā)明涉及在諸如因特網(wǎng)的計算機網(wǎng)絡(luò)上處理電子表單的基于XML的可伸縮表單引擎。
表單,無論是紙做的還是網(wǎng)頁,表示了結(jié)構(gòu)化的數(shù)據(jù)交流。在因特網(wǎng)環(huán)境中,表單是使用戶能夠與網(wǎng)絡(luò)服務(wù)器交互的一種簡單方式。一個人有許多理由選擇使用表單。最簡單的表單通常被創(chuàng)建用以從用戶那里征求反饋。更復(fù)雜的表單允許用戶核對他們的銀行帳戶余額,購買飛機票,和檢查它們的電子郵件。在網(wǎng)絡(luò)上,表單已經(jīng)成為用于搜索引擎,投票,調(diào)查,電子商務(wù),甚至還有在線申請的尋常事情。
目前,基于表單的XHTML(extensible hypertext markup language,可擴展超文本標(biāo)記語言)被用于獲取用戶的輸入。通過使用XHTML表單,用戶可以訪問網(wǎng)頁,向該頁添加信息,并把該頁提交到網(wǎng)絡(luò)服務(wù)器。一個電子商務(wù)方面的非常簡單的例子是在用戶為了從購物列表中訂購物品而填寫XHTML表單的時候。
圖1舉例說明了一個允許客戶數(shù)據(jù)被發(fā)送到服務(wù)器的示范XHTML表單的XHTML代碼。輸入元素10-12收集來自用戶的文本表單中的數(shù)據(jù)。該數(shù)據(jù)然后被表單元素(未畫出)指示發(fā)送到URL(Uniform ResourceLocator,統(tǒng)一資源定位)以便被處理。該URL指向準(zhǔn)備處理該數(shù)據(jù)的服務(wù)器應(yīng)用程序。例如圖1中顯示出的那樣,一個使用XHTML表單來在網(wǎng)絡(luò)上定制物品的缺點是越來越復(fù)雜的事務(wù)(transaction)開始超出XHTML表單的局限。隨著網(wǎng)絡(luò)上電子商務(wù)的增長,提供更復(fù)雜的方式來交換數(shù)據(jù)的需要也同樣增長。例如,公司A可能需要向公司B下達(dá)一個購買訂單。然而,公司A可能想要在交易中加入一些條件。沒有通用的語言,這個過程變得困難并且需要復(fù)雜的編程。除了數(shù)據(jù)交流上的局限,關(guān)于現(xiàn)在的XHTML表單還有其他的擔(dān)心,例如,達(dá)不到將數(shù)據(jù)和表示分離?,F(xiàn)在的表單控件將表示與相關(guān)的數(shù)據(jù)緊密的結(jié)合在了一起。盡管對于簡單的表單這也許不會引起嚴(yán)重的問題,例如圖1中的那個,但當(dāng)需要復(fù)雜的表單來為較大的公司推動電子商務(wù)的時候,它就會變得麻煩。
因為表單繼續(xù)成為網(wǎng)絡(luò)的重要部分,表現(xiàn)為許多網(wǎng)站使用的交互性的首要工具,網(wǎng)絡(luò)應(yīng)用程序和電子商務(wù)解決方案已經(jīng)引發(fā)了關(guān)于具有更豐富交互性的更好的網(wǎng)絡(luò)表單的需求。為了處理這個需求,W3C(worldwideweb consortium,世界網(wǎng)絡(luò)協(xié)會)已經(jīng)提出一種新的表單的三部分標(biāo)準(zhǔn),被稱為XForms1.0,它基于XML(extensible markup language,可擴展標(biāo)記語言)。XForms1.0允許為了在XForms處理器和遠(yuǎn)程實體之間在線交互創(chuàng)建新的與平臺無關(guān)的標(biāo)記語言。XForms是XHTML表單的繼任者,并且從XHTML表單多年的實踐經(jīng)驗吸取的教訓(xùn)中獲益。關(guān)于XForms的更多細(xì)節(jié)可以在發(fā)布于http//www.w3.org/MarkUp/Forms的“XForms-下一代網(wǎng)絡(luò)表單(XForms-the Next Generation of WebForms)”(W3C5/10/2002),和發(fā)布在www.w3.org/TR/xforms的“XForms1.0”(W3CWorking Draft,2002年1月18日)上找到,他們都作為參考在此引入。XForms代表了網(wǎng)絡(luò)上的下一代表單。為了使用戶克服前面提到的根據(jù)表單的XHTML的擔(dān)心,Xforms的一個主要目的是把數(shù)據(jù)從數(shù)據(jù)表示中分離出來。XForms將可以把用戶接口從數(shù)據(jù)和邏輯中分離出來,理論上用戶被允許在計算機桌面、個人數(shù)字助理(PDA,personal digitalassistant)、或手機上完成同樣的表單,如果這些設(shè)備具有足夠的內(nèi)存和處理能力。
XForms將能夠提供更豐富的并且與表示無關(guān)的處理交互網(wǎng)絡(luò)事務(wù)的方式。通過把傳統(tǒng)的XHTML表單分為三部分——數(shù)據(jù)模型,實例數(shù)據(jù),和用戶界面(表示)--XForms通過將表單的數(shù)據(jù)和邏輯從它的表示中分離出來克服了基于表單的XHTML前面陳述的局限。在這種方式中,表單數(shù)據(jù)可以獨立于最終用戶如何與應(yīng)用程序交互來被定義。這允許了靈活的表示選擇。
圖2一般地舉例說明了XForms的表示從數(shù)據(jù)和邏輯的分離,并更具體的舉例說明了被參考為XForms數(shù)據(jù)模型22的,定義了單個模型項目(model item),約束(constraint)和其他XForms運行時方面的單獨的設(shè)備無關(guān)的XML不可見表單——如何能夠工作在多種標(biāo)準(zhǔn)或私有的用戶接口上,諸如XForms用戶接口24,可擴展超文本標(biāo)記語言(XHTML,extensible hypertext markup language)接口26,無線標(biāo)記語言(WML,wireless markup language)接口27和其他私有接口28。
一種基于推薦的XForms1.0的XForms引擎為促進(jìn)XML文檔的處理服務(wù)并且被配置成與全部推薦的XForms1.0兼容,而且因此需要相關(guān)的大型軟件組件。傳統(tǒng)XForms引擎的一個缺點是,給定了它們的大小,它們不能很好的適合在特性為具有有限的處理能力和內(nèi)存的“精簡型”設(shè)備上使用。例如,這種精簡型設(shè)備可能包括個人數(shù)字助理(PDAs,personaldigital assistants),手機,置頂盒或者其他因特網(wǎng)可用的“精簡型”處理設(shè)備。
因此,一種需求為基于W3C XForms1.0子集的XForms引擎而存在,那就是適合在“精簡型”設(shè)備使用能夠克服那種設(shè)備的處理和內(nèi)存局限的特性。
本發(fā)明通過提供一種適合在“精簡型”設(shè)備,也就是具有有限處理和內(nèi)存約束的設(shè)備中使用的可伸縮的XForms引擎,解決了一個或多個上面確定的現(xiàn)有技術(shù)中的問題。該可伸縮的XForms引擎,在此稱為微XForms引擎,在它并入了的W3C(worldwide web consortium,世界網(wǎng)絡(luò)協(xié)會)XForms1.0的指定的子集的意義上是可擴展的,該指定的子集適用于精簡型設(shè)備的處理和內(nèi)存的約束。
依照該發(fā)明的一個方面,基于XML的電子表單通過將本發(fā)明的微XForms引擎合并在該精簡型設(shè)備上的有限的內(nèi)存中,被制作成適應(yīng)由所謂的具有有限處理和存儲能力的“精簡型“設(shè)備的處理。
依照本發(fā)明處理電子表單的一種方法包括如下步驟使用基于全部XFroms1.0的指定子集的XForms引擎處理可擴展標(biāo)記語言(XML,extensible mark-up language)文檔(也就是電子表單);和利用處理步驟的結(jié)果來輸出合法的XForms實例文檔(也就是合法的完整的電子表單)。
一種實現(xiàn)本發(fā)明的系統(tǒng)包括至少一個網(wǎng)絡(luò)服務(wù)器(例如電子貿(mào)易商)來與一個或多個在“精簡型“設(shè)備內(nèi)存中合并了微XForms引擎的“精簡型”設(shè)備通信,來處理接收到的基于XML的電子表單。
有利地是,本發(fā)明允許內(nèi)存受約束的“精簡型“設(shè)備和其他類型的內(nèi)存受約束的因特網(wǎng)可用的設(shè)備通過實現(xiàn)推薦的Xform1.0工作標(biāo)準(zhǔn)的為特別的精簡型設(shè)備的內(nèi)存能力而擴展的子集來處理基于XML的電子表單??缮炜s性是依照精簡型設(shè)備的內(nèi)存和其他約束來實現(xiàn)的,其可以使該精簡型設(shè)備通過有效率的方式來處理基于XML的電子表單。本發(fā)明可適合在將來的XForms標(biāo)準(zhǔn)版本上使用也是本發(fā)明的預(yù)期之一。
因為本發(fā)明的微XForms引擎來源于推薦的XForms1.0的子集,它是基于XML的,它仍保留了XML帶來的可擴展的好處。那就是,該微XForms引擎允許電子表單生成的表示方面與該表單的數(shù)據(jù)和邏輯中分離開來,進(jìn)而提供了數(shù)據(jù)的無關(guān)性。同樣的,微XForms引擎適合于在種類寬廣的用戶平臺上使用,包括“精簡型“設(shè)備,因為數(shù)據(jù)模型沒有被與它的表示相綁定。例如,電子表單可以在PC上通過HTML用戶接口來顯示和填充,同時同樣的表單可在以包括具有WML用戶接口的手機或含有支持語音識別或手寫識別的用戶接口的精簡型設(shè)備在內(nèi)的類型寬廣的”精簡型“設(shè)備來呈現(xiàn)和填充。無論使用哪種平臺來顯示電子表單,該微XForms引擎提供了設(shè)備無關(guān)性從而確?;A(chǔ)(underlying)XML應(yīng)用程序可以依賴來自表單的有效的輸入而不管使用的用戶接口。本質(zhì)上,本發(fā)明的微XForms引擎利用基于基礎(chǔ)XML的應(yīng)用程序和表示(也就是用戶界面)之間的解耦合并且使用基于XML的應(yīng)用程序的子集以使精簡型系統(tǒng)可以處理XForm。
本發(fā)明被進(jìn)一步通過例子的方式和參考附圖來解釋,其中,圖1依照現(xiàn)有技術(shù)說明了用于顯示允許用戶數(shù)據(jù)被發(fā)送到服務(wù)器的XHTML表單的XHTML代碼;圖2依照現(xiàn)有技術(shù)的實施例說明了基于XML的電子表單處理系統(tǒng)中表單從表示中的分離;圖3顯示了本發(fā)明的微XForms引擎可以被實現(xiàn)的處理設(shè)備的例子;圖4顯示了基于因特網(wǎng)的通信系統(tǒng)的例子,其中,本發(fā)明的微XForms引擎可以被實現(xiàn);圖5a顯示了包含一些基于完整的XML的標(biāo)準(zhǔn)的XForms棧,依照現(xiàn)有技術(shù)來構(gòu)造;圖5b顯示了包含一些基于簡化的XML的標(biāo)準(zhǔn)的XForms棧,依照本發(fā)明的理論來構(gòu)造;圖6說明了在因特網(wǎng)網(wǎng)絡(luò)環(huán)境中實現(xiàn)的本發(fā)明的微XForms引擎;圖7是數(shù)據(jù)流表,說明了與在精簡型設(shè)備中接收電子表單建立XForms模型相關(guān)聯(lián)的數(shù)據(jù)流;圖8是XPath綁定如何被實現(xiàn)以用于將UI(user interface,用戶接口)輸入字段綁定到XPath表達(dá)式的說明性的例子。
圖3顯示了處理設(shè)備30的例子,其中,本發(fā)明微XForms引擎可以被實現(xiàn)。設(shè)備30包括在一個或多個系統(tǒng)總線的集合35上的至少一部分上通信的處理器32和內(nèi)存34。同樣也利用了一個或多個系統(tǒng)總線的集合35上的至少一部分的是顯示器36和一個或多個輸入/輸出(I/O,input/output)設(shè)備38。處理設(shè)備30可以代表“精簡型“設(shè)備,該“精簡型“設(shè)備被配置來促進(jìn)在使用諸如IP(Internet Protocol,因特網(wǎng)協(xié)議)的眾所周知的協(xié)議的無線或有線網(wǎng)絡(luò)或兩者的綜合上的電子商務(wù)活動。例如,這樣的精簡型設(shè)備可以包括無線電話,個人數(shù)字助理(PDA,personal digital assistant),便攜式計算機,智能遠(yuǎn)程控制,或其他類型的處理設(shè)備。所謂的精簡型設(shè)備表現(xiàn)為它們通常有有限的計算能力和內(nèi)存。
設(shè)備30的元件可以是這種設(shè)備的傳統(tǒng)元件。例如,處理器32可以是微處理器,中央處理器(CPU,central processing unit),數(shù)字信號處理器(DSP,digital signal processor),或特定用途集成電路(ASIC,application-specific integrated circuit),和它們以及其他處理設(shè)備的部分或組合。內(nèi)存34是典型的電子內(nèi)存,但是可以包含或包括其他類型的存儲設(shè)備,例如光盤或磁盤存儲器。
在這里描述的本發(fā)明的微XForms引擎可以全部或部分的分別使用設(shè)備30中的內(nèi)存34和處理器32元件存儲和執(zhí)行的軟件來實現(xiàn)。例如,微XForms引擎可以至少部分的使用一個或多個由內(nèi)存34存儲和由處理器32執(zhí)行的軟件程序來實現(xiàn)。軟件程序在諸如內(nèi)存34和處理器32的設(shè)備元件上被儲存和執(zhí)行的詳細(xì)的行為在技術(shù)上很容易理解,因此不在這里詳細(xì)描述。
應(yīng)該注意的是,設(shè)備30可以包括其他未圖示的元件,或者其它能夠提供這里描述的可伸縮的XForms處理功能的元件類型和排列。
圖4顯示了基于因特網(wǎng)通信系統(tǒng)40的例子,其中,本發(fā)明的微XForms引擎可以被實現(xiàn)。系統(tǒng)40包括通過因特網(wǎng)42與一些家庭44中的設(shè)備通信的網(wǎng)絡(luò)服務(wù)器46。網(wǎng)絡(luò)服務(wù)器46可以與電子貿(mào)易商(eMerchant)相關(guān)聯(lián)。代表性地,電子貿(mào)易商網(wǎng)絡(luò)服務(wù)器46負(fù)責(zé)商務(wù)邏輯和/或協(xié)調(diào)事務(wù),通過在因特網(wǎng)42上向家庭44中的設(shè)備發(fā)送基于XML的文檔49a-49e,來向其它處理設(shè)備(例如精簡型設(shè)備)提供服務(wù),它使用眾所周知的技術(shù),例如因特網(wǎng)協(xié)議(IP,Internet protocol)。
在這個實施例中家庭44的設(shè)備被裝備上本發(fā)明的微XForms引擎45或現(xiàn)有技術(shù)的基于完整XForms1.0的完整XForms引擎47。依照本發(fā)明的首要目的,微XForms引擎45被配置為使用在具有有限處理和/或內(nèi)存性能的精簡型設(shè)備上。更典型的,家庭44包括下列精簡型設(shè)備電視機46-1,視頻游戲控制機46-2,PDA設(shè)備46-3和置頂盒46-4,其中都分別裝備微XForms軟件引擎(XML SW)45-1到45-4。家庭44也可以包含包括音樂自動唱片電唱機46-5,音頻系統(tǒng)46-6,和PC 46-7在內(nèi)的非精簡型設(shè)備來接入到家庭網(wǎng)絡(luò)46-8。每個非精簡型設(shè)備被分別裝備了完整XForms軟件引擎(XML SW)47-5到47-7。此外,一個或多個精簡型設(shè)備46-1到46-4可以被按照圖3中顯示的方式來配置。
在因特網(wǎng)42上從網(wǎng)絡(luò)服務(wù)器46發(fā)送到家庭44中的XML文檔49a-e被使用相應(yīng)的XForms引擎45或47來處理。對于本發(fā)明的微XForms引擎45中的一個的情況,XML文檔49被使用完整的推薦XForms1.0的指定子集通過與相應(yīng)的精簡型設(shè)備的計算和存儲能力相適應(yīng)的方式來處理,進(jìn)而提供了本發(fā)明的可伸縮特色。
應(yīng)該注意的是,圖4的系統(tǒng)40中所示的具體排列和配置僅僅作為例子。在其它的實施例中,其它類型的網(wǎng)絡(luò)服務(wù)器,網(wǎng)絡(luò)和設(shè)備都可以被使用。那些本領(lǐng)域的技術(shù)人員將發(fā)現(xiàn)本發(fā)明的對于特定的精簡型設(shè)備可伸縮的微XForms引擎并不要求那些系統(tǒng)元件的任何特殊的安排和配置。
圖5a顯示的傳統(tǒng)XForms棧51包括一些基于XML的標(biāo)準(zhǔn),包括完整XML1.0標(biāo)準(zhǔn)51a給出的標(biāo)準(zhǔn),命名空間(Namespaces)標(biāo)準(zhǔn)51b,XPath1.0標(biāo)準(zhǔn)51c,模式1.0標(biāo)準(zhǔn)51d和完整的XForms1.0 51e。眾所周知,棧的配置圖解地傳達(dá)了出現(xiàn)在其它棧元素之上的棧元素是部分地從下面的棧元素所派生的思想。
圖5b顯示了簡化的XForms棧53,包括一些基于簡化規(guī)則集的XML的對應(yīng)圖5a中基于XML標(biāo)準(zhǔn)51a-e的標(biāo)準(zhǔn)。除了命名空間標(biāo)準(zhǔn)53b以外,棧53中舉例說明的每個標(biāo)準(zhǔn)代表了從圖5a的傳統(tǒng)XForms棧51中與它相對應(yīng)的標(biāo)準(zhǔn)派生而來的規(guī)則的指定子集。該簡化的或縮減的標(biāo)準(zhǔn)被作為方針用于開發(fā)本發(fā)明中用在所謂的精簡型設(shè)備中的微XForms引擎的可執(zhí)行代碼。
圖5a的傳統(tǒng)標(biāo)準(zhǔn)和圖5b的簡化標(biāo)準(zhǔn)在下面進(jìn)行描述。如同在前面指出的那樣,圖5b的簡化標(biāo)準(zhǔn)對由所謂的“精簡型”設(shè)備的具體處理和/或存儲能力的約束決定的不同實施例而各不相同。同樣的,微XForms引擎依照設(shè)備處理和存儲的約束是可伸縮的。
首先參考圖5a的棧51,顯示了一套完整的基于XML的標(biāo)準(zhǔn)。從最低的棧層開始,顯示了標(biāo)注為元素51a的完整XML1.0標(biāo)準(zhǔn)。XML1.0標(biāo)準(zhǔn)51a定義了一種標(biāo)準(zhǔn)的方法用以將標(biāo)記添加到文檔中。完整的XML1.0工作標(biāo)準(zhǔn)51a并不定義語義集(semantics)也不定義標(biāo)簽集(tag set),而是定義了一種元語言(meta-language)(用于創(chuàng)建其它標(biāo)記語言的語言)。完整的XML1.0標(biāo)準(zhǔn)51a提供了一種工具來定義標(biāo)簽和它們之間的結(jié)構(gòu)關(guān)系。因為沒有預(yù)定義的標(biāo)簽集,也就沒有任何預(yù)先理解的語義。所有XML文檔的語義也將或者被處理它們的應(yīng)用程序定義,或者被樣式表(stylesheet)定義。其它關(guān)于完整XML1.0標(biāo)準(zhǔn)51a的細(xì)節(jié),可以在發(fā)布于http//www.w3.org/TR/REC-xml的“可擴展的標(biāo)記語言(XML,Extensible Markup Language)1.0(第二版)”(W3C recommendation6Oct.2000)中找到,將其完全引入作為參考。
現(xiàn)在參考圖5b,顯示了與圖5a的完整XML1.0標(biāo)準(zhǔn)51a的相應(yīng)的部分,標(biāo)注為簡化XML1.0標(biāo)準(zhǔn)53a。依照一個實施例,該簡化的XML1.0標(biāo)準(zhǔn)53a合并了從完整XML1.0標(biāo)準(zhǔn)51a中定義的39條規(guī)則中的11條規(guī)則。依照一個實施例,這些規(guī)則包括[1]document ∷=element*[2]element ∷=STag content ETag[3]Stag ∷=′<′QName(Attribute)+′>′[4]ETag ∷=′</′QName′>′[5]content ∷=element*|Char*[6]Attribute ∷=Name′=′′″′Char*′″′[7]Name ∷=NameChar*[8]NameChar ∷=Letter|Digit|′.′|′-′|′_′|′′[9]Letter∷=[A-Z]|[a-z][10]Digit∷=′0′|′1′|′2′|′3′|′4′|′5′|′6′|′7′|′8′|′9′[11]Char ∷=Letter|Digit|′!′|′#′|′$′|′%′|′(′|′)′|′*′|′+′|′,′|′-′|′.′|′/′|′′|′;′|′=′|′?′|′@′|′[′|′\′|′]′|′^′|′_′|′`′|′{′|′}′|′~′[12]Qname::=(Name′′)?Name。
使用圖5b的簡化的XML1.0標(biāo)準(zhǔn)53a提供了超出使用完整XML1.0標(biāo)準(zhǔn)51a的優(yōu)點,包括避免不必要的解析,提供更小的內(nèi)存足印(footprint),運行時需要更少的內(nèi)存和避免使用實體或?qū)嶓w引用。
再次參考圖5a,顯示了完整的XML命名空間標(biāo)準(zhǔn)51b。該命名規(guī)則51b被創(chuàng)建以解決XML中當(dāng)不同的標(biāo)記語言中有的元素和屬性取了相同名字時的問題。一個潛在的命名沖突的例子可以發(fā)生在當(dāng)一個文檔中使用“part”元素來描述”part books”,而同時另一個XML文檔使用“part”元素來描述”part cars”的時候。XML命名空間標(biāo)準(zhǔn)51b試圖通過擴展數(shù)據(jù)模型以便允許元素類型名和屬性名適合于URI(uniform resourceidentifier,統(tǒng)一資源標(biāo)識)來改進(jìn)這種情形,從而去除不確定性(ambiguity)。URI賦予本地名字全局標(biāo)識來去除在像網(wǎng)絡(luò)這種分布環(huán)境中的混淆。其它命名空間的細(xì)節(jié)可以在發(fā)布于http//www.w3.org/TR/REC-xml-names的“XML中的命名空間(Namespacein XML)”(W3C 14 Jan.99)中找到,在此引入作為參考。由于完整的命名空間標(biāo)準(zhǔn)51b的極小的內(nèi)存足印,本發(fā)明完全合并了未加修改的命名空間標(biāo)準(zhǔn)51b(參看完整命名空間標(biāo)準(zhǔn)53b)。
再次參考圖5a,顯示了完整的XPath1.0標(biāo)準(zhǔn)51c。該完整的XPath1.0標(biāo)準(zhǔn)51c定義了一種XML用于定位XML文檔中的各部分的XML路徑語言(XML path language),設(shè)計為供允許并給予了將XML中標(biāo)記出的信息從一個字符集轉(zhuǎn)換到另一個的能力的XSLT和XPointer使用,。其它關(guān)于可擴展XPath1.0標(biāo)準(zhǔn)51c的細(xì)節(jié)可以從發(fā)布于http//www.w3.org/TR/xpath的“XML路徑語言(XPath)版本1.0”(W3CRecommendation 16 Nov.1999)找到,在此引入作為參考。
現(xiàn)在參考圖5b,顯示了與完整XPath1.0標(biāo)準(zhǔn)51c相對應(yīng)的部分,引用為簡化的XPath1.0標(biāo)準(zhǔn)53c。雖然完整的XPath1.0標(biāo)準(zhǔn)包含大約39條規(guī)則,而依照一個實施例,簡化的XPath1.0標(biāo)準(zhǔn)53c合并了從完整的XPath1.0標(biāo)準(zhǔn)51c定義的完整規(guī)則集中派生的下列子集Selector ∷=Path(′|′Path)*[2]Path ∷=′/′(Step(′/′|′//′))*(Step(Number)?|′@′NameTest)[3]Step ∷=′.′|(NameTest |′child∷′NameTest)(′[′Digits′]′)?[4]NameTeat ∷=QName|′*′|NCName′′′*′[5]QName ∷=(NCName′′)?NCName[6]NCName∷=(Letter|′_′)Char[7]Digits∷=
+[8]Letter∷=[A-Z]|[a-z][9]Char ∷=Letter|Digit |′!′|′#′|′$′|′%′|′(′|′)′|′*′|′+′|′,′|′-′|′.′′/′|′′|′;′|′=′ |′?′|′@′|′[′|′\′|′]′|′^′|′_′|′`′ |′{′|′}′|′~′。
上面定義的規(guī)則子集的目標(biāo)僅僅是定位一系列節(jié)點。為了定位節(jié)點,強加了下列限制(1)唯一可用的軸(axis)是子(child)軸,(2)謂詞(predicate)的數(shù)量是1或者0,(3)如果謂詞存在,那么謂詞表達(dá)式(也就是PredicateExpr)必須是指向必須能在節(jié)點集中找到的節(jié)點的位置的整數(shù),并且(4)沒有XPath函數(shù)(也就是不能使用數(shù)學(xué)或字符串操作)。
引入上述的簡化規(guī)則集提供了超過使用完整規(guī)則集的優(yōu)點。僅使用孩子(child),后裔和屬性軸代替完整的XPath1.0標(biāo)準(zhǔn)51c中的13個坐標(biāo),并且僅使用數(shù)字作為謂詞,代替了表達(dá)式或函數(shù),導(dǎo)致了XPath軟件內(nèi)存足印的較大減少,而且保留了XPath需要的大部分能力。
再次參考圖5a,顯示了完整的XML模式1.051d。完整的XML模式1.0包括兩部分XML模式第一部分的規(guī)范和XML模式第二部分的規(guī)范。XML模式第二部分的規(guī)范被稱為XML模式數(shù)據(jù)類型,并且它定義了定義在XML模式中和其他XML規(guī)范中使用的數(shù)據(jù)類型的工具。
一般而言,模式允許其準(zhǔn)確性XML文檔被機器驗證。換句話說,模式一旦被構(gòu)造,就允許XML應(yīng)用程序處理文檔并確定它是否符合模式中設(shè)置的約束集。因此,模式的另一個名字是數(shù)據(jù)模型。XML模式由例如類型定義和元素聲明的組件組成,。這些可以被用來評定結(jié)構(gòu)良好的元素和屬性信息項的合法性,并且此外還可以指定到這些項和它們的后裔的擴充。其它關(guān)于完整的模式1.0標(biāo)準(zhǔn)51d的細(xì)節(jié)可以在發(fā)布于http//www.w3.org/TR/xmlschema-2/的“XML模式第二部分?jǐn)?shù)據(jù)類型”(W3C Recommendation 02 May.2001)找到,在此引入作為參考。
現(xiàn)在參考圖5b,顯示了與圖5a的完整的XML模式1.0標(biāo)準(zhǔn)51d相對應(yīng)的部分,標(biāo)注為簡化的模式1.0標(biāo)準(zhǔn)53d。依照一個實施例,簡化的模式1.0標(biāo)準(zhǔn)53d僅包括與數(shù)據(jù)類型相關(guān)的XML模式第二部分規(guī)范的子集。因而,在實施例中,簡化的模式1.0標(biāo)準(zhǔn)53d僅合并了“Integer”和“String”數(shù)據(jù)類型來實施XML文檔的驗證。使用簡化模式1.0標(biāo)準(zhǔn)53d的首要優(yōu)點是它提供了小得多的內(nèi)存足印。在實施例中,沒有包括在簡化模式標(biāo)準(zhǔn)53d中的數(shù)據(jù)類型的例子有double,float,duration,date,dateTime,time,gYearMonth,gYear,gMonthDay,gDay,gMonth,Boolean,base65binary,hexBinary,QName,NOTATION和anyURI。需要注意的是因為沒有包括全部范圍的數(shù)據(jù)類型,一些功能被犧牲了。例如,沒有合并‘date’數(shù)據(jù)類型失去了在該字段上執(zhí)行加法和/或減法操作的能力。然而像指出的那樣,明智的減小內(nèi)存足印允許精簡型設(shè)備支持XForms并保留足夠的功能。再次參考圖5a,在棧的頂部顯示了完整的XForms1.0 51e。如圖所示,由于在棧的頂端,完整的XForms1.0 51e被部分地從每個棧51中在下面的標(biāo)準(zhǔn)派生。完整的XForms1.0 51e提供了分別描述把表單做什么和把表單怎么呈現(xiàn)給用戶的能力。這允許了靈活的表達(dá)選擇,使用于經(jīng)典的XHTML表單控件,和諸如WML的其它表單控件集的方法成為可能。XForms允許建立新的平臺無關(guān)的標(biāo)記語言用于在XForms處理器和遠(yuǎn)程實體之間在線交互。關(guān)于完整的XForms1.0 51e的細(xì)節(jié)可以在上面引用的2002年1月18日XForms1.0 Working Draft,http//www.w3.org/TR/xforms/上找到?,F(xiàn)在參考圖5b,顯示了與完整的XForms1.0 51e相對應(yīng)的部分,引用為簡化的XForms1.0 53e。依照棧的繼承組織結(jié)構(gòu),簡化的XForms1.0 53e部分地被從每個示出的下面標(biāo)準(zhǔn)派生。因此,簡化的XForms1.0 53e合并棧53中下面的簡化標(biāo)準(zhǔn)的限制,例如,如為上面實施例描述的那樣。除了從下面標(biāo)準(zhǔn)中合并的限制以外,簡化的XForms1.0 53e作為一種簡化的規(guī)則集從完整的XForms1.053e中派生。該簡化的規(guī)則集包括有限數(shù)量的約束,包括靜態(tài)約束(staticconstraint),模式約束(schema constraint),表單控件約束(formcontrol constraint)和動作約束(action constraint)。每個約束類型將在下面更詳細(xì)的描述。
靜態(tài)約束被用于定義Xforms模型的規(guī)則(regulation)并且定義施加在結(jié)果XForms實例文檔上的限制。一些包含在簡化XForms1.0 53e中的靜態(tài)約束的例子包括type,required,minOccurs,maxOccurs,isValid,calculate和enumeration。模式約束被合并入簡化的標(biāo)準(zhǔn)來定義XForms模型65(圖6)中每個元素的細(xì)節(jié)。合并的模式約束的例子是名字字符串的字符數(shù)必須大于一的要求。合并入簡化的XForms1.0 53e的約束的第三種類型與表單控件相關(guān)。在一個實施例中,只有“input”和“output”表單控件被合并入簡化的XForms1.0 53e之中。在簡化的標(biāo)準(zhǔn)中,“輸入”表單控件被包括在內(nèi)以便許可像名(first name)這樣的一行字段的條目并且“輸出”表單控件被包括在內(nèi)以便呈現(xiàn)已經(jīng)填在表單的字段中的信息,例如,在地址表單中缺省的國家字段。最后被合并入簡化XForms1.0 53e的約束類型與動作相關(guān)。在一個實施例中,“submitInstance”被用于提交XForms的數(shù)據(jù)實例(也就是Xfroms模型的填寫好樣式)。
使用簡化的XForms1.0 53e提供了具有用比完整的XForms1.0 51e小的實現(xiàn)來覆蓋較廣范圍的表單的能力的優(yōu)點。
處理電子表單圖6顯示了本發(fā)明在因特網(wǎng)網(wǎng)絡(luò)環(huán)境的實現(xiàn)。在這個例子中,本發(fā)明的微XForms引擎61被存儲在精簡型設(shè)備68的內(nèi)存中,該精簡型設(shè)備68可以是,例如PDA或手機。該微XForms引擎61被顯示為由三個組成軟件組件構(gòu)成,簡化的XPath軟件組件61a,輕量級模式軟件組件61b和XML解析軟件組件61c。需要注意的是,每個組成微XForms引擎61的軟件組件61a-61c代表遵守由一個或多個在圖5b的棧53中顯示出的簡化的標(biāo)準(zhǔn)定義的有限的規(guī)則集的可執(zhí)行代碼。
本發(fā)明的微XForms引擎61被配置以使用在像因特網(wǎng)這樣的網(wǎng)絡(luò)上用精簡型設(shè)備處理電子表單。下列描述被做為包括在在因特網(wǎng)中在精簡型設(shè)備上使用本發(fā)明的微XForms引擎61處理電子表單的步驟的示例說明而提供的。
繼續(xù)參考圖6,與電子貿(mào)易商關(guān)聯(lián)的網(wǎng)絡(luò)服務(wù)器62,在因特網(wǎng)63上把基于XML的電子表單DOC1 64傳送到包含微XForms引擎61的精簡型設(shè)備68。該精簡型設(shè)備68在四個階段里處理接收到的電子表單DOC1 64。處理電子表單的階段包括向用戶顯示表單,由用戶填寫該被顯示的表單,驗證填寫好的表單,和把表單提交回發(fā)信方(也就是網(wǎng)絡(luò)服務(wù)器62)。每個階段在隨后描述顯示電子表單依據(jù)在精簡型設(shè)備68上從網(wǎng)絡(luò)服務(wù)器62接收的XML文檔DOC1 64,微XForms引擎61被分配在顯示階段的第一部分創(chuàng)建XForms模型65和在這個階段的第二個部分顯示該XForms用戶接口66的任務(wù)。微XForms引擎61提供一種普通的接口來動態(tài)的把任何用戶接口(UI,userinterface)66與XForms模型65相綁定。因為微XForms引擎61是基于XML技術(shù),它把表單(也就是DOC1 64)的數(shù)據(jù)和邏輯從它的表示中分離出去。顯示被用戶接口66控制并且數(shù)據(jù)和邏輯被XForms模型65控制。使用這個方法,表單可以獨立于最終用戶如何與表單交互而被定義。需要注意的是,用戶接口66不是在精簡型設(shè)備68上的輕量的或被剝離的版本。而是,它代表一些用于精簡型設(shè)備的用戶接口中的一個,其在技術(shù)上眾所周知,例如包括,WML接口,語音激活接口,手寫接口,手寫識別接口,或者HTML接口。因為XForms將表示從下面的表單數(shù)據(jù)和邏輯分離出去,無論設(shè)備UI是怎樣,表示都是可以理解的。同樣的,由用戶接口66控制的顯示對本發(fā)明不重要因此不再進(jìn)一步地討論。
XForms模型65包括兩個組件,數(shù)據(jù)結(jié)構(gòu)組件65a和XForms擴展組件65b。數(shù)據(jù)結(jié)構(gòu)組件65a本質(zhì)上是從包含在傳送的文檔DOC1 64中的部分?jǐn)?shù)據(jù)所派生得到的數(shù)據(jù)模型。Xforms擴展組件65b是派生自傳輸文檔DOC1 64中的部分其它數(shù)據(jù),文檔DOC1 64包含一個或多個約束和/或用于聯(lián)系派生數(shù)據(jù)模型的數(shù)據(jù)依賴。XForms模型65由微XForms引擎61從在精簡型的設(shè)備(也就是客戶端)上提供的數(shù)據(jù)構(gòu)造出來的,如下所述。然后,構(gòu)造好的數(shù)據(jù)結(jié)構(gòu)組件65a被依照模式進(jìn)行驗證,該模式是使該類型的文檔能被在電子貿(mào)易商和精簡型的設(shè)備間傳送的一套約束或規(guī)則。在當(dāng)前描述的實施例中,模式是簡化的模式1.0標(biāo)準(zhǔn)53d,它只包括XML模式第二部分規(guī)范的子集,如上所述。該XML模式第二部分的子集提供了多種數(shù)據(jù)類型,用戶提供的數(shù)據(jù)可以據(jù)其進(jìn)行驗證。例如,在包括年齡字段的表單中,模式可以指明年齡是三位非負(fù)整數(shù)。一旦構(gòu)造好的數(shù)據(jù)結(jié)構(gòu)組件65a根據(jù)模式被驗證,它被微XForms引擎61聯(lián)合XForms擴展組件65b使用,該擴展組件65b包括一些必須被許多數(shù)據(jù)字段遵守的約束,用以從用戶提供的輸入數(shù)據(jù)建立實例文檔67。一個可以由XForms擴展65b施加的靜態(tài)約束的例子是,“zip code”必須是5位數(shù)。可以施加的動態(tài)約束的例子是,如果病人指定了他的性別為男性,那么就不能指明他已懷孕。實例文檔67然后在將它提交回源服務(wù)器(也就是電子貿(mào)易商)之先被驗證,將在下面描述。
圖7是一般的流程圖用以舉例說明與通過微XForms引擎61的組件創(chuàng)建XForms模型65和創(chuàng)建XForms實例文檔67相關(guān)聯(lián)的步驟。顯示電子表單的處理開始于接收到的XML文檔DOC164由輕量的SAX解析器61d解析,該SAX解析器61d是XML解析器61c的軟件組件之一,而XML解析器61c依次是微XForms引擎61的軟件組件。SAX,代表“簡單應(yīng)用程序編程接口(simple application programming interface)”或“簡單API”,是為通過基于事件的架構(gòu)解析XML文檔而設(shè)計的標(biāo)準(zhǔn)編程接口。也就是說,SAX是一種類型的事件回調(diào)(call back)接口,藉此應(yīng)用程序開發(fā)人員實現(xiàn)一套“回調(diào)”方法或例行程序,每個對應(yīng)一種在解析XML文檔實例的過程中可能發(fā)生的事件。本質(zhì)上,SAX解析器提供了對在XML文檔中所有標(biāo)準(zhǔn)內(nèi)容上觸發(fā)的事件的支持。一個SAX解析器的功能是在XML文檔中讀并根據(jù)XML文檔中所面臨的事件觸發(fā)事件而不是對文檔內(nèi)容進(jìn)行操作。SAX事件響應(yīng)下列XML文檔內(nèi)容而被觸發(fā)打開或關(guān)閉元素標(biāo)簽,PCDATA和CDATA段,處理指示、注釋和實體的聲明。
仍然參考圖7,輕量級SAX解析器61d從解析接收到的文檔DOC1 64(也就是電子表單)中觸發(fā)SAX事件72。如上所述,輕量級SAX解析器61d是一種用于基于事件的解析XML文檔(例如,DOC1 64)的接口。輕量級SAX解析器61d是依照命名空間標(biāo)準(zhǔn)53b的完整規(guī)則集和簡化XML1.0標(biāo)準(zhǔn)53a的簡化規(guī)則集構(gòu)造的軟件模塊,如前面圖5b中所述。關(guān)于SAX的更多細(xì)節(jié)可以在http//www.megginson.com/SAX/index.html和那里嵌入的鏈接上找到,在此引入作為參考。
合并在XML解析器61c中的事件路由器73(但沒有在圖6中單獨畫出)最初捕獲由輕量級SAX解析器61d觸發(fā)的SAX事件72。把SAX事件72傳遞到輕量級模式組件61b或到輕量級DOM(Document Object Module,文檔對象模塊)處理程序61e或基于具體SAX事件內(nèi)容到用戶接口66,是事件路由器73的功能。需要注意的是,輕量級模式組件61b是依照簡化模式1.0標(biāo)準(zhǔn)53d的簡化規(guī)則集構(gòu)造的軟件模塊,如上面所述。需要進(jìn)一步注意的是,輕量級DOM處理程序61e負(fù)責(zé)XForms實例文檔67的構(gòu)造。輕量級DOM處理程序61e使用完整的命名空間標(biāo)準(zhǔn)53b,但是,因為實例文檔67是基于簡化的XML1.0標(biāo)準(zhǔn)53a和簡化的XForms 1.053e,輕量級DOM 61e最小化了為實例文檔67中的每個元素儲存的信息量。
在事件路由器73確定了負(fù)責(zé)處理給定的SAX事件的實體之后,該事件被傳遞到適當(dāng)?shù)膶嶓w。XForms模型65被基于傳遞到輕量級模式組件61b的事件而建造。XForms實例文檔67被基于傳遞到輕量級DOM解析器61e的事件而建造。這樣,如果合法的XForms文檔DOC164被做為輸入提供,在顯示步驟的結(jié)束,XForms模型65將已經(jīng)被構(gòu)造。否則,異常被觸發(fā)。
事件路由器73也發(fā)送為表示而接收到的SAX事件到UI66。需要注意,因為基于XML的表單的表示數(shù)據(jù)是從表單的數(shù)據(jù)和邏輯分離出去的,完整的表示被發(fā)送到精簡型設(shè)備UI66以便以適合該設(shè)備的方式來處理和顯示。
填寫電子表單在下一階段,用戶填寫表單的程序被執(zhí)行。當(dāng)用戶填寫顯示的XML文檔DOC1 64的UI輸入字段時,XForms實例文檔67中對應(yīng)元素的值也被改變。這因為每個UI輸入字段通過XPath綁定被鏈接到XPath表達(dá)式而發(fā)生的。XPath指出XML文檔(例如,DOC1 64)內(nèi)部的節(jié)點如何被訪問。一般來說,“綁定”通過使用做為定位器(locator)的綁定表達(dá)式把實例數(shù)據(jù)節(jié)點連接到表單控件或到模型項約束。
圖8是XPath綁定如何被識別以將UI輸入字段綁定到XPath表達(dá)式的說明性例子。在該圖例說明中,包含表達(dá)式“Octav”的文本框81與XForms數(shù)據(jù)實例85中的元素“名(firstname)”83通過使用XPath表達(dá)式“/name/firstname”相關(guān)聯(lián)。XPath是UI組件81和XForms數(shù)據(jù)實例85之間的綁定語言。
如上所述,關(guān)于本發(fā)明圖5b中微XForms引擎61的簡化XPath組件61a執(zhí)行XPath綁定操作來把XML文檔中相應(yīng)的數(shù)據(jù)實例節(jié)點與表單控件相連接。
驗證電子表單在填寫表單過程中的任何一點上,驗證程序都可以被啟動。驗證程序包括根據(jù)由微XForms引擎61構(gòu)造的XForms模型65檢查從XForms實例文檔中發(fā)現(xiàn)的信息。
如上所述,由于內(nèi)存約束的支持是僅僅為XML模式第二部分規(guī)范的子集而在輕量級模式組件61b中被提供的,它在以前被用來驗證XForms模型數(shù)據(jù)結(jié)構(gòu)組件65a。這樣,微XForms引擎61僅檢查Xform實例文檔67的特定元素的值是否對指定的數(shù)據(jù)類型是合法的。為了根據(jù)預(yù)先構(gòu)造的XForms模型65檢查XForms實例文檔67是否合法,下列步驟隨后進(jìn)行當(dāng)后序遍歷DOM樹時如果元素包含文本信息那么該信息被規(guī)格化,并且如果1)對于該元素,沒有指定數(shù)據(jù)類型,那么數(shù)據(jù)實例非法;2)對于該元素,指定了一種數(shù)據(jù)類型,那么XForms實例文檔根據(jù)定義在XForms模型中的類型約束被檢查。如果約束被滿足則繼續(xù)。否則,XForms實例文檔非法。
如果元素沒有孩子(樹上的葉子節(jié)點)那么它必須被指定類型。
如果沒有指定類型,那么XForms實例文檔非法。
如果所有節(jié)點被遍歷并且沒有發(fā)生錯誤,那么XForms實例文檔合法。
通過僅提供完整XML模式第二部分規(guī)范的子集來創(chuàng)建XForms模型65,根據(jù)它來檢查XForms實例文檔,存在創(chuàng)建非法的文檔的可能。然而,這一不期望情況發(fā)生的可能性是與通過只保存XML模式規(guī)范的有限子集來順應(yīng)精簡型設(shè)備的處理和內(nèi)存約束的能力來達(dá)到平衡的。
提交如上所述,XForms數(shù)據(jù)實例67在提交程序中被發(fā)送回網(wǎng)絡(luò)服務(wù)器62。任何眾所周知的數(shù)據(jù)傳輸協(xié)議都可被用來提交數(shù)據(jù)實例67。例如,HTTP和SOAP傳輸協(xié)議被一起使用。提交步驟不包括任何微XForms引擎61部分的動作,并且不再進(jìn)一步詳細(xì)討論。
從而顯示出本發(fā)明的微XForms引擎61使用在具有處理和內(nèi)存的需要被約束的特性的精簡型設(shè)備上的可伸縮性。同樣的,微XForms引擎61適合使用在較廣范圍的平臺上,例如包括個人數(shù)字助理(PDAs,personaldigital assistants),手機,置頂盒或者其它因特網(wǎng)可用的“精簡型”處理設(shè)備。
盡管本發(fā)明圖例示出的實施例在這里參考附圖被描述,應(yīng)該認(rèn)為本發(fā)明并不局限于那些明確的實施例,需要確切指明的是本發(fā)明的范圍被權(quán)利要求的范圍所定義。
權(quán)利要求
1.一種用于在具有有限的處理和存儲能力的設(shè)備上處理信息的方法,該方法包括的步驟有使用基于完整XForms規(guī)范的指定子集的XForms引擎處理可擴展標(biāo)記語言(XML);和利用處理步驟的結(jié)果創(chuàng)建合法XForms實例文檔。
2.權(quán)利要求1中的方法,其中,處理步驟包括的步驟有顯示,填充,驗證和提交該XForms實例文檔。
3.權(quán)利要求2中的方法,其中,顯示步驟包括顯示對應(yīng)設(shè)備的用戶接口(UI)組件,上述被顯示的組件被從包含在上述實例文檔中的下面數(shù)據(jù)解耦合。
4.權(quán)利要求3中的方法,其中,用戶接口組件是WML用戶接口,HTML接口,支持語音識別的用戶接口和支持手寫識別的用戶接口之一。
5.權(quán)利要求1中的方法,其中,XForms引擎是實施完整XForms規(guī)范的多個不同的子集的作為設(shè)備的內(nèi)存和處理能力的可伸縮引擎。
6.權(quán)利要求1中的方法,其中,設(shè)備是從包括無線電話,個人數(shù)字助理,遠(yuǎn)程控制設(shè)備,置頂盒和游戲控制臺的組中選出地。
7.權(quán)利要求1中的方法,其中,XForms引擎是從推薦的XPath標(biāo)準(zhǔn)中定義的第一規(guī)則子集,推薦的模式標(biāo)準(zhǔn)定義的第二規(guī)則子集和推薦的XML標(biāo)準(zhǔn)定義的第三規(guī)則子集的組中至少選擇一個構(gòu)造而成。
8.權(quán)利要求7的方法,其中,第三規(guī)則子集包括一個或多個下列元素[1]document ∷=element*[2]element ∷=STag content ETag[3]Stag ∷=′<′QName(Attribute)+′>′[4]ETag ∷=′</′QName′>′[5]content ∷=element*|Char*[6]Attribute∷=Name′=′′″′Char*′″′[7]Name ∷=NameChar*[8]NameChar∷=Letter|Digit|′.′|′-′ |′_′|′′[9]Letter ∷=[A-Z]|[a-z][10]Digit ∷=′0′|′1′|′2′|′3′|′4′|′5′|′6′|′7′|′8′|′9′[11]Char ∷=Letter|Digit|′!′|′#′|′$′|′%′|′(′|′)′|′*′|′+′|′,′|′-′|′.′|′/′|′′|′;′|′=′|′?′|′@′|′[′|′\′|′]′|′^′|′_′|′`′|′{′|′}′|′~′[12]Qname ∷=(Name′′)?Name
9.權(quán)利要求7中的方法,其中,第一規(guī)則包括一個或多個下列元素[1]Selector∷=Path(′|′Path)*[2]Path∷=′/′(Step(′/′|′//′))*(Step|′@′NameTest)[3]Step∷=′.′|(NameTest|′child∷′NameTest)(′[′Digits′]′)?[4]NameTest ∷=QName|′*′|NCName′′′*′[5]QName ∷=(NCName′′)?NCName[6]NCName ∷=(Letter|′_′)Char[7]Digits ∷=
+[8]Letter ∷=[A-Z]|[a-z][9]Char∷=Letter|Digit|′|′|′#′|′$′|′%′|′(′|′)′|′*′|′+′|′,′|′-′|′.′′/′|′′|′;′|′=′|′?′|′@′|′[′|′\′|′]′|′^′|′_′|′`′|′{′|′}′|′~′。
10.一種用于處理可擴展標(biāo)記語言的文檔的裝置,該裝置包括可操作用以處理基于完整的XForms規(guī)范的子集的指定子集的文檔的XForms引擎,其中,XForms引擎的處理結(jié)果被用來輸出合法的XForms實例文檔。
11.權(quán)利要求11中的裝置,其中,XForms引擎包括簡化的XPath組件,輕量級模式組件和XML解析器組件。
12.一種制造的商品包括包含了一個或多個用于處理可擴展標(biāo)記語言(XML)信息的軟件程序的機器可讀的存儲介質(zhì),上述制造的商品適合使用在配置成支持完整XML標(biāo)準(zhǔn)集的指定子集的精簡型處理設(shè)備上,其中,該一個或多個軟件程序當(dāng)下列這些時候執(zhí)行使用基于完整XForms規(guī)范的指定子集的XForms引擎處理可擴展標(biāo)記語言(XML)文檔;和利用處理結(jié)果創(chuàng)建合法的XForms實例文檔。
13.一種用于在具有有限處理和存儲能力的設(shè)備上處理信息的系統(tǒng),該系統(tǒng)包括a)至少一個向上述設(shè)備提供基于可擴展標(biāo)記語言(XML)的文檔的源設(shè)備;和b)配置成處理上述接收到的基于XML文檔的處理設(shè)備,上述處理設(shè)備包括基于完整XForms規(guī)范的指定子集的XForms引擎。
14.權(quán)利要求13中的系統(tǒng),其中,上述XForms引擎包括XPath軟件組件,輕量級模式軟件組件和簡化的XML解析器組件。權(quán)利要求13中的系統(tǒng),其中,上述XForms引擎進(jìn)一步包括用戶接口軟件組件。
15.權(quán)利要求13中的系統(tǒng),其中,上述XForms引擎進(jìn)一步包括用戶接口軟件組件。
全文摘要
無線電話,個人數(shù)字助理(PDA),智能遙控,或其他網(wǎng)絡(luò)處理設(shè)備包括可伸縮的電子表單處理引擎,該引擎支持W3C推薦的XForms標(biāo)準(zhǔn)的指定子集??梢愿鶕?jù)設(shè)備的計算和存儲能力為該設(shè)備選擇該指定的子集。有利的是,本發(fā)明允許“精簡型”設(shè)備處理電子表單而無須完整的W3C推薦XForms標(biāo)準(zhǔn)的執(zhí)行。
文檔編號G06F12/00GK1777886SQ03814423
公開日2006年5月24日 申請日期2003年6月16日 優(yōu)先權(quán)日2002年6月20日
發(fā)明者Y·阿薩發(fā)蒂, O·奇帕拉, A·亞斯森, K·朱 申請人:皇家飛利浦電子股份有限公司