欧美在线观看视频网站,亚洲熟妇色自偷自拍另类,啪啪伊人网,中文字幕第13亚洲另类,中文成人久久久久影院免费观看 ,精品人妻人人做人人爽,亚洲a视频

提高計算機軟件應(yīng)用程序粘貼功能的方法和系統(tǒng)的制作方法

文檔序號:6385012閱讀:243來源:國知局
專利名稱:提高計算機軟件應(yīng)用程序粘貼功能的方法和系統(tǒng)的制作方法
技術(shù)領(lǐng)域
本發(fā)明涉及提高計算機軟件應(yīng)用程序現(xiàn)有的粘貼功能的方法和系統(tǒng),用于將數(shù)據(jù)粘貼到計算機生成的文檔。
(2)背景技術(shù)計算機軟件應(yīng)用程序使用戶能夠創(chuàng)建各種文檔,協(xié)助他們工作、學(xué)習(xí)和休閑。比如,字處理應(yīng)用程序使用戶能夠創(chuàng)建信件、文章、書籍、備忘錄、等等。電子表格應(yīng)用程序使用戶能夠存儲、操縱、打印、顯示各種包括文字與數(shù)字的數(shù)據(jù)。這些應(yīng)用程序有著許多眾所周知的長處包括豐富的編輯、格式、打印和計算功能。
眾多軟件應(yīng)用程序擁有的一個普通而且有用的功能是從一個給定的文檔、電子表格、幻燈片或其他計算機生成的文檔中剪切或拷貝數(shù)據(jù)隨后進行一個粘貼操作,將剪切或拷貝的數(shù)據(jù)粘貼到文檔中想要的位置的功能。通常,用戶從第一個或稱為供應(yīng)用程序,如字處理應(yīng)用程序,剪切或拷貝包括文本、圖像或包括文字與數(shù)字的數(shù)據(jù),然后使用第二或稱為消費應(yīng)用程序,如電子表格應(yīng)用程序來粘貼這些剪切或拷貝的數(shù)據(jù)。比如,為了將一組數(shù)字粘貼到字處理應(yīng)用程序,用戶可能想要從電子表格應(yīng)用程序文檔中剪切或拷貝這些數(shù)字,而在所述字文檔中,用戶正在準(zhǔn)備信件發(fā)給客戶或同事。典型地,在剪切或拷貝時,數(shù)據(jù)緩存在某個存儲位置中以備在粘貼操作過程中進行后續(xù)的粘貼。
當(dāng)從供應(yīng)應(yīng)用程序剪切或拷貝下數(shù)據(jù),然后通過第二消費應(yīng)用程序粘貼到另一個不同的文檔而供應(yīng)應(yīng)用程序和消費應(yīng)用程序是兩個不同的軟件應(yīng)用程序時,通常第一應(yīng)用程序提供的許多特性,即使不是全部,包括格式特性在內(nèi),都因為第二或消費應(yīng)用程序不包含提供包括格式在內(nèi)的專門特性所需的功能而在粘貼過程中丟失了。比如,用戶從電子表格應(yīng)用程序文檔拷貝了一組數(shù)據(jù),然后粘貼到字處理文檔中,粘貼到該字文檔的數(shù)據(jù)可能就不帶任何電子表格應(yīng)用程序中存在的格式。即,如果電子表格應(yīng)用程序中的數(shù)據(jù)顯示成多行多列,那粘貼到字處理應(yīng)用程序的數(shù)據(jù)可能只是簡單的沒有任何格式的數(shù)字序列。
為了滿足對軟件應(yīng)用程序更高的功能要求,軟件開發(fā)者已經(jīng)開始使用標(biāo)記語言,諸如可擴展標(biāo)記語言,以使用戶能夠注釋軟件應(yīng)用程序文檔,給文檔提供除了負(fù)責(zé)創(chuàng)建該文檔或與之相關(guān)的可視格式的軟件應(yīng)用程序的常規(guī)功能之外的有用結(jié)構(gòu)。比如,用戶可能想通過自己的字處理應(yīng)用程序創(chuàng)建一模板文檔用來準(zhǔn)備給出版商寫稿。通過將結(jié)構(gòu)應(yīng)用到文檔,收到文檔的出版商可以通過處理文檔來使用該文檔結(jié)構(gòu)所定義的數(shù)據(jù)。不幸的是,在從含有結(jié)構(gòu)注釋的文檔剪切或拷貝數(shù)據(jù)時,這些結(jié)構(gòu)注釋通常都會在粘貼操作中丟失,特別是在由一個不同的消費應(yīng)用程序進行該項粘貼操作的時候。即使消費應(yīng)用程序被設(shè)計成能夠理解和使用標(biāo)記語言,定義標(biāo)記語言結(jié)構(gòu)注釋的模式或規(guī)則,供應(yīng)應(yīng)用程序用的與消費應(yīng)用程序用的可能也會有極大的不同。
本發(fā)明正是基于上述和其他方面的考慮而誕生的。
(3)發(fā)明內(nèi)容發(fā)明概述本發(fā)明提供用于提高計算機軟件應(yīng)用程序粘貼功能的方法和系統(tǒng),用于粘貼數(shù)據(jù)到計算機生成的文檔。如通常所述,從第一應(yīng)用程序選取數(shù)據(jù)用以粘貼到第二應(yīng)用程序文檔。選擇的數(shù)據(jù)及其相關(guān)信息,諸如名字空間列表等一起被存儲到一個存儲位置。當(dāng)選擇的數(shù)據(jù)被粘貼到第二即消費應(yīng)用程序文檔時,消費應(yīng)用程序檢查與所選數(shù)據(jù)關(guān)聯(lián)的可用名字空間列表,看數(shù)據(jù)的各種不同表示能否能為粘貼應(yīng)用程序所理解。粘貼應(yīng)用程序也可查看是否有像可擴展標(biāo)記語言(XSL)轉(zhuǎn)換文件這樣的資源,用于將所選擇的數(shù)據(jù)轉(zhuǎn)換成更易被第二或消費應(yīng)用程序使用的格式。尋找支持可用名字空間的資源的一種方法是由消費應(yīng)用程序檢查名字空間庫尋找一可用的資源,用于轉(zhuǎn)換數(shù)據(jù)給消費應(yīng)用程序使用。如果找不到資源,名字空間不能被粘貼應(yīng)用程序作本機理解,則根據(jù)默認(rèn)的粘貼資源將數(shù)據(jù)粘貼到第二應(yīng)用程序文檔。粘貼應(yīng)用程序也可以有不考慮名字空間而處理任何類型數(shù)據(jù)的默認(rèn)方法。
更具體地,本發(fā)明提供一種提高計算機軟件應(yīng)用程序粘貼功能的方法。通過供應(yīng)應(yīng)用程序打開第一文檔,根據(jù)諸如可擴展標(biāo)記語言(XML)等標(biāo)記語言將結(jié)構(gòu)應(yīng)用到該第一文檔。也有可能第一應(yīng)用程序只是用作以一種有意義的方式來顯示現(xiàn)存的數(shù)據(jù)。從第一應(yīng)用程序選擇數(shù)據(jù)用于粘貼到第二應(yīng)用程序。所選的數(shù)據(jù)被存儲到一存儲位置,與之相關(guān)的信息也被存儲到該位置,用以向消費應(yīng)用程序提供所選數(shù)據(jù)的信息。這些信息主要包括名字空間列表。這些名字空間標(biāo)識拷貝應(yīng)用程序用來表示數(shù)據(jù)的不同方法。一個例子就是帶有金融數(shù)據(jù)的電子表格文檔。提供的一個名字空間可能用于描述電子表格,另一個名字空間用于描述金融數(shù)據(jù)。
經(jīng)消費應(yīng)用程序打開第二文檔,在消費應(yīng)用程序中選擇粘貼功能以將所選擇的數(shù)據(jù)粘貼到該第二文檔。消費應(yīng)用程序讀取與所選數(shù)據(jù)的相關(guān)信息。作為響應(yīng),消費應(yīng)用程序確定是否有一個或多個標(biāo)識相關(guān)數(shù)據(jù)類型的名字空間能被消費應(yīng)用程序作本機理解。如果名字空間超過一個,應(yīng)用程序或者讓用戶來選擇使用哪一個名字空間及相關(guān)的資源,或者使用消費應(yīng)用程序文檔中已經(jīng)存在的最適合該數(shù)據(jù)的名字空間及相關(guān)資源。呈現(xiàn)的選擇可能是選擇使用哪個名字空間,或?qū)τ诮o定的名字空間使用哪個資源。消費應(yīng)用程序可能獲取一個或多個資源文件,比如與名字空間相關(guān)的XSLT轉(zhuǎn)換文件,用于在消費應(yīng)用程序不能理解該名字空間時粘貼所選數(shù)據(jù)到第二文檔。在消費應(yīng)用程序選擇了一個多多個名字空間中的一個用于粘貼所選的數(shù)據(jù)到第二文檔之后,所選的數(shù)據(jù)就根據(jù)消費應(yīng)用程序最想要的方法粘貼到第二文檔。有時使用的其它資源可能是XSLT文件,用于將所選的數(shù)據(jù)轉(zhuǎn)換成第二或消費應(yīng)用程序可使用的數(shù)據(jù)類型或格式。
依照本發(fā)明的一個方面,在為一個或多個名字空間獲得資源用于粘貼數(shù)據(jù)之前,先要確定可用的名字空間列表中是否包含消費應(yīng)用程序可理解的一個或多個名字空間中想要的一個。如果可用的名字空間列表包含消費應(yīng)用程序可理解的一個或多個名字空間中想要的一個,則選擇該想要的名字空間,并將它提供給消費應(yīng)用程序。如果該可用的名字空間列表不包含消費應(yīng)用程序可理解的一個或多個名字空間中想要的一個,則需要確定一名字空間庫中是否包含能夠幫助消費應(yīng)用程序理解供其使用的一個或多個名字空間的資源。如果名字空間庫中包含一個能夠幫助消費應(yīng)用程序理解供其使用的一個或多個名字空間的資源,則從名字空間庫中選擇該想要的資源,并將它提供給消費應(yīng)用程序幫助它使用該一個或多個名字空間。
與所選數(shù)據(jù)相關(guān)的信息被保存到一存儲位置以提供給消費應(yīng)用程序,它可包括一個指示,用來說明與所選數(shù)據(jù)相關(guān)的一個或多個名字空間。對于和所選數(shù)據(jù)相關(guān)的每一個名字空間,與所選數(shù)據(jù)相關(guān)的信息包括任何相關(guān)的名字空間的信息,包括該名字空間的版本標(biāo)識符、用于定位名字空間的統(tǒng)一資源標(biāo)識符和該名字空間的文件大小。
根據(jù)本發(fā)明的另一方面,提供一種方法用于從一拷貝應(yīng)用程序粘貼數(shù)據(jù)到一個消費應(yīng)用程序。第一可擴展標(biāo)記語言(XML)元素被應(yīng)用到第一文檔的區(qū)域的開頭。該區(qū)域被選擇用于拷貝應(yīng)用程序的拷貝和消費應(yīng)用程序的粘貼。第二XML元素被應(yīng)用到所選區(qū)域的末尾。信息在與選擇區(qū)域相關(guān)的首部(header)中提供。該信息包括可用XML名字空間的身份標(biāo)識和對應(yīng)于每個可用名字空間的指向剪貼板格式標(biāo)識的指針。在文件首部提供關(guān)于每個可用名字空間文件大小的信息。剪貼板上提供一個或多個可用的名字空間,使消費應(yīng)用程序能夠從中選擇,用于粘貼從拷貝應(yīng)用程序得到的數(shù)據(jù)。
這些和其它的特征和優(yōu)點構(gòu)成了本發(fā)明的特征,將在閱讀、瀏覽下面的詳細(xì)說明和相關(guān)圖表后更加清楚。可以理解的是,上述的概要描述和接下來的詳細(xì)描述對本發(fā)明只是示列和解釋說明,而不是對權(quán)利要求書中的本發(fā)明的限制。
(4)


