新四季網

提高計算機軟體應用程式粘貼功能的方法和系統的製作方法

2023-07-10 01:40:01 4

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


圖1所示是提供本發明的示例操作環境的計算機、相關外設和網絡設備的塊圖。
圖2所示是一簡化的塊圖,說明了供應應用程式和消費應用程式之間的交互,其中數據由供應應用程式進行剪切或拷貝,由消費應用程進行粘帖。
圖3所示是一簡化的塊圖,說明了依照本發明的示例實施例,向用戶提供增強的粘帖功能的用戶接口。
圖4所示是軟體應用程式粘帖和消費從供應應用程式剪切或拷貝得到的數據的屏幕顯示。
圖5和圖6所示是依照本發明實施例用於提高消費應用程式粘帖功能的方法的流程圖。
(5)具體實施方式
以下參照上述的附圖們對本發明實施例進行描述,在所有的幾幅圖中類似的數字標示類似的部分或部件。本發明涉及提高計算機軟體應用程式粘貼功能的方法和系統,用於粘貼數據到計算機生成的文檔。用戶從諸如電子表格的第一應用程式選擇數據,粘貼到諸如字的第二處理應用程式。粘貼過程可能是以傳統的剪切/拷貝和粘貼操作的形式進行,或以拖和放的形式將選擇的數據從第一應用程式文檔粘貼到第二應用程式文檔。依據本發明的實施例,第一或供應應用程式以可擴展標記語言(XML)表示(representation)的形式將選擇的數據寫入到一存儲位置,如剪貼板。數據寫入到存儲位置的格式包括所選擇的數據和與之相關的一個或多個名字空間的信息。與所選數據相關的可用名字空間可標識出與所選數據相關的數據格式化的類型。例如,標識出的可用名字空間可包括超文本標記語言(HTML)、簡歷文檔或字處理器XML。HTML名字空間標識可標識所述數據能被組織成HTML。簡歷文檔名字空間可標識所述數據能夠依照簡歷XML模式文件進行組織。字處理器XML名字空間可以標識所述數據能夠依照XML的字處理器版本格式化。當然,這些名字空間只是可與所選數據相關聯的眾多類型名字空間的樣例。
當通過選擇第二程序的粘貼功能或通過「放」數據的方法將所選的數據粘貼到第二應用程式文檔時,第二或消費應用程式從所選數據提供的信息中檢測出格式化為XML的數據正在被粘貼。基於所選數據提供的信息,消費應用程式檢查與將要粘貼的數據相關的所有可用名字空間。例如,上述的例子中,消費應用程式檢測出所選數據已經關聯了HTML、簡歷文檔或字處理器XML的名字空間。相應地,消費應用程式查看可用名字空間列表尋找資源來幫助粘貼選擇的數據。例如,如果供應應用程式是電子表格應用程式,消費應用程式查看可用名字空間列表尋找XSLT文件,用於將電子表格XML格式的數據轉換成消費應用程式可用、可消費的格式。如果消費應用程式是字處理器,那麼它將查找XSLT轉換文件,將電子表格數據轉換成字處理應用程式可消費的數據。例如,如果在電子表格應用程式中數據被組織成兩行三列的形式,消費應用程式使用的XSLT轉換文件會將這些數據轉換成字處理應用程式可消費的數據以保持它兩行三列的格式。如果沒有本發明的功能,數據會依照消費應用程式默認的粘貼功能進行粘貼,因此可能失去了供應應用程式的格式信息。結果,依據本例,相對於兩行三列的格式,該數據會被這樣粘貼到字處理應用程式,即作為原始數據在工作區中從左到右地排列。
如果對於消費應用程式標識了多個可用名字空間,那麼消費應用程式可從中選擇最有可能向其提供想要的粘貼功能的名字空間。或者,向消費應用程式的用戶提供用戶接口,使用戶能夠在應用程式可理解的這些可用名字空間的可用轉換文件中進行選擇。如果消費應用程式在可用名字空間列表中沒有找到資源,它將去查找名字空間庫尋找可用資源,以幫助消費應用程式在粘帖之前進行數據的轉換。如果名字空間庫中存在多個資源,將提供用戶以接口,使用戶能夠在可用的資源中進行選擇。如果在可用名字空間列表或可用名字空間庫中都沒有找到可用的資源,那麼消費應用程式會依照默認的功能來粘帖數據,如上所述。
操作環境圖1和接下來的討論試圖對可能實現本發明的適合的計算環境做一個簡單概要的描述。雖然本發明被描述成在通常的運行於個人電腦作業系統上的應用程式上下文環境中,但本領域的熟練技術人員都知道到本發明也可結合其它的程序模塊一起來實現。通常,程序模塊包括例程、程序、組件、數據結構等等,它們運行特殊的任務或實現特殊的抽象數據類型。而且,本領域內的熟練技術人員將理解,本發明可用其它計算機系統配置實施,包括手持裝置、多處理器系統、基於微處理器或可編程的消費者電子器件、手機、小型機、大型機等。本發明也可用於分布式計算環境,在此環境下,依靠通過通信網絡連接的遠程處理裝置來執行任務。在分布式計算環境中,在本地和遠程的內存存儲裝置中都可放置程序模塊。
參照圖1,實現本發明的一個示例系統包括常規的個人電腦20,具有處理單元21,系統存儲器22,連接系統存儲器和處理單元21的系統總線23。系統存儲器22包括ROM 24和RAM 25。基本輸入/輸出系統26(BIOS)存儲在ROM 24中,所述基本輸入/輸出系統包括例如在啟動時幫助在個人電腦的元件之間進行信息傳遞的基本例程。個人電腦20還包括如硬碟驅動器27和磁碟驅動器28來讀寫可移動硬碟29、光碟驅動器30來讀取CD-ROM盤31或讀寫其它光碟介質。硬碟驅動器27、磁碟28和光碟驅動器30各自通過硬碟驅動接口32、磁碟驅動接口33、光碟驅動接口34連接到系統總線23。驅動器和相關的計算機可讀介質為個人電腦20提供了非易失的存儲。雖然上述的計算機可讀介質指的是硬碟、可移動磁碟和CD-ROM盤,但本領域的熟練技術人員將可以理解其它類型的計算機可讀介質,如盒式磁帶、快閃記憶體卡、數字視頻光碟、Brnoulli磁帶(cartridges)等等,也可用在示例的操作環境中。
許多程序模塊可存儲在驅動器和RAM 25中,包括作業系統35、一個或多個應用程式200、220、程序數據,諸如可用名字空間列表225和其它程序模塊(未示出)。
用戶可通過鍵盤40和定點(pointer)裝置,如滑鼠輸入命令或信息到個人電腦。其它輸入裝置(未示出)包括麥克風、操縱杆、遊戲手柄、衛星電視天線、掃描儀等等。這些和其它的輸入裝置通常經連接到系統總線的串行埠46連接到處理單元21,但也可經其它接口進行連接,如遊戲埠或通用串行總線。監視器47或其它類型的顯示設備同樣經接口連接到系統總線23,如視頻適配器48。除了監視器,個人電腦通常包括其它外圍輸出裝置(未示出),如揚聲器或印表機。
個人電腦20可使用到一個或多個遠程計算機如遠程計算機49的邏輯連接而在網絡化環境下進行操作。遠程計算機49可以是伺服器、路由器、對等設備或其它普通的網絡節點,雖然圖1中只示出了存儲設備50,但通常它包括所述的個人電腦20的許多個或所有的元件。伺服器49和存儲器50保存應用程式,如應用程式20,和數據存儲,如名字空間庫230。圖1描述的邏輯連接包括區域網51和廣域網52。這樣的網絡環境在辦公室、企業範圍的計算機網絡、內聯網和網際網路中都很常見。
在LAN網絡環境中使用時,個人電腦20通過網絡接口53連接到LAN 51。在WAN網絡環境中使用時,個人電腦20通常包括數據機54或其它在WAN 52如網際網路上建立通信的裝置。數據機54可為內置或外置的,它通過串行埠接口46連接到系統總線23。在網絡環境中,所述的關於個人電腦20的程序模塊或其中的部分模塊存儲在遠程存儲裝置中。可以理解的是,所示的網絡連接是示例,也可能其它方法來建立通信連接。
操作圖2所示是一簡化的塊圖,說明了供應應用程式和消費應用程式之間的交互,其中數據通過供應應用程式進行剪切或拷貝,通過消費應用程進行粘貼。如圖2所示,示出了供應應用程式200,剪切或拷貝的數據在其中保存以供消費應用程式使用。供應應用程式可以是包括字處理、電子表格、幻燈片展示等應用程式在內的任何能夠在其中剪切或拷貝數據並用於後續的粘貼的軟體應用程式。一旦用戶使用供應應用程式200來選擇數據,進行剪切或拷貝的操作205,該操作包括從供應應用程式剪切或拷貝所選的數據。一旦剪切或拷貝了選擇的數據,那麼該數據就被送到存儲位置210,諸如圖2所示的粘貼板。存儲位置210保存剪切或拷貝的數據,用於根據用戶的選擇由原來的供應應用程式200或消費應用程式220進行後續的粘貼。
依照本發明的實施例,剪貼板210是一個視窗作業系統所維護的存儲資源的示例。剪貼板存儲剪切或拷貝的數據的副本,後續的粘貼操作從剪貼板210傳遞數據到消費程序。正如本領域熟練技術人員所熟道的,倘若第二或消費應用程式220能夠讀取供應應用程式200生成的數據,則如上所述,剪貼板210可使數據從一個應用程式傳遞到另一個應用程式。為了確保消費應用程式能夠讀取、理解和使用供應應用程式200剪切或拷貝的數據,通常這些剪切或拷貝的數據以一種通用的格式,如超文本標記語言的格式保存到剪貼板210,以便在這種格式下數據最有可能為大量的不同種類的消費應用程式220所消費。其它類型的格式包括豐富文本格式,或者數據被保存為非格式化的數據。在第一應用程式進行拷貝時,所有這些格式被告知(advertised)剪貼板。然後,由粘貼應用程式決定它將要求使用哪個可用的格式。
一旦啟動消費應用程式220用於粘貼從供應應用程式200剪切或拷貝的數據,選擇粘貼操作215以粘貼剪切或拷貝的數據到消費應用程式文檔中想要的位置。必須理解,剪切/拷貝操作205和粘貼操作215可能以拖放操作的形式結合起來,從供應應用程式文檔拖出所選的數據放到消費應用程式。如果剪切或拷貝的數據依照一定數量的通用格式類型經供應應用程式進行了格式化處理,如上所述,則消費應用程式如所料想能夠粘貼剪切或拷貝的數據,但是供應應用程式提供給數據的許多特徵,包括特殊的格式,經常會丟失。例如,如果用戶在字處理供應應用程式200中剪切或拷貝表格形式的數據,之後將數據粘貼到電子表格消費應用程式220,原先表格形式的數據簡單地插入到電子表格內的單個單元,致使電子表格消費應用程式220不能如用戶所願對該數據進行操作。
隨著可擴展標記語言(XML)等標記語言的出現,通常供應應用程式200準備的文檔已經使用標記語言的結構進行了注釋,以便給文檔有用的結構用於管理、呈現和操縱包含在文檔中的數據。正如本領域熟練技術人員所熟知的,不同的軟體應用程式包含有不同的「本機」程序用於讀取、理解和使用諸如XML的標記語言。即,相對於消費應用程式220,供應應用程式200可能被設計成提供不同的或較多的XML結構和功能。因此,如果從一個供應應用程式200創建的XML格式的文檔剪切或拷貝數據用於另一個不同的消費應用程式的消費,多數關聯於該數據XML格式的結構和功能在消費應用程式粘貼數據到由消費應用程式所創建和操作的文檔中時會丟失。
以下是一個可應用於由字處理供應應用程式200用戶書寫的文章上的XML結構的實例。
XML結構實例article
titleEXTRA EXTRA/title
body
summaryToday in New York.../summary
mainToday in New York.../main
/body
***/article
如XML結構實例所示,例舉了許多XML元素來注釋該「article」文檔。例如,在文檔的開始和末尾有article標籤來定義該文檔為「article」文檔,其它多種元素如title和body包含在「article」結構內。在body元素內是它的兩個子元素summary和main。該文檔的XML注釋使得用戶能夠定義文檔的部分為特定類型的數據和數據結構。例如,用戶可定義在title元素內文檔的部為包含「title」類的數據並具有「title」指定許可的結構。
為了給文檔提供一套語法和數據類型的規則以控制給定文檔諸如上面例舉的「article」文檔所可能包含的數據類型和數據結構,XML模式被附加或關聯到該文檔用以提供控制每個XML元素和標籤的規則,而使用這些元素和標籤用戶可以注釋給定的文檔。例如,「article」文檔可有一個附加或關聯的模式,諸如「article-schema.xsd」用於提供所容許的XML元素集,諸如article元素、title元素、body元素等等。該模式包括控制次序的規則,根據該次序將元素應用於文檔,還包括與應用到該文檔的個別元素相關的特殊規則。例如,附加或關聯到「article」文檔的模式可以規定與特定元素,如date元素(未示出)相關聯的數據必須包括一個日元素,隨後是一個月h元素,再後是一個年元素。另外,該模式可以要求date元素必須緊靠在title元素之前。
如本領域熟練技術人員所理解的,XML模式的開發者確定XML元素的名字和這些元素所容許的相關數據類型和數據結構。於是,所有根據給定的模式用XML結構來注釋的文檔的用戶都可使用XML結構中包含的數據,而不需要考慮該文檔的總體類型和結構。例如,如果上述的「article」文檔被送到該文檔的出版商,該出版商可能會開發出分析該文檔的軟體應用程式,以便在文檔中來查找特定數據類型供出版商使用。例如,出版商可能只想發布文章的標題作為整篇文章將來出版的一則廣告。標識XML的方法是通過名字空間。名字空間提供了一個標識(ID),從而XML的任何消費者將會知道他們消費的是何種類型的XML。通過查看名字空間,消費應用程式將會知道創建該XML文件使用了哪個模式。使用文檔中指明的名字空間,出版商將知道與XML元素title相關的數據是依照控制文檔的模式被準備的。因此,出版商可開發軟體應用程式或XSLT轉換文件用於定位title元素並提取相關的數據,用於插入到出版商自己的文檔(包括用某種特殊的方法來格式化文檔)作為整篇文章將來出版的一則廣告。
接著這個例子,許多不同的出版商可訂閱同樣的名字空間,以記錄與「article」文檔相關的規則,以便每個出版商可從文檔的作者接收到這個「article」文檔,並且依照組織該數據的XML元素來使用包含在文檔中的數據。即,第一出版社可能只對包含在summary元素中的數據感興趣,而第二出版商只對抽取title元素中的數據感興趣。依照XML結構,通過使用自己的軟體應用程式或XSLT轉換文件來定位想要的元素,則每個出版商可不考慮文檔的其它方面或元素而抽取想要的數據。之所以能夠做到這一點,是因為文檔的每個用戶遵循著添加到或關聯到該文檔的名字空間中指定的數據類型和數據結構的規則。
如果消費應用程式確實找到了可用於可用名字空間之一的XSLT轉換文件,則所選的數據經過XSLT轉換文件的轉換,消費應用程式將該結果作為粘貼功能的一部分來接收。或許有這種情況,即消費應用程式注意到了轉換文件,它消費可用名字空間,自己對該數據進行轉換。例如,如上所述,如果供應應用程式是一電子表格應用程式,所選的數據是兩行三列的格式,那麼用於轉換電子表格數據供字處理應用程式消費的XSLT轉換文件能夠,例如使該數據得以轉換,以便字處理應用程式能粘貼成兩列,每列三項,而不是沒有格式的原數據或電子表格所使用的表格形式。應當理解,第一或供應應用程式文檔可根據傳統的XML模式進行標記。例如,數據可依照「股票價格模式」(「stock price schema」)進行標記。在這種情況下,如果從電子表格應用程式拷貝了選擇的數據粘貼到字處理應用程式,例如,在將選擇的數據寫入內存用於粘貼到字處理應用程式時,「股票價格模式」相關的名字空間和電子表格可視布局相關的名字空間都將被關聯到所選的數據。
在識別出「股票價格模式」後,消費應用程式參考可用資源列表,探知所選數據的每個單元格是公司股票的符號,對於每個公司有公司的相關描述。因此,消費應用程式將在可用名字空間列表或名字空間庫中查找諸如XSLT轉換文件的資源來指導消費應用程式怎樣粘貼標記的數據。提供給消費應用程式用戶的用戶接口可提供選項「粘貼公司概況」。如果用戶選擇了「粘貼公司概況」,與粘貼功能相關的XSLT轉換文件可使消費應用程式能夠粘貼從供應應用程式選擇得到的公司股票符號,同時粘貼經用戶選擇的粘貼功能從與所選數據關聯的可用名字空間中引入公司概況。這種解決方法優於之前的替換方案,該方案是選擇電子表格名字空間,採用與電子表格中相同的形式來粘貼數據。
如熟悉可擴展標記語言的人所了解,XML是通過將元素和屬性名稱關聯到由統一資源標識符所標識的名字空間的方法來限定XML文檔所使用的元素和屬性名稱。XML名字空間是名字集,由統一資源標識符參照標識,名字作為元素的類型和屬性名稱用於XML文檔。單個XML文檔可包含為多軟體模塊定義和使用的元素和屬性。例如,依照本發明的實施例,單個XML文檔,諸如字處理文檔可包含為多軟體模塊定義和使用的元素和屬性。例如,一個字處理文檔可有為HTML處理模塊、字處理應用程式XML處理模塊定義和使用的元素和屬性,或者該文檔可包含為與其關聯的一個或多個模式文件定義、使用或關聯的元素和屬性。例如,將元素和屬性關聯到字處理文檔使其與一個模式文件相關聯,所述模式文件與簡歷、法律文件等等文檔關聯。因此,單一文檔,諸如典型的字處理文檔可以有一個名字空間標識與每個不同軟體模塊關聯的元素類型和屬性名稱,所述模塊可消費或使用從文檔得到的數據。接著上面列出的例子,字處理文檔可包含一個與HTML處理模塊關聯的名字空間、一個與字處理XML處理模塊關聯的名字空間和一個與簡歷或法律文檔模式文件關聯的名字空間。
依照本發明的實施例,當選擇了數據用於粘貼到第二個應用程式文檔時,與之相關的標識名字空間的信息被提供給所選擇的數據,用於通知第二或消費應用程式與數據相關的名字空間,以便第二或消費應用程式可根據其程式語言對數據關聯的元素類型和/或屬性進行操作。例如,如果第一應用程式是一個字處理應用程式,第二應用程式是一個電子表格應用程式,電子表格應用程式可使用由數據相關的名字空間標識的信息來確定通過使用與元素類型和屬性關聯的XSLT轉換文件所選的數據將被最優地粘貼到第二應用程式文檔,所述元素類型和屬性與一個給定的名字空間相關。例如,如果一個給定的名字空間標識了與包含在所選數據中的操縱數據相關的元素類型和屬性,而其它名字空間關聯用於顯示所選的數據,第二應用程式即本例中的電子表格應用程式將選擇與操縱所選數據相關的名字空間,而不是與顯示相關的名字空間。
在消費應用程式檢查了從第一應用程式文檔選擇的XML數據相關的名字空間之後,依照本發明的實施例,為了得到最優消費,消費應用程式查看可用名字空間列表或名字空間庫,尋找消費應用程式可用的資源用於轉換所選的數據。例如,如果第二程序是一個試圖粘貼從字處理應用程式選擇的數據的電子表格應用程式,則該第二應用程式將查看可用名字空間列表或名字空間庫以獲取一個可被第二應用程式使用的XSLT轉換文件,用於轉換字處理器的XML數據到電子表格的XML數據以供電子表格應用程式作最優消費。如本領域熟練技術人員所了解,可擴展樣式表語言(XSL)包括用於說明數據格式的XML詞彙表。XML用XSL信息文件來指定XML文檔的樣式,描述文檔是怎樣從一個XML文檔轉換成另一個XML文檔或其它類型的文檔如HTML文檔的。
仍舊參照圖2,名字空間可被添加到供應應用程式準備的文檔,或被維持在該文檔可訪問的另外一個位置,如名字空間庫230中。為定位和/或標識該名字空間,文檔可包含一個文件路徑指針或唯一名字空間標識符(例如,統一資源標示符或統一資源名稱)。有關名字空間庫230的詳細描述,可參見2002年6月27日申請的題為「System and method for providing namespace relatedinformation」的美國專利申請,序列號為10/184,190,在此將其全文作為參照引用。有關從名字空間庫230下載一個名字空間供供應應用程式200和消費應用程式220使用的方法的詳細描述,可參見2002年5月申請的題為「Mechanism doe Downloading Software Components from a Remote Applicationfor Use by a Local Software Application」的美國專利申請,序列號為10/164,260,在此將其全文作為參照引用。
一旦用戶下載或通過其它方式得到一個名字空間及其相關的用戶文檔信息,該名字空間可被裝載到一個包括該名字空間及其資源,以及其它已經裝載的名字空間的名字空間列表中。該列表225,由用戶計算機20維持或用戶可通過分布式計算環境從遠程位置,如伺服器49進行訪問。可用名字空間列表包括與供應應用程式中數據相關的名字空間,該名字空間包括使消費應用程式能夠定位和得到資源諸如用於幫助消費應用程式轉換數據供其消費的XSLT轉換文件的信息。
考慮用戶使用字處理供應應用程式200剪切或拷貝表格式數據的實例。在剪切或拷貝數據前,依照供應應用程式200的本機XML程式語言,用XML注釋來組織數據。如果通過粘貼操作215,消費應用程式220要求粘貼從剪貼板210剪切或拷貝的數據,則消費應用程式220將訪問可用名字空間列表225查看是否有可用的名字空間或對應於其中一個名字空間是否有合適的XSLT轉換文件,用於增強消費應用程式220的本機XML的編程,以便消費應用程式220以與在供應應用程式200中所應用到數據上的同樣的格式(如表格的形式)粘貼從字處理供應程序200中剪切或拷貝的數據。例如,在可用列表225中找到諸如「wordprocessor-to-spreadshheet-schema.xsl」這樣的資源文件(該例中是XSLT轉換文件)供消費應用程式將可用的字處理器名字空間轉換到被其理解的電子表格名字空間。因此,當消費應用程式得到附加XSLT轉換文件,消費應用程式的本機XML編程得到增強,使得消費應用程式(如,電子表格應用程式)現在能夠依照從可用名字空間列表得到的名字空間轉換來使用從供應應用程式得到的數據。即,為了處理從供應應用程式傳來的數據,通過從可用名字空間列表得到XML名字空間,消費應用程式接收以與供應應用程式創建和處理該數據同樣的方式處理從供應應用程式接收到的數據而所需要的語法和數據規則。
依照本發明的實施例,如果依照一個給定的XML名字空間使用供應應用程式來組織數據,用戶經由消費應用程式依照一個選定的第三方XSLT轉換文件可將剪切或拷貝的數據粘貼到該消費應用程式。例如,消費應用程式220的一個用戶接收到從上述「article」文檔剪切的數據,消費應用程式220的用戶可在消費應用程式中查看可用名字空間列表的資源以確定是否有與多種出版商相關聯的轉換文件可用於依照一特定出版商的要求來組織該文檔。然後,該消費應用程式220的用戶在可用名字空間列表225的資源中查找能夠使消費應用程式220依照想要的名字空間來使用該數據的轉換文件。如果想要的資源不在可用名字空間列表225中,用戶可查看本機或遠程的名字空間庫230來尋找所提供的名字空間的附加資源供消費應用程式使用以對從供應應用程式200得到的數據加以利用。
圖3所示是一簡化的塊圖,說明了依照本發明的示例實施例向用戶提供增強的粘貼功能的用戶接口。一旦消費應用程式220的用戶選擇了消費應用程式220的粘貼操作,可以向用戶提供多種粘貼選項。例如,用戶可選擇簡單粘貼操作將從供應應用程式剪切或拷貝的數據依照默認的格式,如HTML格式粘貼到消費應用程式正在使用的文檔上。如果想要依照本發明實施例的增強的粘貼功能,用戶可選擇備用粘貼功能,如圖3示出的特殊粘貼功能。
特殊粘貼用戶接口310表明了用戶可用的粘貼選項列表。例如,用戶可選擇以豐富文本格式(RTF)粘貼數據,或者用戶可選擇依照HTML格式320粘貼文檔。如用戶接口310所示,用戶可選擇依照XML格式325來粘貼數據而不使用本發明增強的粘貼功能。即,消費應用程式220依照其本機XML程式語言粘貼剪切或拷貝的數據。如果用戶想要依照某個在此所述的增強功能來粘貼數據,用戶可以選擇用戶接口310的「其它」按鈕來啟動一個可用模式用戶接口350。通過可用模式用戶接口350,用戶可以選擇可用列表355來查看在可用名字空間列表225上哪些名字空間及相關的XSLT文件可用,如以上參照圖2所述。因此,特定轉換文件的選擇向用戶正在使用的消費應用程式提供了所選XSLT文件增強的功能,用於對從供應應用程式剪切或拷貝的數據進行操作,如同該數據已被供應應用程式所使用或格式化一樣。
如以上參照圖3所述,如果可用名字空間列表中沒有想要的可用名字空間或其它資源,為了提供從本機或遠程名字空間庫230可得到的更大的可用數據視圖列表,應用程式也可啟動名字空間特徵370。如果用戶通過用戶接口370從名字空間庫230中選擇一個可用視圖,則帶有可用粘貼功能更新列表的特殊粘貼用戶接口310就被提供給用戶,包括由所選名字空間激活的粘貼功能。應當理解,某種情況下的視圖可能是名字空間及其相關XSLT轉換的任何組合。XSLT轉換將把可用名字空間轉換成一個消費應用程式可理解的本機名字空間。不同的名字空間通常代表了不同類型的數據,不同的XSLT代表對不同類型數據的不同的視圖。如圖3所示,從名字空間庫用戶接口370中得到的「出版商A」XSLT 380的選擇使得特殊粘貼用戶接口310增加(populated with)了對「出版商A」的粘貼功能390。因此,為了使用下載的「出版商A」的轉換文件380使消費應用程式220能夠依照出版商A提供的XSLT文件粘貼從供應應用程式200得到的數據,用戶可選擇「出版商A」的粘貼功能390。該轉換被標識為與將出版商A名字空間轉化成消費應用程式可理解的名字空間相關聯。如本領域熟練技術人員所理解,參照圖2和圖3在此描述的具體的XSLT文件只是樣例,任何轉換或解釋特定的名字空間的不同XSLT文件或其它方法都可提供給消費應用程式220,用以向供應應用程式200中剪切或拷貝的數據提供增強的粘貼功能。
圖4所示是軟體應用程式粘貼和消費從供應應用程式得到的數據的屏幕顯示。屏幕照400顯示了一個示例字處理應用程式,用戶正在其中製作文檔410。依照本發明的實施例,用戶已經將數據粘貼到了一張從電子表格供應應用程式200拷貝過來的表內。在粘貼數據到文檔410的操作中,呈現一對話框420向用戶顯示三種不同的數據格式,包括「八月歷史」(Eight Month History)格式425,「項目財務總結」(Projected Financial Summary)格式430和「工業分析」(Industrial Breakdown)格式435。應當理解,對話框420是圖3所示的對話框310的替換。根據圖4中的數據實例,用戶已經選擇了「八月歷史」格式425,該格式是可用名字空間列表225中的一個名字空間的視圖,來將從供應應用程式(如電子表格應用程式)得到的數據在在文檔410中依照記錄了(dictating)「八月歷史」的XML結構的XSLT文件進行格式化。應當理解,諸如「eightmonthhistory-shema.xsl」的轉換資源可從能使消費應用程式支持XML結構來提供「表1」格式化的可用名字空間列表或名字空間庫225得到,如圖4所示。假如用戶已經從供應應用程式選擇了剪切和拷貝關於「工業分析」格式的信息,則用戶可選擇「工業分析」格式435以便將從供應應用程式剪切或拷貝的數據可依照由供應應用程式對數據進行組織的格式在消費應用程式中進行格式化。
依照本發明的實施例,當有數據以XML的格式剪切或拷貝並保存到剪貼板210用於後續消費應用程式220的粘貼時,可使用三個或更多的剪貼板格式來幫助消費應用程式確定怎樣根據本發明的功能來處理剪切或拷貝的數據。這三種格式包括CF_XML_HEADER、CF_XML_VIEW和CF_XML_DATA。如上所述,包括供應應用程式200和消費應用程式220在內的許多應用程式支持由這些應用程式所創建的XML標記結構和文件。但是,如上所述,通常一個應用程式的XML支持和另一個應用程式的XML支持是不兼容的,結果是,在將數據從一個應用程式粘貼到消費應用程式文件時,格式和其它XML相關的特性丟失了。另外,如上所述,XML模式也作為由第三方提供的供多種應用程式使用的工具而存在,但它卻不被應用程式的本機XML程式語言支持。
CF_XML_HEADER格式(「HEADER」)包含有關拷貝應用程式有哪個名字空間可用的信息。所有的粘貼應用程式可在CF_XML_HEADER中查看、決定是否有一個或多個名字空間可供其消費。HEADER還標識了可以在哪裡找到不同的名字空間,以便在確定想要消費的一個或多個名字空間時,粘貼應用程式可以回來查找得到所要的數據。HEADER可以識別為包含想要的一個或多個名字空間之一處是CF_XML_DATA格式。這些信息對消費應用程式很有用,因為消費應用程式能夠確定希望消費哪種格式。這有助於解決性能問題,因為在這些具體格式被要求之前,拷貝應用程式不需要用不同的格式來提供所有的數據。在餘下部分的描述中,我們假定有兩個格式可用。
第一個粘貼板格式是具有一個或多個名字空間的CF_XML_VIEW,它通常更多的是格式標記而不是數據標記(諸如「SpreadsheetML」;或documentML)。第二個粘貼板格式是含有一個或多個名字空間的CF_XML_DATA,它沒有定義格式或視圖,而是定義了其下置的數據。通過涉及電子表格程序的一個實例,很容易看出這兩個格式的活動。如果該電子表格程序支持XML結構,那麼可以想像定義金融數據的名字空間可被應用到該電子表格用以標識不同的單元格及它們同金融數據的相關程度。當電子表格應用程式進行一項拷貝操作時,它將有兩種表示數據的方法。其第一種表示方式就如同它出現在電子表格中,這要使用電子表格標記語言。該電子表格標記語言定義在電子表格中看到的一般情況,如格式、布局等等。這些數據將被放置到CF_XML_VIEW剪貼板格式,因為它最好地定義了數據「看上去」怎樣。如果粘貼數據的人更多地關心外觀和布局,而不是潛在的數據意義,那麼這對他們非常的有用。
第二種在剪貼板上表示數據的方法是使用金融數據的名字空間。該名字空間不含涉及數據外觀或布局的信息,代之以描述數據本身的意義。該數據將放置到CF_XML_DATA剪貼板格式。因為布局信息的不可得,消費應用程式需要自己確定怎樣最好地顯示這些數據。例如,在粘貼數據到字處理應用程式的例子裡這可能是更想要的格式。原因是金融數據在電子表格中的顯示方式可能與字處理應用程式中的顯示方式完全不同。字處理應用程式需要查看金融數據名字空間,找到一些視圖信息,如XSLT轉換,來幫助字處理應用程式以正確的方式來顯示數據。
通過將不同的名字空間拆分成不同的剪貼板格式將更加高效,因為消費應用程式可能不需要或不同時需要供應應用程式的「VIEW」或「DATA」格式。即,如果基於用戶選擇的粘貼功能,消費應用程式確定不需要「VIEW」或「DATA」格式中包含的信息,那麼消費應用程式不會從供它使用的這些格式裝載數據。如果消費應用程式是和供應應用程式同樣類型的程序(如,字處理應用程式),消費應用程式不需要另外的粘貼功能來進行用戶選擇的這個粘貼操作。CF_XML_HEADER格式包含有關「VIEW」和「DATA」格式的版本和名字空間的信息。HEADER格式也包括有關每個VIEW和DATA格式文件的文件大小的信息。下面是一個與用第三方「Get A Job.com」XML模式進行標記從字處理文件拷貝來的數據片段相關聯的CF_XML_HEADER格式實例。
  <cfhheader cfhVersion=」1.0」xmlnscfh=」urnschemas-micrsoft-  comofficeclipboardheader」>  <cfhdata cfhbytes=」00000001 343」>   <cfhItem cfhname=」D1」cfhbytes=」00000001343」>   <cfhURI cfhvalue=」urnschemas-getajob-comresume」cfhroot=」Yes」   />  </cfhItem>  </cfhdata>  <cfhview 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>CF_XML_VIEW數據格式(「VIEW」)向消費應用程式提供關於供應應用程式的本機XML程式語言的信息。通過讀取包含在「VIEW」格式中的數據,消費應用程式依照自身的XML程式語言確定在粘貼操作的過程中,它是否能夠完全使用供應應用程式的XML程式語言,而不需要獲取額外XSLT轉換文件。下面是一個可與從供應應用程式剪切或拷貝的數據相關聯的CF_XML_VIEW_HEADER格式的實例。
