專利名稱:使用增強的內(nèi)容控件來創(chuàng)建結(jié)構(gòu)化文檔模板的技術(shù)的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及創(chuàng)建結(jié)構(gòu)化文檔模板。
背景技術(shù):
可使用生產(chǎn)カ應(yīng)用程序來創(chuàng)建具有結(jié)構(gòu)化且可重用的內(nèi)容的定制的文檔模板。文檔模板可包括可重用文檔部分的集合,每一文檔部分具有特別設(shè)計的演示格式和內(nèi)容類型。定制的文檔模板然后可用作創(chuàng)建高度結(jié)構(gòu)化文檔的起始點。例如,一公司可創(chuàng)建具有定制的文檔部分的報告模板,這些文檔部分諸如用于標題的第一字段、用于日期的第二字段、用于圖像的第三字段等。公司內(nèi)的個人然后可反復使用該報告模板來生成具有統(tǒng)ー的公司 格式以及期望的內(nèi)容集合的公司報告。定制的文檔部分可用各種不同方式創(chuàng)建,諸如通過使用定制定義的內(nèi)容控件、標記語言、書簽、字段、樣式等等。盡管可用于為結(jié)構(gòu)化文檔模板創(chuàng)建定制文檔部分的開發(fā)者工具有所改進,然而,諸如企業(yè)等實體不斷地努力地生產(chǎn)這樣的文檔模板能夠生產(chǎn)具有越來越多的級別的豐富格式化的內(nèi)容的文檔。因此,常規(guī)的開發(fā)者工具難以生產(chǎn)這樣的文檔模板該文檔模板能夠生產(chǎn)這樣的豐富格式化的內(nèi)容且還維護用于生成文檔模板的底層應(yīng)用程序的視圖和對象模型之間的分離。本發(fā)明的改進正是針對這些和其他考慮事項而需要的。
發(fā)明內(nèi)容
下面提供了簡化的發(fā)明內(nèi)容,以便提供對此處所描述的ー些新穎實施例的基本理解。本概述不是廣泛的概覽,并且它不g在標識關(guān)鍵/重要元素或描繪本發(fā)明的范圍。其唯一目的是以簡化形式呈現(xiàn)ー些概念,作為稍后呈現(xiàn)的更具體實施例的序言。各個實施例一般涉及為應(yīng)用程序創(chuàng)建文檔和文檔模板的技木。一些實施例尤其涉及使用增強的內(nèi)容控件為生產(chǎn)カ應(yīng)用程序創(chuàng)建高度結(jié)構(gòu)化的文檔和文檔模板的技木。例如,在一個實施例中,一方法可包括選擇用于文檔模板的文檔部分的第一內(nèi)容控件,選擇用于文檔模板的文檔部分的第二內(nèi)容控件(第二內(nèi)容控件嵌套在第一內(nèi)容控件內(nèi)),以及相對于第一內(nèi)容控件修改第二內(nèi)容控件的視覺屬性以便在顯示器上演示時將第ニ內(nèi)容控件與第一內(nèi)容控件區(qū)分開。對其他實施例也予以描述并要求保護。例如,在一個實施例中,一裝置可包括邏輯設(shè)備和在邏輯設(shè)備上操作以便從文檔模板生成文檔的應(yīng)用。應(yīng)用可包括用于檢索包括多個文檔部分的文檔模板的文檔模板組件等。應(yīng)用還可包括用于管理嵌在文檔模板的文檔部分中的內(nèi)容控件的內(nèi)容控件組件。內(nèi)容控件可與被安排成存儲由內(nèi)容控件演示的豐富格式化的內(nèi)容的數(shù)據(jù)源相關(guān)聯(lián)。豐富格式化的內(nèi)容可具有本機應(yīng)用所支持的格式化方面的所有豐富性。內(nèi)容控件組件可在內(nèi)容控件和數(shù)據(jù)存儲之間同步對格式化的內(nèi)容的任何改變。此外,內(nèi)容控件組件可控制自動重復從數(shù)據(jù)存儲復制到文檔的結(jié)構(gòu)(例如,表中的行、為每ー數(shù)據(jù)項添加的新行等)。應(yīng)用還可包括用于使用內(nèi)容控件從文檔模板生成文檔的文檔生成器組件。對其他實施例也予以描述并要求保護。為了實現(xiàn)上述及相關(guān)目的,本文結(jié)合下面的描述和附圖來描述某些說明性方面。這些方面指示了可以實踐本文所公開的原理的各種方式,并且所有方面及其等效方面旨在落入所要求保護的主題的范圍內(nèi)。結(jié)合附圖閱讀下面的詳細描述,其它優(yōu)點和新穎特征將變得顯而易見。
圖IA示出了設(shè)計文檔模板的系統(tǒng)的ー實施例。圖IB示出了文檔模板的ー實施例。圖2示出圖I的系統(tǒng)的邏輯流程的ー實施例。圖3示出用于圖I的系統(tǒng)的集中式系統(tǒng)的ー實施例。 圖4不出用于圖I的系統(tǒng)的分布式系統(tǒng)的一實施例。圖5示出了用于參考圖I描述的內(nèi)容控件組件124的更詳細的框圖。圖6示出了內(nèi)容控件的各個實施例。圖7示出了用于可視化的內(nèi)容控件屬性的用戶界面視圖。圖8示出了內(nèi)容控件輸出的用戶界面視圖。圖9示出了內(nèi)容控件選擇的用戶界面視圖。圖10示出了內(nèi)容控件選擇的用戶界面視圖。圖11示出了用于重復部位的內(nèi)容控件屬性的用戶界面視圖。圖12A示出了用于重復部位的內(nèi)容控件的用戶界面視圖。圖12B示出了用于重復部位的內(nèi)容控件的用戶界面視圖。圖13示出了當刪除重復部位時的示例。圖14示出了計算架構(gòu)的ー實施例。圖15示出通信架構(gòu)的ー實施例。
具體實施例方式各個實施例涉及為應(yīng)用程序創(chuàng)建結(jié)構(gòu)化文檔模板的技木。一些實施例尤其涉及通過使用內(nèi)容控件的增強集合來定義文檔模板的各個文檔部分來創(chuàng)建結(jié)構(gòu)化文檔模板的技木??蔀槿魏螒?yīng)用程序?qū)崿F(xiàn)增強的內(nèi)容控件,包括文字處理應(yīng)用程序、電子表格應(yīng)用程序、演示應(yīng)用程序和其它應(yīng)用程序。可用多種不同的方式創(chuàng)建文檔模板的定制的文檔部分。例如,現(xiàn)有的應(yīng)用程序可使用標記語言技術(shù),諸如輸入定制定義的可擴展標記語言(XML)模式來生產(chǎn)文檔,以在文字處理文檔、電子表格文檔、演示文檔和其它生產(chǎn)カ應(yīng)用內(nèi)在內(nèi)容周圍提供語義標記。XML模式是一種類型的XML文檔的描述,通常按照在XML本身施加的基本句法約束之上以及超出基本句法約束的結(jié)構(gòu)上的約束以及該類型的文檔的內(nèi)容來表達。這些約束一般使用管控元素次序的語法規(guī)則、內(nèi)容必須滿足的布爾謂詞、管控元素和屬性的內(nèi)容的數(shù)據(jù)類型、以及諸如唯一性和弓I用完整性約束等更專門的規(guī)則的某種組合來表達。XML模式在文檔模板內(nèi)在內(nèi)容周圍提供語義標記。這種功能允許開發(fā)者創(chuàng)建解決方案,這些解決方案利用定制的XML嵌入直接作用于其數(shù)據(jù)的結(jié)構(gòu)和內(nèi)容,而非要求處理底層應(yīng)用程序的演示格式的復雜性的解決方案。這種強大的功能允許開發(fā)者創(chuàng)建解決方案,這些解決方案利用該定制的XML嵌入直接作用于其數(shù)據(jù)的結(jié)構(gòu)和內(nèi)容,而非要求處理底層應(yīng)用程序的演示格式的復雜性的解決方案。例如,如果用戶要為無XML能力的文字處理應(yīng)用程序中的證券分析筆記創(chuàng)建封面,那么從封面提取有用的數(shù)據(jù)(例如,公司名、股票代碼和股票評級)將需要使用應(yīng)用的對象模型,該對象模型被緊密地束縛于文檔的演示格式。這必然意味著任何所得的解決方案邏輯也被束縛于文檔的演示格式,并且如果演示改變就會遭受失敗。例如,如果解決方案代碼期望股票代碼位于第一個表格的第2行第3列中,那么添加新的行或列會破壞該邏輯。然而,采用現(xiàn)代的應(yīng)用,解決方案代碼現(xiàn)在將鏈接于顧客自己的數(shù)據(jù)的結(jié)構(gòu),從而移除了解決方案邏輯被束縛于底層應(yīng)用的演示格式的需求。相反,該相同的邏輯可捜索XML節(jié)點的內(nèi)容(例如,〈stockSymboK股票代碼)/>)并直接編輯它,即使其上下文演示徹底改變了。這導致用于存儲底層數(shù)據(jù)的視圖和模型之間的更大分離。然而,定制XML模式是復雜的,從而實現(xiàn)和維護起來是昂貴的。定制XML模式還具 有阻止用于大范圍豐富格式化的文檔的限制。因此,開發(fā)者尋求對定制XML模式的替換和/或擴充,諸如使用定制定義的內(nèi)容控件、書簽、字段、樣式等。在現(xiàn)有的替換中,開發(fā)者正轉(zhuǎn)向內(nèi)容控件作為定制XML模式的可行替代。內(nèi)容控件尤其適用于創(chuàng)建文檔模板,因為它們是被特別設(shè)計來便于創(chuàng)建高度結(jié)構(gòu)化的文檔且已經(jīng)具有與隨文檔文件一起存儲的定制XML部分的深度集成,從而提供了強有力的數(shù)據(jù)/視圖分離。例如,為了確保特定類型的內(nèi)容被置于每一定義的字段中,內(nèi)容控件可用于限制置于定義的字段中的信息的類型。回到上述報告模板不例,第一內(nèi)容控件可被置于用于標題的第一字段上以確保僅可將文本輸入到第一字段內(nèi),第二內(nèi)容控件可被置于第二字段上以確保僅特定格式的數(shù)字可被輸入到第二字段內(nèi),第三內(nèi)容控件可被置于第三字段上以確保僅圖像可被加載到第三字段內(nèi)。這僅是使用內(nèi)容控件的一些簡單示例,還存在更復雜的場景。然而,常規(guī)的內(nèi)容控件可能不適于開發(fā)豐富格式化的文檔模板。例如,ー些文檔模板可在文檔模板中具有內(nèi)容控件的大量嵌套。這使得設(shè)計和使用文檔模板更為困難。此夕卜,內(nèi)容控件通常不能很好地演示某些類型的信息,諸如用某些格式化選項(例如,粗體、斜體、下劃線、顔色等)或樣式選項演示的文本。這種類型的信息有時被稱為“豐富文本”以與具有很少或沒有格式化和/或樣式選項的文本(這種文本有時被稱為“純文本”)區(qū)分開。此外,內(nèi)容控件本身變得越來越健壯,諸如自動將日歷演示為輸入選擇工具的日期內(nèi)容控件。這樣的復雜內(nèi)容控件可在文檔模板中實現(xiàn)越來越多數(shù)量的邏輯,増加了文檔模板的大小和復雜性。為了解決這些和其它問題,各實施例可實現(xiàn)具有增強的內(nèi)容控件的應(yīng)用程序。增強的內(nèi)容控件可擴充或替換現(xiàn)有的內(nèi)容控件以便于開發(fā)高度結(jié)構(gòu)化和豐富格式化的文檔模板。增強的內(nèi)容控件對現(xiàn)有的內(nèi)容控件提供了顯著的改進。例如,增強的內(nèi)容控件在視覺上縮放到用于現(xiàn)有解決方案中的嵌套級別。這提供了更多的視覺區(qū)別級別,并防止文檔顯得“雜亂”。此外,增強內(nèi)容控件可演示豐富格式化的信息,諸如豐富文本,并在增強的內(nèi)容控件與同增強的內(nèi)容控件相關(guān)聯(lián)的數(shù)據(jù)源(例如,XML部分)之間同步對豐富文本的任何改變。在另ー示例中,表中的增強的內(nèi)容控件可被設(shè)置成重復并執(zhí)行對于XML數(shù)據(jù)存儲的相應(yīng)的動作,諸如添加行、添加XML片斷、刪除行、刪除XML等。在又一示例中,顧客可直接針對XML數(shù)據(jù)存儲工作來檢索并設(shè)置來自文檔中的、他們所需的信息,包括重復數(shù)據(jù)(例如,刪除XML、刪除行)并包括任何豐富文本格式(例如包括MICROSOFT OFFICE XML格式)的豐富內(nèi)容(例如,改變WordprocessingML、文檔更新)。在又一示例中,可經(jīng)由可選顏色編碼來在視覺上定義不同類型的內(nèi)容控件。在又一示例中,增強的內(nèi)容控件可對使用其它開發(fā)者工具(諸如定制XML標記)的應(yīng)用程序?qū)崿F(xiàn),以便于文檔模板的遷移。在又一示例中,增強的內(nèi)容控件可用于允許表外的內(nèi)容在本質(zhì)上是“重復的”(例如段落的任意集合)。在又一示例中,開發(fā)者和用戶可在視覺上標識段落級和文本級(例如,內(nèi)聯(lián)/塊)內(nèi)容控件。還存在其它優(yōu)點?,F(xiàn)在將參考附圖,全部附圖中相同的參考編號用于表示相同的元件。在下面的描·述中,為了進行說明,闡述了很多具體細節(jié)以便提供對本發(fā)明的全面理解。然而,顯而易見,可以沒有這些具體細節(jié)的情況下實施各新穎實施方式。在其他情況下,以框圖形式示出了各個公知的結(jié)構(gòu)和設(shè)備以便于描述本發(fā)明。本發(fā)明將涵蓋落入所要求保護的主題的精神和范圍內(nèi)的所有修改、等效方案和替換方案。圖IA示出了系統(tǒng)100的框圖。在一個實施例中,系統(tǒng)100可包括具有ー個或多個軟件應(yīng)用和/或組件的計算機實現(xiàn)的系統(tǒng)100。盡管圖IA中示出的系統(tǒng)100具有按照某種拓撲結(jié)構(gòu)的有限數(shù)量的元素,但可以理解,系統(tǒng)100可以視給定實現(xiàn)的需要而包括按照替代拓撲結(jié)構(gòu)的更多或更少元素。系統(tǒng)100可包括應(yīng)用程序120。應(yīng)用程序120可包括適用于使用增強的內(nèi)容控件生產(chǎn)文檔模板的任何應(yīng)用程序。應(yīng)用程序120的示例可包括但不限干為特定操作系統(tǒng)設(shè)計的互相關(guān)的客戶機應(yīng)用、服務(wù)器應(yīng)用和web服務(wù)的生產(chǎn)カ套件,諸如用于由美國華盛頓州雷蒙德的微軟公司制作的MICROSOFT WINDOWS 的MICROSOFT OFFICE生產(chǎn)カ套件。客戶機應(yīng)用的示例可包括但不限于MICROSOFTWORD、MICROSOFT EXCEL 、MICROS OFT POWERPOINT 、MICROS OFT OUTLOOK 、MICROSOFT ACCESS 、MICROSOFT INFOPΑ 、MICROS OFT ONENOTE 、MICROS0FTPR0JECT、MICROSOFT PUBLISHER、MICROSOFT SHAREPOINT WORKSPACE 、MICROSOFT VISIO 、MICROSOFT OFFICE INTERCONNECT, MICROSOFT OFFICE PICTUREMANAGER、MICROSOFT SHAREPOINT DESIGNER、以及 MICROSOFT LYNC。服務(wù)器應(yīng)用的示例可包括但不限于MICROSOFT SHAREPOINT SERVER、MICROSOFT LYNC SERVER、MICROSOFTOFFICE FORMS SERVER、MICROSOFT OFFICE GROOVE SERVER、MICROSOFT OFFICEPROJECT SERVER、MICROSOFT OFFICE PROJECT PORTFOLIO SERVER、以及 MICROSOFTOFFICE PERFORMANCEPOINT SERVER。web 服務(wù)的示例可包括但不限于 MICROSOFTWINDOWS LIVE 、MICROSOFT OFFICE WEB APPLICATIONS、MICROSOFT OFFICE LIVE,MICROSOFT LIVE MEETING、MICROSOFT OFFICE PRODUCT WEB SITE、MICROSOFT UPDATESERVER、以及MICROSOFT OFFICE 365。各實施方式不限于這些示例。應(yīng)用程序120可包括文檔模板組件122。文檔模板組件122可用于基于用戶輸入110管理文檔模板130。文檔模板130可由應(yīng)用程序120或特別設(shè)計來生成文檔模板的另一應(yīng)用程序(未示出,例如MICROSOFT VISUAL STUDIO )來生成。用戶輸入110可表示在文檔模板130的創(chuàng)建期間經(jīng)由用戶界面組件126選擇各種內(nèi)容控件和內(nèi)容控件屬性接收到的用戶控制指示。
應(yīng)用程序120可包括內(nèi)容控件組件124。內(nèi)容控件組件124可提供各種增強的內(nèi)容控件供文檔模板組件122使用。內(nèi)容控件組件124可向用戶界面組件126提供內(nèi)容控件信息和消息,以生成要與用戶交互的各種用戶界面視圖,包括經(jīng)由合適的輸入設(shè)備接收各種用戶輸入110。應(yīng)用程序120可包括文檔生成器組件125。文檔生成器組件125可從文檔模板130中生成文檔140。例如,應(yīng)用程序120可接收將信息輸入到文檔模板130的各個內(nèi)容控件中的用戶輸入110。一旦輸入了信息,文檔生成器組件125可將文檔模板130與接收到的用戶信息一起存儲,以形成文檔140。應(yīng)用程序120可包括用戶界面組件126。用戶界面組件126可生成各個用戶界面視圖,包括用于經(jīng)由輸出設(shè)備(例如,顯示器、揚聲器)向用戶演示信息以及經(jīng)由輸入設(shè)備(例如,指針、觸摸屏上的手勢)從用戶接收信息的各個圖形用戶界面(GUI)元素。圖IB示出了系統(tǒng)100的更詳細的框圖。具體地,圖IB示出了文檔模板130的更 詳細的框圖。在圖IB中所示的示出的實施例中,文檔模板130包括一個或多個文檔部分132-a,諸如文檔部分132-1、132-2。每一文檔部分132_a可表示文檔模板130的離散部位或部分。文檔部分132-a中的每ー個可包括ー個或多個內(nèi)容控件134-b。例如,文檔部分132-1示出內(nèi)容控件134-1、134-2。此外,文檔部分132_a可具有彼此嵌套或嵌入的多個內(nèi)容控件134-b,諸如嵌套在內(nèi)容控件134-2內(nèi)的內(nèi)容控件134-3,還具有混在其間的其它任意內(nèi)容(例如,字段的文本描述等)。適用于給定實現(xiàn),可以理解,內(nèi)容控件134-b可被嵌套到任何級別N,其中N是正整數(shù)。各實施例不限于該上下文。內(nèi)容控件134-b提供設(shè)計具有以下特征的文檔和文檔模板的機制(I)具有如表單的受控輸入的用戶界面(UI)或GUI ; (2)防止用戶編輯文檔或文檔模板的受保護部位的限制;以及(3)綁定到數(shù)據(jù)源的數(shù)據(jù)。內(nèi)容控件134-b提供為用戶輸入和打印兩者優(yōu)化的UI。當用戶將內(nèi)容控件134-b添加到文檔模板130的文檔部分132-a吋,內(nèi)容控件134_b通常由邊界和標題來標識。內(nèi)容控件134-b還提供演示字段136-c。演示字段136-c可用于演示不同類型的信息,包括可向用戶提供指令的臨時文本。取決于實現(xiàn)偏好,內(nèi)容控件134-b的邊界和標題可以或可以不出現(xiàn)在文檔的打印版本中,而用戶輸入到演示字段136-c的信息的確出現(xiàn)在打印版本中。例如,如果想要用戶在文檔模板130的一部位中輸入日期,開發(fā)者可向文檔模板130的文檔部分132-a添加“日期挑選器”內(nèi)容控件134_b。當用戶點擊內(nèi)容控件134-b時,標準日期挑選器Π顯現(xiàn)。開發(fā)者還可設(shè)置內(nèi)容控件134-b的屬性以例如設(shè)置所顯示的局部日歷并指定日期格式。當用戶選擇日期之后,控件的Π被隱藏,如果用戶打印文檔,僅顯現(xiàn)日期。內(nèi)容控件134-b還防止用戶編輯或刪除某些內(nèi)容部分132-a。這在開發(fā)者在文檔模板130中具有用戶能夠閱讀但不能編輯的信息,或者開發(fā)者想要用戶能夠編輯內(nèi)容控件但不能刪除它們的情況下是有用的。此外,內(nèi)容控件134-b可將文檔模板130或文檔140的各部分綁定到數(shù)據(jù)源。開發(fā)者可將內(nèi)容控件134-b綁定到某些數(shù)據(jù)庫字段、.NET框架中的受管對象、存儲在文檔模板130中(或服務(wù)器上)的XML元素、或其它數(shù)據(jù)源。在文檔級項目中,開發(fā)者可在設(shè)計時或運行時將內(nèi)容控件134-b添加到文檔模板130。在應(yīng)用級項目中,開發(fā)者可在運行時將內(nèi)容控件134-b添加到任何開放的文檔模板。
內(nèi)容控件134-b的示例是可擴展的,僅舉幾個例子,一些示例包括構(gòu)件塊圖庫控件、復選框控件、組合框控件、日期挑選器控件、下拉列表控件、組控件、圖片控件、豐富文本控件、純文本控件、一般內(nèi)容控件。各實施例不限于該上下文。此處所包括的是ー組表示用于執(zhí)行所公開的架構(gòu)的新穎方面的示例性方法的流程圖。盡管出于解釋簡明的目的,此處例如以流程圖形式示出的ー個或多個方法被示出并且描述為一系列動作,但是可以理解,各方法不受動作的次序的限制,因為根據(jù)本發(fā)明,某些動作可以按與此處所示并描述的不同的次序和/或 與其他動作同時發(fā)生。例如,本領(lǐng)域的技術(shù)人員將明白并理解,方法可被替換地表示為一系列相互相關(guān)聯(lián)的狀態(tài)或事件,諸如以狀態(tài)圖的形式。此外,并非方法中所示出的所有動作都是新穎實現(xiàn)所必需的。圖2示出了邏輯流程200的一個實施例。邏輯流程200可表示由在此所描述的ー個或多個實施例所執(zhí)行的操作中的部分或全部。在圖2中所示的示出的實施例中,邏輯流程200可在框202選擇用于文檔模板的文檔部分的第一內(nèi)容控件。例如,應(yīng)用程序120的內(nèi)容控件組件124可用于選擇用于文檔模板130的文檔部分132-1的第一內(nèi)容控件134-1。邏輯流程200可在框204選擇用于文檔模板的文檔部分的第二內(nèi)容控件,第二內(nèi)容控件嵌套在第一內(nèi)容控件內(nèi)。例如,內(nèi)容控件組件124可用于選擇用于文檔模板130的文檔部分132-1的第二內(nèi)容控件134-2。第二內(nèi)容控件134-2可被嵌套在第一內(nèi)容控件134-1內(nèi),使得難以區(qū)分控件134-1、134-2之一或雙方的起始/結(jié)束位置或標記。邏輯流程200可在框206相對于第一內(nèi)容控件修改第二內(nèi)容控件的視覺屬性,以便在顯示器上演示時將第二內(nèi)容控件與第一內(nèi)容控件區(qū)分開。例如,內(nèi)容控件組件124的內(nèi)容控件可視化組件522 (如圖5中所示)可用于相對于第一內(nèi)容控件134-1修改第二內(nèi)容控件134-2的視覺屬性,以便在顯示器上演示時協(xié)助將第二內(nèi)容控件134-2與第一內(nèi)容控件134-1區(qū)分開。例如,控件134-1、134-2之一或雙方的各個方面可在顏色、大小、維度、幾何形狀、部分、控件、位置、標記、標簽、內(nèi)容、標志、標題等方面不同。各實施例不限于該示例。圖3示出了集中式系統(tǒng)300的框圖。集中式系統(tǒng)300可在單個計算實體(諸如完全在單個計算設(shè)備320內(nèi))中實現(xiàn)系統(tǒng)100的結(jié)構(gòu)和/或操作的ー些或全部。計算設(shè)備320可使用處理組件330執(zhí)行系統(tǒng)100的處理操作或邏輯。處理組件330可包括各種硬件元素、軟件元素或兩者的組合。硬件元素的示例可以包括設(shè)備、邏輯設(shè)備、組件、處理器、微處理器、電路、電路元素(例如,晶體管、電阻器、電容器、電感器等)、集成電路、專用集成電路(ASIC)、可編程邏輯器件(PLD)、數(shù)字信號處理器(DSP)、現(xiàn)場可編程門陣列(FPGA)、存儲器単元、邏輯門、寄存器、半導體設(shè)備、芯片、微芯片、芯片組等。軟件元素的示例可以包括軟件組件、程序、應(yīng)用、計算機程序、應(yīng)用程序、系統(tǒng)程序、機器程序、操作系統(tǒng)軟件、中間件、固件、軟件模塊、例程、子例程、函數(shù)、方法、過程、軟件接ロ、應(yīng)用程序編程接ロ(API)、指令集、計算代碼、計算機代碼、代碼段、計算機代碼段、文字、值、符號、或其任何組合。確定ー實施例是否使用硬件元件和/或軟件元素來實現(xiàn)可視給定實現(xiàn)所需根據(jù)任何數(shù)量的因素而變化,這些因素如所需計算速率、功率級、耐熱性、處理周期預算、輸入數(shù)據(jù)速率、輸出數(shù)據(jù)速率、存儲器資源、數(shù)據(jù)總線速度以及其它設(shè)計或性能約束。計算設(shè)備320可使用通信組件340來執(zhí)行系統(tǒng)100的通信操作或邏輯。通信組件340可以實現(xiàn)任何公知的通信技術(shù)和協(xié)議,如適用于與分組交換網(wǎng)絡(luò)(例如,諸如因特網(wǎng)等公共網(wǎng)絡(luò)、諸如企業(yè)內(nèi)聯(lián)網(wǎng)等專有網(wǎng)絡(luò),等等)、電路交換網(wǎng)絡(luò)(例如,公共交換電話網(wǎng))、或分組交換網(wǎng)絡(luò)和電路交換網(wǎng)絡(luò)的組合(使用合適的網(wǎng)關(guān)和轉(zhuǎn)換器)一起使用的技木。通信組件340可以包括各種類型的標準通信元件,如ー個或多個通信接ロ、網(wǎng)絡(luò)接ロ、網(wǎng)絡(luò)接ロ卡(NIC)、無線電、無線發(fā)射機/接收機(收發(fā)機)、有線和/或無線通信介質(zhì)、物理連接器等。作為示例而非限定,通信介質(zhì)321包括有線通信介質(zhì)和無線通信介質(zhì)。有線通信介質(zhì)的示例可以包括導線、電纜、金屬線、印刷電路板(PCB)、背板、交換光纖、半導體材料、雙絞線、同軸電纜、光纖、所傳播的信號等。無線通信介質(zhì)的示例可以包括聲學、射頻(RF)頻譜、紅外和其它無線介質(zhì)321。
計算設(shè)備320可經(jīng)由通信組件340使用通信信號322通過通信介質(zhì)321與其他設(shè)備310、350通信。例如,應(yīng)用程序120的內(nèi)容控件組件124可用于將各個內(nèi)容控件134_b插入各個文檔部分132-a,內(nèi)容控件134-b在設(shè)備310、350之一上具有數(shù)據(jù)源。例如,設(shè)備310,350可包括相應(yīng)的客戶機、服務(wù)器設(shè)備。圖4示出了分布式系統(tǒng)400的框圖。分布式系統(tǒng)400可使系統(tǒng)100、300的結(jié)構(gòu)和/或操作的各部分跨多個計算實體分布。分布式系統(tǒng)400的示例可包括但不限于,客戶機-服務(wù)器架構(gòu)、3層架構(gòu)、N層架構(gòu)、緊耦合或群集的架構(gòu)、對等架構(gòu)、主-從架構(gòu)、共享數(shù)據(jù)庫架構(gòu)、以及其他類型的分布式系統(tǒng)。各實施例不限于該上下文??蛻魴C系統(tǒng)410和服務(wù)器系統(tǒng)450可使用處理組件430處理信息,處理組件430類似于參考圖3描述的處理組件330??蛻魴C系統(tǒng)410和服務(wù)器系統(tǒng)450可經(jīng)由通信組件440使用通信信號422通過通信介質(zhì)420彼此通信,通信組件440類似于參考圖3描述的通信組件340。在一個實施例中,例如,分布式系統(tǒng)400可被實現(xiàn)為客戶機-服務(wù)器系統(tǒng)。客戶機系統(tǒng)410可實現(xiàn)系統(tǒng)100。服務(wù)器系統(tǒng)450可實現(xiàn)用于文檔模板130的各個文檔部分132_a的各個內(nèi)容控件134-b的數(shù)據(jù)源442。例如,在一個實施例中,數(shù)據(jù)源442可包括XML模式、文件、代碼、數(shù)據(jù)或部分。圖5示出了用于參考圖I描述的內(nèi)容控件組件124的更詳細的框圖。在圖5中所示的示出的實施例中,內(nèi)容控件組件124可包括內(nèi)容控件可視化組件522、內(nèi)容控件映射組件524以及內(nèi)容控件重復組件526。這些組件中的每ー個將在下文中更詳細描述。可以理解,內(nèi)容控件組件124可以視給定實現(xiàn)的需要而包括被安排成控件內(nèi)容控件134-b的各個特征的其它組件。各實施例不限于該上下文。內(nèi)容控件可視化組件522圖6示出了由內(nèi)容控件可視化組件522生產(chǎn)的各個內(nèi)容控件(contentcontrol) 134-b的用戶界面視圖600。內(nèi)容控件組件124的內(nèi)容控件可視化組件522可按照改進的方式呈現(xiàn)內(nèi)容控件134-b以便協(xié)助開發(fā)者創(chuàng)建文檔模板130,以及協(xié)助用戶填寫從文檔模板130生成的ー個或多個文檔。例如,當內(nèi)容控件134-b的標記被顯示時,如果內(nèi)容控件134-b的Title (標題)屬性被置位,則這些標記可顯示Title屬性,如果該屬性為空白,則不顯示。標記不示出如常規(guī)呈現(xiàn)中所示的Tag(標簽)屬性的值。此外,如果內(nèi)容控件134-b被置于文檔的鎖定區(qū)域內(nèi),則(在沒有抓取把手的情況下)示出內(nèi)容控件134-b的標題。如果內(nèi)容控件被示出,則該內(nèi)容控件仍可經(jīng)由標題拖曳。任何相關(guān)聯(lián)的錯誤和所有其它醋酸鹽(acetate)GUI(例如,下拉列表Π)的可視化被保留未改。例如,如果存在錯誤,內(nèi)容控件可視化組件522可示出紅色虛線的邊界,且出錯Π被置于正常位置中。如圖所示,圖6示出了當指針懸停在內(nèi)容控件134-b上時的用于內(nèi)容控件134-b的GUI元素602的呈現(xiàn)的示例。圖6還示出了當使用諸如定點設(shè)備或手勢的人類輸入設(shè)備(HID)使內(nèi)容控件134-b處于焦點處(例如,選中)使用于內(nèi)容控件134-b的GUI元素604的呈現(xiàn)的示例。圖6還示出了當處于設(shè)計模式中時的用于內(nèi)容控件134-b的⑶I元素606的呈現(xiàn)的示例。圖6最后示出了具有起始/結(jié)束標記的用于內(nèi)容控件134-b的GUI元素608的呈現(xiàn)的示例。⑶I元素608的起始/結(jié)束標記在多個內(nèi)容控件134-b彼此嵌入時尤其有用,因為它們減少或消除了對每ー內(nèi)容控件134-b周圍的把手或邊界框的需求,從而減少了標記內(nèi)演示的嵌套標記和信息的視覺“雜亂程度”。圖7示出了管理用于內(nèi)容控件134-b的可視化的內(nèi)容控件屬性的用戶界面視圖700。如圖7中所示,可從下拉框控件704中選擇內(nèi)容控件134-b的各個視覺屬性,如表708 中所列。此外,可從顏色(color)挑選器控件706選擇用于內(nèi)容控件134-b的不同顔色,如表710中所列。向內(nèi)容控件134-b分配不同的顔色可有助于開發(fā)者在視覺上跟蹤不同的內(nèi)容控件134-b,尤其是在其中內(nèi)容控件134-b在其它內(nèi)容控件134-b內(nèi)嵌套了某種嵌套級別(例如,2、3、4或更多級)的嵌套場景中。當用戶經(jīng)由顔色挑選器控件706設(shè)置內(nèi)容控件134-b的顏色時,且如果內(nèi)容控件134-b當前示出標簽,則內(nèi)容控件可視化組件522對于標簽的所有有色區(qū)域(例如,非黑/白區(qū)域)應(yīng)用指定顔色。如果內(nèi)容控件134-b當前被示為邊界框,則內(nèi)容控件可視化組件522使用指定的顔色作為邊界框的線型,并基于該顏色計算所有其它顏色。當用戶進入內(nèi)容控件134-b的設(shè)計模式時,三個可視化更新的每ー個如下⑴作為有陰影的矩形/邊界框(具有可任選的標題),示出邊界框/矩形外加起始/結(jié)束標記(邊界框/標題繼續(xù)在失焦的情況下消失,懸停時加陰影,如GUI元素606所指示);(2)起始/結(jié)束標記仍作為起始/結(jié)束標記;以及⑶當不可見(沒有視覺表示)時,作為起始/結(jié)束標記,如⑶I元素608中所指示。起始/結(jié)束標記可用組合鍵換檔(例如,CTRL+SHIFT+X)來切換,但當用戶進入設(shè)計模式時通常為“開啟”。內(nèi)容控件映射組件524在各個實施例中,內(nèi)容控件組件124的內(nèi)容控件映射組件524可被安排成處理其中內(nèi)容控件134-b內(nèi)的演示包括豐富格式化的內(nèi)容的情況。例如,在一個實施例中,豐富格式化的內(nèi)容可具有給定的本機應(yīng)用所支持的所有格式化豐富性、選項、特征、功能、能力或?qū)傩?。在此情況中,文本的格式化以及演示是數(shù)據(jù)的一部分,從而期望數(shù)據(jù)包含該豐富格式化的全部表示。為此,內(nèi)容控件134-b和數(shù)據(jù)源442之間的綁定可被安排成以不知道與文檔模板130分開存儲的定制XML數(shù)據(jù)的結(jié)構(gòu)的格式發(fā)送豐富格式化的內(nèi)容。如參考圖IA所述,應(yīng)用程序120可包括用于檢索包括多個文檔部分132-a的文檔模板130的文檔模板組件122。應(yīng)用程序120還可包括用于管理嵌入在文檔模板130的文檔部分132-a中的內(nèi)容控件134-b的內(nèi)容控件組件124。內(nèi)容控件134_b可與被安排成存儲由內(nèi)容控件134-b演示的格式化的內(nèi)容的數(shù)據(jù)源442相關(guān)聯(lián)。內(nèi)容控件組件124的內(nèi)容控件映射組件524可在內(nèi)容控件134-b與數(shù)據(jù)存儲442之間同步對格式化內(nèi)容的任何改變。應(yīng)用程序120還可包括用于使用內(nèi)容控件134-b從文檔模板130生成文檔140的文檔生成器組件125。文檔模板組件122可檢索包括多個文檔部分132-a的文檔模板130,如參考圖2所述。文檔部分132-a可包括單獨實現(xiàn)(例如,內(nèi)容控件134-1、134-2)或彼此嵌套(例如,內(nèi)容控件134-2、134-3)的ー個或多個內(nèi)容控件134_b。內(nèi)容控件組件124可管理嵌入在文檔模板130的文檔部分132_a中的內(nèi)容控件134-b。內(nèi)容控件134-b可與被安排成存儲由內(nèi)容控件134-b在演示字段136_c中演示的格式化的內(nèi)容的數(shù)據(jù)源442相關(guān)聯(lián)。格式化內(nèi)容可包括任何豐富格式化的內(nèi)容或豐富文本內(nèi)容,諸如包括具有用戶所選擇的某些格式化選項或樣式選項的文本。例如,格式化的內(nèi)容可包括已被加粗或傾斜以改變其視覺屬性的某一字體的詞或短語。無論何時文檔模板130被數(shù)字顯示演示,內(nèi)容控件134-b可在演示字段136_c中演示臨時文本以及對用戶的指令。例如,臨時文本可指示用戶可輸入表單的名稱。用戶可選擇演示字段136-c,并將信息輸入到演示字段136-c內(nèi)以替換臨時文本。此外,用戶可根據(jù)給定的一組用戶偏好來對信息格式化,以形成一組格式化的內(nèi)容。當此發(fā)生時,內(nèi)容控件 組件124可接收控制指示形式的用戶輸入110以修改格式化的內(nèi)容,控制指示包括修改用于格式化的內(nèi)容的格式化選項或樣式選項的指令。格式化選項或樣式的示例可包括但不限干字體、字體樣式、字體大小、字體顔色、下劃線樣式、下劃線顏色、效果、文字效果、文字填充、文字輪廓、輪廓樣式、文字陰影、文字倒影、文字發(fā)光、文字邊緣、文字三維格式等。各實施例不限于該上下文。另外地或另選地,內(nèi)容控件134-b可演示由數(shù)據(jù)源442存儲的信息。例如,假定內(nèi)容控件134-1、134-2被綁定至存儲雇員的名字和地址的數(shù)據(jù)源442。內(nèi)容控件134-1可在演示字段136-1演示雇員的名字。類似地,內(nèi)容控件134-2可在演示字段136-2演示雇員的地址。內(nèi)容控件組件124的內(nèi)容控件映射組件524可在內(nèi)容控件134_b與數(shù)據(jù)存儲442之間同步對格式化內(nèi)容的任何改變,而無論數(shù)據(jù)存儲的內(nèi)容是否被設(shè)計成接受格式化的內(nèi)容。值得注意的是豐富文本綁定不必需要以任何特殊方式來寫入數(shù)據(jù)存儲442以適應(yīng)格式化的內(nèi)容。只要對內(nèi)容控件134-b的演示字段136-c或與內(nèi)容控件134-b相關(guān)聯(lián)的數(shù)據(jù)存儲442作出了改變,就同步該改變,以便在內(nèi)容控件134-b和數(shù)據(jù)存儲442兩者間維護數(shù)據(jù)一致性。此外,按照保留豐富格式化內(nèi)容的全部保真度的方式執(zhí)行同步。例如,在一個實施例中,內(nèi)容控件組件124的內(nèi)容控件映射組件524可接收用戶輸入110作為控制指示,以修改由內(nèi)容控件134-b演示的格式化的內(nèi)容、在內(nèi)容控件134-b的演示字段136-c中演示修改后的格式化的內(nèi)容、并將修改后的格式化的內(nèi)容發(fā)送給數(shù)據(jù)存儲442。數(shù)據(jù)存儲442可接收修改后的格式化的內(nèi)容、處理修改后的格式化的內(nèi)容以匹配用于存儲格式化的內(nèi)容的數(shù)據(jù)模式、并用修改后的格式化的內(nèi)容重寫格式化的內(nèi)容。例如,在一個實施例中,內(nèi)容控件組件124的內(nèi)容控件映射組件524可檢測到存儲在數(shù)據(jù)存儲442中的格式化的內(nèi)容已被修改。內(nèi)容控件映射組件524可將修改后的格式化的內(nèi)容發(fā)送給內(nèi)容控件134-b,以便在內(nèi)容控件134-b的演示字段136-c中演示。修改后的格式化的內(nèi)容可在演示字段136-c中以豐富格式化的內(nèi)容的全部保真度演示。為此,內(nèi)容控件134-b和數(shù)據(jù)源442之間的綁定可被安排成以不知道與文檔模板130分開存儲的定制XML數(shù)據(jù)的結(jié)構(gòu)的格式發(fā)送豐富格式化的內(nèi)容。例如,內(nèi)容控件映射組件524可使用與存儲在數(shù)據(jù)存儲中的格式化的內(nèi)容的數(shù)據(jù)模式不同的數(shù)據(jù)模式來傳遞修改后的格式化的內(nèi)容。在一個實施例中,數(shù)據(jù)存儲442可被安排成根據(jù)XML數(shù)據(jù)模式來存儲格式化的內(nèi)容。在此情況中,內(nèi)容控件映射組件524可串行化格式化的內(nèi)容的XML元素以形成XML元素串,對得到的串進行轉(zhuǎn)義來從XML元素串中移除保留的XML字符,并將來自XML元素的任何其余的文本存儲在數(shù)據(jù)存儲中。可參考圖8更詳細描述串行化操作。圖8示出了某一內(nèi)容控件輸出的用戶界面視圖800。內(nèi)容控件映射組件524可允許開發(fā)者將豐富文本內(nèi)容控件和文檔構(gòu)建塊內(nèi)容控件的內(nèi)容映射到XML數(shù)據(jù)存儲(例如,數(shù)據(jù)源442)。當映射活動時,相關(guān)聯(lián)的定制XML節(jié)點包含文檔模板130的指定范圍的串行化表示。這是通過檢索該范圍的基于文本的串行化或平面XML表示、如下在表I中所示對得 到的串進行轉(zhuǎn)義以移除保留的XML字符、并將得到的文本存儲在對應(yīng)的節(jié)點中來創(chuàng)建的。表I
< Γ &it ;
> > ;
”" ;
1&apos ;
&& ;無論何時文檔模板130中的文本的值改變,且用戶(I)通過在內(nèi)容控件134-b外點擊來離開開內(nèi)容控件134-b的上下文;(2)使焦點離開應(yīng)用程序120 ;以及(3)保存文檔模板,內(nèi)容控件映射組件524就生成串行化的表示,并將結(jié)果推送到內(nèi)容控件134-b內(nèi)。相應(yīng)地,無論何時節(jié)點中的串的值改變,內(nèi)容控件映射組件524對得到的串取消轉(zhuǎn)義,并試圖插入它作為內(nèi)容控件134-b的內(nèi)容。XML標記(例如,WordprocessingML)的最后一段等同于內(nèi)容控件134_b的結(jié)尾段(如果存在),所以如<w:p><w:r><w:t>0ne</w:t></w:r></w:p>くw:p>. · · くw:pStyle val = " Heading I" />·· · くw:r><w:t>Two</w:t></w:r></w:p>的XML將被插入到內(nèi)容控件134-b內(nèi),如邊界框802中的⑶I元素804、806所示。內(nèi)容控件映射組件524還可處理出錯情況。例如,如果XML不是有效的XML(例如,形式良好的),內(nèi)容控件映射組件524將打斷映射,文檔模板130中沒有東西被更新。對文檔內(nèi)容的后續(xù)編輯將使鏈接復活,并重寫節(jié)點的內(nèi)容。如果XML包含多個段,且內(nèi)容控件134-b是內(nèi)聯(lián)(例如,非塊級)的,如使內(nèi)容控件成為塊級所需地,內(nèi)容控件映射組件524首先試圖在內(nèi)容控件134-b之前或之后插入段落標記。如果失敗,則內(nèi)容控件映射組件524執(zhí)行與當今粘貼到純文本內(nèi)容控件的邏輯相同的邏輯——段落轉(zhuǎn)換成回車,且段落從第一段格式化成整個控件的內(nèi)容。如果包含豐富內(nèi)容的定制XML節(jié)點已經(jīng)被綁定到純文本內(nèi)容控件,則XML映射不被允許并失敗,伴有消息“定制XML節(jié)點已經(jīng)被映射到純文本內(nèi)容控件,因此它不能被映射到豐富文本內(nèi)容控件”。在文件打開時,如果節(jié)點以此方式綁定,內(nèi)容控件映射組件524無法連接到內(nèi)部綁定內(nèi)容控件,但在文件中留下映射信息。如果映射的豐富文本控件被嵌套在打開或粘貼的另一映射的豐富文本控件內(nèi),則內(nèi)容控件映射組件524無法鏈接到內(nèi)部綁定內(nèi)容控件,但在文件中留下映射信息。當打開豐富文本數(shù)據(jù)綁定打開的文檔時,豐富文本綁定在任何純文本綁定之前復活,使得純文本綁定可獨立地重新鏈接至數(shù)據(jù)存儲(以防其數(shù)據(jù)也改變了)。豐富文本綁定的文件格式表示使用與現(xiàn)有的XML標記相同的元素名、值等。然而,這些元素通常存在于應(yīng)用程序120的名空間中,以便確保與應(yīng)用程序120的早期版本的兼容性。內(nèi)容控件重復組件526
圖9示出了內(nèi)容控件選擇以支持重復內(nèi)容的用戶界面視圖900。內(nèi)容控件124的內(nèi)容控件重復組件526允許開發(fā)者處理涉及重復內(nèi)容的構(gòu)造。這會在無論內(nèi)容是否被映射到XML數(shù)據(jù)存儲中的XML節(jié)點的情況下發(fā)生。圖9示出了具有控制重復部位內(nèi)容控件的新按鈕904的⑶I功能區(qū)902。對按鈕904的選擇采取的動作在表906中示出。當將重復部位內(nèi)容控件(RepeatingSection Content Control) 134_b 插入到文檔模板130的文檔部分132-a中時,重復部位內(nèi)容控件134_b可處于ー個或多個段/行/表周圍。與任何其它類型的內(nèi)容控件134-b不同,重復部位內(nèi)容控件134-b在不構(gòu)成整個表的多個相鄰行周圍有效。與其它類型的內(nèi)容控件134-b不同,重復部位內(nèi)容控件134-b通常不具有占位符。例如,當被插入到空段中時,重復部位內(nèi)容控件134-b完全不圍繞任何東西,盡管可任選地有指示文本向模板作者告知添加要被重復的實際內(nèi)容。圖10示出了用于重復部位內(nèi)容控件134-b的內(nèi)容控件選擇的用戶界面視圖1000。插入到文檔部分132-a的重復部位內(nèi)容控件134-b具有唯一的⑶I,如圖10中所示。首先,如邊界框1002內(nèi)的圓圈1010所指示,在重復部位1008的整個集合周圍放置標簽。例如,如果在重復部位中有四個項,在四個項的整個集合周圍放置一對起始/結(jié)束標記。各個項也具有標簽。這些標簽的可視性與父重復部位標簽匹配。例如,父可視性為“起始/結(jié)束標記”,那么這些標簽也是“起始/結(jié)束標記”。其次,如圓圈1012指示,示出了在當前重復項下插入另一重復項的控件。該控件可被置于重復部位內(nèi)容控件134-b的底邊處,后沿上(例如,從左到右的右邊、從右到左的左邊),并被調(diào)整大小以匹配16x16按鈕。第三,將三個附加的上下文菜單條目添加到菜單1004中的粘貼項1006下,如圓圈1014所指示。附加上下文菜單條目的屬性在表1016中示出。Insert〈item>above (在上方插入〈項 >)條目在當前項之上插入另一重復項。Insert〈item>below(在下方插入〈項 >)條目在當前項的下方插入另一重復項。Delete〈item> (刪除〈項 >)條目從文檔模板130中刪除當前項。當填充菜單1004時,可從以下非空的第一項得到〈item〉(〈項>):(1)父重復項內(nèi)容控件134-b中的Section Title(部位標題)屬性,父重復部位內(nèi)容控件134_b的Title (標題),重復部位內(nèi)容控件134-b的XML映射的節(jié)點,或靜態(tài)文本“item”。無論何時選擇被包含在重復部位項內(nèi)容控件134-b內(nèi)時,Insert Before/Insert After (之前插入/之后插入)菜單條目被示出并應(yīng)用于(I) Insert Before——在選擇的第一重復部位項之前插入;以及(2) Insert After在選擇中的最后ー個重復部位項之后插入。無論何時選擇被包含在單個重復部位項時,Delete(刪除)菜單條目被示出并應(yīng)用于該項。
圖11示出了用于重復部位的內(nèi)容控件屬性1102的用戶界面視圖1100。如圖所示,可使用復選框控件(Checkbox) 1104來設(shè)置用戶是否被允許添加或移除部位,如表1108所指示。文本框控件(Textbox) 1106可允許插入部位標題,如表1110所指示。重復部位內(nèi)容控件 134-b 的附加屬性表現(xiàn)如下(1)如果“Allow users to add and remove sections(允許用戶添加和移除部位)”屬性未被置位,則以上的UI和上下文菜單條目均被抑制;以及
(2)僅當前一屬性被置位時,才啟用“ Section title (部位標題)”屬性。當可用時,它在上述上下文菜單條目中設(shè)置〈item〉的值??丶默F(xiàn)有屬性如下應(yīng)用(I) “Content controlcannot be deleted(內(nèi)容控件不能被刪除)”屬性意味著重復部位內(nèi)容控件134_b不能被刪除,且內(nèi)部的項受到上述新項目的控制;(2)它還意味著用戶不能刪除重復部位中的最后一項;當有一個項留下時,“Delete〈item>”條目被禁用;(3) “Contents cannot beedited(內(nèi)容不能被編輯)”屬性意味著僅重復部位之一內(nèi)的內(nèi)容控件可被編輯,而新項不能被添加到重復部位;以及(4) Title (標題)/Tag (標簽)屬性應(yīng)用于重復部位內(nèi)容控件。圖12A、12B示出了重復部位內(nèi)容控件134-b的用戶界面視圖1200。當重復部位 內(nèi)容控件134-b被插入到文檔模板130中時,新行為被應(yīng)用重復部位內(nèi)容控件134-b。圖12AU2B示出了當新項被添加到文檔模板130中時的情況。當新項被添加到文檔模板130時,它被如下填充(I)從中添加該項的項被克隆,且該項中(a)沒有子內(nèi)容控件、或(b)被XML映射的所有內(nèi)容控件使其內(nèi)容復位成占位符文本,除了子重復控件的情況以外,子重復控件被降成單個項;(2)新內(nèi)容被適當插入到現(xiàn)有控件之上/之下;以及(3) XML映射對每個合適的邏輯重新連接。例如,假定重復部位內(nèi)容控件134-b被示為圖12A中的項1202。還假定開發(fā)者從菜單1004選擇“Insert item above”,則項1202將具有如圖12B中所示的附加項1204。當項或者經(jīng)由完全包含它的選擇或者經(jīng)由上下文菜單⑶I被刪除時,項(及其容器標簽)被刪除。如果“Contents cannot be edited”屬性被置位,則僅當選擇可被整體刪除吋,才允許刪除(例如,如果之前/之后項的部分也被選擇,則不刪除任何東西)。如果用戶刪除了集合中的最后ー項,則父重復部位控件134-b被刪除,且不能在不按壓Undo (撤銷,例如撤銷刪除)的情況下恢復。如果用戶從右擊菜單中選擇“Remove ContentControl (移除內(nèi)容控件)”條目,則重復部位內(nèi)容控件134_b和所有其它重復部位項內(nèi)容控件134-b被移除。然而,數(shù)據(jù)存儲不被更新。當在重復部位周圍編輯時,ー些命令行為可改變。例如,如果指定的行被包含在重復部位項內(nèi),則ー些命令可被禁用。如果其整個表被包含在項中(例如,如果它是嵌套表的一部分),則這不會發(fā)生。禁用命令的示例可包括Split Table(拆分表)命令和Repeat Header Rows (重復標題行)命令。此外,如果表包含重復部位內(nèi)容控件,則Convertto Text (轉(zhuǎn)換成文本)文本被禁用。如果合并跨越重復部位項的起始/結(jié)束標簽,MergeCells(合并單元格)動作也可被禁用。如果重復部位項橫跨超過單行或單個段落,則Sort (排序)命令可被禁用。Insert Row Above (在上方插入行)和Insert Row Below (在下方插入行)如前所述地操作。Split Cells(拆分単元格)命令不允許用戶在行被打開時改變當前行數(shù)。此外,用戶不能在重復部位與重復部位項控件之間鍵入,或在重復部位內(nèi)的相鄰重復項之間編輯。當用戶進入設(shè)計模式時,對所有重復部位內(nèi)容控件應(yīng)用以下邏輯(1)如果重復部位內(nèi)容控件是XML映射的,則控件內(nèi)除第一個項以外的所有項被移除;(2)醋酸鹽GUI以及添加/移除項的上下文菜單項被隱藏。當用戶退出設(shè)計模式時,發(fā)生以下情況(I)如果重復部位內(nèi)容控件是XML映射的,對重復部位的單個實例進行重復以匹配數(shù)據(jù)存儲中的項數(shù)目;以及(2)醋酸鹽/上下文菜單在適當時重新出現(xiàn)。對重復部位內(nèi)部的XML映射,內(nèi)容控件映射組件524和/或內(nèi)容控件重復組件526如下映射它們(I)如果映射不與作為其父鏈的一部分的節(jié)點集合中的項相交,則綁定是“絕對綁定”并在所有重復部位項中示出相同的內(nèi)容;(2)如果映射不與作為其父鏈的節(jié)點集合中的項相交,則綁定是“相對綁定”。在后ー情況中,如下重新映射綁定(I)確定節(jié)點的絕對綁定(弄平任何查詢表達式)——這應(yīng)對初始映射進行;(2)移除與節(jié)點集合相交的綁定的軸;以及(3)相對于重復部位內(nèi)容項的路徑對路徑的其余部分求值。當將重復部位項添加到文檔中時,從中添加該重復部位項的重復部位內(nèi)容項的XML片斷被克隆。此外,所有葉XML節(jié)點及其屬性使其值復位成空串,或者剛好在現(xiàn)有的XML片斷之前或在現(xiàn)有的XML片斷之后在XML DOM的適當位置中添加新XML子樹。此外, 相應(yīng)的重復部位內(nèi)容項中的所有XML映射相對于此新的XML片斷映射。對于出錯情況,如果插入由于結(jié)構(gòu)模式錯誤(例如,maxOccurs (最大存在)=2而用戶插入了第3項)而失敗,則內(nèi)容控件映射組件524退回XML和文檔模板130中的插入,并提交如下的失敗消息“Another〈item>cannot be added to the document.(另一〈項〉不能被添加到文檔中。)”使用前述邏輯來填充〈item〉。圖13示出了說明其中刪除重復部位的情況的邏輯圖1300。如邏輯圖1300中所示,當從文檔模板130中刪除重復部位項時,重復部位項的XML片斷從數(shù)據(jù)存儲中的XML DOM中移除。XML片斷保留在撤銷堆棧/剪貼板上,因此它可在父重復部位內(nèi)剪切/粘貼并被撤銷。如果替換子樹出現(xiàn)在節(jié)點集合(或其任何祖先)上,斷開重復部位,執(zhí)行替換動作,并將其掛回。這防止在替換期間丟失所有的重復部位項。邏輯圖1300提供了刪除重復部位項的示例。重復部位內(nèi)容控件134-b被映射到如項1302和代碼1312所指示的具有兩個值的節(jié)點集合。假定替換子樹操作在〈title (職位)〉上進行。在節(jié)點消失之前,重復部位是無界的,如項1304和代碼1314所指示。當它們被重新添加時,映射被重新連接,行I和2重新映射到其新的項,并且從行2克隆行3,如項1306和代碼1316所指示。對于出錯情況,如果刪除由于結(jié)構(gòu)模式錯誤(例如,minOccurs (最小存在)=2而用戶刪除了最后兩項之一)而失敗,則在XML和文檔模板130中退回刪除,并生成如下的失敗消息“This〈item>cannot be deleted from the document.(該〈項〉不能從文檔中刪除。)”使用前述邏輯來填充〈item〉。在打開時,如果節(jié)點集合求值為空集合,則不像刪除動作ー樣對待它。相反,重復部位中的項保留,但是取消與數(shù)據(jù)存儲的鏈接。一旦在節(jié)點集合出現(xiàn)單個節(jié)點(進行上述替換邏輯),就按需連接映射和添加/移除項。以下行為應(yīng)用于涉及重復部位的剪切/復制/粘貼動作。當整體剪切重復部位控件吋,不對數(shù)據(jù)存儲作出改變。無論何時重復部位項內(nèi)容控件經(jīng)由復制和粘貼移動時,相應(yīng)的XML節(jié)點就在XML數(shù)據(jù)存儲中移動。當項被剪切吋,從XML數(shù)據(jù)存儲中移除被映射的節(jié)點。當項被粘貼時,如果項被粘貼到兼容的重復部位(例如,綁定到相同節(jié)點集合的重復部位)時,被映射的節(jié)點被適當插入XML數(shù)據(jù)存儲中(例如,如果它在第2項之后被插入,則在映射到該項的XML節(jié)點之后直接插入子樹);否則被剪切的XML被丟棄。總之,或此外,上述實施例可包括增強的內(nèi)容控件,這些內(nèi)容控件提供具有在每個控件的基礎(chǔ)上定義的演示格式的能力。此外,在運行時動態(tài)改變增強的內(nèi)容控件。另外,增強的內(nèi)容控件可被映射到節(jié)點的集合而非僅單個節(jié)點。此外,增強的內(nèi)容控件可被映射為僅添加新的演示數(shù)據(jù)(包括其它內(nèi)容控件)而非替換當前在那里的數(shù)據(jù)。圖14示出適用于實現(xiàn)上述各實施方式的示例性計算架構(gòu)1400的實施方式。如在本申請中所使用的,術(shù)語“系統(tǒng)”和“組件” _在表示計算機相關(guān)的實體,其可以是硬件、硬件和軟件的組合、軟件、或者執(zhí)行中的軟件,其示例由示例性計算架構(gòu)1400提供。例如,組件可以是但不限于,在處理器上運行的進程、處理器、硬盤驅(qū)動器、多個(光和/或磁存儲介質(zhì)的)存儲驅(qū)動器、對象、可執(zhí)行代碼、執(zhí)行的線程、程序、和/或計算機。作為說明,在服務(wù)器上運行的應(yīng)用和該服務(wù)器兩者都可以是組件。一個或多個組件可以駐留在進程和/或執(zhí)行的線程內(nèi),且組件可以位于一個計算機上和/或分布在兩個或更多的計算機之間。此外,組件可以通過各種類型的通信介質(zhì)可通信地彼此耦合以協(xié)調(diào)操作。該協(xié)調(diào)可以涉及單向或 雙向信息交換。例如,組件可以傳遞通過通信介質(zhì)傳遞的信號形式的信息。該信息可被實現(xiàn)成分配給各條信號線的信號。在這些分配中,每ー個消息都是信號。然而,其他實施方式可另選地采用數(shù)據(jù)消息。這些數(shù)據(jù)消息可以跨各個連接發(fā)送。示例性連接包括并行接ロ、串行接口和總線接ロ。在一個實施例中,計算架構(gòu)1400可包括計算設(shè)備的一部分或作為計算設(shè)備的一部分實現(xiàn)。電子設(shè)備的示例可包括但不限于,移動設(shè)備、個人數(shù)字助理、移動計算設(shè)備、智能電話、蜂窩電話、手機、單向?qū)ず魴C、雙向?qū)ず魴C、消息收發(fā)設(shè)備、計算機、個人計算機(PC)、臺式計算機、膝上型計算機、筆記本計算機、手持式計算機、平板計算機、服務(wù)器、服務(wù)器陣列或服務(wù)器場、web服務(wù)器、網(wǎng)絡(luò)服務(wù)器、因特網(wǎng)服務(wù)器、工作站、小型計算機、大型計算機、超級計算機、網(wǎng)絡(luò)設(shè)備、web設(shè)備、分布式計算系統(tǒng)、多處理器系統(tǒng)、基于處理器的系統(tǒng)、消費電子產(chǎn)品、可編程消費電子產(chǎn)品、電視機、數(shù)字電視機、機頂盒、無線接入點、基站、用戶站、移動用戶中心、無線電網(wǎng)絡(luò)控制器、路由器、集線器、網(wǎng)關(guān)、網(wǎng)橋、交換機、機器、或其組合。各實施例不限于該上下文。計算架構(gòu)1400包括各種常見計算元件,如一個或多個處理器、協(xié)同處理器、存儲器単元、芯片組、控制器、外圍設(shè)備、接ロ、振蕩器、定時設(shè)備、視頻卡、音頻卡、多媒體輸入/輸出(I/o)組件,等等。然而,各實施方式不限于由計算架構(gòu)1400來實現(xiàn)。如圖14所示,計算架構(gòu)1400包括處理單元1404、系統(tǒng)存儲器1406以及系統(tǒng)總線1408。處理單元1404可以是可購得的各種處理器中的任ー種。雙微處理器和其它多處理器架構(gòu)也可用作處理單元1404。系統(tǒng)總線1408向包括但不限于系統(tǒng)存儲器1406的各系統(tǒng)組件提供到處理單元1404的接ロ。系統(tǒng)總線1408可以是若干種總線結(jié)構(gòu)中的任ー種,這些總線結(jié)構(gòu)還可互連到存儲器總線(帶有或沒有存儲器控制器)、外圍總線、以及使用各類市場上可購買到的總線架構(gòu)中的任ー種的局部總線。計算架構(gòu)1400可包括或?qū)崿F(xiàn)各種制品。制品可包括存儲邏輯的計算機可讀的存儲介質(zhì)。計算機可讀存儲介質(zhì)的示例可包括能夠存儲電子數(shù)據(jù)的任何有形介質(zhì),包括易失性存儲器或非易失性存儲器、可移動或不可移動存儲器、可擦除或不可擦除存儲器、可寫或可重寫存儲器等。邏輯的示例可包括使用任何合適類型的代碼(諸如源代碼、已編譯代碼、已解釋代碼、可執(zhí)行代碼、靜態(tài)代碼、動態(tài)代碼、面向?qū)ο蟠a、可視代碼等)實現(xiàn)的可執(zhí)行計算機程序指令。系統(tǒng)存儲器1406可以包括ー個或多個更高速的存儲器単元的形式的各種類型的計算機可讀存儲介質(zhì),如只讀存儲器(ROM)、隨機存取存儲器(RAM)、動態(tài)RAM(DRAM)、雙倍數(shù)據(jù)率DRAM (DDRAM)、同步DRAM (SDRAM)、靜態(tài)RAM (SRAM)、可編程ROM (PROM)、可擦除可編程ROM(EPROM)、電可擦除可編程ROM(EEPROM)、閃存、諸如鐵電聚合物存儲器等聚合物存儲器、奧氏存儲器、相變或鐵電存儲器、硅-氧化物-氮化物-氧化物-硅(SONOS)存儲器、磁卡或光卡、或適于存儲信息的任何其他類型的介質(zhì)。在圖14示出的所示實施方式中,系統(tǒng)存儲器1406可包括非易失性存儲器1410和/或易失性存儲器1412?;据斎?輸出系統(tǒng)(BIOS)可以存儲在非易失性存儲器1410中。計算機1402可包括ー個或多個較低速的存儲器単元的形式的各種類型的計算機可讀存儲介質(zhì),包括內(nèi)置硬盤驅(qū)動器(HDD) 1414、用于讀寫可移動磁盤1418的磁軟盤驅(qū)動器(FDD) 1416、以及用于讀寫可移動光盤1422(例如,⑶-ROM或DVD)的光盤驅(qū)動器1420。HDD 1414、FDD 1416、以及光盤驅(qū)動器1420可分別由HDD接ロ 1424、FDD接ロ 1426和光盤·驅(qū)動器接ロ 1428連接到系統(tǒng)總線1408。用于外置驅(qū)動器實現(xiàn)的HDD接ロ 1424可包括通用串行總線(USB)和IEEE 1394接ロ技術(shù)中的至少ー種或兩者。驅(qū)動器及相關(guān)聯(lián)的計算機可讀介質(zhì)提供了對數(shù)據(jù)、數(shù)據(jù)結(jié)構(gòu)、計算機可執(zhí)行指令等的易失性和/或非易失性存儲。例如,多個程序模塊可存儲在驅(qū)動器和存儲器單元1410、1412中,包括操作系統(tǒng)1430、一個或多個應(yīng)用程序1432、其他程序模塊1434和程序數(shù)據(jù)1436。一個或多個應(yīng)用程序1432、其它程序模塊1434和程序數(shù)據(jù)1436可例如包括系統(tǒng)100、200、應(yīng)用程序120、文檔模板組件122、內(nèi)容控件組件124、用戶界面組件126、文檔模板130、內(nèi)容控件可視化組件522、內(nèi)容控件映射組件524、內(nèi)容控件重復組件526和系統(tǒng)100、200的其它特征和組件。用戶可以通過ー個或多個有線/無線輸入設(shè)備,例如鍵盤1438和諸如鼠標1440等定點設(shè)備將命令和信息輸入到計算機1402中。其他輸入設(shè)備可包括話筒、紅外(IR)遙控器、操縱桿、游戲墊、指示筆、觸摸屏等等。這些和其他輸入設(shè)備通常通過耦合到系統(tǒng)總線1408入設(shè)備接ロ 1442連接到處理單元1404,但也可通過諸如并行端ロ、IEEE 1394串行端ロ、游戲端ロ、USB端ロ、IR接ロ等其他接ロ連接。監(jiān)視器1444或其他類型的顯示設(shè)備也經(jīng)由諸如視頻適配器1446等接ロ連接到系統(tǒng)總線1408。除了監(jiān)視器1444之外,計算機通常包括諸如揚聲器、打印機等其他外圍輸出設(shè)備。計算機1402可使用經(jīng)由有線和/或無線通信至ー個或多個遠程計算機,諸如遠程計算機1448的邏輯連接在網(wǎng)絡(luò)化環(huán)境中操作。遠程計算機1448可以是工作站、服務(wù)器計算機、路由器、個人計算機、便攜式計算機、基于微處理器的娛樂設(shè)備、對等設(shè)備或其他常見的網(wǎng)絡(luò)節(jié)點,并且通常包括相對于計算機1402描述的許多或所有元件,但為簡明起見僅示出了存儲器/存儲設(shè)備1450。所描繪的邏輯連接包括到局域網(wǎng)(LAN) 1452和/或例如廣域網(wǎng)(WAN) 1454等更大網(wǎng)絡(luò)的有線/無線連接。這種LAN和WAN連網(wǎng)環(huán)境常見于辦公室和公司,并且方便了諸如內(nèi)聯(lián)網(wǎng)等企業(yè)范圍計算機網(wǎng)絡(luò),所有這些都可連接到例如因特網(wǎng)等全球通信網(wǎng)絡(luò)。當在LAN連網(wǎng)環(huán)境中使用時,計算機1402通過有線和/或無線通信網(wǎng)絡(luò)接ロ或適配器1456連接到LAN 1452。適配器1456可以方便到LAN 1452的有線和/或無線通信,并且還可包括其上設(shè)置的用于使用適配器1456的無線功能進行通信的無線接入點。當在WAN連網(wǎng)環(huán)境中使用時,計算機1402可包括調(diào)制解調(diào)器1458,或連接到WAN1454上的通信服務(wù)器,或具有用于諸如通過因特網(wǎng)等通過WAN1454建立通信的其它裝置?;驗閮?nèi)置或為外置以及有線和/或無線設(shè)備的調(diào)制解調(diào)器1458經(jīng)由輸入設(shè)備接ロ 1442連接到系統(tǒng)總線1408。在聯(lián)網(wǎng)環(huán)境中,相對于計算機1402所描繪的程序模塊或其部分可以存儲在遠程存儲器/存儲設(shè)備1450中。應(yīng)該理解,所示網(wǎng)絡(luò)連接是示例性的,并且可以使用在計算機之間建立通信鏈路的其他手段。 計算機1402可操作來使用IEEE 802標準系列來與有線和無線設(shè)備或?qū)嶓w進行通信,這些實體例如是在操作上安置成與例如打印機、掃描儀、臺式和/或便攜式計算機、個人數(shù)字助理(PDA)、通信衛(wèi)星、任何一件與無線可檢測標簽相關(guān)聯(lián)的設(shè)備或位置(例如,電話亭、報亭、休息室)以及電話進行無線通信(例如,IEEE 802. 11空中調(diào)制技木)的無線設(shè)備。這至少包括Wi-Fi (即無線保真)、WiMax和藍牙 無線技木。由此,通信可以如對于常規(guī)網(wǎng)絡(luò)那樣是預定義結(jié)構(gòu),或者僅僅是至少兩個設(shè)備之間的自組織(ad hoc)通信。Wi-Fi網(wǎng)絡(luò)使用稱為IEEE 802. Ilx (a、b、n、g等等)的無線電技術(shù)來提供安全、可靠、快速的無線連接。Wi-Fi網(wǎng)絡(luò)可用于將計算機彼此連接、連接到因特網(wǎng)以及連接到有線網(wǎng)絡(luò)(使用IEEE802. 3相關(guān)介質(zhì)和功能)。圖15示出適用于實現(xiàn)上述各實施方式的示例性通信架構(gòu)1500的框圖。通信架構(gòu)1500包括各種常見通信元件,如發(fā)射機、接收機、收發(fā)機、無線電裝置、網(wǎng)絡(luò)接ロ、基帶處理器、天線、放大器、濾波器,等等。然而,各實施方式不限于由通信架構(gòu)1500來實現(xiàn)。如圖15所示,通信架構(gòu)1500包括一個或多個客戶機1502和服務(wù)器1504。客戶機1502可實現(xiàn)客戶機系統(tǒng)310、400。服務(wù)器1504可實現(xiàn)服務(wù)器系統(tǒng)350??蛻魴C1502和服務(wù)器1504可操作地連接到可被用來存儲相應(yīng)客戶機1502和服務(wù)器1504本地的信息(如cookie和/或相關(guān)聯(lián)的上下文信息)的一個或多個相應(yīng)客戶機數(shù)據(jù)存儲1508和服務(wù)器數(shù)據(jù)存儲1510??蛻魴C1502和服務(wù)器1504可以使用通信框架1506在彼此之間傳遞信息。通信框架1506可實現(xiàn)任何公知通信技術(shù)和協(xié)議,諸如參考系統(tǒng)300、400所描述的那些。通信框架1506可以被實現(xiàn)為分組交換網(wǎng)絡(luò)(例如,諸如因特網(wǎng)等公共網(wǎng)絡(luò)、諸如企業(yè)內(nèi)聯(lián)網(wǎng)等專有網(wǎng)絡(luò),等等)、電路交換網(wǎng)絡(luò)(例如,公共交換電話網(wǎng))、或分組交換網(wǎng)絡(luò)和電路交換網(wǎng)絡(luò)的組合(使用合適的網(wǎng)關(guān)和轉(zhuǎn)換器)。一些實施例可使用表述“ー個實施例”和” ー實施例”及其派生詞來描述。這些術(shù)語意味著結(jié)合該實施例描述的特定特征、結(jié)構(gòu)、或特性包括在至少ー個實施例中。出現(xiàn)在說明書中各個地方的短語“在一個實施例不必全都指的是同一實施例。此外,一些實施例可使用表述“耦合的”和“連接的”及其派生詞來描述。這些術(shù)語不必g在互為同義詞。例如,一些實施例可使用術(shù)語“連接的”和/或“耦合的”來描述以指示兩個或更多元件彼此有直接的物理或電接觸。然而,術(shù)語“耦合的”還可以意味著兩個或更多元件彼此不直接接觸,而仍彼此合作或交互。
要強調(diào),本公開的摘要是為了允許讀者快速確定本技術(shù)公開的性質(zhì)而提供的。提交摘要的同時要明白,將不用它來解釋或限制權(quán)利要求的范圍或含義。另外,在前面的詳細描述中,可以看到,出于將本公開連成一個整體的目的而將各種特征組合在一起放在單個實施方式中。此公開方法將不被解釋為反映所要求保護的實施方式要求比每個權(quán)利要求中明確陳述的更多特征的意圖。相反,如所附權(quán)利要求書所反映,發(fā)明性的主題存在于比單個已公開實施方式的所有特征 少的特征中。從而,據(jù)此將所附權(quán)利要求結(jié)合進詳細描述中,其中每個權(quán)利要求獨立地代表一個單獨的實施方式。在所附權(quán)利要求書中,術(shù)語“包括”和“其中”分別用作術(shù)語“包含”和“其特征在干”的易懂的英文等價詞。而且,術(shù)語“第一”、“第ニ”、“第三”等等只用作標記,而不g在將數(shù)字要求強加于其對象上。上面描述的包括所公開的體系結(jié)構(gòu)的各示例。當然,描述每ー個可以想到的組件和/或方法的組合是不可能的,但本領(lǐng)域內(nèi)的普通技術(shù)人員應(yīng)該認識到,許多其他組合和排列都是可能的。因此,該新穎體系結(jié)構(gòu)g在涵蓋所有這些落入所附權(quán)利要求書的精神和范圍內(nèi)的更改、修改和變化。
權(quán)利要求
1.ー種裝置,包括 邏輯設(shè)備;以及 在所述邏輯設(shè)備上操作以從文檔模板生成文檔的應(yīng)用,所述應(yīng)用包括 用于檢索文檔模板的文檔模板組件,所述文檔模板包括多個文檔部分; 用于管理嵌在所述文檔模板的文檔部分中的內(nèi)容控件的內(nèi)容控件組件,所述內(nèi)容控件與被安排成存儲由所述內(nèi)容控件演示的格式化的內(nèi)容的數(shù)據(jù)源相關(guān)聯(lián),所述內(nèi)容控件組件用于在所述內(nèi)容控件和所述數(shù)據(jù)源之間同步對所述格式化的內(nèi)容的改變;以及用于使用所述內(nèi)容控件從所述文檔模板生成文檔的文檔生成器組件。
2.如權(quán)利要求I所述的裝置,其特征在于,所述內(nèi)容控件組件用于接收控制指示以修 改所述格式化的內(nèi)容,所述控制指示包括修改用于所述格式化的內(nèi)容的格式化選項或樣式選項的指令。
3.如權(quán)利要求I所述的裝置,其特征在于,所述內(nèi)容控件組件用于接收控制指示以修改由所述內(nèi)容控件演示的格式化的內(nèi)容,在所述內(nèi)容控件的演示字段中演示修改后的格式化的內(nèi)容,并將修改后的格式化的內(nèi)容發(fā)送給所述數(shù)據(jù)存儲。
4.如權(quán)利要求I所述的裝置,其特征在于,所述內(nèi)容控件組件用于檢測存儲在所述數(shù)據(jù)存儲中的格式化的內(nèi)容已被修改,并將修改后的格式化的內(nèi)容發(fā)送給所述內(nèi)容控件以便在所述內(nèi)容控件的演示字段中演示。
5.如權(quán)利要求I所述的裝置,其特征在于,所述內(nèi)容控件組件用于使用與存儲在所述數(shù)據(jù)存儲中的所述格式化的內(nèi)容的數(shù)據(jù)模式不同的數(shù)據(jù)模式來傳遞修改后的格式化的內(nèi)容。
6.ー種方法,包括 演示具有內(nèi)容控件的文檔模板,所述內(nèi)容控件在所述內(nèi)容控件的演示字段中具有格式化的內(nèi)容; 接收控制指示以修改所述格式化的內(nèi)容;以及 在所述內(nèi)容控件與同所述內(nèi)容控件相關(guān)聯(lián)的數(shù)據(jù)源之間同步所述修改后的格式化的內(nèi)容。
7.如權(quán)利要求6所述的方法,其特征在于,包括接收控制指示以修改由所述內(nèi)容控件演示的或存儲在所述數(shù)據(jù)存儲中的格式化的內(nèi)容。
8.如權(quán)利要求6所述的方法,其特征在于,包括 接收控制指示以修改存儲在所述數(shù)據(jù)存儲中的格式化的內(nèi)容; 將修改后的格式化的內(nèi)容發(fā)送給所述內(nèi)容控件;以及 在所述內(nèi)容控件的所述演示字段中演示修改后的格式化的內(nèi)容。
9.如權(quán)利要求6所述的方法,其特征在于,包括 串行化所述格式化的內(nèi)容的可擴展標記語言(XML)元素以形成XML元素串; 從所述XML元素串中移除保留的XML字符;以及 將來自所述XML元素的任何其余的文本存儲在所述數(shù)據(jù)存儲中。
10.ー種包括包含指令的存儲介質(zhì)的制品,所述指令在被執(zhí)行時使得一種系統(tǒng)執(zhí)行如權(quán)利要求6到9中任一項所述的方法。
全文摘要
描述了使用增強的內(nèi)容控件來創(chuàng)建結(jié)構(gòu)化文檔模板的技術(shù)。描述了使用增強的內(nèi)容控件來創(chuàng)建結(jié)構(gòu)化文檔和文檔模板的技術(shù)。一裝置可包括從文檔模板生成文檔的應(yīng)用。該應(yīng)用可包括用于檢索包括多個文檔部分的文檔模板的文檔模板組件。該應(yīng)用還可包括用于管理嵌在文檔模板的文檔部分中的內(nèi)容控件的內(nèi)容控件組件。內(nèi)容控件可與數(shù)據(jù)源相關(guān)聯(lián),該數(shù)據(jù)源被安排成存儲由內(nèi)容控件演示的豐富格式化的內(nèi)容,而不必要求以任何特定方式對數(shù)據(jù)存儲進行寫入。內(nèi)容控件組件可在內(nèi)容控件和數(shù)據(jù)存儲之間同步對格式化的內(nèi)容的任何改變。對其他實施例也予以描述并要求保護。
文檔編號G06F17/30GK102722519SQ20121008350
公開日2012年10月10日 申請日期2012年3月27日 優(yōu)先權(quán)日2011年3月28日
發(fā)明者M·桑德蘭, T·戴維斯 申請人:微軟公司