圖1所示是提供本發(fā)明的示例操作環(huán)境的計算機、相關(guān)外設(shè)和網(wǎng)絡(luò)設(shè)備的塊圖。
圖2所示是一簡化的塊圖,說明了供應(yīng)應(yīng)用程序和消費應(yīng)用程序之間的交互,其中數(shù)據(jù)由供應(yīng)應(yīng)用程序進行剪切或拷貝,由消費應(yīng)用程進行粘帖。
圖3所示是一簡化的塊圖,說明了依照本發(fā)明的示例實施例,向用戶提供增強的粘帖功能的用戶接口。
圖4所示是軟件應(yīng)用程序粘帖和消費從供應(yīng)應(yīng)用程序剪切或拷貝得到的數(shù)據(jù)的屏幕顯示。
圖5和圖6所示是依照本發(fā)明實施例用于提高消費應(yīng)用程序粘帖功能的方法的流程圖。
(5)具體實施方式
以下參照上述的附圖們對本發(fā)明實施例進行描述,在所有的幾幅圖中類似的數(shù)字標(biāo)示類似的部分或部件。本發(fā)明涉及提高計算機軟件應(yīng)用程序粘貼功能的方法和系統(tǒng),用于粘貼數(shù)據(jù)到計算機生成的文檔。用戶從諸如電子表格的第一應(yīng)用程序選擇數(shù)據(jù),粘貼到諸如字的第二處理應(yīng)用程序。粘貼過程可能是以傳統(tǒng)的剪切/拷貝和粘貼操作的形式進行,或以拖和放的形式將選擇的數(shù)據(jù)從第一應(yīng)用程序文檔粘貼到第二應(yīng)用程序文檔。依據(jù)本發(fā)明的實施例,第一或供應(yīng)應(yīng)用程序以可擴展標(biāo)記語言(XML)表示(representation)的形式將選擇的數(shù)據(jù)寫入到一存儲位置,如剪貼板。數(shù)據(jù)寫入到存儲位置的格式包括所選擇的數(shù)據(jù)和與之相關(guān)的一個或多個名字空間的信息。與所選數(shù)據(jù)相關(guān)的可用名字空間可標(biāo)識出與所選數(shù)據(jù)相關(guān)的數(shù)據(jù)格式化的類型。例如,標(biāo)識出的可用名字空間可包括超文本標(biāo)記語言(HTML)、簡歷文檔或字處理器XML。HTML名字空間標(biāo)識可標(biāo)識所述數(shù)據(jù)能被組織成HTML。簡歷文檔名字空間可標(biāo)識所述數(shù)據(jù)能夠依照簡歷XML模式文件進行組織。字處理器XML名字空間可以標(biāo)識所述數(shù)據(jù)能夠依照XML的字處理器版本格式化。當(dāng)然,這些名字空間只是可與所選數(shù)據(jù)相關(guān)聯(lián)的眾多類型名字空間的樣例。
當(dāng)通過選擇第二程序的粘貼功能或通過“放”數(shù)據(jù)的方法將所選的數(shù)據(jù)粘貼到第二應(yīng)用程序文檔時,第二或消費應(yīng)用程序從所選數(shù)據(jù)提供的信息中檢測出格式化為XML的數(shù)據(jù)正在被粘貼?;谒x數(shù)據(jù)提供的信息,消費應(yīng)用程序檢查與將要粘貼的數(shù)據(jù)相關(guān)的所有可用名字空間。例如,上述的例子中,消費應(yīng)用程序檢測出所選數(shù)據(jù)已經(jīng)關(guān)聯(lián)了HTML、簡歷文檔或字處理器XML的名字空間。相應(yīng)地,消費應(yīng)用程序查看可用名字空間列表尋找資源來幫助粘貼選擇的數(shù)據(jù)。例如,如果供應(yīng)應(yīng)用程序是電子表格應(yīng)用程序,消費應(yīng)用程序查看可用名字空間列表尋找XSLT文件,用于將電子表格XML格式的數(shù)據(jù)轉(zhuǎn)換成消費應(yīng)用程序可用、可消費的格式。如果消費應(yīng)用程序是字處理器,那么它將查找XSLT轉(zhuǎn)換文件,將電子表格數(shù)據(jù)轉(zhuǎn)換成字處理應(yīng)用程序可消費的數(shù)據(jù)。例如,如果在電子表格應(yīng)用程序中數(shù)據(jù)被組織成兩行三列的形式,消費應(yīng)用程序使用的XSLT轉(zhuǎn)換文件會將這些數(shù)據(jù)轉(zhuǎn)換成字處理應(yīng)用程序可消費的數(shù)據(jù)以保持它兩行三列的格式。如果沒有本發(fā)明的功能,數(shù)據(jù)會依照消費應(yīng)用程序默認(rèn)的粘貼功能進行粘貼,因此可能失去了供應(yīng)應(yīng)用程序的格式信息。結(jié)果,依據(jù)本例,相對于兩行三列的格式,該數(shù)據(jù)會被這樣粘貼到字處理應(yīng)用程序,即作為原始數(shù)據(jù)在工作區(qū)中從左到右地排列。
如果對于消費應(yīng)用程序標(biāo)識了多個可用名字空間,那么消費應(yīng)用程序可從中選擇最有可能向其提供想要的粘貼功能的名字空間?;蛘?,向消費應(yīng)用程序的用戶提供用戶接口,使用戶能夠在應(yīng)用程序可理解的這些可用名字空間的可用轉(zhuǎn)換文件中進行選擇。如果消費應(yīng)用程序在可用名字空間列表中沒有找到資源,它將去查找名字空間庫尋找可用資源,以幫助消費應(yīng)用程序在粘帖之前進行數(shù)據(jù)的轉(zhuǎn)換。如果名字空間庫中存在多個資源,將提供用戶以接口,使用戶能夠在可用的資源中進行選擇。如果在可用名字空間列表或可用名字空間庫中都沒有找到可用的資源,那么消費應(yīng)用程序會依照默認(rèn)的功能來粘帖數(shù)據(jù),如上所述。
操作環(huán)境圖1和接下來的討論試圖對可能實現(xiàn)本發(fā)明的適合的計算環(huán)境做一個簡單概要的描述。雖然本發(fā)明被描述成在通常的運行于個人電腦操作系統(tǒng)上的應(yīng)用程序上下文環(huán)境中,但本領(lǐng)域的熟練技術(shù)人員都知道到本發(fā)明也可結(jié)合其它的程序模塊一起來實現(xiàn)。通常,程序模塊包括例程、程序、組件、數(shù)據(jù)結(jié)構(gòu)等等,它們運行特殊的任務(wù)或?qū)崿F(xiàn)特殊的抽象數(shù)據(jù)類型。而且,本領(lǐng)域內(nèi)的熟練技術(shù)人員將理解,本發(fā)明可用其它計算機系統(tǒng)配置實施,包括手持裝置、多處理器系統(tǒng)、基于微處理器或可編程的消費者電子器件、手機、小型機、大型機等。本發(fā)明也可用于分布式計算環(huán)境,在此環(huán)境下,依靠通過通信網(wǎng)絡(luò)連接的遠(yuǎn)程處理裝置來執(zhí)行任務(wù)。在分布式計算環(huán)境中,在本地和遠(yuǎn)程的內(nèi)存存儲裝置中都可放置程序模塊。
參照圖1,實現(xiàn)本發(fā)明的一個示例系統(tǒng)包括常規(guī)的個人電腦20,具有處理單元21,系統(tǒng)存儲器22,連接系統(tǒng)存儲器和處理單元21的系統(tǒng)總線23。系統(tǒng)存儲器22包括ROM 24和RAM 25?;据斎?輸出系統(tǒng)26(BIOS)存儲在ROM 24中,所述基本輸入/輸出系統(tǒng)包括例如在啟動時幫助在個人電腦的元件之間進行信息傳遞的基本例程。個人電腦20還包括如硬盤驅(qū)動器27和磁盤驅(qū)動器28來讀寫可移動硬盤29、光盤驅(qū)動器30來讀取CD-ROM盤31或讀寫其它光盤介質(zhì)。硬盤驅(qū)動器27、磁盤28和光盤驅(qū)動器30各自通過硬盤驅(qū)動接口32、磁盤驅(qū)動接口33、光盤驅(qū)動接口34連接到系統(tǒng)總線23。驅(qū)動器和相關(guān)的計算機可讀介質(zhì)為個人電腦20提供了非易失的存儲。雖然上述的計算機可讀介質(zhì)指的是硬盤、可移動磁盤和CD-ROM盤,但本領(lǐng)域的熟練技術(shù)人員將可以理解其它類型的計算機可讀介質(zhì),如盒式磁帶、閃存卡、數(shù)字視頻光盤、Brnoulli磁帶(cartridges)等等,也可用在示例的操作環(huán)境中。
許多程序模塊可存儲在驅(qū)動器和RAM 25中,包括操作系統(tǒng)35、一個或多個應(yīng)用程序200、220、程序數(shù)據(jù),諸如可用名字空間列表225和其它程序模塊(未示出)。
用戶可通過鍵盤40和定點(pointer)裝置,如鼠標(biāo)輸入命令或信息到個人電腦。其它輸入裝置(未示出)包括麥克風(fēng)、操縱桿、游戲手柄、衛(wèi)星電視天線、掃描儀等等。這些和其它的輸入裝置通常經(jīng)連接到系統(tǒng)總線的串行端口46連接到處理單元21,但也可經(jīng)其它接口進行連接,如游戲端口或通用串行總線。監(jiān)視器47或其它類型的顯示設(shè)備同樣經(jīng)接口連接到系統(tǒng)總線23,如視頻適配器48。除了監(jiān)視器,個人電腦通常包括其它外圍輸出裝置(未示出),如揚聲器或打印機。
個人電腦20可使用到一個或多個遠(yuǎn)程計算機如遠(yuǎn)程計算機49的邏輯連接而在網(wǎng)絡(luò)化環(huán)境下進行操作。遠(yuǎn)程計算機49可以是服務(wù)器、路由器、對等設(shè)備或其它普通的網(wǎng)絡(luò)節(jié)點,雖然圖1中只示出了存儲設(shè)備50,但通常它包括所述的個人電腦20的許多個或所有的元件。服務(wù)器49和存儲器50保存應(yīng)用程序,如應(yīng)用程序20,和數(shù)據(jù)存儲,如名字空間庫230。圖1描述的邏輯連接包括局域網(wǎng)51和廣域網(wǎng)52。這樣的網(wǎng)絡(luò)環(huán)境在辦公室、企業(yè)范圍的計算機網(wǎng)絡(luò)、內(nèi)聯(lián)網(wǎng)和因特網(wǎng)中都很常見。
在LAN網(wǎng)絡(luò)環(huán)境中使用時,個人電腦20通過網(wǎng)絡(luò)接口53連接到LAN 51。在WAN網(wǎng)絡(luò)環(huán)境中使用時,個人電腦20通常包括調(diào)制解調(diào)器54或其它在WAN 52如因特網(wǎng)上建立通信的裝置。調(diào)制解調(diào)器54可為內(nèi)置或外置的,它通過串行端口接口46連接到系統(tǒng)總線23。在網(wǎng)絡(luò)環(huán)境中,所述的關(guān)于個人電腦20的程序模塊或其中的部分模塊存儲在遠(yuǎn)程存儲裝置中。可以理解的是,所示的網(wǎng)絡(luò)連接是示例,也可能其它方法來建立通信連接。
操作圖2所示是一簡化的塊圖,說明了供應(yīng)應(yīng)用程序和消費應(yīng)用程序之間的交互,其中數(shù)據(jù)通過供應(yīng)應(yīng)用程序進行剪切或拷貝,通過消費應(yīng)用程進行粘貼。如圖2所示,示出了供應(yīng)應(yīng)用程序200,剪切或拷貝的數(shù)據(jù)在其中保存以供消費應(yīng)用程序使用。供應(yīng)應(yīng)用程序可以是包括字處理、電子表格、幻燈片展示等應(yīng)用程序在內(nèi)的任何能夠在其中剪切或拷貝數(shù)據(jù)并用于后續(xù)的粘貼的軟件應(yīng)用程序。一旦用戶使用供應(yīng)應(yīng)用程序200來選擇數(shù)據(jù),進行剪切或拷貝的操作205,該操作包括從供應(yīng)應(yīng)用程序剪切或拷貝所選的數(shù)據(jù)。一旦剪切或拷貝了選擇的數(shù)據(jù),那么該數(shù)據(jù)就被送到存儲位置210,諸如圖2所示的粘貼板。存儲位置210保存剪切或拷貝的數(shù)據(jù),用于根據(jù)用戶的選擇由原來的供應(yīng)應(yīng)用程序200或消費應(yīng)用程序220進行后續(xù)的粘貼。
依照本發(fā)明的實施例,剪貼板210是一個視窗操作系統(tǒng)所維護的存儲資源的示例。剪貼板存儲剪切或拷貝的數(shù)據(jù)的副本,后續(xù)的粘貼操作從剪貼板210傳遞數(shù)據(jù)到消費程序。正如本領(lǐng)域熟練技術(shù)人員所熟道的,倘若第二或消費應(yīng)用程序220能夠讀取供應(yīng)應(yīng)用程序200生成的數(shù)據(jù),則如上所述,剪貼板210可使數(shù)據(jù)從一個應(yīng)用程序傳遞到另一個應(yīng)用程序。為了確保消費應(yīng)用程序能夠讀取、理解和使用供應(yīng)應(yīng)用程序200剪切或拷貝的數(shù)據(jù),通常這些剪切或拷貝的數(shù)據(jù)以一種通用的格式,如超文本標(biāo)記語言的格式保存到剪貼板210,以便在這種格式下數(shù)據(jù)最有可能為大量的不同種類的消費應(yīng)用程序220所消費。其它類型的格式包括豐富文本格式,或者數(shù)據(jù)被保存為非格式化的數(shù)據(jù)。在第一應(yīng)用程序進行拷貝時,所有這些格式被告知(advertised)剪貼板。然后,由粘貼應(yīng)用程序決定它將要求使用哪個可用的格式。
一旦啟動消費應(yīng)用程序220用于粘貼從供應(yīng)應(yīng)用程序200剪切或拷貝的數(shù)據(jù),選擇粘貼操作215以粘貼剪切或拷貝的數(shù)據(jù)到消費應(yīng)用程序文檔中想要的位置。必須理解,剪切/拷貝操作205和粘貼操作215可能以拖放操作的形式結(jié)合起來,從供應(yīng)應(yīng)用程序文檔拖出所選的數(shù)據(jù)放到消費應(yīng)用程序。如果剪切或拷貝的數(shù)據(jù)依照一定數(shù)量的通用格式類型經(jīng)供應(yīng)應(yīng)用程序進行了格式化處理,如上所述,則消費應(yīng)用程序如所料想能夠粘貼剪切或拷貝的數(shù)據(jù),但是供應(yīng)應(yīng)用程序提供給數(shù)據(jù)的許多特征,包括特殊的格式,經(jīng)常會丟失。例如,如果用戶在字處理供應(yīng)應(yīng)用程序200中剪切或拷貝表格形式的數(shù)據(jù),之后將數(shù)據(jù)粘貼到電子表格消費應(yīng)用程序220,原先表格形式的數(shù)據(jù)簡單地插入到電子表格內(nèi)的單個單元,致使電子表格消費應(yīng)用程序220不能如用戶所愿對該數(shù)據(jù)進行操作。
隨著可擴展標(biāo)記語言(XML)等標(biāo)記語言的出現(xiàn),通常供應(yīng)應(yīng)用程序200準(zhǔn)備的文檔已經(jīng)使用標(biāo)記語言的結(jié)構(gòu)進行了注釋,以便給文檔有用的結(jié)構(gòu)用于管理、呈現(xiàn)和操縱包含在文檔中的數(shù)據(jù)。正如本領(lǐng)域熟練技術(shù)人員所熟知的,不同的軟件應(yīng)用程序包含有不同的“本機”程序用于讀取、理解和使用諸如XML的標(biāo)記語言。即,相對于消費應(yīng)用程序220,供應(yīng)應(yīng)用程序200可能被設(shè)計成提供不同的或較多的XML結(jié)構(gòu)和功能。因此,如果從一個供應(yīng)應(yīng)用程序200創(chuàng)建的XML格式的文檔剪切或拷貝數(shù)據(jù)用于另一個不同的消費應(yīng)用程序的消費,多數(shù)關(guān)聯(lián)于該數(shù)據(jù)XML格式的結(jié)構(gòu)和功能在消費應(yīng)用程序粘貼數(shù)據(jù)到由消費應(yīng)用程序所創(chuàng)建和操作的文檔中時會丟失。
以下是一個可應(yīng)用于由字處理供應(yīng)應(yīng)用程序200用戶書寫的文章上的XML結(jié)構(gòu)的實例。
XML結(jié)構(gòu)實例<article>
<title>EXTRA EXTRA</title>
<body>
<summary>Today in New York...</summary>
<main>Today in New York...</main>
</body>
***</article>
如XML結(jié)構(gòu)實例所示,例舉了許多XML元素來注釋該“article”文檔。例如,在文檔的開始和末尾有<article>標(biāo)簽來定義該文檔為“article”文檔,其它多種元素如<title>和<body>包含在“article”結(jié)構(gòu)內(nèi)。在<body>元素內(nèi)是它的兩個子元素<summary>和<main>。該文檔的XML注釋使得用戶能夠定義文檔的部分為特定類型的數(shù)據(jù)和數(shù)據(jù)結(jié)構(gòu)。例如,用戶可定義在<title>元素內(nèi)文檔的部為包含“title”類的數(shù)據(jù)并具有“title”指定許可的結(jié)構(gòu)。
為了給文檔提供一套語法和數(shù)據(jù)類型的規(guī)則以控制給定文檔諸如上面例舉的“article”文檔所可能包含的數(shù)據(jù)類型和數(shù)據(jù)結(jié)構(gòu),XML模式被附加或關(guān)聯(lián)到該文檔用以提供控制每個XML元素和標(biāo)簽的規(guī)則,而使用這些元素和標(biāo)簽用戶可以注釋給定的文檔。例如,“article”文檔可有一個附加或關(guān)聯(lián)的模式,諸如“article-schema.xsd”用于提供所容許的XML元素集,諸如<article>元素、<title>元素、<body>元素等等。該模式包括控制次序的規(guī)則,根據(jù)該次序?qū)⒃貞?yīng)用于文檔,還包括與應(yīng)用到該文檔的個別元素相關(guān)的特殊規(guī)則。例如,附加或關(guān)聯(lián)到“article”文檔的模式可以規(guī)定與特定元素,如<date>元素(未示出)相關(guān)聯(lián)的數(shù)據(jù)必須包括一個日元素,隨后是一個月h元素,再后是一個年元素。另外,該模式可以要求<date>元素必須緊靠在<title>元素之前。
如本領(lǐng)域熟練技術(shù)人員所理解的,XML模式的開發(fā)者確定XML元素的名字和這些元素所容許的相關(guān)數(shù)據(jù)類型和數(shù)據(jù)結(jié)構(gòu)。于是,所有根據(jù)給定的模式用XML結(jié)構(gòu)來注釋的文檔的用戶都可使用XML結(jié)構(gòu)中包含的數(shù)據(jù),而不需要考慮該文檔的總體類型和結(jié)構(gòu)。例如,如果上述的“article”文檔被送到該文檔的出版商,該出版商可能會開發(fā)出分析該文檔的軟件應(yīng)用程序,以便在文檔中來查找特定數(shù)據(jù)類型供出版商使用。例如,出版商可能只想發(fā)布文章的標(biāo)題作為整篇文章將來出版的一則廣告。標(biāo)識XML的方法是通過名字空間。名字空間提供了一個標(biāo)識(ID),從而XML的任何消費者將會知道他們消費的是何種類型的XML。通過查看名字空間,消費應(yīng)用程序?qū)绖?chuàng)建該XML文件使用了哪個模式。使用文檔中指明的名字空間,出版商將知道與XML元素<title>相關(guān)的數(shù)據(jù)是依照控制文檔的模式被準(zhǔn)備的。因此,出版商可開發(fā)軟件應(yīng)用程序或XSLT轉(zhuǎn)換文件用于定位<title>元素并提取相關(guān)的數(shù)據(jù),用于插入到出版商自己的文檔(包括用某種特殊的方法來格式化文檔)作為整篇文章將來出版的一則廣告。
接著這個例子,許多不同的出版商可訂閱同樣的名字空間,以記錄與“article”文檔相關(guān)的規(guī)則,以便每個出版商可從文檔的作者接收到這個“article”文檔,并且依照組織該數(shù)據(jù)的XML元素來使用包含在文檔中的數(shù)據(jù)。即,第一出版社可能只對包含在<summary>元素中的數(shù)據(jù)感興趣,而第二出版商只對抽取<title>元素中的數(shù)據(jù)感興趣。依照XML結(jié)構(gòu),通過使用自己的軟件應(yīng)用程序或XSLT轉(zhuǎn)換文件來定位想要的元素,則每個出版商可不考慮文檔的其它方面或元素而抽取想要的數(shù)據(jù)。之所以能夠做到這一點,是因為文檔的每個用戶遵循著添加到或關(guān)聯(lián)到該文檔的名字空間中指定的數(shù)據(jù)類型和數(shù)據(jù)結(jié)構(gòu)的規(guī)則。
如果消費應(yīng)用程序確實找到了可用于可用名字空間之一的XSLT轉(zhuǎn)換文件,則所選的數(shù)據(jù)經(jīng)過XSLT轉(zhuǎn)換文件的轉(zhuǎn)換,消費應(yīng)用程序?qū)⒃摻Y(jié)果作為粘貼功能的一部分來接收?;蛟S有這種情況,即消費應(yīng)用程序注意到了轉(zhuǎn)換文件,它消費可用名字空間,自己對該數(shù)據(jù)進行轉(zhuǎn)換。例如,如上所述,如果供應(yīng)應(yīng)用程序是一電子表格應(yīng)用程序,所選的數(shù)據(jù)是兩行三列的格式,那么用于轉(zhuǎn)換電子表格數(shù)據(jù)供字處理應(yīng)用程序消費的XSLT轉(zhuǎn)換文件能夠,例如使該數(shù)據(jù)得以轉(zhuǎn)換,以便字處理應(yīng)用程序能粘貼成兩列,每列三項,而不是沒有格式的原數(shù)據(jù)或電子表格所使用的表格形式。應(yīng)當(dāng)理解,第一或供應(yīng)應(yīng)用程序文檔可根據(jù)傳統(tǒng)的XML模式進行標(biāo)記。例如,數(shù)據(jù)可依照“股票價格模式”(“stock price schema”)進行標(biāo)記。在這種情況下,如果從電子表格應(yīng)用程序拷貝了選擇的數(shù)據(jù)粘貼到字處理應(yīng)用程序,例如,在將選擇的數(shù)據(jù)寫入內(nèi)存用于粘貼到字處理應(yīng)用程序時,“股票價格模式”相關(guān)的名字空間和電子表格可視布局相關(guān)的名字空間都將被關(guān)聯(lián)到所選的數(shù)據(jù)。
在識別出“股票價格模式”后,消費應(yīng)用程序參考可用資源列表,探知所選數(shù)據(jù)的每個單元格是公司股票的符號,對于每個公司有公司的相關(guān)描述。因此,消費應(yīng)用程序?qū)⒃诳捎妹挚臻g列表或名字空間庫中查找諸如XSLT轉(zhuǎn)換文件的資源來指導(dǎo)消費應(yīng)用程序怎樣粘貼標(biāo)記的數(shù)據(jù)。提供給消費應(yīng)用程序用戶的用戶接口可提供選項“粘貼公司概況”。如果用戶選擇了“粘貼公司概況”,與粘貼功能相關(guān)的XSLT轉(zhuǎn)換文件可使消費應(yīng)用程序能夠粘貼從供應(yīng)應(yīng)用程序選擇得到的公司股票符號,同時粘貼經(jīng)用戶選擇的粘貼功能從與所選數(shù)據(jù)關(guān)聯(lián)的可用名字空間中引入公司概況。這種解決方法優(yōu)于之前的替換方案,該方案是選擇電子表格名字空間,采用與電子表格中相同的形式來粘貼數(shù)據(jù)。
如熟悉可擴展標(biāo)記語言的人所了解,XML是通過將元素和屬性名稱關(guān)聯(lián)到由統(tǒng)一資源標(biāo)識符所標(biāo)識的名字空間的方法來限定XML文檔所使用的元素和屬性名稱。XML名字空間是名字集,由統(tǒng)一資源標(biāo)識符參照標(biāo)識,名字作為元素的類型和屬性名稱用于XML文檔。單個XML文檔可包含為多軟件模塊定義和使用的元素和屬性。例如,依照本發(fā)明的實施例,單個XML文檔,諸如字處理文檔可包含為多軟件模塊定義和使用的元素和屬性。例如,一個字處理文檔可有為HTML處理模塊、字處理應(yīng)用程序XML處理模塊定義和使用的元素和屬性,或者該文檔可包含為與其關(guān)聯(lián)的一個或多個模式文件定義、使用或關(guān)聯(lián)的元素和屬性。例如,將元素和屬性關(guān)聯(lián)到字處理文檔使其與一個模式文件相關(guān)聯(lián),所述模式文件與簡歷、法律文件等等文檔關(guān)聯(lián)。因此,單一文檔,諸如典型的字處理文檔可以有一個名字空間標(biāo)識與每個不同軟件模塊關(guān)聯(lián)的元素類型和屬性名稱,所述模塊可消費或使用從文檔得到的數(shù)據(jù)。接著上面列出的例子,字處理文檔可包含一個與HTML處理模塊關(guān)聯(lián)的名字空間、一個與字處理XML處理模塊關(guān)聯(lián)的名字空間和一個與簡歷或法律文檔模式文件關(guān)聯(lián)的名字空間。
依照本發(fā)明的實施例,當(dāng)選擇了數(shù)據(jù)用于粘貼到第二個應(yīng)用程序文檔時,與之相關(guān)的標(biāo)識名字空間的信息被提供給所選擇的數(shù)據(jù),用于通知第二或消費應(yīng)用程序與數(shù)據(jù)相關(guān)的名字空間,以便第二或消費應(yīng)用程序可根據(jù)其編程語言對數(shù)據(jù)關(guān)聯(lián)的元素類型和/或?qū)傩赃M行操作。例如,如果第一應(yīng)用程序是一個字處理應(yīng)用程序,第二應(yīng)用程序是一個電子表格應(yīng)用程序,電子表格應(yīng)用程序可使用由數(shù)據(jù)相關(guān)的名字空間標(biāo)識的信息來確定通過使用與元素類型和屬性關(guān)聯(lián)的XSLT轉(zhuǎn)換文件所選的數(shù)據(jù)將被最優(yōu)地粘貼到第二應(yīng)用程序文檔,所述元素類型和屬性與一個給定的名字空間相關(guān)。例如,如果一個給定的名字空間標(biāo)識了與包含在所選數(shù)據(jù)中的操縱數(shù)據(jù)相關(guān)的元素類型和屬性,而其它名字空間關(guān)聯(lián)用于顯示所選的數(shù)據(jù),第二應(yīng)用程序即本例中的電子表格應(yīng)用程序?qū)⑦x擇與操縱所選數(shù)據(jù)相關(guān)的名字空間,而不是與顯示相關(guān)的名字空間。
在消費應(yīng)用程序檢查了從第一應(yīng)用程序文檔選擇的XML數(shù)據(jù)相關(guān)的名字空間之后,依照本發(fā)明的實施例,為了得到最優(yōu)消費,消費應(yīng)用程序查看可用名字空間列表或名字空間庫,尋找消費應(yīng)用程序可用的資源用于轉(zhuǎn)換所選的數(shù)據(jù)。例如,如果第二程序是一個試圖粘貼從字處理應(yīng)用程序選擇的數(shù)據(jù)的電子表格應(yīng)用程序,則該第二應(yīng)用程序?qū)⒉榭纯捎妹挚臻g列表或名字空間庫以獲取一個可被第二應(yīng)用程序使用的XSLT轉(zhuǎn)換文件,用于轉(zhuǎn)換字處理器的XML數(shù)據(jù)到電子表格的XML數(shù)據(jù)以供電子表格應(yīng)用程序作最優(yōu)消費。如本領(lǐng)域熟練技術(shù)人員所了解,可擴展樣式表語言(XSL)包括用于說明數(shù)據(jù)格式的XML詞匯表。XML用XSL信息文件來指定XML文檔的樣式,描述文檔是怎樣從一個XML文檔轉(zhuǎn)換成另一個XML文檔或其它類型的文檔如HTML文檔的。
仍舊參照圖2,名字空間可被添加到供應(yīng)應(yīng)用程序準(zhǔn)備的文檔,或被維持在該文檔可訪問的另外一個位置,如名字空間庫230中。為定位和/或標(biāo)識該名字空間,文檔可包含一個文件路徑指針或唯一名字空間標(biāo)識符(例如,統(tǒng)一資源標(biāo)示符或統(tǒng)一資源名稱)。有關(guān)名字空間庫230的詳細(xì)描述,可參見2002年6月27日申請的題為“System and method for providing namespace relatedinformation”的美國專利申請,序列號為10/184,190,在此將其全文作為參照引用。有關(guān)從名字空間庫230下載一個名字空間供供應(yīng)應(yīng)用程序200和消費應(yīng)用程序220使用的方法的詳細(xì)描述,可參見2002年5月申請的題為“Mechanism doe Downloading Software Components from a Remote Applicationfor Use by a Local Software Application”的美國專利申請,序列號為10/164,260,在此將其全文作為參照引用。
一旦用戶下載或通過其它方式得到一個名字空間及其相關(guān)的用戶文檔信息,該名字空間可被裝載到一個包括該名字空間及其資源,以及其它已經(jīng)裝載的名字空間的名字空間列表中。該列表225,由用戶計算機20維持或用戶可通過分布式計算環(huán)境從遠(yuǎn)程位置,如服務(wù)器49進行訪問??捎妹挚臻g列表包括與供應(yīng)應(yīng)用程序中數(shù)據(jù)相關(guān)的名字空間,該名字空間包括使消費應(yīng)用程序能夠定位和得到資源諸如用于幫助消費應(yīng)用程序轉(zhuǎn)換數(shù)據(jù)供其消費的XSLT轉(zhuǎn)換文件的信息。
考慮用戶使用字處理供應(yīng)應(yīng)用程序200剪切或拷貝表格式數(shù)據(jù)的實例。在剪切或拷貝數(shù)據(jù)前,依照供應(yīng)應(yīng)用程序200的本機XML編程語言,用XML注釋來組織數(shù)據(jù)。如果通過粘貼操作215,消費應(yīng)用程序220要求粘貼從剪貼板210剪切或拷貝的數(shù)據(jù),則消費應(yīng)用程序220將訪問可用名字空間列表225查看是否有可用的名字空間或?qū)?yīng)于其中一個名字空間是否有合適的XSLT轉(zhuǎn)換文件,用于增強消費應(yīng)用程序220的本機XML的編程,以便消費應(yīng)用程序220以與在供應(yīng)應(yīng)用程序200中所應(yīng)用到數(shù)據(jù)上的同樣的格式(如表格的形式)粘貼從字處理供應(yīng)程序200中剪切或拷貝的數(shù)據(jù)。例如,在可用列表225中找到諸如“wordprocessor-to-spreadshheet-schema.xsl”這樣的資源文件(該例中是XSLT轉(zhuǎn)換文件)供消費應(yīng)用程序?qū)⒖捎玫淖痔幚砥髅挚臻g轉(zhuǎn)換到被其理解的電子表格名字空間。因此,當(dāng)消費應(yīng)用程序得到附加XSLT轉(zhuǎn)換文件,消費應(yīng)用程序的本機XML編程得到增強,使得消費應(yīng)用程序(如,電子表格應(yīng)用程序)現(xiàn)在能夠依照從可用名字空間列表得到的名字空間轉(zhuǎn)換來使用從供應(yīng)應(yīng)用程序得到的數(shù)據(jù)。即,為了處理從供應(yīng)應(yīng)用程序傳來的數(shù)據(jù),通過從可用名字空間列表得到XML名字空間,消費應(yīng)用程序接收以與供應(yīng)應(yīng)用程序創(chuàng)建和處理該數(shù)據(jù)同樣的方式處理從供應(yīng)應(yīng)用程序接收到的數(shù)據(jù)而所需要的語法和數(shù)據(jù)規(guī)則。
依照本發(fā)明的實施例,如果依照一個給定的XML名字空間使用供應(yīng)應(yīng)用程序來組織數(shù)據(jù),用戶經(jīng)由消費應(yīng)用程序依照一個選定的第三方XSLT轉(zhuǎn)換文件可將剪切或拷貝的數(shù)據(jù)粘貼到該消費應(yīng)用程序。例如,消費應(yīng)用程序220的一個用戶接收到從上述“article”文檔剪切的數(shù)據(jù),消費應(yīng)用程序220的用戶可在消費應(yīng)用程序中查看可用名字空間列表的資源以確定是否有與多種出版商相關(guān)聯(lián)的轉(zhuǎn)換文件可用于依照一特定出版商的要求來組織該文檔。然后,該消費應(yīng)用程序220的用戶在可用名字空間列表225的資源中查找能夠使消費應(yīng)用程序220依照想要的名字空間來使用該數(shù)據(jù)的轉(zhuǎn)換文件。如果想要的資源不在可用名字空間列表225中,用戶可查看本機或遠(yuǎn)程的名字空間庫230來尋找所提供的名字空間的附加資源供消費應(yīng)用程序使用以對從供應(yīng)應(yīng)用程序200得到的數(shù)據(jù)加以利用。
圖3所示是一簡化的塊圖,說明了依照本發(fā)明的示例實施例向用戶提供增強的粘貼功能的用戶接口。一旦消費應(yīng)用程序220的用戶選擇了消費應(yīng)用程序220的粘貼操作,可以向用戶提供多種粘貼選項。例如,用戶可選擇簡單粘貼操作將從供應(yīng)應(yīng)用程序剪切或拷貝的數(shù)據(jù)依照默認(rèn)的格式,如HTML格式粘貼到消費應(yīng)用程序正在使用的文檔上。如果想要依照本發(fā)明實施例的增強的粘貼功能,用戶可選擇備用粘貼功能,如圖3示出的特殊粘貼功能。
特殊粘貼用戶接口310表明了用戶可用的粘貼選項列表。例如,用戶可選擇以豐富文本格式(RTF)粘貼數(shù)據(jù),或者用戶可選擇依照HTML格式320粘貼文檔。如用戶接口310所示,用戶可選擇依照XML格式325來粘貼數(shù)據(jù)而不使用本發(fā)明增強的粘貼功能。即,消費應(yīng)用程序220依照其本機XML編程語言粘貼剪切或拷貝的數(shù)據(jù)。如果用戶想要依照某個在此所述的增強功能來粘貼數(shù)據(jù),用戶可以選擇用戶接口310的“其它”按鈕來啟動一個可用模式用戶接口350。通過可用模式用戶接口350,用戶可以選擇可用列表355來查看在可用名字空間列表225上哪些名字空間及相關(guān)的XSLT文件可用,如以上參照圖2所述。因此,特定轉(zhuǎn)換文件的選擇向用戶正在使用的消費應(yīng)用程序提供了所選XSLT文件增強的功能,用于對從供應(yīng)應(yīng)用程序剪切或拷貝的數(shù)據(jù)進行操作,如同該數(shù)據(jù)已被供應(yīng)應(yīng)用程序所使用或格式化一樣。
如以上參照圖3所述,如果可用名字空間列表中沒有想要的可用名字空間或其它資源,為了提供從本機或遠(yuǎn)程名字空間庫230可得到的更大的可用數(shù)據(jù)視圖列表,應(yīng)用程序也可啟動名字空間特征370。如果用戶通過用戶接口370從名字空間庫230中選擇一個可用視圖,則帶有可用粘貼功能更新列表的特殊粘貼用戶接口310就被提供給用戶,包括由所選名字空間激活的粘貼功能。應(yīng)當(dāng)理解,某種情況下的視圖可能是名字空間及其相關(guān)XSLT轉(zhuǎn)換的任何組合。XSLT轉(zhuǎn)換將把可用名字空間轉(zhuǎn)換成一個消費應(yīng)用程序可理解的本機名字空間。不同的名字空間通常代表了不同類型的數(shù)據(jù),不同的XSLT代表對不同類型數(shù)據(jù)的不同的視圖。如圖3所示,從名字空間庫用戶接口370中得到的“出版商A”XSLT 380的選擇使得特殊粘貼用戶接口310增加(populated with)了對“出版商A”的粘貼功能390。因此,為了使用下載的“出版商A”的轉(zhuǎn)換文件380使消費應(yīng)用程序220能夠依照出版商A提供的XSLT文件粘貼從供應(yīng)應(yīng)用程序200得到的數(shù)據(jù),用戶可選擇“出版商A”的粘貼功能390。該轉(zhuǎn)換被標(biāo)識為與將出版商A名字空間轉(zhuǎn)化成消費應(yīng)用程序可理解的名字空間相關(guān)聯(lián)。如本領(lǐng)域熟練技術(shù)人員所理解,參照圖2和圖3在此描述的具體的XSLT文件只是樣例,任何轉(zhuǎn)換或解釋特定的名字空間的不同XSLT文件或其它方法都可提供給消費應(yīng)用程序220,用以向供應(yīng)應(yīng)用程序200中剪切或拷貝的數(shù)據(jù)提供增強的粘貼功能。
圖4所示是軟件應(yīng)用程序粘貼和消費從供應(yīng)應(yīng)用程序得到的數(shù)據(jù)的屏幕顯示。屏幕照400顯示了一個示例字處理應(yīng)用程序,用戶正在其中制作文檔410。依照本發(fā)明的實施例,用戶已經(jīng)將數(shù)據(jù)粘貼到了一張從電子表格供應(yīng)應(yīng)用程序200拷貝過來的表內(nèi)。在粘貼數(shù)據(jù)到文檔410的操作中,呈現(xiàn)一對話框420向用戶顯示三種不同的數(shù)據(jù)格式,包括“八月歷史”(Eight Month History)格式425,“項目財務(wù)總結(jié)”(Projected Financial Summary)格式430和“工業(yè)分析”(Industrial Breakdown)格式435。應(yīng)當(dāng)理解,對話框420是圖3所示的對話框310的替換。根據(jù)圖4中的數(shù)據(jù)實例,用戶已經(jīng)選擇了“八月歷史”格式425,該格式是可用名字空間列表225中的一個名字空間的視圖,來將從供應(yīng)應(yīng)用程序(如電子表格應(yīng)用程序)得到的數(shù)據(jù)在在文檔410中依照記錄了(dictating)“八月歷史”的XML結(jié)構(gòu)的XSLT文件進行格式化。應(yīng)當(dāng)理解,諸如“eightmonthhistory-shema.xsl”的轉(zhuǎn)換資源可從能使消費應(yīng)用程序支持XML結(jié)構(gòu)來提供“表1”格式化的可用名字空間列表或名字空間庫225得到,如圖4所示。假如用戶已經(jīng)從供應(yīng)應(yīng)用程序選擇了剪切和拷貝關(guān)于“工業(yè)分析”格式的信息,則用戶可選擇“工業(yè)分析”格式435以便將從供應(yīng)應(yīng)用程序剪切或拷貝的數(shù)據(jù)可依照由供應(yīng)應(yīng)用程序?qū)?shù)據(jù)進行組織的格式在消費應(yīng)用程序中進行格式化。
依照本發(fā)明的實施例,當(dāng)有數(shù)據(jù)以XML的格式剪切或拷貝并保存到剪貼板210用于后續(xù)消費應(yīng)用程序220的粘貼時,可使用三個或更多的剪貼板格式來幫助消費應(yīng)用程序確定怎樣根據(jù)本發(fā)明的功能來處理剪切或拷貝的數(shù)據(jù)。這三種格式包括CF_XML_HEADER、CF_XML_VIEW和CF_XML_DATA。如上所述,包括供應(yīng)應(yīng)用程序200和消費應(yīng)用程序220在內(nèi)的許多應(yīng)用程序支持由這些應(yīng)用程序所創(chuàng)建的XML標(biāo)記結(jié)構(gòu)和文件。但是,如上所述,通常一個應(yīng)用程序的XML支持和另一個應(yīng)用程序的XML支持是不兼容的,結(jié)果是,在將數(shù)據(jù)從一個應(yīng)用程序粘貼到消費應(yīng)用程序文件時,格式和其它XML相關(guān)的特性丟失了。另外,如上所述,XML模式也作為由第三方提供的供多種應(yīng)用程序使用的工具而存在,但它卻不被應(yīng)用程序的本機XML編程語言支持。
CF_XML_HEADER格式(“HEADER”)包含有關(guān)拷貝應(yīng)用程序有哪個名字空間可用的信息。所有的粘貼應(yīng)用程序可在CF_XML_HEADER中查看、決定是否有一個或多個名字空間可供其消費。HEADER還標(biāo)識了可以在哪里找到不同的名字空間,以便在確定想要消費的一個或多個名字空間時,粘貼應(yīng)用程序可以回來查找得到所要的數(shù)據(jù)。HEADER可以識別為包含想要的一個或多個名字空間之一處是CF_XML_DATA格式。這些信息對消費應(yīng)用程序很有用,因為消費應(yīng)用程序能夠確定希望消費哪種格式。這有助于解決性能問題,因為在這些具體格式被要求之前,拷貝應(yīng)用程序不需要用不同的格式來提供所有的數(shù)據(jù)。在余下部分的描述中,我們假定有兩個格式可用。
第一個粘貼板格式是具有一個或多個名字空間的CF_XML_VIEW,它通常更多的是格式標(biāo)記而不是數(shù)據(jù)標(biāo)記(諸如“SpreadsheetML”;或documentML)。第二個粘貼板格式是含有一個或多個名字空間的CF_XML_DATA,它沒有定義格式或視圖,而是定義了其下置的數(shù)據(jù)。通過涉及電子表格程序的一個實例,很容易看出這兩個格式的活動。如果該電子表格程序支持XML結(jié)構(gòu),那么可以想象定義金融數(shù)據(jù)的名字空間可被應(yīng)用到該電子表格用以標(biāo)識不同的單元格及它們同金融數(shù)據(jù)的相關(guān)程度。當(dāng)電子表格應(yīng)用程序進行一項拷貝操作時,它將有兩種表示數(shù)據(jù)的方法。其第一種表示方式就如同它出現(xiàn)在電子表格中,這要使用電子表格標(biāo)記語言。該電子表格標(biāo)記語言定義在電子表格中看到的一般情況,如格式、布局等等。這些數(shù)據(jù)將被放置到CF_XML_VIEW剪貼板格式,因為它最好地定義了數(shù)據(jù)“看上去”怎樣。如果粘貼數(shù)據(jù)的人更多地關(guān)心外觀和布局,而不是潛在的數(shù)據(jù)意義,那么這對他們非常的有用。
第二種在剪貼板上表示數(shù)據(jù)的方法是使用金融數(shù)據(jù)的名字空間。該名字空間不含涉及數(shù)據(jù)外觀或布局的信息,代之以描述數(shù)據(jù)本身的意義。該數(shù)據(jù)將放置到CF_XML_DATA剪貼板格式。因為布局信息的不可得,消費應(yīng)用程序需要自己確定怎樣最好地顯示這些數(shù)據(jù)。例如,在粘貼數(shù)據(jù)到字處理應(yīng)用程序的例子里這可能是更想要的格式。原因是金融數(shù)據(jù)在電子表格中的顯示方式可能與字處理應(yīng)用程序中的顯示方式完全不同。字處理應(yīng)用程序需要查看金融數(shù)據(jù)名字空間,找到一些視圖信息,如XSLT轉(zhuǎn)換,來幫助字處理應(yīng)用程序以正確的方式來顯示數(shù)據(jù)。
通過將不同的名字空間拆分成不同的剪貼板格式將更加高效,因為消費應(yīng)用程序可能不需要或不同時需要供應(yīng)應(yīng)用程序的“VIEW”或“DATA”格式。即,如果基于用戶選擇的粘貼功能,消費應(yīng)用程序確定不需要“VIEW”或“DATA”格式中包含的信息,那么消費應(yīng)用程序不會從供它使用的這些格式裝載數(shù)據(jù)。如果消費應(yīng)用程序是和供應(yīng)應(yīng)用程序同樣類型的程序(如,字處理應(yīng)用程序),消費應(yīng)用程序不需要另外的粘貼功能來進行用戶選擇的這個粘貼操作。CF_XML_HEADER格式包含有關(guān)“VIEW”和“DATA”格式的版本和名字空間的信息。HEADER格式也包括有關(guān)每個VIEW和DATA格式文件的文件大小的信息。下面是一個與用第三方“Get A Job.com”XML模式進行標(biāo)記從字處理文件拷貝來的數(shù)據(jù)片段相關(guān)聯(lián)的CF_XML_HEADER格式實例。
<pre listing-type="program-listing">  <cfhheader cfhVersion=”1.0”xmlnscfh=”urnschemas-micrsoft-  comofficeclipboardheader”> ?。糲fhdata cfhbytes=”00000001 343”>   <cfhItem cfhname=”D1”cfhbytes=”00000001343”>   <cfhURI cfhvalue=”urnschemas-getajob-comresume”cfhroot=”Yes”   /> ?。?cfhItem>  </cfhdata> ?。糲fhview cfhbytes=”00000003612”>   <cfhItem cfhname=”V1”cfhbytes=”00000003612”>   <cfhURI cfhvalue=”urnschemas-microsoft-comoffice字.1.0”  cfhroot=”Yes”/>   <cfhURI cfhvalue=”urnschemas-microsoft-comschemaLibrary”/>   <cfhURI cfhvalue=”urnschemas-microsoft-comAML”/>   </cfhItem>  </cfhview> ?。?cfhheader></pre>CF_XML_VIEW數(shù)據(jù)格式(“VIEW”)向消費應(yīng)用程序提供關(guān)于供應(yīng)應(yīng)用程序的本機XML編程語言的信息。通過讀取包含在“VIEW”格式中的數(shù)據(jù),消費應(yīng)用程序依照自身的XML編程語言確定在粘貼操作的過程中,它是否能夠完全使用供應(yīng)應(yīng)用程序的XML編程語言,而不需要獲取額外XSLT轉(zhuǎn)換文件。下面是一個可與從供應(yīng)應(yīng)用程序剪切或拷貝的數(shù)據(jù)相關(guān)聯(lián)的CF_XML_VIEW_HEADER格式的實例。
&lt;cbview xmlnscb=”umschemas-microsoft-comofficeclipboardview”&gt;&lt;!--Root element for the ClipBoard--&gt;
&lt;cbitem cbname=”V0”cbURI=”The URI of the root schema”&gt;
注依照一實施例,這里可以有數(shù)據(jù)。因為該數(shù)據(jù)處于cbstart標(biāo)簽之前,消費應(yīng)用程序知道該數(shù)據(jù)不是所拷貝的一部分,但它仍然可能提供有關(guān)整個來源的性質(zhì)方面的有趣信息。
&lt;cbstart/&gt;&lt;!---A single tag to be placed inline signifying the start of thefragment--&gt;
注依照一實施例,這里可以有數(shù)據(jù)。因為該數(shù)據(jù)處于cbstart標(biāo)簽之后,消費應(yīng)用程序知道該數(shù)據(jù)不是所拷貝的一部分。
&lt;cbend/&gt;&lt;!--A single tag to be placed inline signifying the end of thefragment--&gt;
注依照一實施例,這里可以有數(shù)據(jù)。因為該數(shù)據(jù)處于cbend標(biāo)簽之前,消費應(yīng)用程序知道該數(shù)據(jù)不是所拷貝的一部分,但它仍然可能提供有關(guān)整個來源的性質(zhì)方面的有趣信息。
&lt;/cbitem&gt;
&lt;!--It is possible to place more than one if the pasting app decides to--&gt;
&lt;cbitem cbname=”V1”cbURI=”The URI of th root schema”&gt;
&lt;cbstart/&gt;&lt;!--A single tag to be placed nline signifying the start of thefragment--&gt;
&lt;cbend/&gt;&lt;!--A single tag to be placed inline signifying the end of thefragment--&gt;
&lt;/cbitem&gt;
&lt;/cbview&gt;
CF_XML_DATA數(shù)據(jù)格式(“DATA”)向消費應(yīng)用程序提供與供應(yīng)應(yīng)用程序中剪切或拷貝的數(shù)據(jù)相關(guān)聯(lián)的XML名字空間的信息,這些XML名字空間不是供應(yīng)應(yīng)用程序本機XML編程語言的一部分。例如,“DATA”的HEADER向拷貝應(yīng)用程序提供有關(guān)與供應(yīng)應(yīng)用程序用戶創(chuàng)建的模式相關(guān)聯(lián)的XML名字空間的信息,或是提供與第三方模式關(guān)聯(lián)的XML名字空間的信息,如為了給用戶消費或表示用于組織數(shù)據(jù)的出版商或股票市場公司模式,如上所述。下面是一個可由消費應(yīng)用程序接收用以提供與供應(yīng)應(yīng)用程序剪切或拷貝的數(shù)據(jù)相關(guān)聯(lián)的非本機XML名字空間的信息的CF_XML_DATA格式的實例。
&lt;cbdata xmlnscb=”urnschemas-microsoft-comofficeclipboarddata”&gt;&lt;!--Root element for the ClipBoard--&gt;
&lt;cbitem cbname=”D0”cbURI=”The URI of the root schema”&gt;
注這里可以有數(shù)據(jù)。因為該數(shù)據(jù)處于cbstart標(biāo)簽之前,消費應(yīng)用程序知道該數(shù)據(jù)不是所拷貝的一部分,但它仍然可能提供有關(guān)整個來源的性質(zhì)方面的有趣信息。
&lt;cbstart/&gt;&lt;!-A single tag to be placed inline signifying the start of thefragment--&gt;
注這里可以有數(shù)據(jù)。因為該數(shù)據(jù)處于cbstart標(biāo)簽之后,消費應(yīng)用程序知道該數(shù)據(jù)不是所拷貝的一部分。&lt;cbend/&gt;&lt;!-A single tag to be placedinline signifying the end of the fragment--&gt;
注這里可以有數(shù)據(jù)。因為該數(shù)據(jù)處于cbend標(biāo)簽之后,消費應(yīng)用程序知道該數(shù)據(jù)不是所拷貝的一部分,但它仍然可能提供有關(guān)整個來源的性質(zhì)方面的有趣信息。
&lt;/cbitem&gt;
&lt;!--It is possible to place more than one if the pasting app decides to--&gt;
&lt;cbitem cbname=”D1”cbURI=”The URI of th root schema”&gt;
&lt;cbstart/&gt;&lt;!--A single tag to be placed nline signifying the start of thefragment--&gt;
&lt;cbend/&gt;&lt;!--A single tag to be placed inline signifying the end of thefragment--&gt;
&lt;/cbitem&gt;
&lt;/cbdata&gt;
圖5和圖6是依照本發(fā)明實施例的流程圖,說明了用于提高消費應(yīng)用程序粘貼功能的方法。該方法500從開始步驟505起始,然后轉(zhuǎn)到步驟510,供應(yīng)應(yīng)用程序中的數(shù)據(jù)被剪切或拷貝并保存到剪貼板210用于消費應(yīng)用程序220的后續(xù)粘貼。在步驟515處,為了將剪切或拷貝的數(shù)據(jù)粘貼到正在使用的消費應(yīng)用程序220內(nèi)的一個文檔,用戶從消費應(yīng)用程序選擇粘貼操作。在步驟520處,消費應(yīng)用程序確定是否有CF_XML_HEADER格式與剪切或拷貝的數(shù)據(jù)相關(guān)聯(lián)。如果沒有可用的CF_XML_HEADER格式,該方法前進到圖6的步驟575,數(shù)據(jù)被粘貼而不使用任何增強的粘貼功能。應(yīng)當(dāng)理解,如上所述,如果消費應(yīng)用程序有附加的XML模式和/或數(shù)據(jù)結(jié)構(gòu)可用,則該信息就會通過CF_XML_HEADER格式被提供給消費應(yīng)用程序。
如果在520步提供“HEADER”格式,則該方法前進到步驟525,確定該數(shù)據(jù)是否包括CF_XML_VIEW格式。如果是,那么該方法前進到步驟530,消費應(yīng)用程序創(chuàng)建首部HEADER中規(guī)定的可用名字空間列表作為可用名字空間用于粘貼剪切或拷貝數(shù)據(jù)。例如,如果供應(yīng)應(yīng)用程序是一個電子表格應(yīng)用程序,消費應(yīng)用程序可能需要查詢名字空間庫以尋找可用的轉(zhuǎn)換文件或其它資源用于支持消費應(yīng)用程序(例如,字處理器)依照供應(yīng)應(yīng)用程序的XML功能粘貼剪切或拷貝的數(shù)據(jù)。查找名字空間庫的原因是消費應(yīng)用程序并不理解這個可用的名字空間,需要找到關(guān)于怎么處理它的附加信息。如果XML名字空間庫不在可用名字空間列表中,該方法前進到步驟550,消費應(yīng)用程序檢查名字空間庫230尋找附加資源用于支持粘貼從供應(yīng)應(yīng)用程序剪切或粘貼的數(shù)據(jù)。
如果在步驟535提供CF_XML_DATA格式,該方法前進到步驟540,消費應(yīng)用程序查詢可用名字空間列表獲取與供應(yīng)應(yīng)用程序創(chuàng)建的或從供應(yīng)應(yīng)用程序外部的第三方資源接收的名字空間相關(guān)聯(lián)的轉(zhuǎn)換文件和/或其它的資源,如上所述。應(yīng)當(dāng)理解,參照步驟530和540描述的查詢可用名字空間列表的操作可以通過提供用戶接口來完成,如以上參照圖3所述。
在圖6的步驟545處,確定消費應(yīng)程序是否理解為從供應(yīng)應(yīng)用程序剪切或拷貝的數(shù)據(jù)作標(biāo)識的名字空間和關(guān)聯(lián)的轉(zhuǎn)換文件。例如,如果消費應(yīng)用程序是一個字處理應(yīng)用程序,消費應(yīng)用程序可能不需要轉(zhuǎn)換文件形式的附加資源來提供與剪切或拷貝的數(shù)據(jù)關(guān)聯(lián)的XML格式。如果是這樣,該方法前進到步驟575,消費應(yīng)用程序粘貼剪切或拷貝的數(shù)據(jù)而不使用粘貼功能的增強。
如果消費應(yīng)用程序不理解與所選數(shù)據(jù)關(guān)聯(lián)的名字空間及相關(guān)的資源,或者如果名字空間或資源對消費應(yīng)用程序都不可用,那么該方法前進到步驟550,用戶可用名字空間庫230來選擇與包含在從供應(yīng)應(yīng)用程序得到的CF_XML_DATA格式中的數(shù)據(jù)關(guān)聯(lián)的附加名字空間及資源。如果從供應(yīng)應(yīng)用程序得到的CF_XML_DATA格式標(biāo)示與剪切或拷貝的數(shù)據(jù)相關(guān)聯(lián)的第三方名字空間,諸如一個給定出版商的XSLT文件,那么消費應(yīng)用程序依照這個標(biāo)示的名字空間粘貼數(shù)據(jù)所需要的XSLT文件可從名字空間庫230中得到并用于消費應(yīng)用程序。在步驟555,確定用戶是否選擇了任何可用的轉(zhuǎn)換文件供消費應(yīng)用程序使用。如果不是,該方法前進到步驟560,用戶接口310的粘貼功能由默認(rèn)的功能填入,如圖3所述。
如果資源,諸如XSLT轉(zhuǎn)換文件,位于可用名字空間列表或名字空間庫,那么該方法前進到步驟565,粘貼用戶接口310填入由用戶選擇的附加功能,如以上參照圖3所述。在步驟570,確定是否有用戶選擇默認(rèn)的通用粘貼功能或是否有用戶選擇了特殊粘貼功能。如果用戶想要使用一個特殊粘貼功能,該方法前進到步驟580,用戶選擇這個特殊粘貼功能。該方法前進到步驟575,在此依照用戶選擇的粘貼功能粘貼數(shù)據(jù)。如果在步驟570用戶不想選擇特殊粘貼功能,該方法前進到步驟575,如用戶所選,數(shù)據(jù)被粘貼而使用任何增強的粘貼功能。該方法在步驟595終止。
如此所述,提供了提高計算機軟件應(yīng)用程序粘貼功能的方法和系統(tǒng),用于粘貼數(shù)據(jù)到計算機生成的文檔。對于本領(lǐng)域內(nèi)的熟練技術(shù)人員而言,在本發(fā)明中可以做各種修改或變化而不脫離本發(fā)明的精神實質(zhì)和范圍。研讀在此揭示的本發(fā)明的說明書和對本發(fā)明加以實踐,本發(fā)明的其它實施例對本領(lǐng)域內(nèi)的熟練技術(shù)人員是顯而易見的。
權(quán)利要求
1.一種提高計算機軟件應(yīng)用程序粘貼功能的方法,其特征在于,該方法包括由供應(yīng)應(yīng)用程序打開第一文檔;從第一文檔選擇數(shù)據(jù),用于由消費應(yīng)用程序粘貼到第二文檔;保存所選擇的數(shù)據(jù)到一存儲位置;保存與所選擇的數(shù)據(jù)相關(guān)聯(lián)的數(shù)據(jù)到所述存儲位置,用于向消費應(yīng)用程序提供關(guān)于所選數(shù)據(jù)的信息;如果與所選擇的數(shù)據(jù)相關(guān)聯(lián)的數(shù)據(jù)標(biāo)識與數(shù)據(jù)相關(guān)的第一名字空間,標(biāo)識與所選擇的數(shù)據(jù)關(guān)聯(lián)的一個或多個數(shù)據(jù)類型,這向消費應(yīng)用程序提供所述第一名字空間。選擇一個或多個數(shù)據(jù)類型中的一個用于粘貼所選的數(shù)據(jù)到所述第二文檔;以及獲取與所選的數(shù)據(jù)類型相關(guān)聯(lián)的一個資源,用于準(zhǔn)備數(shù)據(jù)以由消費應(yīng)用程序粘貼到第二文檔。
2.如權(quán)利要求1所述的方法,其特征在于,在獲取與選擇的數(shù)據(jù)類型相關(guān)聯(lián)的一個資源用于準(zhǔn)備數(shù)據(jù)以由消費應(yīng)用程序粘貼到第二文檔的步驟之前,解析與選擇的數(shù)據(jù)相關(guān)聯(lián)的資源的可用名字空間列表;以及如果所述可用名字空間列表標(biāo)識與選擇的數(shù)據(jù)相關(guān)聯(lián)的資源,則將所述資源提供給消費應(yīng)用程序。
3.如權(quán)利要求2所述的方法,其特征在于,如果所述可用名字空間列表不標(biāo)識與所選數(shù)據(jù)相關(guān)聯(lián)的資源,那么解析與所選數(shù)據(jù)相關(guān)聯(lián)的資源的名字空間庫;以及如果該名字空間庫標(biāo)識與所選數(shù)據(jù)相關(guān)聯(lián)的資源,那么將所述資源提供給供應(yīng)應(yīng)用程序。
4.如權(quán)利要求3所述的方法,其特征在于,如果多個名字空間由與所選數(shù)據(jù)相關(guān)聯(lián)的數(shù)據(jù)標(biāo)識,則獲取與所述多個名字空間中的一個相關(guān)聯(lián)的第二資源,用于準(zhǔn)備數(shù)據(jù)由消費應(yīng)用程序粘貼到第二文檔。
5.如權(quán)利要求4所述的方法,其特征在于,所述方法還包括在依照第一資源粘貼選擇的數(shù)據(jù)到第二文檔和依照第二資源粘貼選擇的數(shù)據(jù)到第二文檔之間,提供用戶可選的選擇。
6.如權(quán)利要求4所述的方法,其特征在于,所述方法進一步包括依照從多個可用名字空間中的一個選擇的一個或多個資源中的一個,向用戶提供可選的選擇,用于粘貼選擇的數(shù)據(jù)到第二文檔,所述的每個可用名字空間都與一個或多個資源相關(guān)聯(lián)。
7.如權(quán)利要求5所述的方法,其特征在于,所述保存選擇的數(shù)據(jù)到一存儲位置包括以可擴展標(biāo)記語言(XML)格式保存選取的數(shù)據(jù)。
8.如權(quán)利要求7所述的方法,其特征在于,所述第一和第二資源包括可擴展格式頁語言轉(zhuǎn)換(XSLT),用于將選取的數(shù)據(jù)從與第一文檔相關(guān)聯(lián)的第一數(shù)據(jù)類型轉(zhuǎn)化為第二數(shù)據(jù)類型,用以粘帖所選數(shù)據(jù)到第二文檔。
9.如權(quán)利要求8所述的方法,其特征在于,所述如果沒有資源與所選的數(shù)據(jù)類型相關(guān)聯(lián)用以準(zhǔn)備數(shù)據(jù)以由消費應(yīng)用程序粘貼到第二文檔,則將選擇的數(shù)據(jù)粘貼到第二文檔而不用提高的粘貼功能。
10.如權(quán)利要求9所述的方法,其特征在于,所述保存與所選的數(shù)據(jù)相關(guān)聯(lián)的數(shù)據(jù)到所述存儲位置包括以CF_XML_HEADER格式保存數(shù)據(jù)到所述存儲位置。
11.如權(quán)利要求10所述的方法,其特征在于,如果所述第一名字空間標(biāo)識為與所述第一文檔相關(guān)聯(lián),則向與所選數(shù)據(jù)關(guān)聯(lián)的數(shù)據(jù)提供信息,使消費應(yīng)用程序能夠在可用名字空間列表或名字空間庫中定位第一名字空間。
12.如權(quán)利要求11所述的方法,其特征在于,所述向與所選數(shù)據(jù)相關(guān)聯(lián)的數(shù)據(jù)提供信息使消費應(yīng)用程序能夠在可用名字空間列表或名字空間庫中定位第一名字空間的步驟包括為第一名字空間提供版本標(biāo)識符,提供統(tǒng)一資源標(biāo)識符及為第一名字空間提供文件大小。
13.權(quán)利要求12所述的方法,其特征在于,如果所述多個名字空間被標(biāo)識為與第一文檔相關(guān)聯(lián),則向與所選數(shù)據(jù)相關(guān)聯(lián)的數(shù)據(jù)提供信息使消費應(yīng)用程序能夠在可用名字空間列表或名字空間庫中定位所述多個名字空間。
14.如權(quán)利要求13所述的方法,其特征在于,所述向與所選數(shù)據(jù)相關(guān)聯(lián)的數(shù)據(jù)提供信息使消費應(yīng)用程序能夠在可用名字空間列表或名字空間庫中定位所述多個名字空間的步驟包括為所述多個名字空間的每一個提供版本標(biāo)識符,提供統(tǒng)一資源標(biāo)識符以及為所述多個名字空間的每一個提供文件大小。
15.如權(quán)利要求10所述的方法,其特征在于,如果所述第一名字空間被標(biāo)識為與第一文檔關(guān)聯(lián),則依照所述第一名字空間向消費應(yīng)用程序提供與所述第一文檔關(guān)聯(lián)的任何數(shù)據(jù)類型。
16.如權(quán)利要求15所述的方法,其特征在于,依照所述第一名字空間與所述第一文檔關(guān)聯(lián)的數(shù)據(jù)類型以CF_XML_VIEW格式被提供給消費應(yīng)用程序。
17.如權(quán)利要求13所述的方法,其特征在于,如果所述多個名字空間被標(biāo)識為與第一檔關(guān)聯(lián),則依照所述多個字空間向消費應(yīng)用程序提供一個或多個與第一文檔相關(guān)聯(lián)的數(shù)據(jù)類型。
18.如權(quán)利要求17所述的方法,其特征在于,依照所述多個名字空間與所述第一文檔相關(guān)聯(lián)的一個或多個數(shù)據(jù)類型以CF_XML_DATA格式被提供給消費應(yīng)用程序。
19.如權(quán)利要求1所述的方法,其特征在于,所述供應(yīng)應(yīng)用程序是字處理應(yīng)用程序。
20.如權(quán)利要求1所述的方法,其特征在于,所述供應(yīng)應(yīng)用程序是電子表格應(yīng)用程序。
21.如權(quán)利要求1所述的方法,其特征在于,所述供應(yīng)應(yīng)用程序是幻燈片展示應(yīng)用程序。
22.如權(quán)利要求1所述的方法,其特征在于,所述消費應(yīng)用程序是字處理應(yīng)用程序。
23.如權(quán)利要求1所述的方法,其特征在于,所述消費應(yīng)用程序是電子表格應(yīng)用程序。
24.如權(quán)利要求1所述的方法,其特征在于,所述消費應(yīng)用程序是幻燈片展示應(yīng)用程序。
25.如權(quán)利要求1所述的方法,其特征在于,所述保存所選的數(shù)據(jù)到一存儲位置包括保存所選的數(shù)據(jù)到剪貼板。
26.一種提高計算機軟件應(yīng)用程序粘貼功能的方法,其特征在于,該方法包括由供應(yīng)應(yīng)用程序打開第一文檔;依照標(biāo)記語言將結(jié)構(gòu)應(yīng)用到的所述第一文檔;從所述第一文檔選擇數(shù)據(jù),用于粘貼到第二文檔;保存選擇的數(shù)據(jù)到一存儲位置;保存與所選擇的數(shù)據(jù)相關(guān)聯(lián)的數(shù)據(jù)到所述存儲位置,用于向消費應(yīng)用程序提供關(guān)于所選數(shù)據(jù)的信息;由消費應(yīng)用程序打開第二文檔,選擇消費應(yīng)用程序的粘帖功能以將所選的數(shù)據(jù)粘貼到所述第二文檔;由消費應(yīng)用程序讀取與所選數(shù)據(jù)相關(guān)聯(lián)的數(shù)據(jù);響應(yīng)于消費應(yīng)用程序讀取與所選數(shù)據(jù)相關(guān)聯(lián)的數(shù)據(jù),確定是否有一個或多個名字空間與所選的數(shù)據(jù)相關(guān)聯(lián),定義對于應(yīng)用到所選數(shù)據(jù)上的結(jié)構(gòu)所許可的數(shù)據(jù)內(nèi)容、數(shù)據(jù)類型和數(shù)據(jù)結(jié)構(gòu);由消費應(yīng)用程序獲取與一個或多個名字空間中的一個相關(guān)聯(lián)的資源,用于粘貼所選取的數(shù)據(jù)到第二文檔;以及根據(jù)所述資源粘帖所選取的數(shù)據(jù)到第二文檔。
27.如權(quán)利要求26所述的方法,其特征在于,在由消費應(yīng)用程序獲取與一個或多個名字空間中的一個相關(guān)聯(lián)的資源用于粘貼所選的數(shù)據(jù)之前,確定在可用名字空間列表的一個或多個名字空間中是否包含消費應(yīng)用程序使用的一個或多個名字空間中想要的一個;如果可用名字空間列表包含消費應(yīng)用程序使用的一個或多個名字空間中想要的一個,則選擇所述想要的名字空間;以及向消費應(yīng)用程序提供所述選擇的名字空間。
28.如權(quán)利要求27所述的方法,其特征在于,如果所述可用名字空間列表不含有供消費應(yīng)用程序使用的一個或多個名字空間中想要的一個,則確定名字空間庫是否含有一個或多個資源用于可供消費應(yīng)用程序使用的一個或多個名字空間中的一個;如果所述名字空間庫含有用于一個或多個名字空間的一個或多個想要的資源由供消費應(yīng)用程序使用,則從名字空間庫中選擇所述想要的資源;以及向消費應(yīng)用程序提供選擇的名字空間和資源。
29.如權(quán)利要求28所述的方法,其特征在于,所述方法進一步包括提供用戶可選的選擇,用于依照所選擇的名字空間粘貼所述選擇的數(shù)據(jù)到第二文檔。
30.如權(quán)利要求29所述的方法,其特征在于,所述標(biāo)記語言是可擴展標(biāo)記語言(XML)。
31.如權(quán)利要求30所述的方法,其特征在于,所述資源是XSLT文件,用于將所述選擇的數(shù)據(jù)從與所述第一文檔關(guān)聯(lián)的第一數(shù)據(jù)類型轉(zhuǎn)換成第二數(shù)據(jù)類型,以便將所述選取的數(shù)據(jù)粘貼到第二文檔。
32.如權(quán)利要求29所述的方法,其特征在于,所述保存與選取的數(shù)據(jù)相關(guān)聯(lián)的數(shù)據(jù)到所述存儲位置用于向消費應(yīng)用程序提供所選數(shù)據(jù)的信息的步驟包括識別所述一個或多個名字空間中的任何一個是否與第一文檔相關(guān)聯(lián)。
33.如權(quán)利要求32所述的方法,其特征在于,所述識別所述一個或多個名字空間中的任何一個是否與第一文檔相關(guān)聯(lián)的步驟包括向消費應(yīng)用程序提供信息用于在可用名字空間列表或名字空間庫中定位所述一個或多個名字空間的任何一個。
34.一種計算機可讀介質(zhì),其上已存儲有計算機可執(zhí)行指令,當(dāng)計算機運行所述指令時,執(zhí)行以下步驟由供應(yīng)應(yīng)用程序打開第一文檔;依照標(biāo)記語言將結(jié)構(gòu)應(yīng)用到的所述第一文檔;從所述第一文檔選擇數(shù)據(jù),用于粘貼到第二文檔;保存選擇的數(shù)據(jù)到一存儲位置;保存與選擇的數(shù)據(jù)相關(guān)聯(lián)的數(shù)據(jù)到所述存儲位置,用于向消費應(yīng)用程序提供關(guān)于所選數(shù)據(jù)的信息;由消費應(yīng)用程序打開第二文檔,選擇消費應(yīng)用程序的粘帖功能以將數(shù)據(jù)粘貼到第二文檔;由消費應(yīng)用程序讀取與所選數(shù)據(jù)相關(guān)聯(lián)的數(shù)據(jù);響應(yīng)于消費應(yīng)用程序讀取與所選數(shù)據(jù)相關(guān)聯(lián)的數(shù)據(jù),確定是否有一個或多個名字空間與所選的數(shù)據(jù)相關(guān)聯(lián),定義出用于應(yīng)用到所選數(shù)據(jù)上的結(jié)構(gòu)的許可的數(shù)據(jù)內(nèi)容、數(shù)據(jù)類型和數(shù)據(jù)結(jié)構(gòu);由消費應(yīng)用程序獲取與所述一個或多個名字空間中的一個相關(guān)聯(lián)的資源,用于粘貼選取的數(shù)據(jù)到第二文檔;以及根據(jù)所述資源粘帖選取的數(shù)據(jù)到第二文檔。
35.如權(quán)利要求34所述的計算機可讀介質(zhì),在由消費應(yīng)用程序獲取所述與一個或多個名字空間相關(guān)聯(lián)的資源用于粘貼選擇的數(shù)據(jù)之前,確定可用名字空間列表是否包含的一個或多個名字空間中想要的名字空間供消費應(yīng)用程序使用;如果可用名字空間列表包含一個或多個名字空間中想要的名字空間由供消費應(yīng)用程序使用,則么選擇所述想要的名字空間;以及向消費應(yīng)用程序提供所選擇的名字空間。
36.如權(quán)利要求35所述的計算機可讀介質(zhì),其特征在于,如果所述可用名字空間列表不包含一個或多個名字空間中想要的名字空間由消費應(yīng)用程序使用,則確定是否一名字空間庫包含一個或多個名字空間中想要的名字空間給消費應(yīng)用程序使用;如果所述名字空間庫包含用于一個或多個名字空間的一個或多個想要的資源由消費應(yīng)用程序使用,則從名字空間庫中選擇所想要的資源;以及向消費應(yīng)用程序提供所選擇的名字空間和資源。
37.如權(quán)利要求36所述的計算機可讀介質(zhì),其特征在于,所述方法還包括向用戶提供可選的選擇用以依照選擇的名字空間將所選擇的數(shù)據(jù)粘貼到第二文檔。
38.如權(quán)利要求37所述的計算機可讀介質(zhì),其特征在于,所述標(biāo)記語言是可擴展標(biāo)記語言(XML)。
39.如權(quán)利要求38所述的計算機可讀介質(zhì),其特征在于,所述保存與所選取的數(shù)據(jù)相關(guān)聯(lián)的數(shù)據(jù)到所述存儲位置以向消費應(yīng)用程序提供有關(guān)所選數(shù)據(jù)的信息的步驟包括識別所述一個或多個名字空間中的任何一個是否和第一文檔相關(guān)聯(lián)。
40.如權(quán)利要求39所述的計算機可讀介質(zhì),其特征在于,所述識別一個或多個名字空間中的任何一個是否和第一文檔關(guān)聯(lián)的步驟包括向消費應(yīng)用程序提供信息,用于在可用名字空間列表或名字空間庫中定位所述一個或多個名字空間中的任何名字空間。
41.一種從拷貝應(yīng)用程序粘帖數(shù)據(jù)到消費應(yīng)用程序的方法,其特征在于,所述方法包括應(yīng)用第一可擴展標(biāo)記語言(XML)元素到第一文檔的一區(qū)域的開頭,該區(qū)域被選擇用于從拷貝應(yīng)用程序進行拷貝,并用于粘貼到消費應(yīng)用程序;應(yīng)用第二XML元素到所述選擇區(qū)域的末尾;在與所選區(qū)域相關(guān)的首部中提供信息,所述信息包括可用XML名字空間的標(biāo)識符和對應(yīng)于每個可用的名字空間的剪貼板格式標(biāo)識符的指針;在首部中提供關(guān)于每個可用名字空間文件大小的信息;以及提供一個或多個剪貼板上可用的名字空間以使消費應(yīng)用程序能夠從一個或多個名字空間中進行選擇,用于粘貼從拷貝程序得到數(shù)據(jù)。
全文摘要
提供了提高計算機軟件應(yīng)用程序可用的粘貼功能的方法和系統(tǒng),用于粘貼數(shù)據(jù)到計算機生成的文檔。從一個文檔選擇數(shù)據(jù)用以粘帖到另一個文檔。選取的數(shù)據(jù)保存到一個存儲位置,如剪貼板。隨著選擇的數(shù)據(jù),與之相關(guān)的信息或數(shù)據(jù)也被保存,用于向消費或粘帖軟件應(yīng)用程序提供與所選數(shù)據(jù)相關(guān)的數(shù)據(jù)類型的信息。相應(yīng)的,為了保持粘帖數(shù)據(jù)中數(shù)據(jù)的結(jié)構(gòu)和格式與粘帖之前應(yīng)用到該數(shù)據(jù)的結(jié)構(gòu)和格式一致,消費應(yīng)用程序可獲取一個名字空間和相關(guān)的資源,如XSLT轉(zhuǎn)換文件,用來將選擇的數(shù)據(jù)從與第一文檔關(guān)聯(lián)的一種數(shù)據(jù)類型轉(zhuǎn)換成第二種數(shù)據(jù)類型,以便粘帖選擇的數(shù)據(jù)到第二文檔。
文檔編號G06F17/24GK1530833SQ20041000824
公開日2004年9月22日 申請日期2004年3月1日 優(yōu)先權(quán)日2003年2月28日
發(fā)明者B·M·瓊斯, M·薩維奇, R·A·利特爾, M·穆雷, R·科里, M·塔科, B M 瓊斯, 利特爾 申請人:微軟公司
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點贊!
1
康平县| 遂溪县| 灵武市| 诸暨市| 嘉峪关市| 大英县| 汽车| 乐业县| 德州市| 孝义市| 荣昌县| 深水埗区| 宜昌市| 南陵县| 临汾市| 长垣县| 金山区| 正宁县| 邛崃市| 元江| 汉寿县| 汝阳县| 顺平县| 湛江市| 西乌| 莱州市| 道真| 邓州市| 革吉县| 郓城县| 南部县| 井陉县| 东辽县| 灵丘县| 长兴县| 当雄县| 阿合奇县| 长治县| 邢台市| 宣化县| 和林格尔县|