<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="zh">
	<id>https://arolstar52-zhtest.hf.space/index.php?action=history&amp;feed=atom&amp;title=Apache_Cocoon</id>
	<title>Apache Cocoon - 版本历史</title>
	<link rel="self" type="application/atom+xml" href="https://arolstar52-zhtest.hf.space/index.php?action=history&amp;feed=atom&amp;title=Apache_Cocoon"/>
	<link rel="alternate" type="text/html" href="https://arolstar52-zhtest.hf.space/index.php?title=Apache_Cocoon&amp;action=history"/>
	<updated>2026-07-11T23:25:14Z</updated>
	<subtitle>在这个wiki上该页的修订历史</subtitle>
	<generator>MediaWiki 1.43.9</generator>
	<entry>
		<id>https://arolstar52-zhtest.hf.space/index.php?title=Apache_Cocoon&amp;diff=4539445&amp;oldid=prev</id>
		<title>imported&gt;InternetArchiveBot：​补救1个来源，并将0个来源标记为失效。) #IABot (v2.0.9.5</title>
		<link rel="alternate" type="text/html" href="https://arolstar52-zhtest.hf.space/index.php?title=Apache_Cocoon&amp;diff=4539445&amp;oldid=prev"/>
		<updated>2025-02-04T04:27:42Z</updated>

		<summary type="html">&lt;p&gt;补救1个来源，并将0个来源标记为失效。) #IABot (v2.0.9.5&lt;/p&gt;
