文档有点晦涩难懂。有一个方面链。每个动态生成的页面都经过它。
要了解它是如何工作的,您需要记住 XMLUI 是一个 Cocoon 应用程序,特别是您需要了解由许多 .xmap 文件构建的 Cocoon“站点地图”。传入的请求由称为 Matchers 的地图组件引导通过站点地图。XMLUI 在站点地图的一部分中体现了 Aspect 链。
方面链的定义位置:config/xmlui.xconf,作为<aspects>
元素的内容。此处给出的顺序是将定义的方面应用于开发中的 DRI 文档的顺序。(这在 XMLUI 配置和自定义中有所说明,在步骤 3b中的https://wiki.duraspace.org/display/DSDOC18/XMLUI+Configuration+and+Customization#XMLUIConfigurationandCustomization-UnderstandingtheFlowofanXMLUIRequest 。)
我找不到“aspect.xml”的任何实例。webapps/xmlui/aspects/aspects.xmap 是一个 Cocoon 站点地图文件,它会导致应用方面链。AspectMatcher 组件是强制执行 Aspects 排序的地方。
如上所述,对动态页面的每个请求都会导致生成的文档沿着单个Aspect 链发送。
像 {1} 这样的标记表示 URI 文本,它在最近的封闭元素的 'match' 属性中由通配符('*' 或 '**')匹配。这类似于某些正则表达式包提供的子表达式匹配变量。(此功能由 Cocoon 提供;它不是 DSpace 的一部分,但由 XMLUI 使用。)
如果你能找到一个好的资源,我建议你阅读一些关于 Cocoon 的内容。我通常参考Moczar 和 Aston的 Cocoon Developer's Handbook。它现在已经过时了,但它比当前的在线 Cocoon 文档要完整得多。