02/10/22 13:30
>質問その2
>Cocoonではどうやってロジックとデザインの分離を実現するの?(一応スレの内容に合った質問として)
まず、Cocoon2の肝はサイトマップという仕組みにある。
サイトマップの中でコンテンツごとにパイプラインというのを定義していく。
サイトマップ自体はXMLファイルだが、これを読み込んで動的に
Servletに変換してくれるというのが秀逸だ。
さて、サイトマップに書くパイプラインの簡単な例は、こんな感じになる。
<map:pipeline>
<map:match pattern="hello">
<map:generate src="hello.xml"/>
<map:transform src="hello.xsl"/>
<map:serialize type="html"/>
</map:match>
</map:pipeline>
これはブラウザからURLに、URLリンク(localhost)~~~/helloと指定すると、
まず、hello.xmlというファイルを読み込んで、そこにhello.xslというXSLTを
適用し、最後にHTML形式に変換して返信するという定義だ。