Date: 2004-11-27T13:57:37 Editor: KajKandler <[EMAIL PROTECTED]> Wiki: Cocoon Wiki Page: CocoonCLIAndRelativeURI URL: http://wiki.apache.org/cocoon/CocoonCLIAndRelativeURI
no comment New Page: == Page title (cookbook approach, tutorial , ...) == - TARGET-AUDIENCE: beginner '''*advanced*''' expert[[BR]] - COCOON-RELEASES: 2.1.4[[BR]] - DOCUMENT-STATUS: '''*draft*''' reviewed released[[BR]] ---- === What you will get from this page === The ability to generate static Websites that are independent of their context. Due to this independence they can be run on a Servlet Engine (Tomcat/Jetty) in a context (i.e. http://<test-server>/<your-context>/first-level/index.html), as well as generated to the root of a website (i.e. http://your-web-server/first-level/index.html) === Your basic skills === Cocoon sitemap, CSS, Forrest Menu system, based on LinkRewriter === Technical prerequisites === Cocoon 2.1.4 or newer, LinkRewriter sytem like in the LinkRwriter example === Links to other information sources === === The Issue === You want to address static resources like ''/resources/theme/main.css'' and ''/resources/images/logo.png'' in your website. However, you don't want to modify your main sitemap.xmap and route these absolute Request to the appropriate project sitemap (because I have more than one of these for different projects). === The solution(s) (I came up with) === First, use the LinkRewrite mechanism from Forrest and address these things using ''site:main.css'' and ''site:logo.png'' with your site.xml file looking like this {{{ <resources href="resources/"> <images href="images/"> <logo.png href="logo.png"/> </images> <theme href="theme/"> <main.css href="main.css"/> </theme> </resources> }}} If you want to add such references in the ''xslt transformations'', then you need to make sure you make the LinkRewriting Transformation last. This leaves resources in the CSS files like {{{ .back_xxx { BACKGROUND-IMAGE: url(/resources/images/background.png); } }}} out in the dark. The LinkRewriter does operate on attributes of xml elements. Therefore, I can't just transform my stylesheet with it. But stylesheets allow relative URLs (and interprets them relative to the stylesheet location). Now my stylesheet looks like this {{{ .back_xxx { BACKGROUND-IMAGE: url(../images/background.png); } }}} This is acceptable, because the stylesheet is itself a single (static)resource. Comments are welcome! ---- === page metadata === - AUTHOR:KajKandler[[BR]] - AUTHOR-CONTACT: mailto:[EMAIL PROTECTED] - REVIEWED-BY:[[BR]] - REVIEWER-CONTACT:[[BR]]