cbview xmlnscb=」umschemas-microsoft-comofficeclipboardview」!--Root element for the ClipBoard--
cbitem cbname=」V0」cbURI=」The URI of the root schema」
注依照一實施例,這裡可以有數據。因為該數據處於cbstart標籤之前,消費應用程式知道該數據不是所拷貝的一部分,但它仍然可能提供有關整個來源的性質方面的有趣信息。
cbstart/!---A single tag to be placed inline signifying the start of thefragment--
注依照一實施例,這裡可以有數據。因為該數據處於cbstart標籤之後,消費應用程式知道該數據不是所拷貝的一部分。
cbend/!--A single tag to be placed inline signifying the end of thefragment--
注依照一實施例,這裡可以有數據。因為該數據處於cbend標籤之前,消費應用程式知道該數據不是所拷貝的一部分,但它仍然可能提供有關整個來源的性質方面的有趣信息。
/cbitem
!--It is possible to place more than one if the pasting app decides to--
cbitem cbname=」V1」cbURI=」The URI of th root schema」
cbstart/!--A single tag to be placed nline signifying the start of thefragment--
cbend/!--A single tag to be placed inline signifying the end of thefragment--
/cbitem
/cbview
CF_XML_DATA數據格式(「DATA」)向消費應用程式提供與供應應用程式中剪切或拷貝的數據相關聯的XML名字空間的信息,這些XML名字空間不是供應應用程式本機XML程式語言的一部分。例如,「DATA」的HEADER向拷貝應用程式提供有關與供應應用程式用戶創建的模式相關聯的XML名字空間的信息,或是提供與第三方模式關聯的XML名字空間的信息,如為了給用戶消費或表示用於組織數據的出版商或股票市場公司模式,如上所述。下面是一個可由消費應用程式接收用以提供與供應應用程式剪切或拷貝的數據相關聯的非本機XML名字空間的信息的CF_XML_DATA格式的實例。
cbdata xmlnscb=」urnschemas-microsoft-comofficeclipboarddata」!--Root element for the ClipBoard--
cbitem cbname=」D0」cbURI=」The URI of the root schema」
注這裡可以有數據。因為該數據處於cbstart標籤之前,消費應用程式知道該數據不是所拷貝的一部分,但它仍然可能提供有關整個來源的性質方面的有趣信息。
cbstart/!-A single tag to be placed inline signifying the start of thefragment--
注這裡可以有數據。因為該數據處於cbstart標籤之後,消費應用程式知道該數據不是所拷貝的一部分。cbend/!-A single tag to be placedinline signifying the end of the fragment--
注這裡可以有數據。因為該數據處於cbend標籤之後,消費應用程式知道該數據不是所拷貝的一部分,但它仍然可能提供有關整個來源的性質方面的有趣信息。
/cbitem
!--It is possible to place more than one if the pasting app decides to--
cbitem cbname=」D1」cbURI=」The URI of th root schema」
cbstart/!--A single tag to be placed nline signifying the start of thefragment--
cbend/!--A single tag to be placed inline signifying the end of thefragment--
/cbitem
/cbdata
圖5和圖6是依照本發明實施例的流程圖,說明了用於提高消費應用程式粘貼功能的方法。該方法500從開始步驟505起始,然後轉到步驟510,供應應用程式中的數據被剪切或拷貝並保存到剪貼板210用於消費應用程式220的後續粘貼。在步驟515處,為了將剪切或拷貝的數據粘貼到正在使用的消費應用程式220內的一個文檔,用戶從消費應用程式選擇粘貼操作。在步驟520處,消費應用程式確定是否有CF_XML_HEADER格式與剪切或拷貝的數據相關聯。如果沒有可用的CF_XML_HEADER格式,該方法前進到圖6的步驟575,數據被粘貼而不使用任何增強的粘貼功能。應當理解,如上所述,如果消費應用程式有附加的XML模式和/或數據結構可用,則該信息就會通過CF_XML_HEADER格式被提供給消費應用程式。
如果在520步提供「HEADER」格式,則該方法前進到步驟525,確定該數據是否包括CF_XML_VIEW格式。如果是,那麼該方法前進到步驟530,消費應用程式創建首部HEADER中規定的可用名字空間列表作為可用名字空間用於粘貼剪切或拷貝數據。例如,如果供應應用程式是一個電子表格應用程式,消費應用程式可能需要查詢名字空間庫以尋找可用的轉換文件或其它資源用於支持消費應用程式(例如,字處理器)依照供應應用程式的XML功能粘貼剪切或拷貝的數據。查找名字空間庫的原因是消費應用程式並不理解這個可用的名字空間,需要找到關於怎麼處理它的附加信息。如果XML名字空間庫不在可用名字空間列表中,該方法前進到步驟550,消費應用程式檢查名字空間庫230尋找附加資源用於支持粘貼從供應應用程式剪切或粘貼的數據。
如果在步驟535提供CF_XML_DATA格式,該方法前進到步驟540,消費應用程式查詢可用名字空間列表獲取與供應應用程式創建的或從供應應用程式外部的第三方資源接收的名字空間相關聯的轉換文件和/或其它的資源,如上所述。應當理解,參照步驟530和540描述的查詢可用名字空間列表的操作可以通過提供用戶接口來完成,如以上參照圖3所述。
在圖6的步驟545處,確定消費應程序是否理解為從供應應用程式剪切或拷貝的數據作標識的名字空間和關聯的轉換文件。例如,如果消費應用程式是一個字處理應用程式,消費應用程式可能不需要轉換文件形式的附加資源來提供與剪切或拷貝的數據關聯的XML格式。如果是這樣,該方法前進到步驟575,消費應用程式粘貼剪切或拷貝的數據而不使用粘貼功能的增強。
如果消費應用程式不理解與所選數據關聯的名字空間及相關的資源,或者如果名字空間或資源對消費應用程式都不可用,那麼該方法前進到步驟550,用戶可用名字空間庫230來選擇與包含在從供應應用程式得到的CF_XML_DATA格式中的數據關聯的附加名字空間及資源。如果從供應應用程式得到的CF_XML_DATA格式標示與剪切或拷貝的數據相關聯的第三方名字空間,諸如一個給定出版商的XSLT文件,那麼消費應用程式依照這個標示的名字空間粘貼數據所需要的XSLT文件可從名字空間庫230中得到並用於消費應用程式。在步驟555,確定用戶是否選擇了任何可用的轉換文件供消費應用程式使用。如果不是,該方法前進到步驟560,用戶接口310的粘貼功能由默認的功能填入,如圖3所述。
如果資源,諸如XSLT轉換文件,位於可用名字空間列表或名字空間庫,那麼該方法前進到步驟565,粘貼用戶接口310填入由用戶選擇的附加功能,如以上參照圖3所述。在步驟570,確定是否有用戶選擇默認的通用粘貼功能或是否有用戶選擇了特殊粘貼功能。如果用戶想要使用一個特殊粘貼功能,該方法前進到步驟580,用戶選擇這個特殊粘貼功能。該方法前進到步驟575,在此依照用戶選擇的粘貼功能粘貼數據。如果在步驟570用戶不想選擇特殊粘貼功能,該方法前進到步驟575,如用戶所選,數據被粘貼而使用任何增強的粘貼功能。該方法在步驟595終止。
如此所述,提供了提高計算機軟體應用程式粘貼功能的方法和系統,用於粘貼數據到計算機生成的文檔。對於本領域內的熟練技術人員而言,在本發明中可以做各種修改或變化而不脫離本發明的精神實質和範圍。研讀在此揭示的本發明的說明書和對本發明加以實踐,本發明的其它實施例對本領域內的熟練技術人員是顯而易見的。
權利要求
1.一種提高計算機軟體應用程式粘貼功能的方法,其特徵在於,該方法包括由供應應用程式打開第一文檔;從第一文檔選擇數據,用於由消費應用程式粘貼到第二文檔;保存所選擇的數據到一存儲位置;保存與所選擇的數據相關聯的數據到所述存儲位置,用於向消費應用程式提供關於所選數據的信息;如果與所選擇的數據相關聯的數據標識與數據相關的第一名字空間,標識與所選擇的數據關聯的一個或多個數據類型,這向消費應用程式提供所述第一名字空間。選擇一個或多個數據類型中的一個用於粘貼所選的數據到所述第二文檔;以及獲取與所選的數據類型相關聯的一個資源,用於準備數據以由消費應用程式粘貼到第二文檔。
2.如權利要求1所述的方法,其特徵在於,在獲取與選擇的數據類型相關聯的一個資源用於準備數據以由消費應用程式粘貼到第二文檔的步驟之前,解析與選擇的數據相關聯的資源的可用名字空間列表;以及如果所述可用名字空間列表標識與選擇的數據相關聯的資源,則將所述資源提供給消費應用程式。
3.如權利要求2所述的方法,其特徵在於,如果所述可用名字空間列表不標識與所選數據相關聯的資源,那麼解析與所選數據相關聯的資源的名字空間庫;以及如果該名字空間庫標識與所選數據相關聯的資源,那麼將所述資源提供給供應應用程式。
4.如權利要求3所述的方法,其特徵在於,如果多個名字空間由與所選數據相關聯的數據標識,則獲取與所述多個名字空間中的一個相關聯的第二資源,用於準備數據由消費應用程式粘貼到第二文檔。
5.如權利要求4所述的方法,其特徵在於,所述方法還包括在依照第一資源粘貼選擇的數據到第二文檔和依照第二資源粘貼選擇的數據到第二文檔之間,提供用戶可選的選擇。
6.如權利要求4所述的方法,其特徵在於,所述方法進一步包括依照從多個可用名字空間中的一個選擇的一個或多個資源中的一個,向用戶提供可選的選擇,用於粘貼選擇的數據到第二文檔,所述的每個可用名字空間都與一個或多個資源相關聯。
7.如權利要求5所述的方法,其特徵在於,所述保存選擇的數據到一存儲位置包括以可擴展標記語言(XML)格式保存選取的數據。
8.如權利要求7所述的方法,其特徵在於,所述第一和第二資源包括可擴展格式頁語言轉換(XSLT),用於將選取的數據從與第一文檔相關聯的第一數據類型轉化為第二數據類型,用以粘帖所選數據到第二文檔。
9.如權利要求8所述的方法,其特徵在於,所述如果沒有資源與所選的數據類型相關聯用以準備數據以由消費應用程式粘貼到第二文檔,則將選擇的數據粘貼到第二文檔而不用提高的粘貼功能。
10.如權利要求9所述的方法,其特徵在於,所述保存與所選的數據相關聯的數據到所述存儲位置包括以CF_XML_HEADER格式保存數據到所述存儲位置。
11.如權利要求10所述的方法,其特徵在於,如果所述第一名字空間標識為與所述第一文檔相關聯,則向與所選數據關聯的數據提供信息,使消費應用程式能夠在可用名字空間列表或名字空間庫中定位第一名字空間。
12.如權利要求11所述的方法,其特徵在於,所述向與所選數據相關聯的數據提供信息使消費應用程式能夠在可用名字空間列表或名字空間庫中定位第一名字空間的步驟包括為第一名字空間提供版本標識符,提供統一資源標識符及為第一名字空間提供文件大小。
13.權利要求12所述的方法,其特徵在於,如果所述多個名字空間被標識為與第一文檔相關聯,則向與所選數據相關聯的數據提供信息使消費應用程式能夠在可用名字空間列表或名字空間庫中定位所述多個名字空間。
14.如權利要求13所述的方法,其特徵在於,所述向與所選數據相關聯的數據提供信息使消費應用程式能夠在可用名字空間列表或名字空間庫中定位所述多個名字空間的步驟包括為所述多個名字空間的每一個提供版本標識符,提供統一資源標識符以及為所述多個名字空間的每一個提供文件大小。
15.如權利要求10所述的方法,其特徵在於,如果所述第一名字空間被標識為與第一文檔關聯,則依照所述第一名字空間向消費應用程式提供與所述第一文檔關聯的任何數據類型。
16.如權利要求15所述的方法,其特徵在於,依照所述第一名字空間與所述第一文檔關聯的數據類型以CF_XML_VIEW格式被提供給消費應用程式。
17.如權利要求13所述的方法,其特徵在於,如果所述多個名字空間被標識為與第一檔關聯,則依照所述多個字空間向消費應用程式提供一個或多個與第一文檔相關聯的數據類型。
18.如權利要求17所述的方法,其特徵在於,依照所述多個名字空間與所述第一文檔相關聯的一個或多個數據類型以CF_XML_DATA格式被提供給消費應用程式。
19.如權利要求1所述的方法,其特徵在於,所述供應應用程式是字處理應用程式。
20.如權利要求1所述的方法,其特徵在於,所述供應應用程式是電子表格應用程式。
21.如權利要求1所述的方法,其特徵在於,所述供應應用程式是幻燈片展示應用程式。
22.如權利要求1所述的方法,其特徵在於,所述消費應用程式是字處理應用程式。
23.如權利要求1所述的方法,其特徵在於,所述消費應用程式是電子表格應用程式。
24.如權利要求1所述的方法,其特徵在於,所述消費應用程式是幻燈片展示應用程式。
25.如權利要求1所述的方法,其特徵在於,所述保存所選的數據到一存儲位置包括保存所選的數據到剪貼板。
26.一種提高計算機軟體應用程式粘貼功能的方法,其特徵在於,該方法包括由供應應用程式打開第一文檔;依照標記語言將結構應用到的所述第一文檔;從所述第一文檔選擇數據,用於粘貼到第二文檔;保存選擇的數據到一存儲位置;保存與所選擇的數據相關聯的數據到所述存儲位置,用於向消費應用程式提供關於所選數據的信息;由消費應用程式打開第二文檔,選擇消費應用程式的粘帖功能以將所選的數據粘貼到所述第二文檔;由消費應用程式讀取與所選數據相關聯的數據;響應於消費應用程式讀取與所選數據相關聯的數據,確定是否有一個或多個名字空間與所選的數據相關聯,定義對於應用到所選數據上的結構所許可的數據內容、數據類型和數據結構;由消費應用程式獲取與一個或多個名字空間中的一個相關聯的資源,用於粘貼所選取的數據到第二文檔;以及根據所述資源粘帖所選取的數據到第二文檔。
27.如權利要求26所述的方法,其特徵在於,在由消費應用程式獲取與一個或多個名字空間中的一個相關聯的資源用於粘貼所選的數據之前,確定在可用名字空間列表的一個或多個名字空間中是否包含消費應用程式使用的一個或多個名字空間中想要的一個;如果可用名字空間列表包含消費應用程式使用的一個或多個名字空間中想要的一個,則選擇所述想要的名字空間;以及向消費應用程式提供所述選擇的名字空間。
28.如權利要求27所述的方法,其特徵在於,如果所述可用名字空間列表不含有供消費應用程式使用的一個或多個名字空間中想要的一個,則確定名字空間庫是否含有一個或多個資源用於可供消費應用程式使用的一個或多個名字空間中的一個;如果所述名字空間庫含有用於一個或多個名字空間的一個或多個想要的資源由供消費應用程式使用,則從名字空間庫中選擇所述想要的資源;以及向消費應用程式提供選擇的名字空間和資源。
29.如權利要求28所述的方法,其特徵在於,所述方法進一步包括提供用戶可選的選擇,用於依照所選擇的名字空間粘貼所述選擇的數據到第二文檔。
30.如權利要求29所述的方法,其特徵在於,所述標記語言是可擴展標記語言(XML)。
31.如權利要求30所述的方法,其特徵在於,所述資源是XSLT文件,用於將所述選擇的數據從與所述第一文檔關聯的第一數據類型轉換成第二數據類型,以便將所述選取的數據粘貼到第二文檔。
32.如權利要求29所述的方法,其特徵在於,所述保存與選取的數據相關聯的數據到所述存儲位置用於向消費應用程式提供所選數據的信息的步驟包括識別所述一個或多個名字空間中的任何一個是否與第一文檔相關聯。
33.如權利要求32所述的方法,其特徵在於,所述識別所述一個或多個名字空間中的任何一個是否與第一文檔相關聯的步驟包括向消費應用程式提供信息用於在可用名字空間列表或名字空間庫中定位所述一個或多個名字空間的任何一個。
34.一種計算機可讀介質,其上已存儲有計算機可執行指令,當計算機運行所述指令時,執行以下步驟由供應應用程式打開第一文檔;依照標記語言將結構應用到的所述第一文檔;從所述第一文檔選擇數據,用於粘貼到第二文檔;保存選擇的數據到一存儲位置;保存與選擇的數據相關聯的數據到所述存儲位置,用於向消費應用程式提供關於所選數據的信息;由消費應用程式打開第二文檔,選擇消費應用程式的粘帖功能以將數據粘貼到第二文檔;由消費應用程式讀取與所選數據相關聯的數據;響應於消費應用程式讀取與所選數據相關聯的數據,確定是否有一個或多個名字空間與所選的數據相關聯,定義出用於應用到所選數據上的結構的許可的數據內容、數據類型和數據結構;由消費應用程式獲取與所述一個或多個名字空間中的一個相關聯的資源,用於粘貼選取的數據到第二文檔;以及根據所述資源粘帖選取的數據到第二文檔。
35.如權利要求34所述的計算機可讀介質,在由消費應用程式獲取所述與一個或多個名字空間相關聯的資源用於粘貼選擇的數據之前,確定可用名字空間列表是否包含的一個或多個名字空間中想要的名字空間供消費應用程式使用;如果可用名字空間列表包含一個或多個名字空間中想要的名字空間由供消費應用程式使用,則麼選擇所述想要的名字空間;以及向消費應用程式提供所選擇的名字空間。
36.如權利要求35所述的計算機可讀介質,其特徵在於,如果所述可用名字空間列表不包含一個或多個名字空間中想要的名字空間由消費應用程式使用,則確定是否一名字空間庫包含一個或多個名字空間中想要的名字空間給消費應用程式使用;如果所述名字空間庫包含用於一個或多個名字空間的一個或多個想要的資源由消費應用程式使用,則從名字空間庫中選擇所想要的資源;以及向消費應用程式提供所選擇的名字空間和資源。
37.如權利要求36所述的計算機可讀介質,其特徵在於,所述方法還包括向用戶提供可選的選擇用以依照選擇的名字空間將所選擇的數據粘貼到第二文檔。
38.如權利要求37所述的計算機可讀介質,其特徵在於,所述標記語言是可擴展標記語言(XML)。
39.如權利要求38所述的計算機可讀介質,其特徵在於,所述保存與所選取的數據相關聯的數據到所述存儲位置以向消費應用程式提供有關所選數據的信息的步驟包括識別所述一個或多個名字空間中的任何一個是否和第一文檔相關聯。
40.如權利要求39所述的計算機可讀介質,其特徵在於,所述識別一個或多個名字空間中的任何一個是否和第一文檔關聯的步驟包括向消費應用程式提供信息,用於在可用名字空間列表或名字空間庫中定位所述一個或多個名字空間中的任何名字空間。
41.一種從拷貝應用程式粘帖數據到消費應用程式的方法,其特徵在於,所述方法包括應用第一可擴展標記語言(XML)元素到第一文檔的一區域的開頭,該區域被選擇用於從拷貝應用程式進行拷貝,並用於粘貼到消費應用程式;應用第二XML元素到所述選擇區域的末尾;在與所選區域相關的首部中提供信息,所述信息包括可用XML名字空間的標識符和對應於每個可用的名字空間的剪貼板格式標識符的指針;在首部中提供關於每個可用名字空間文件大小的信息;以及提供一個或多個剪貼板上可用的名字空間以使消費應用程式能夠從一個或多個名字空間中進行選擇,用於粘貼從拷貝程序得到數據。
全文摘要
提供了提高計算機軟體應用程式可用的粘貼功能的方法和系統,用於粘貼數據到計算機生成的文檔。從一個文檔選擇數據用以粘帖到另一個文檔。選取的數據保存到一個存儲位置,如剪貼板。隨著選擇的數據,與之相關的信息或數據也被保存,用於向消費或粘帖軟體應用程式提供與所選數據相關的數據類型的信息。相應的,為了保持粘帖數據中數據的結構和格式與粘帖之前應用到該數據的結構和格式一致,消費應用程式可獲取一個名字空間和相關的資源,如XSLT轉換文件,用來將選擇的數據從與第一文檔關聯的一種數據類型轉換成第二種數據類型,以便粘帖選擇的數據到第二文檔。
文檔編號G06F17/24GK1530833SQ20041000824
公開日2004年9月22日 申請日期2004年3月1日 優先權日2003年2月28日
發明者B·M·瓊斯, M·薩維奇, R·A·利特爾, M·穆雷, R·科裡, M·塔科, B M 瓊斯, 利特爾 申請人:微軟公司

