Apache Cocoon
此条目需要补充更多来源。 (2022年5月) |
Apache Cocoon,通常简称为 Cocoon,是一个基于 管线、关注点分离 和组件化网页开发概念的 Web应用框架。该框架专注于 XML 和 XSLT 发布,并使用 Java 编程语言 构建。Cocoon 的 XML 使用旨在提高发布格式的兼容性,例如 HTML 和 PDF。内容管理系统 Apache Lenya 和 Daisy 是基于此框架构建的。Cocoon 也常用作 资料仓储 的 ETL 工具或作为系统间数据传输的 中介软件。
开发者 | Apache Software Foundation |
---|---|
当前版本 | 2.3.0(2023年10月29日 | )
源代码库 | |
编程语言 | Java, XML |
操作系统 | Cross-platform |
类型 | Web application framework |
许可协议 | Apache License 2.0 |
网站 | cocoon |
网站地图
编辑Apache Cocoon 使用网站地图(sitemaps)允许使用者控制 Cocoon 软件中的各种组件,并定义 Cocoon 所称的“管线”中的 用户端-服务器架构 交互。
组件
编辑Cocoon 中的组件按照功能分类。
匹配器
编辑匹配器用于将使用者的请求(如 URL 或 Cookie)与 万用字元 或 正规表示式 模式进行匹配。每个使用者请求会在网站地图中依次测试匹配器,直到找到匹配项。在匹配器中可以指定对某一请求的响应。
生成器
编辑生成器会创建供进一步处理的 数据流。该数据流可以从现有的 XML 文件生成,或由一些生成器直接从头创建,表示服务器上的某些数据,如目录结构或图像数据。
XSP
编辑其中一种生成器是 XML 服务器页(XSP),它是一个包含基于标签的指令的 XML 文件,这些指令指定了如何在请求时生成动态内容。在 Cocoon 处理期间,这些指令会被生成的内容所取代,以便结果 XML 文件可以进行进一步处理(通常是 XSLT 转换)。XSP 会被转换成 Cocoon 的生产者,通常以 Java 类的形式呈现,不过任何拥有 Java 进程器的脚本语言也可以使用。
指令可以是内建的("XSP")或用户定义的处理标签,这些指令都定义在“逻辑表”中。标签通过 XSLT 模板来定义,该模板描述了如何将这些标签(表示为 XML 节点)转换成其他 XML 节点或如 Java 的程序代码。标签用于嵌入过程逻辑、替代表达式、从网页服务器环境检索信息等操作。
请注意,XSP 在 Cocoon 的近期版本中已被弃用。[来源请求]
转换器
编辑转换器接收数据流并进行某些更改。最常见的转换是使用 XSLT 将一种 XML 格式转换为另一种,但也有转换器用于处理其他形式的数据(如 SQL 指令)。
序列器
编辑序列器将 XML 事件流转换为字节序列(如 HTML)以返回给客户端。一些序列器允许将数据以多种不同格式发送,包括 HTML、XHTML、PDF、RTF、SVG、WML 和 纯文本等。
选择器
编辑选择器的功能类似于 switch 语句。它们可以选择请求中的特定元素,并选择正确的管道部分来使用。
视图
编辑视图主要用于测试。视图是管道中的一个出口点。可以输出在这一点产生的 XML 流,以便查看应用是否正常运行。
读取器
编辑直接发布内容而不进行解析(无 XML 处理)。用于图像等内容。
动作
编辑动作是执行某些业务逻辑或管理新内容生成的 Java 类。
管道
编辑“管线”用于指定不同的 Cocoon 组件如何与给定请求进行交互以产生 响应。[1] 一个典型的管道包括一个生成器,后接零个或多个转换器,最后是序列器。
另见
编辑参考资料
编辑- ^ An Introduction to Apache Cocoon 2.1. Developer.com. 2003-10-24 [2022-05-26] (美国英语).