模板處理器
模板處理器(也稱(chēng)為模板引擎或模板解析器)是軟件設(shè)計(jì)的模板,用一結(jié)合數(shù)據(jù)模型生成結(jié)果文檔。用于模板的語(yǔ)言稱(chēng)為模板語(yǔ)言或模板語(yǔ)言。就本文研究而言,結(jié)果進(jìn)行文檔是任何一個(gè)類(lèi)型的格式化輸出,包括設(shè)計(jì)文檔、網(wǎng)頁(yè)或源代碼(在源代碼生成中),無(wú)論是企業(yè)整體發(fā)展還是片段。模板引擎通常作為網(wǎng)頁(yè)模板引擎系統(tǒng)或應(yīng)用程序框架的一部分,也可以用作預(yù)處理器或過(guò)濾器。
功能特征 編輯本段
模板引擎通常可以包含企業(yè)大多數(shù)高級(jí)編程設(shè)計(jì)語(yǔ)言所共有的功能,重點(diǎn)是用于數(shù)據(jù)處理純文本的功能。
這些功能包括:
變量和函數(shù)
文字替換
文件包含
條件評(píng)估和循環(huán)
模板處理器
嵌入式模板引擎
雖然模板處理器通常是單獨(dú)的軟件,用作系統(tǒng)或框架的一部分,但是簡(jiǎn)單的模板語(yǔ)言通常包括在通用編程語(yǔ)言和文本處理程序(特別是文本編輯器或字處理器)的字符串處理功能中。與成熟的模板處理器中更復(fù)雜的功能研究相比,模板語(yǔ)言能力通常是僅用于替換的簡(jiǎn)單語(yǔ)言,但可能主要包含對(duì)于一些學(xué)生邏輯。
簡(jiǎn)單的例子包括可以在許多編程語(yǔ)言中找到的打印格式字符串,以及可以在許多文本編輯器和源代碼編輯器中找到的代碼片段。在文字處理器中,模板是一個(gè)企業(yè)共同的功能,而自動(dòng)進(jìn)行填寫(xiě)模板系統(tǒng)通常可以被稱(chēng)為郵件合并。
主要元素 編輯本段
所有模板處理系統(tǒng)至少包含以下主要元素:
相關(guān)的數(shù)據(jù)模型 ;
一個(gè)或多個(gè)源模板 ;
處理器或模板引擎 ;
以結(jié)果文件形式產(chǎn)生的輸出。
數(shù)據(jù)模型
這可以是關(guān)系數(shù)據(jù)庫(kù)、諸如XML的源文件、平面文件數(shù)據(jù)庫(kù)的替代格式、電子表格或其他各種預(yù)格式化數(shù)據(jù)源。一些模板進(jìn)行處理信息系統(tǒng)在可以通過(guò)使用的數(shù)據(jù)類(lèi)型方面受到限制。其他產(chǎn)品旨在增加靈活性到 XXX 度,并允許許多不同類(lèi)型的數(shù)據(jù)。
源模板
傳統(tǒng)上指定源模板:
根據(jù)預(yù)先存在的編程語(yǔ)言;
根據(jù)專(zhuān)門(mén)定義的模板語(yǔ)言;
根據(jù)托管軟件應(yīng)用程序的功能;
根據(jù)上述一些或全部的混合組合。
模板引擎
模板引擎負(fù)責(zé):
連接到數(shù)據(jù)模型;
處理源模板中指定的代碼;
將輸出定向到特定的管道、文本文件或流。
另外,某些模板引擎允許通過(guò)其他資源配置選項(xiàng)。
結(jié)果文件
這些可以包含整個(gè)文檔或文檔片段。
使用用途 編輯本段
模板處理在各種上下文中用于不同的目的。通常,特定目的主要取決于所使用的軟件技術(shù)應(yīng)用系統(tǒng)程序或模板引擎。然而,模板處理系統(tǒng)的靈活性通常允許非常規(guī)的用途,原始設(shè)計(jì)人員最初并不打算使用這些用途。
模板引擎
模板引擎是一種特定類(lèi)型的模板處理系統(tǒng)模塊,具有中國(guó)現(xiàn)代編程語(yǔ)言的所有企業(yè)主要管理功能。術(shù)語(yǔ)模板引擎已經(jīng)發(fā)展成為編程語(yǔ)言的一般描述,其主要或?qū)S媚康氖翘幚砟0搴蛿?shù)據(jù)以輸出文本。該術(shù)語(yǔ)的使用最明顯地可以適用于企業(yè)使用Web模板進(jìn)行系統(tǒng)的Web開(kāi)發(fā),并且也適用于一些其他學(xué)生上下文。
文件生成
文檔生成框架通常使用模板處理作為生成文檔的中心模型。
源代碼生成
源代碼生成一個(gè)工具進(jìn)行支持從特定技術(shù)應(yīng)用程序域,特定社會(huì)組織的抽象數(shù)據(jù)分析模型(例如UML、關(guān)系管理數(shù)據(jù),特定于域的企業(yè)財(cái)務(wù)數(shù)據(jù)存儲(chǔ))中生成源代碼或簡(jiǎn)化計(jì)算機(jī)的生產(chǎn)發(fā)展過(guò)程程序員。
軟件功能 編輯本段
模板引擎處理網(wǎng)頁(yè)模板和數(shù)據(jù)源(通常來(lái)自關(guān)系數(shù)據(jù)庫(kù))以產(chǎn)生一個(gè)或多個(gè)輸出網(wǎng)頁(yè)或頁(yè)面片段。它通常可以作為Web模板進(jìn)行系統(tǒng)或應(yīng)用程序設(shè)計(jì)框架的一部分包含在內(nèi)。目前,模板軟件是最常用的 Web 開(kāi)發(fā)環(huán)境。
XSLT是W3C設(shè)計(jì)的模板進(jìn)行處理系統(tǒng)模型。它主要用于XML數(shù)據(jù)的轉(zhuǎn)換(轉(zhuǎn)換為Web文檔或其他輸出)。
Perl、Python、PHP、Ruby、C#和Java之類(lèi)的編程設(shè)計(jì)語(yǔ)言發(fā)展支持本機(jī)處理或通過(guò)一個(gè)附加庫(kù)和模塊可以進(jìn)行分析模板數(shù)據(jù)處理。JavaServerPages、 ActiveServerPages、 Genshi (用于 Python)和 Eruby 是專(zhuān)門(mén)為 Web 應(yīng)用程序開(kāi)發(fā)設(shè)計(jì)的模板引擎的示例。
此外,有時(shí)將模板進(jìn)行處理技術(shù)作為軟件包的子功能主要包括在內(nèi),例如文本編輯器、IDE和關(guān)系數(shù)據(jù)庫(kù)信息管理控制系統(tǒng)。
附件列表
詞條內(nèi)容僅供參考,如果您需要解決具體問(wèn)題
(尤其在法律、醫(yī)學(xué)等領(lǐng)域),建議您咨詢(xún)相關(guān)領(lǐng)域?qū)I(yè)人士。
如果您認(rèn)為本詞條還有待完善,請(qǐng) 編輯
上一篇 精細(xì)化學(xué)品 下一篇 聯(lián)系我們