<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    天空是藍色的

    做好軟件為中國 #gcc -c helloworld.c -o helloworld.o //編譯目標文件 #gcc helloworld.o -o helloworld //編譯成可執行exe #helloworld //運行exe
    數據加載中……
    Apache Cocoon入門

    作者: 周靖 譯
    http://www.zdnet.com.cn/developer/tech/story/0,3800067013,39139224-1,00.htm


    在某種意義上,可將Cocoon視為一個基于XML的內容管理系統,因其提供了一種機制來描述Web信息項目(內容)的結構和語義、這些項目的關系、它們如何隨著時間的推移而發生改變(邏輯)以及在請求時如何向用戶呈現(它們的樣式)。事實上,Cocoon項目作為Apache Web服務器項目的一部分,它的作用之一就是組織和控制Apache麾下眾多項目的文檔化過程。

    作為對其真實用途的一個比喻,Cocoon(繭)這個名字具有深遠的意義。它代表一種包裹結構,其中的某些東西將從幼蟲階段成長為美麗的蝴蝶,并準備展翅飛翔。但在Apache Cocoon的主頁上,沒有對這個巧妙的比喻進行說明。相反,它只是對這個項目進行了準確的技術性解釋:“Apache Cocoon是一個XML發布框架,它將XML和XSLT技術在服務器應用程序中的應用提升到一個新級別。Cocoon的宗旨是提升管道化SAX處理的性能和擴展性,通過對內容、邏輯和樣式的分離來營造一個靈活的環境。”

    到底什么是Cocoon?

    Cocoon最初的型態是一個簡單的Java servlet,全部使用標準W3C組件:用文檔對象模型(DOM)來解析文檔,用XML來捕捉和格式化數據,用XSLT來轉換數據和合并/操縱XML文檔,并用XSL來管理文檔的表示以便通過Web傳送。但人們很快就要求它為其他類型的內容提供服務(比如程序和文檔),所以Cocoon逐漸發展成為一個完整的、基于XML的發布框架及系統。

    隨著時間的推移,幾個新的XML組件問世了,比如SAX。另外,XSL也逐漸細分為幾個不同的組件,分別提供Transforms、Formatting Objects和XPath功能。這些新標準直接促成了Cocoon 2在2002年的問世,它定義了一個標準的(而且仍在發展的)內容管理系統,并面向公眾開放。

    就目前來說,我們可采取幾種不同的方式來描述Cocoon:一個XML發布框架,一個數據源聚合器以及一系列管道和組件的集合。

    作為發布框架的Cocoon

    Cocoon基于對SAX事件的管道式處理。Web應用程序如果圍繞這個框架來構建,將獲得較好的擴展性和性能。利用一個集中式的配置系統,你可以方便地創建、部署和維護Web應用程序。Cocoon使用了一個緩存系統,所有組件都可根據需要進行動態配置。接收到用戶請求后,會自動檢查緩存,判斷請求的URI(統一資源標識符)是否存在。如果存在,就直接傳遞緩存的內容,不需要通過一個管道來處理它。

    Cocoon作為數據源聚合器

    Cocoon可作為一個抽象的引擎使用(通過一個Java servlet),它基于自定義的協議處理程序,能通過標準URI來訪問外部數據源。Cocoon甚至能遞歸調用自身,使數據流能在多個管道化階段同時處理,從而提高處理速度和效率。


    管道和組件

    Cocoon體系結構的核心設計思想是模塊化和抽象處理。Cocoon管道在概念上和UNIX系統中使用的管道差不多,只是Cocoon管道中的所有元素都是通過解析XML文檔而創建的SAX事件。Cocoon識別3種類型的管道元素(組件),分別是生成器(generators)、轉換器(transformers)和序列化器(serializers)。其中,生成器使用一個請求的URI來生成SAX事件;轉換器使用SAX事件并生成其他SAX事件;序列化器使用SAX事件并生成一些響應。

    Cocoon的用途

    簡單地說,Cocoon管道用于生成和遞送內容。內容采用的是某種可識別的形式,由一個生成器和一個序列化器構成。在較典型的Cocoon管道中,生成器之后可能緊接著一個或多個轉換器鏈,而序列化器用于生成不同格式的輸出。采取這種方式,同一個源文檔可為Web瀏覽器生成HTML格式的內容,為WAP設備生成WML格式的內容,為打印輸出生成PDF格式的內容。

    作為一個開發平臺,Cocoon最吸引人的地方在于它提供了品種豐富的生成器、轉換器和序列化器。人們為Cocoon 2項目開發和捐贈了許多這樣的組件。一經捐贈,這些組件就可進行定制,以添加新功能或者進行擴展,從而創建出新的組件。A總結了適用于Cocoon的一些常用生成器、轉換器和序列化器。

    表A

    類別 名稱 說明
    生成器 DirectoryGenerator 將目錄列表轉換成XML格式,以便從中生成SAX事件
    生成器 FileGenerator 解析一個文件或URI,并生成SAX事件
    生成器 JSPGenerator 根據JSP頁來生成XML和SAX事件
    生成器 ServerPagesGenerator 根據XSP頁來生成XML和SAX
    轉換器 i18nTransformer 使用i18n字典和語言參數值來轉換SAX事件
    轉換器 XincludeTransformer 通過為現有的SAX流添加SAX事件,從而處理xinclude命名空間,并包括外部源
    轉換器 XSLTransformer 根據XSLT樣式表定義來轉換SAX事件流
    序列化器 HTMLSerializer 根據SAX事件來生成HTML響應
    序列化器 PDFSerializer 根據SAX事件,使用Apache FOP(格式輸出處理器)來生成PDF
    序列化器 SVG2JPGSerializer 根據SVG SAX事件,使用Apache Batik來生成JPEG圖像
    序列化器 TextSerializer 根據SAX事件來生成純文本輸出,適用于非XML文本,比如CSS或程序語言代碼
    序列化器 XMLSerializer 根據SAX事件來生成XML響應

    可由Cocoon使用的部分組件

    如所你見,Cocoon的功能并非只是簡單地將數據格式化成HTML。在未來的文章中,我們將研究如何在Cocoon環境中創建和處理文檔,并更詳細地介紹在這個環境中工作所牽涉的問題。就目前來說,你只需理解Cocoon是針對多種目的來捕捉、呈現和遞送Web內容的一種方式。

     

    posted on 2006-02-15 15:28 bluesky 閱讀(8764) 評論(1)  編輯  收藏 所屬分類: 記事本

    評論

    # 求救..re: Apache Cocoon入門 2006-09-27 05:22 Jasmine

    版主好啊...請問怎么在cocoon里插入圖像和多媒體數據呢....
    請給我說說吧..revendway@hotmail.com
    謝了先
      回復  更多評論    
    主站蜘蛛池模板: 亚洲色偷偷色噜噜狠狠99网| 久久亚洲国产精品五月天婷| 亚洲中文无码av永久| 久久久久久久久久国产精品免费| 亚洲中久无码永久在线观看同| 爱情岛论坛亚洲品质自拍视频网站| 日本免费电影一区| 美女视频黄a视频全免费网站一区| 国产成人精品免费视频大全五级 | 久久国产亚洲电影天堂| 日韩视频免费在线观看| 亚洲色图校园春色| 最近免费中文字幕4| 国产成人精品日本亚洲语音| 一本久到久久亚洲综合| jizz日本免费| 久热综合在线亚洲精品| 亚洲免费在线视频| 亚洲人成网站999久久久综合| 国产精品公开免费视频| 国产伦精品一区二区免费| 久久精品国产精品亚洲精品| 最近中文字幕免费2019| 亚洲一卡一卡二新区无人区| 免费又黄又硬又爽大片| 国产真人无码作爱免费视频| 亚洲理论精品午夜电影| 国产精品极品美女免费观看| 三级黄色在线免费观看| 亚洲女人影院想要爱| 免费亚洲视频在线观看| 久久免费视频网站| 亚洲色大网站WWW永久网站| 亚洲一区无码中文字幕| 成年在线观看网站免费| 国产成人无码免费网站| 亚洲伦理一二三四| 中文字幕精品亚洲无线码二区| 精品女同一区二区三区免费站| 亚洲暴爽av人人爽日日碰| 久久亚洲一区二区|