<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
    謝了先
      回復  更多評論    
    主站蜘蛛池模板: 亚洲资源最新版在线观看| 亚洲精品少妇30p| 97久久国产亚洲精品超碰热| 久久午夜夜伦鲁鲁片无码免费| 无码国产精品一区二区免费虚拟VR| 亚洲精品成人av在线| 久久久久久毛片免费播放| 亚洲av片劲爆在线观看| 91av在线免费视频| 亚洲国产中文在线视频| 亚洲一区二区三区免费视频| ASS亚洲熟妇毛茸茸PICS| 在线成人a毛片免费播放| 爱情岛论坛免费视频| 在线精品亚洲一区二区三区| 久久99免费视频| 亚洲综合小说久久另类区| 可以免费看黄的网站| 综合偷自拍亚洲乱中文字幕| 亚洲av无码成人精品区在线播放 | 国产亚洲综合一区柠檬导航| 免费播放在线日本感人片| 日韩亚洲Av人人夜夜澡人人爽 | 亚洲国产另类久久久精品小说| 免费日本一区二区| 亚洲乱码中文论理电影| 国产又大又粗又硬又长免费| 国产免费区在线观看十分钟| 久久精品九九亚洲精品| 成人免费视频一区二区三区| 一级做α爱过程免费视频 | 亚洲男人的天堂久久精品| 免费人成无码大片在线观看| 免费a级毛片无码a∨免费软件 | 日产久久强奸免费的看| 久久久久久久久亚洲| 成人免费视频88| 国产精品网站在线观看免费传媒| 亚洲三级在线免费观看| 亚洲男女内射在线播放| 永久黄色免费网站|