同类文章

一種新型多功能組合攝影箱的製作方法

一種新型多功能組合攝影箱的製作方法【專利摘要】本實用新型公開了一種新型多功能組合攝影箱,包括敞開式箱體和前攝影蓋,在箱體頂部設有移動式光源盒,在箱體底部設有LED脫影板,LED脫影板放置在底板上;移動式光源盒包括上蓋,上蓋內設有光源,上蓋部設有磨沙透光片,磨沙透光片將光源封閉在上蓋內;所述LED脫影

壓縮模式圖樣重疊檢測方法與裝置與流程

本發明涉及通信領域,特別涉及一種壓縮模式圖樣重疊檢測方法與裝置。背景技術:在寬帶碼分多址(WCDMA,WidebandCodeDivisionMultipleAccess)系統頻分復用(FDD,FrequencyDivisionDuplex)模式下,為了進行異頻硬切換、FDD到時分復用(TDD,Ti

個性化檯曆的製作方法

專利名稱::個性化檯曆的製作方法技術領域::本實用新型涉及一種檯曆,尤其涉及一種既顯示月曆、又能插入照片的個性化檯曆,屬於生活文化藝術用品領域。背景技術::公知的立式檯曆每頁皆由月曆和畫面兩部分構成,這兩部分都是事先印刷好,固定而不能更換的。畫面或為風景,或為模特、明星。功能單一局限性較大。特別是畫

一種實現縮放的視頻解碼方法

專利名稱:一種實現縮放的視頻解碼方法技術領域:本發明涉及視頻信號處理領域,特別是一種實現縮放的視頻解碼方法。背景技術: Mpeg標準是由運動圖像專家組(Moving Picture Expert Group,MPEG)開發的用於視頻和音頻壓縮的一系列演進的標準。按照Mpeg標準,視頻圖像壓縮編碼後包

基於加熱模壓的纖維增強PBT複合材料成型工藝的製作方法

本發明涉及一種基於加熱模壓的纖維增強pbt複合材料成型工藝。背景技術:熱塑性複合材料與傳統熱固性複合材料相比其具有較好的韌性和抗衝擊性能,此外其還具有可回收利用等優點。熱塑性塑料在液態時流動能力差,使得其與纖維結合浸潤困難。環狀對苯二甲酸丁二醇酯(cbt)是一種環狀預聚物,該材料力學性能差不適合做纖

一種pe滾塑儲槽的製作方法

專利名稱:一種pe滾塑儲槽的製作方法技術領域:一種PE滾塑儲槽一、 技術領域 本實用新型涉及一種PE滾塑儲槽,主要用於化工、染料、醫藥、農藥、冶金、稀土、機械、電子、電力、環保、紡織、釀造、釀造、食品、給水、排水等行業儲存液體使用。二、 背景技術 目前,化工液體耐腐蝕貯運設備,普遍使用傳統的玻璃鋼容

釘的製作方法

專利名稱:釘的製作方法技術領域:本實用新型涉及一種釘,尤其涉及一種可提供方便拔除的鐵(鋼)釘。背景技術:考慮到廢木材回收後再加工利用作業的方便性與安全性,根據環保規定,廢木材的回收是必須將釘於廢木材上的鐵(鋼)釘拔除。如圖1、圖2所示,目前用以釘入木材的鐵(鋼)釘10主要是在一釘體11的一端形成一尖

直流氧噴裝置的製作方法

專利名稱:直流氧噴裝置的製作方法技術領域:本實用新型涉及ー種醫療器械,具體地說是ー種直流氧噴裝置。背景技術:臨床上的放療過程極易造成患者的局部皮膚損傷和炎症,被稱為「放射性皮炎」。目前對於放射性皮炎的主要治療措施是塗抹藥膏,而放射性皮炎患者多伴有局部疼痛,對於止痛,多是通過ロ服或靜脈注射進行止痛治療

新型熱網閥門操作手輪的製作方法

專利名稱:新型熱網閥門操作手輪的製作方法技術領域:新型熱網閥門操作手輪技術領域:本實用新型涉及一種新型熱網閥門操作手輪,屬於機械領域。背景技術::閥門作為流體控制裝置應用廣泛,手輪傳動的閥門使用比例佔90%以上。國家標準中提及手輪所起作用為傳動功能,不作為閥門的運輸、起吊裝置,不承受軸向力。現有閥門

用來自動讀取管狀容器所載識別碼的裝置的製作方法

專利名稱:用來自動讀取管狀容器所載識別碼的裝置的製作方法背景技術:1-本發明所屬領域本發明涉及一種用來自動讀取管狀容器所載識別碼的裝置,其中的管狀容器被放在循環於配送鏈上的文檔匣或託架裝置中。本發明特別適用於,然而並非僅僅專用於,對引入自動分析系統的血液樣本試管之類的自動識別。本發明還涉及專為實現讀