專利名稱:基于web的數(shù)據(jù)表單的制作方法
背景技術(shù):
數(shù)據(jù)表單是構(gòu)建基于web的應(yīng)用程序的基本組件。數(shù)據(jù)表單向最終用戶提供了向應(yīng)用程序提供信息以及控制從應(yīng)用程序接收到的信息的接口。數(shù)據(jù)表單是文檔的一部分,包含正常內(nèi)容、標(biāo)記、稱為表單控件(例如,復(fù)選框、單選按鈕、菜單)的特殊元素以及控件上的標(biāo)簽。用戶一般在提交數(shù)據(jù)表單以供處理(例如,提交給web服務(wù)器或郵件服務(wù)器)之前通過(guò)修改表單控件(例如,輸入文本、選擇菜單項(xiàng))來(lái)完成數(shù)據(jù)表單。
每一表單控件具有初始值和當(dāng)前值。表單控件的初始值可以用與表單控件相關(guān)聯(lián)的值來(lái)指定。表單控件的當(dāng)前值首先被設(shè)為初始值。之后,表單控件的當(dāng)前值可通過(guò)用戶交互來(lái)修改。表單控件可具有與當(dāng)前值配對(duì)的字段名,使得當(dāng)提交表單控件以供處理時(shí),表單控件的字段名和當(dāng)前值也被提交。數(shù)據(jù)視圖提供了顯示功能,使得用戶可查看來(lái)自數(shù)據(jù)源的動(dòng)態(tài)數(shù)據(jù)。然而,用戶與動(dòng)態(tài)數(shù)據(jù)的交互限于對(duì)數(shù)據(jù)源的只讀功能。
發(fā)明內(nèi)容
一種基于web的數(shù)據(jù)表單使得對(duì)數(shù)據(jù)表單中的值做出的修改能夠在數(shù)據(jù)源中動(dòng)態(tài)地反映。數(shù)據(jù)表單的表單字段使用數(shù)據(jù)綁定信息與數(shù)據(jù)源中的記錄相關(guān)聯(lián)。來(lái)自數(shù)據(jù)源(例如,可擴(kuò)展標(biāo)記語(yǔ)言(XML)文件、web服務(wù)或數(shù)據(jù)庫(kù))的數(shù)據(jù)使用可擴(kuò)展樣式語(yǔ)言變換(XSLT)被變換成中間代碼。在一個(gè)實(shí)施例中,中間代碼與由華盛頓州雷蒙德市的微軟公司開(kāi)發(fā)的ASP.NET功能兼容。數(shù)據(jù)表單的表單控件使用中間代碼來(lái)例示。從包括所例示的表單控件的中間代碼生成超文本標(biāo)記語(yǔ)言(HTML)。
數(shù)據(jù)綁定過(guò)程維持?jǐn)?shù)據(jù)表單和數(shù)據(jù)源中對(duì)應(yīng)的記錄之間的關(guān)系,使得數(shù)據(jù)表單中修改的值可在數(shù)據(jù)源中更新。當(dāng)用戶修改表單字段值時(shí),反過(guò)來(lái)向服務(wù)器發(fā)回(post back)該修改。XSL變換的評(píng)估創(chuàng)建了對(duì)應(yīng)于數(shù)據(jù)源中的字段的表單控件,并獲得與該表單控件相關(guān)聯(lián)的數(shù)據(jù)綁定信息。使用數(shù)據(jù)綁定信息將數(shù)據(jù)表單中的數(shù)據(jù)與關(guān)聯(lián)于數(shù)據(jù)源中的項(xiàng)的數(shù)據(jù)進(jìn)行比較,以確定改變的值。使用數(shù)據(jù)綁定信息,用改變的值來(lái)更新對(duì)應(yīng)于修改的表單字段的項(xiàng)。
圖1示出了可依照本發(fā)明的一個(gè)實(shí)施例使用的計(jì)算設(shè)備。
圖2示出了依照本發(fā)明,用于顯示網(wǎng)頁(yè)和更新數(shù)據(jù)源中與網(wǎng)頁(yè)相關(guān)聯(lián)的已修改數(shù)據(jù)的系統(tǒng)的框圖。
圖3是依照本發(fā)明,示出當(dāng)首次請(qǐng)求網(wǎng)頁(yè)時(shí),用于例示數(shù)據(jù)表單對(duì)象中的表單控件的過(guò)程的操作流程圖。
圖4是示出依照本發(fā)明,用于更新數(shù)據(jù)源中的一個(gè)項(xiàng)的過(guò)程的操作流程圖。
具體實(shí)施例方式
一種基于web的數(shù)據(jù)表單使得對(duì)數(shù)據(jù)表單中的值做出的修改能在數(shù)據(jù)源中動(dòng)態(tài)地實(shí)現(xiàn)。數(shù)據(jù)表單的表單字段使用數(shù)據(jù)綁定信息與數(shù)據(jù)源中的項(xiàng)相關(guān)聯(lián)。來(lái)自諸如可擴(kuò)展標(biāo)記語(yǔ)言(XML)文件的、與所請(qǐng)求的網(wǎng)頁(yè)相關(guān)聯(lián)的數(shù)據(jù)源的數(shù)據(jù)使用可擴(kuò)展樣式表語(yǔ)言變換(XSLT)被變換成中間代碼。在一個(gè)實(shí)施例中,中間代碼與由華盛頓州雷蒙德市的微軟公司開(kāi)發(fā)的ASP.NET功能兼容。數(shù)據(jù)表單的表單控件使用中間代碼例示。從包括所例示的表單控件的中間代碼生成超文本標(biāo)記語(yǔ)言(HTML)。
數(shù)據(jù)綁定過(guò)程維持?jǐn)?shù)據(jù)表單以及數(shù)據(jù)源中的對(duì)應(yīng)項(xiàng)之間的關(guān)系,使得數(shù)據(jù)表單中修改的值可在數(shù)據(jù)源中更新。當(dāng)用戶修改表單字段值時(shí),修改被發(fā)回給服務(wù)器。XSL變換的評(píng)估創(chuàng)建了對(duì)應(yīng)于數(shù)據(jù)源中的項(xiàng)的表單控件,并獲得與表單控件相關(guān)聯(lián)的數(shù)據(jù)綁定信息。數(shù)據(jù)綁定信息用于將數(shù)據(jù)表單中的數(shù)據(jù)與關(guān)聯(lián)于數(shù)據(jù)源中的項(xiàng)的數(shù)據(jù)進(jìn)行比較,以確定改變的值。使用數(shù)據(jù)綁定信息,用改變的值來(lái)更新對(duì)應(yīng)于修改的表單字段的項(xiàng)。
說(shuō)明性操作環(huán)境參考圖1,一種用于實(shí)現(xiàn)本發(fā)明的示例系統(tǒng)包括諸如計(jì)算設(shè)備100的計(jì)算設(shè)備。計(jì)算設(shè)備100可被配置成與基于網(wǎng)絡(luò)的協(xié)作系統(tǒng)中的數(shù)據(jù)交互的客戶機(jī)、服務(wù)器、移動(dòng)設(shè)備或任一其它計(jì)算設(shè)備。在最基本的配置中,計(jì)算設(shè)備100通常包括至少一個(gè)處理單元102和系統(tǒng)存儲(chǔ)器104。根據(jù)計(jì)算設(shè)備的確切配置和類(lèi)型,系統(tǒng)存儲(chǔ)器104可以是易失性(如RAM)、非易失性(如ROM、閃存等)或兩者的某一組合。系統(tǒng)存儲(chǔ)器104通常包括操作系統(tǒng)105、一個(gè)或多個(gè)應(yīng)用程序106,并且可包括程序數(shù)據(jù)107。下文詳細(xì)描述的基于web的數(shù)據(jù)表單108在應(yīng)用程序106內(nèi)實(shí)現(xiàn)。
計(jì)算設(shè)備100可具有另外的特征或功能。例如,計(jì)算設(shè)備100也可包括另外的數(shù)據(jù)存儲(chǔ)設(shè)備(可移動(dòng)和/或不可移動(dòng)),如磁盤(pán)、光盤(pán)或磁帶。這類(lèi)另外的存儲(chǔ)在圖1中由可移動(dòng)存儲(chǔ)109和不可移動(dòng)存儲(chǔ)110示出。計(jì)算機(jī)存儲(chǔ)介質(zhì)可包括以用于儲(chǔ)存如計(jì)算機(jī)可讀指令、數(shù)據(jù)結(jié)構(gòu)、程序模塊或其它數(shù)據(jù)等信息的任一方法和技術(shù)實(shí)現(xiàn)的易失性和非易失性、可移動(dòng)和不可移動(dòng)介質(zhì)。系統(tǒng)存儲(chǔ)器104、可移動(dòng)存儲(chǔ)109和不可移動(dòng)存儲(chǔ)110都是計(jì)算機(jī)存儲(chǔ)介質(zhì)的示例。計(jì)算機(jī)存儲(chǔ)介質(zhì)包括但不限于,RAM、ROM、EEPROM、閃存或其它存儲(chǔ)器技術(shù)、CD-ROM、數(shù)字多功能盤(pán)(DVD)或其它光存儲(chǔ)、磁盒、磁帶、磁盤(pán)存儲(chǔ)或其它磁存儲(chǔ)設(shè)備、或可以用來(lái)儲(chǔ)存期望的信息并可由計(jì)算設(shè)備100訪問(wèn)的任一其它介質(zhì)。任一這類(lèi)計(jì)算機(jī)存儲(chǔ)介質(zhì)可以是設(shè)備100的一部分。計(jì)算設(shè)備100也可具有(多個(gè))輸入設(shè)備112,如鍵盤(pán)、鼠標(biāo)、輸入筆、語(yǔ)音輸入設(shè)備、觸摸輸入設(shè)備等等。也可包括(多個(gè))輸出設(shè)備114,如顯示器、揚(yáng)聲器、打印機(jī)等等。
計(jì)算設(shè)備100也包含允許設(shè)備如通過(guò)網(wǎng)絡(luò)與其它計(jì)算設(shè)備118進(jìn)行通信的通信連接116。網(wǎng)絡(luò)包括局域網(wǎng)和廣域網(wǎng),以及包括但不限于內(nèi)聯(lián)網(wǎng)和外聯(lián)網(wǎng)的其它大規(guī)模網(wǎng)絡(luò)。通信連接116是通信介質(zhì)的一個(gè)示例。通信介質(zhì)通常可以諸如載波或其它傳輸機(jī)制等已調(diào)制數(shù)據(jù)信號(hào)中的計(jì)算機(jī)可讀指令、數(shù)據(jù)結(jié)構(gòu)、程序模塊或其它數(shù)據(jù)實(shí)施,并包括任一信息傳送介質(zhì)。術(shù)語(yǔ)“已調(diào)制數(shù)據(jù)信號(hào)”指以對(duì)信號(hào)中的信息進(jìn)行編碼的方式設(shè)置或改變其一個(gè)或多個(gè)特征的信號(hào)。作為示例而非局限,通信介質(zhì)包括有線介質(zhì),如有線網(wǎng)絡(luò)或直接連線連接,以及無(wú)線介質(zhì),如聲學(xué)、RF、紅外和其它無(wú)線介質(zhì)。本發(fā)明使用的術(shù)語(yǔ)計(jì)算機(jī)可讀介質(zhì)包括存儲(chǔ)介質(zhì)和通信介質(zhì)。
基于web的數(shù)據(jù)表單圖2示出了用于顯示網(wǎng)頁(yè)以及更新數(shù)據(jù)源中與網(wǎng)頁(yè)相關(guān)聯(lián)的已修改數(shù)據(jù)的系統(tǒng)的框圖。該系統(tǒng)包括客戶機(jī)200、服務(wù)器210以及數(shù)據(jù)源212。數(shù)據(jù)源212包括記錄214、215、216。服務(wù)器210包括網(wǎng)頁(yè)220。網(wǎng)頁(yè)220包括數(shù)據(jù)表單對(duì)象222。數(shù)據(jù)表單對(duì)象222可以是單記錄表單或多記錄表單。單記錄表單可用于向數(shù)據(jù)源212添加新記錄,以及編輯或刪除現(xiàn)有記錄。多記錄表單允許同時(shí)編輯數(shù)據(jù)源212中的多個(gè)記錄。多記錄表單可以在具有更新數(shù)據(jù)源212中的若干記錄中的特定項(xiàng)的編輯控件的表單中呈現(xiàn)數(shù)據(jù)項(xiàng)。
數(shù)據(jù)表單對(duì)象222包括表單字段224、225、226和XSLT代碼230。每一表單字段224、225、226儲(chǔ)存一個(gè)值,且與表單控件相關(guān)聯(lián)。該值可以是由用戶輸入的值、默認(rèn)值、來(lái)自數(shù)據(jù)源212的值或空值。表單字段224、225、226的示例包括文本框、下拉菜單、日歷、日期或任何其它面向?qū)ο蟮谋韱慰丶?。表單控件是提供用于查看、刪除、更新和插入表單字段224、225、226中的值的功能的代碼。表單控件是可擴(kuò)展的,使得可修改代碼來(lái)定制專用的表單控件。例如,對(duì)應(yīng)于社會(huì)保障號(hào)的表單字段可被格式化成顯示用短劃線分隔的三個(gè)字段。某些表單字段與一個(gè)以上表單控件相關(guān)聯(lián)。例如,數(shù)據(jù)表單字段可具有用于日期的一個(gè)表單控件、用于月份的另一表單控件、以及用于年份的又一表單控件。
每一表單字段224、225、226對(duì)應(yīng)于數(shù)據(jù)源212中的記錄214、215、216內(nèi)的數(shù)據(jù)字段。數(shù)據(jù)源212可以是表式(如數(shù)據(jù)庫(kù))或分層的(例如,XML文件)。記錄214包括與表單字段224相關(guān)聯(lián)的數(shù)據(jù)綁定信息,包括標(biāo)識(shí)符(ID1)、表單字段名(名1)以及輸入到表單字段中的原始值(值1)。數(shù)據(jù)綁定信息也儲(chǔ)存在數(shù)據(jù)表單對(duì)象222中。數(shù)據(jù)綁定信息維持?jǐn)?shù)據(jù)表單對(duì)象222的表單字段224、225、226和數(shù)據(jù)源212中對(duì)應(yīng)的記錄214、215、216之間的關(guān)系。
表單控件在用戶首次請(qǐng)求網(wǎng)頁(yè)時(shí)例示??蛻魴C(jī)200向服務(wù)器210請(qǐng)求網(wǎng)頁(yè)220。服務(wù)器210調(diào)用數(shù)據(jù)表單對(duì)象222,以如由數(shù)據(jù)表單對(duì)象222指定的請(qǐng)求來(lái)自數(shù)據(jù)源212的數(shù)據(jù)。數(shù)據(jù)表單對(duì)象222的XSLT代碼230包括標(biāo)記命令的列表,那些命令提供了關(guān)于如何變換與表單字段224相關(guān)聯(lián)的XML數(shù)據(jù)以獲得對(duì)應(yīng)的表單控件的指令。服務(wù)器210使用數(shù)據(jù)表單對(duì)象222的XSLT代碼240來(lái)變換與所請(qǐng)求的網(wǎng)頁(yè)相關(guān)聯(lián)的XML數(shù)據(jù)。從XSL變換生成中間代碼。中間代碼包括用于表單控件的格式化信息。在一個(gè)實(shí)施例中,中間代碼與由華盛頓州雷蒙德市的微軟公司開(kāi)發(fā)的ASP.NET功能兼容。服務(wù)器210將與所請(qǐng)求的XSLT代碼相關(guān)聯(lián)的中間代碼發(fā)送到數(shù)據(jù)表單對(duì)象222。
數(shù)據(jù)表單對(duì)象222例示中間代碼中與表單字段224、225、226相關(guān)聯(lián)的表單控件,使得生成表單控件的當(dāng)前值。與所例示的表單控件相關(guān)聯(lián)的數(shù)據(jù)綁定信息儲(chǔ)存在數(shù)據(jù)表單對(duì)象222中。服務(wù)器210將具有所例示的表單控件的中間代碼處理成超文本標(biāo)記語(yǔ)言(HTML)。服務(wù)器210然后將HTML返回給客戶機(jī)220以供在web瀏覽器中顯示。
當(dāng)用戶向服務(wù)器210提交具有與表單字段224、225、226相關(guān)聯(lián)的修改值的數(shù)據(jù)表單時(shí),發(fā)生發(fā)回通知(post back)。在一個(gè)實(shí)施例中,用戶通過(guò)激活數(shù)據(jù)表單上的按鈕來(lái)提交數(shù)據(jù)表單。先前未修改的表單控件的數(shù)據(jù)綁定信息可從數(shù)據(jù)表單對(duì)象222的表單字段224、225、226中獲得。修改的表單值可在發(fā)回通知后獲得。通過(guò)評(píng)估與表單控件相關(guān)聯(lián)的XSLT代碼來(lái)擴(kuò)展表單控件,以包括所修改的值。表單控件依照上述表單控件例示過(guò)程來(lái)擴(kuò)展。擴(kuò)展的表單控件值連同將表單字段224、225、226的表單控件與數(shù)據(jù)源212中的記錄214、215、216相關(guān)聯(lián)的數(shù)據(jù)綁定信息一起儲(chǔ)存在服務(wù)器210上。
作為發(fā)回通知過(guò)程的一部分,服務(wù)器210調(diào)用事件處理程序來(lái)確定修改了哪些表單控件。事件處理程序?qū)⑴c數(shù)據(jù)表單對(duì)象220中擴(kuò)展的表單控件相關(guān)聯(lián)的數(shù)據(jù)綁定信息同與數(shù)據(jù)源212的記錄214、215、216中的先前的表單控件相關(guān)聯(lián)的數(shù)據(jù)綁定信息進(jìn)行比較。數(shù)據(jù)源212然后被更新,以包括該修改。使用該數(shù)據(jù)綁定信息,可用改變的值來(lái)更新對(duì)應(yīng)于修改的表單字段的數(shù)據(jù)項(xiàng)。該數(shù)據(jù)綁定信息允許更新多個(gè)數(shù)據(jù)項(xiàng)。在一個(gè)實(shí)施例中,同時(shí)更新多個(gè)數(shù)據(jù)項(xiàng)。在另一實(shí)施例中,以事務(wù)的方式更新多個(gè)數(shù)據(jù)項(xiàng),使得更新一個(gè)數(shù)據(jù)項(xiàng)的失敗可防止其它數(shù)據(jù)項(xiàng)被更新。數(shù)據(jù)源232中的項(xiàng)可以用不同于更新修改的值的方法來(lái)改變。例如,新值可被插入到項(xiàng)中、可創(chuàng)建新項(xiàng)、或者可刪除過(guò)時(shí)的項(xiàng)。
圖3是示出用于當(dāng)首次請(qǐng)求網(wǎng)頁(yè)時(shí)例示數(shù)據(jù)表單對(duì)象中的表單控件的過(guò)程的操作流程圖。在建立表單控件之前,無(wú)法確定對(duì)表單字段的修改。該過(guò)程在起始框開(kāi)始,其中做出從服務(wù)器獲得網(wǎng)頁(yè)的請(qǐng)求。在一個(gè)實(shí)施例中,如果網(wǎng)頁(yè)尚未被瀏覽器請(qǐng)求(即,首次取出),則尚未建立表單控件,因?yàn)樯形磮?zhí)行XSL變換。
移至框300,服務(wù)器從數(shù)據(jù)源中檢索由與所請(qǐng)求的網(wǎng)頁(yè)相關(guān)聯(lián)的數(shù)據(jù)表單對(duì)象指定的數(shù)據(jù)。數(shù)據(jù)表單對(duì)象包括與所請(qǐng)求的網(wǎng)頁(yè)相關(guān)聯(lián)的XSLT代碼。XSLT代碼包括標(biāo)記命令的列表,該命令提供了關(guān)于如何變換與表單字段相關(guān)聯(lián)的XML數(shù)據(jù)來(lái)獲得對(duì)應(yīng)的表單控件的指令。
前進(jìn)到框310,服務(wù)器執(zhí)行XSLT代碼以將與所請(qǐng)求的網(wǎng)頁(yè)相關(guān)聯(lián)的XML數(shù)據(jù)變換成中間代碼(例如,ASP.NET文件)。該中間代碼包括與表單控件相關(guān)聯(lián)的格式化信息。前進(jìn)到框320,將中間代碼儲(chǔ)存在數(shù)據(jù)表單對(duì)象中。
繼續(xù)到框330,例示表單控件,使得生成表單控件的當(dāng)前值。轉(zhuǎn)移到框340,服務(wù)器將具有例示的表單控件的中間代碼變換成HTML,以供在web瀏覽器中顯示。處理然后在結(jié)束框終止。
圖4是示出當(dāng)修改數(shù)據(jù)表單時(shí)用于更新數(shù)據(jù)源中的記錄(即,發(fā)回通知)的過(guò)程的操作流程圖。該過(guò)程在起始框開(kāi)始,其中,當(dāng)具有至少一個(gè)修改的數(shù)據(jù)表單被提交給服務(wù)器時(shí)例示發(fā)回通知。
移至框400,服務(wù)器識(shí)別提交了發(fā)回通知。對(duì)表單控件的修改可通過(guò)在表單字段中輸入新值,然后點(diǎn)擊網(wǎng)頁(yè)上的“保存”按鈕來(lái)提交。在一個(gè)實(shí)施例中,可將中間更新緩沖,直到用戶調(diào)用最終的更新命令來(lái)向服務(wù)器提交發(fā)回通知。
前進(jìn)到框410,調(diào)用一函數(shù)來(lái)創(chuàng)建表單控件。表單控件創(chuàng)建過(guò)程類(lèi)似于如參考圖3所描述的用于例示表單控件的過(guò)程(即,評(píng)估與表單控件相關(guān)聯(lián)的XSLT代碼)。創(chuàng)建表單控件,使得生成當(dāng)前數(shù)據(jù)綁定信息以反映所修改的表單字段。
前進(jìn)至框420,將與所修改的表單字段相關(guān)聯(lián)的數(shù)據(jù)綁定信息儲(chǔ)存在服務(wù)器中。該數(shù)據(jù)綁定信息包括表單字段標(biāo)識(shí)符、表單字段名以及表單字段值。
轉(zhuǎn)移到框430,確定表單字段的值是否改變。使用數(shù)據(jù)綁定信息將數(shù)據(jù)表單中的數(shù)據(jù)同與數(shù)據(jù)源中的數(shù)據(jù)項(xiàng)相關(guān)聯(lián)的數(shù)據(jù)進(jìn)行比較,以確定改變的值。在一個(gè)實(shí)施例中,儲(chǔ)存在數(shù)據(jù)源中的值可以是先前儲(chǔ)存的值,使得修改通過(guò)更新舊值來(lái)實(shí)現(xiàn)。在另一實(shí)施例中,儲(chǔ)存在數(shù)據(jù)源中的值可以是默認(rèn)/空值,使得修改通過(guò)插入新值來(lái)實(shí)現(xiàn)。在又一實(shí)施例中,儲(chǔ)存在數(shù)據(jù)源中的值可以是先前儲(chǔ)存的值,且儲(chǔ)存在數(shù)據(jù)表單對(duì)象中的值可以為空,使得修改通過(guò)刪除舊值來(lái)實(shí)現(xiàn)。如果表單字段的值已被修改,則處理前進(jìn)到框450。如果表單字段的值未被修改,則處理前進(jìn)到框440,其中在瀏覽器中刷新網(wǎng)頁(yè),且該處理在結(jié)束框終止。
繼續(xù)到框450,當(dāng)表單字段值改變時(shí),調(diào)用事件處理程序。事件處理程序處理用戶對(duì)數(shù)據(jù)表單對(duì)象的更新,用于插入、更新和刪除操作。事件處理程序?qū)⑴c擴(kuò)展的表單控件相關(guān)聯(lián)的數(shù)據(jù)綁定信息與先前的表單控件進(jìn)行比較,以確定對(duì)表單字段做出的修改。處理前進(jìn)到框460,其中,將改變的表單字段儲(chǔ)存在數(shù)據(jù)表單對(duì)象中。
移至框470,使用所儲(chǔ)存的數(shù)據(jù)綁定信息,對(duì)改變的表單字段更新數(shù)據(jù)源。更新可以對(duì)數(shù)據(jù)源中的一個(gè)項(xiàng)或?qū)σ唤M項(xiàng)做出。更新可以插入新項(xiàng)或刪除現(xiàn)有的項(xiàng)。更新也可允許將重復(fù)的數(shù)據(jù)輸入到不同的項(xiàng)中。處理然后在結(jié)束框終止。
以上說(shuō)明書(shū)、示例和數(shù)據(jù)提供了本發(fā)明的組成部分的制造和使用的完整描述。由于可以在不脫離本發(fā)明的精神和范圍的情況下做出本發(fā)明的許多實(shí)施例,因此本發(fā)明歸于所附權(quán)利要求書(shū)。
權(quán)利要求
1.一種用于處理基于web的數(shù)據(jù)表單的計(jì)算機(jī)實(shí)現(xiàn)的方法,包括將所述數(shù)據(jù)表單的控件與數(shù)據(jù)源中的字段相關(guān)聯(lián),修改所述數(shù)據(jù)表單的控件,以及在所述數(shù)據(jù)源的字段中實(shí)現(xiàn)對(duì)所述控件的修改。
2.如權(quán)利要求1所述的計(jì)算機(jī)實(shí)現(xiàn)的方法,其特征在于,還包括接收對(duì)檢索與所述數(shù)據(jù)表單相關(guān)聯(lián)的網(wǎng)頁(yè)的請(qǐng)求,以及例示所述控件。
3.如權(quán)利要求2所述的計(jì)算機(jī)實(shí)現(xiàn)的方法,其特征在于,例示所述控件包括將與所述數(shù)據(jù)源相關(guān)聯(lián)的可擴(kuò)展樣式表語(yǔ)言變換(XSLT)代碼和可擴(kuò)展標(biāo)記語(yǔ)言(XML)數(shù)據(jù)處理成中間代碼。
4.如權(quán)利要求1所述的計(jì)算機(jī)實(shí)現(xiàn)的方法,其特征在于,將所述數(shù)據(jù)表單的控件與所述數(shù)據(jù)源中的字段相關(guān)聯(lián)還包括生成與所述控件和所述字段相關(guān)聯(lián)的數(shù)據(jù)綁定信息,其中,所述數(shù)據(jù)綁定信息包括用于標(biāo)識(shí)所述控件和所述字段的標(biāo)識(shí)符、所述控件名以及值。
5.如權(quán)利要求4所述的計(jì)算機(jī)實(shí)現(xiàn)的方法,其特征在于,還包括使用與所述數(shù)據(jù)表單相關(guān)聯(lián)的XSLT代碼,將與所述數(shù)據(jù)源相關(guān)聯(lián)的XML數(shù)據(jù)變換成中間代碼,重新生成所述控件,使得與所述控件相關(guān)聯(lián)的數(shù)據(jù)綁定信息能夠反映所修改的控件,使用所述重新生成的控件,將所述中間代碼處理成超文本標(biāo)記語(yǔ)言(HTML),以及使用所述HTML顯示網(wǎng)頁(yè)。
6.如權(quán)利要求5所述的計(jì)算機(jī)實(shí)現(xiàn)的方法,其特征在于,還包括通過(guò)使用所述數(shù)據(jù)綁定信息將與所述數(shù)據(jù)表單的控件相關(guān)聯(lián)的數(shù)據(jù)與所述數(shù)據(jù)源的字段進(jìn)行比較,來(lái)確定對(duì)所述控件做出哪些修改。
7.如權(quán)利要求1所述的計(jì)算機(jī)實(shí)現(xiàn)的方法,其特征在于,在所述數(shù)據(jù)源的字段中實(shí)現(xiàn)對(duì)所述控件的修改還包括更新所述數(shù)據(jù)源中的字段。
8.如權(quán)利要求1所述的計(jì)算機(jī)實(shí)現(xiàn)的方法,其特征在于,在所述數(shù)據(jù)源的字段中實(shí)現(xiàn)對(duì)所述控件的修改還包括在所述數(shù)據(jù)源中插入新字段。
9.如權(quán)利要求1所述的計(jì)算機(jī)實(shí)現(xiàn)的方法,其特征在于,在所述數(shù)據(jù)源的字段中實(shí)現(xiàn)對(duì)所述控件的修改還包括刪除所述數(shù)據(jù)源中的字段。
10.一種用于處理基于web的數(shù)據(jù)表單的系統(tǒng),包括被安排成請(qǐng)求和顯示與所述數(shù)據(jù)表單相關(guān)聯(lián)的網(wǎng)頁(yè)的客戶機(jī),其中,所述數(shù)據(jù)表單包括控件,包括字段的數(shù)據(jù)源,耦合至所述客戶機(jī)和所述數(shù)據(jù)源的服務(wù)器,其中,所述服務(wù)器被安排成將所述數(shù)據(jù)表單的控件與所述數(shù)據(jù)源中的字段相關(guān)聯(lián),以及在所述數(shù)據(jù)源的字段中實(shí)現(xiàn)對(duì)所述數(shù)據(jù)表單的控件做出的修改。
11.如權(quán)利要求10所述的系統(tǒng),其特征在于,所述服務(wù)器還被安排成通過(guò)以下步驟例示所述控件將與所述數(shù)據(jù)表單相關(guān)聯(lián)的XSLT代碼處理成中間代碼,檢索與所述數(shù)據(jù)源相關(guān)聯(lián)的XML數(shù)據(jù),以及從所述中間代碼和所述XML數(shù)據(jù)生成所述控件。
12.如權(quán)利要求10所述的系統(tǒng),其特征在于,所述服務(wù)器還被安排成通過(guò)生成與所述控件和所述字段相關(guān)聯(lián)的數(shù)據(jù)綁定信息將所述控件與所述字段相關(guān)聯(lián),其中,所述數(shù)據(jù)綁定信息包括用于標(biāo)識(shí)所述控件和所述字段的標(biāo)識(shí)符、所述控件名以及值。
13.如權(quán)利要求12所述的系統(tǒng),其特征在于,所述服務(wù)器還被安排成使用與所述數(shù)據(jù)表單相關(guān)聯(lián)的XSLT代碼,將與所請(qǐng)求的數(shù)據(jù)源相關(guān)聯(lián)的XML數(shù)據(jù)變換成中間代碼,重新生成所述控件,使得與所述控件相關(guān)聯(lián)的數(shù)據(jù)綁定信息能夠反映所修改的控件,使用所述重新生成的控件將所述中間代碼處理成HTML,以及使用所述HTML顯示所述網(wǎng)頁(yè)。
14.如權(quán)利要求13所述的系統(tǒng),其特征在于,所述服務(wù)器還被安排成通過(guò)使用所述數(shù)據(jù)綁定信息將與所述數(shù)據(jù)表單的控件相關(guān)聯(lián)的數(shù)據(jù)與所述數(shù)據(jù)源的字段進(jìn)行比較,來(lái)確定對(duì)所述控件做出了哪些修改。
15.一種具有用于處理基于web的數(shù)據(jù)表單的計(jì)算機(jī)可執(zhí)行指令的計(jì)算機(jī)可讀介質(zhì),包括接收檢索與所述數(shù)據(jù)表單相關(guān)聯(lián)的網(wǎng)頁(yè)的請(qǐng)求,以及通過(guò)以下步驟例示所述數(shù)據(jù)表單的控件將與所述數(shù)據(jù)表單相關(guān)聯(lián)的XSLT代碼處理成中間代碼,檢索與所述數(shù)據(jù)表單相關(guān)聯(lián)的XML數(shù)據(jù),以及從所述中間代碼和所述XML數(shù)據(jù)生成所述控件。
16.如權(quán)利要求15所述的計(jì)算機(jī)可讀介質(zhì),其特征在于,還包括生成與所述數(shù)據(jù)表單的控件以及所述數(shù)據(jù)源中的字段相關(guān)聯(lián)的數(shù)據(jù)綁定信息,使用所述數(shù)據(jù)綁定信息,將所述數(shù)據(jù)表單的控件與所述數(shù)據(jù)源中的字段相關(guān)聯(lián),以及在所述數(shù)據(jù)源中的字段中實(shí)現(xiàn)對(duì)所述數(shù)據(jù)表單的控件的修改。
17.如權(quán)利要求16所述的計(jì)算機(jī)可讀介質(zhì),其特征在于,所述數(shù)據(jù)綁定信息包括用于標(biāo)識(shí)所述控件和所述字段的標(biāo)識(shí)符、所述控件名以及值。
18.如權(quán)利要求16所述的計(jì)算機(jī)可讀介質(zhì),其特征在于,還包括使用與所述數(shù)據(jù)表單相關(guān)聯(lián)的XSLT代碼,將與所請(qǐng)求的網(wǎng)頁(yè)相關(guān)聯(lián)的XML數(shù)據(jù)變換成中間代碼,重新生成所述控件,使得與所述控件相關(guān)聯(lián)的數(shù)據(jù)綁定信息檢測(cè)所修改的控件,使用所述重新生成的控件將所述中間代碼處理成HTML,以及使用所述HTML顯示所述網(wǎng)頁(yè)。
19.如權(quán)利要求18所述的計(jì)算機(jī)可讀介質(zhì),其特征在于,還包括通過(guò)使用所述數(shù)據(jù)綁定信息將與所述數(shù)據(jù)表單的控件相關(guān)聯(lián)的數(shù)據(jù)與所述數(shù)據(jù)源的字段進(jìn)行比較,來(lái)確定對(duì)所述控件做出了哪些修改。
全文摘要
一種基于web的數(shù)據(jù)表單使得對(duì)數(shù)據(jù)表單中的值做出的修改能夠在數(shù)據(jù)源中動(dòng)態(tài)地實(shí)現(xiàn)。數(shù)據(jù)表單的表單字段使用數(shù)據(jù)綁定信息來(lái)與數(shù)據(jù)源中的項(xiàng)相關(guān)聯(lián)。來(lái)自數(shù)據(jù)源的數(shù)據(jù)使用可擴(kuò)展樣式表語(yǔ)言變換(XSLT)代碼被變換成中間代碼。數(shù)據(jù)表單的表單控件使用該中間代碼來(lái)例示。從包括表單控件的中間代碼生成超文本標(biāo)記語(yǔ)言(HTML)。
文檔編號(hào)G06F17/30GK1755624SQ20051009965
公開(kāi)日2006年4月5日 申請(qǐng)日期2005年8月30日 優(yōu)先權(quán)日2004年9月30日
發(fā)明者小R·J·莫瑟瑞, S·S·云, C·W·帕克 申請(qǐng)人:微軟公司