&lt;p&gt;&lt;b&gt;新页面&lt;/b&gt;&lt;/p&gt;&lt;div&gt;{{More citations needed|date=2022年5月}}&lt;br /&gt;
&lt;br /&gt;
{{Infobox software&lt;br /&gt;
| name = Apache Cocoon&lt;br /&gt;
| logo = Apache Cocoon logo.svg&lt;br /&gt;
| screenshot = &lt;br /&gt;
| caption = &lt;br /&gt;
| developer = [[Apache Software Foundation]]&lt;br /&gt;
| latest release version = 2.3.0&lt;br /&gt;
| latest release date = {{Start date and age|2023|10|29}}&lt;br /&gt;
| operating system = [[Cross-platform]]&lt;br /&gt;
| programming language = [[Java (programming language)|Java]], [[XML]]&lt;br /&gt;
| genre = [[Web application framework]]&lt;br /&gt;
| license = [[Apache License 2.0]]&lt;br /&gt;
| website = {{URL|//cocoon.apache.org}}&lt;br /&gt;
}}&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Apache Cocoon&amp;#039;&amp;#039;&amp;#039;，通常簡稱為 &amp;#039;&amp;#039;&amp;#039;Cocoon&amp;#039;&amp;#039;&amp;#039;，是一個基於 [[管線]]、[[關注點分離]] 和組件化網頁開發概念的 [[Web應用框架]]。該框架專注於 [[XML]] 和 [[XSLT]] 發佈，並使用 [[Java (programming language)|Java 程式語言]] 構建。Cocoon 的 XML 使用旨在提高發佈格式的兼容性，例如 [[HTML]] 和 [[PDF]]。內容管理系統 Apache Lenya 和 Daisy 是基於此框架構建的。Cocoon 也常用作 [[資料倉儲]] 的 [[ETL]] 工具或作為系統間數據傳輸的 [[Middleware (distributed applications)|中介軟體]]。&lt;br /&gt;
&lt;br /&gt;
==網站地圖==&lt;br /&gt;
Apache Cocoon 使用網站地圖（sitemaps）允許使用者控制 Cocoon 軟體中的各種組件，並定義 Cocoon 所稱的「[[管線]]」中的 [[用戶端-伺服器架構]] 交互。&lt;br /&gt;
&lt;br /&gt;
==組件==&lt;br /&gt;
Cocoon 中的組件按照功能分類。&lt;br /&gt;
&lt;br /&gt;
===匹配器===&lt;br /&gt;
匹配器用於將使用者的請求（如 [[URL]] 或 [[Cookie]]）與 [[萬用字元]] 或 [[正規表示式]] 模式進行匹配。每個使用者請求會在網站地圖中依次測試匹配器，直到找到匹配項。在匹配器中可以指定對某一請求的響應。&lt;br /&gt;
&lt;br /&gt;
===生成器===&lt;br /&gt;
生成器會創建供進一步處理的 [[數據流]]。該數據流可以從現有的 XML 文件生成，或由一些生成器直接從頭創建，表示伺服器上的某些數據，如目錄結構或圖像數據。&lt;br /&gt;
&lt;br /&gt;
====XSP====&lt;br /&gt;
其中一種生成器是 XML 伺服器頁（&amp;#039;&amp;#039;&amp;#039;XSP&amp;#039;&amp;#039;&amp;#039;），它是一個包含基於標籤的指令的 XML 文件，這些指令指定了如何在請求時生成動態內容。在 Cocoon 處理期間，這些指令會被生成的內容所取代，以便結果 XML 文件可以進行進一步處理（通常是 XSLT 轉換）。XSP 會被轉換成 Cocoon 的生產者，通常以 Java 類的形式呈現，不過任何擁有 Java 進程器的腳本語言也可以使用。&lt;br /&gt;
&lt;br /&gt;
指令可以是內建的（&amp;quot;XSP&amp;quot;）或用戶定義的處理標籤，這些指令都定義在「邏輯表」中。標籤通過 XSLT 模板來定義，該模板描述了如何將這些標籤（表示為 XML 節點）轉換成其他 XML 節點或如 Java 的程序代碼。標籤用於嵌入過程邏輯、替代表達式、從網頁伺服器環境檢索信息等操作。&lt;br /&gt;
&lt;br /&gt;
請注意，XSP 在 Cocoon 的近期版本中已被棄用。{{Citation needed|date=2022年5月}}&lt;br /&gt;
&lt;br /&gt;
===轉換器===&lt;br /&gt;
轉換器接收數據流並進行某些更改。最常見的轉換是使用 XSLT 將一種 [[XML]] 格式轉換為另一種，但也有轉換器用於處理其他形式的數據（如 [[SQL]] 指令）。&lt;br /&gt;
&lt;br /&gt;
===序列器===&lt;br /&gt;
序列器將 XML 事件流轉換為字節序列（如 HTML）以返回給客戶端。一些序列器允許將數據以多種不同格式發送，包括 [[HTML]]、[[XHTML]]、[[PDF|PDF]]、[[RTF|RTF]]、[[SVG|SVG]]、[[WML|WML]] 和 [[plain text|純文本]]等。&lt;br /&gt;
&lt;br /&gt;
===選擇器===&lt;br /&gt;
選擇器的功能類似於 [[switch statement|switch 語句]]。它們可以選擇請求中的特定元素，並選擇正確的管道部分來使用。&lt;br /&gt;
&lt;br /&gt;
===視圖===&lt;br /&gt;
視圖主要用於測試。視圖是管道中的一個出口點。可以輸出在這一點產生的 XML 流，以便查看應用是否正常運行。&lt;br /&gt;
&lt;br /&gt;
===讀取器===&lt;br /&gt;
直接發布內容而不進行解析（無 [[XML]] 處理）。用於圖像等內容。&lt;br /&gt;
&lt;br /&gt;
===動作===&lt;br /&gt;
動作是執行某些業務邏輯或管理新內容生成的 Java 類。&lt;br /&gt;
&lt;br /&gt;
==管道==&lt;br /&gt;
「[[管線]]」用於指定不同的 Cocoon 組件如何與給定請求進行交互以產生 [[I/O|響應]]。&amp;lt;ref&amp;gt;{{Cite web |date=2003-10-24 |title=An Introduction to Apache Cocoon 2.1 |url=https://www.developer.com/open-source/an-introduction-to-apache-cocoon-2-1/ |access-date=2022-05-26 |website=Developer.com |language=en-US |archive-date=2024-07-16 |archive-url=https://web.archive.org/web/20240716062533/https://www.developer.com/open-source/an-introduction-to-apache-cocoon-2-1/ |dead-url=no }}&amp;lt;/ref&amp;gt; 一個典型的管道包括一個生成器，後接零個或多個轉換器，最後是序列器。&lt;br /&gt;
&lt;br /&gt;
==另見==&lt;br /&gt;
* [[反應器模式]] - Cocoon 基於的設計模式。&lt;br /&gt;
* [[XProc]] - 一種用於建模 XML 管道的 W3C 標準。&lt;br /&gt;
&lt;br /&gt;
==參考資料==&lt;br /&gt;
{{Reflist}}&lt;br /&gt;
&lt;br /&gt;
==外部連結==&lt;br /&gt;
* [//cocoon.apache.org/ Apache Cocoon 項目]&lt;br /&gt;
* {{github|apache/cocoon|Apache Cocoon 的 GitHub 鏡像}}&lt;br /&gt;
&lt;br /&gt;
{{Application frameworks}}&lt;br /&gt;
{{Apache Software Foundation}}&lt;br /&gt;
&lt;br /&gt;
{{DEFAULTSORT:Apache Cocoon}}&lt;br /&gt;
[[Category:Apache软件基金会项目|Cocoon]]&lt;br /&gt;
[[Category:Web应用框架]]&lt;br /&gt;
[[Category:Java平台軟體]]&lt;/div&gt;</summary>
		<author><name>imported&gt;InternetArchiveBot</name></author>
	</entry>
</feed>