| <?xml version="1.0"?> |
| |
| <!-- |
| Version <![CDATA[ $Id: sitemap.xmap,v 1.1 2003/03/09 00:04:39 pier Exp $ ]]> |
| |
| Cocoon Webmail sitemap definition |
| --> |
| |
| <map:sitemap xmlns:map="http://apache.org/cocoon/sitemap/1.0"> |
| |
| <!-- =========================== Components ================================ --> |
| |
| <map:components> |
| |
| <!-- ===== generators ===== |
| --> |
| <map:generators default="file"> |
| <map:generator name="file" src="org.apache.cocoon.generation.FileGenerator" |
| label="content" |
| logger="sitemap.generator.file" |
| pool-max="32" pool-min="1" pool-grow="4" |
| /> |
| <map:generator name="html" src="org.apache.cocoon.generation.HTMLGenerator" |
| label="content" |
| logger="sitemap.generator.file" |
| pool-max="32" pool-min="1" pool-grow="4" |
| /> |
| <map:generator name="asciiart-svg" src="org.apache.cocoon.generation.asciiart.AsciiArtSVGGenerator" |
| label="content" |
| logger="sitemap.generator.asciiart-svg" |
| /> |
| </map:generators> |
| |
| <!-- ===== transformers ===== |
| --> |
| <map:transformers default="xslt"> |
| <map:transformer name="xslt" src="org.apache.cocoon.transformation.TraxTransformer" |
| logger="sitemap.transformer.xslt" pool-max="32" pool-min="1" pool-grow="2"> |
| <use-request-parameters>false</use-request-parameters> |
| <use-browser-capabilities-db>false</use-browser-capabilities-db> |
| <use-deli>false</use-deli> |
| </map:transformer> |
| <!--map:transformer name="tofile" src="org.apache.cocoon.transformation.SourceWritingTransformer"> |
| <map:parameter name="serializer" value="xml"/> |
| </map:transformer--> |
| <map:transformer name="paginate" src="org.apache.cocoon.transformation.pagination.Paginator"/> |
| </map:transformers> |
| |
| <!-- ===== readers ===== |
| --> |
| <map:readers default="resource"> |
| <map:reader name="resource" src="org.apache.cocoon.reading.ResourceReader" logger="sitemap.reader.resource" pool-max="32" pool-min="1" pool-grow="4"/> |
| </map:readers> |
| |
| <!-- ===== serializers ===== |
| --> |
| <map:serializers default="html"> |
| <map:serializer name="html" src="org.apache.cocoon.serialization.HTMLSerializer" |
| mime-type="text/html"> |
| <encoding>iso8859-1</encoding> |
| </map:serializer> |
| <map:serializer name="wml" src="org.apache.cocoon.serialization.XMLSerializer" |
| mime-type="text/vnd.wap.wml" |
| logger="sitemap.serializer.wml"> |
| <doctype-public>-//WAPFORUM//DTD WML 1.1//EN</doctype-public> |
| <doctype-system>http://www.wapforum.org/DTD/wml_1.1.xml</doctype-system> |
| <encoding>iso8859-1</encoding> |
| <omit-xml-declaration>no</omit-xml-declaration> |
| </map:serializer> |
| <map:serializer name="xml" src="org.apache.cocoon.serialization.XMLSerializer" |
| mime-type="text/xml"> |
| <indent>yes</indent> |
| </map:serializer> |
| <map:serializer name="links" src="org.apache.cocoon.serialization.LinkSerializer" |
| /> |
| <map:serializer name="svg2jpeg" src="org.apache.cocoon.serialization.SVGSerializer" |
| mime-type="image/jpeg"> |
| <parameter name="quality" type="float" value="0.75"/> |
| </map:serializer> |
| </map:serializers> |
| |
| <!-- ===== matchers ===== |
| --> |
| <map:matchers default="wildcard"> |
| <map:matcher name="wildcard" src="org.apache.cocoon.matching.WildcardURIMatcher" |
| logger="sitemap.matcher.wildcard"/> |
| <map:matcher name="regexp" src="org.apache.cocoon.matching.RegexpURIMatcher" |
| logger="sitemap.matcher.regexp"/> |
| <map:matcher name="regexp-defaults" src="org.apache.cocoon.matching.RegexpURIDefaultsMatcher" |
| logger="sitemap.matcher.regexp"/> |
| </map:matchers> |
| |
| <!-- ===== selectors ===== |
| --> |
| <map:selectors default="parameter"> |
| <map:selector name="parameter" src="org.apache.cocoon.selection.ParameterSelector" |
| logger="sitemap.selector.parameter"/> |
| <map:selector name="request-parameter" src="org.apache.cocoon.selection.RequestParameterSelector" |
| logger="sitemap.selector.request-parameter"> |
| <parameter-name>cmd</parameter-name> |
| </map:selector> |
| <map:selector name="request-attribute" src="org.apache.cocoon.selection.RequestAttributeSelector" |
| logger="sitemap.selector.request-attribute"> |
| <parameter-name>cmd</parameter-name> |
| </map:selector> |
| </map:selectors> |
| |
| <!-- ===== actions ===== |
| --> |
| <map:actions> |
| <map:action name="simple-resource-exists" src="org.apache.cocoon.acting.ResourceExistsAction" |
| logger="sitemap.action.simple-resource-exists"/> |
| <map:action name="resource-exists" src="org.apache.cocoon.acting.ExtendedResourceExistsAction" |
| logger="sitemap.action.resource-exists"/> |
| <map:action name="link-translator-map" src="org.apache.cocoon.acting.LinkTranslatorMapAction" |
| logger="sitemap.action.link-translator-map"/> |
| <map:action name="mail" src="org.apache.cocoon.mail.MailAction" |
| logger="sitemap.action.mail"/> |
| </map:actions> |
| |
| </map:components> |
| |
| |
| <!-- =========================== Views =================================== --> |
| |
| <map:views> |
| <map:view name="content" from-label="content"> |
| <map:serialize type="xml"/> |
| </map:view> |
| |
| <map:view name="links" from-position="last"> |
| <map:transform src="stylesheets/filterlinks.xsl"/> |
| <map:serialize type="links"/> |
| </map:view> |
| </map:views> |
| |
| <!-- =========================== Resources =============================== --> |
| <map:resources> |
| <!-- generate a page by merging all parts making up a page |
| --> |
| <map:resource name="show-page"> |
| <map:aggregate element="site"> |
| <map:part src="cocoon:/page-{page}-top-col-1" element="top-col-1" strip-root="true"/> |
| <map:part src="cocoon:/page-{page}-head-col-1" element="head-col-1" strip-root="true"/> |
| <map:part src="cocoon:/page-{page}-mid-col-1" element="mid-col-1" strip-root="true"/> |
| <map:part src="cocoon:/page-{page}-mid-col-2" element="mid-col-2" strip-root="true"/> |
| <map:part src="cocoon:/page-{page}-mid-col-3" element="mid-col-3" strip-root="true"/> |
| <map:part src="cocoon:/page-{page}-bottom-col-1" element="bottom-col-1" strip-root="true"/> |
| </map:aggregate> |
| </map:resource> |
| |
| <!-- load a page of a section if page is not available load index page |
| of this section, plain XML |
| --> |
| <map:resource name="load-page"> |
| <map:select type="parameter"> |
| <map:parameter name="parameter-selector-test" value="{resource-exists}"/> |
| <map:when test="true"> |
| <map:generate src="docs/{sect}/{page}.xml"/> |
| </map:when> |
| <map:otherwise> |
| <map:generate src="docs/{sect}/index.xml"/> |
| </map:otherwise> |
| </map:select> |
| <map:serialize type="xml"/> |
| </map:resource> |
| |
| <!-- load a page of a section if page is not available load index page |
| of this section, assume XSP |
| --> |
| <map:resource name="load-xsp-page"> |
| <map:select type="parameter"> |
| <map:parameter name="parameter-selector-test" value="{resource-exists}"/> |
| <map:when test="true"> |
| <map:generate type="serverpages" src="docs/{sect}/{page}.xsp"/> |
| </map:when> |
| <map:otherwise> |
| <map:generate type="serverpages" src="docs/{sect}/index.xsp"/> |
| </map:otherwise> |
| </map:select> |
| <map:serialize type="xml"/> |
| </map:resource> |
| |
| </map:resources> |
| |
| <!-- =========================== Pipelines ================================= --> |
| |
| <map:pipelines> |
| |
| <!-- mail/ handling, mail/ URI denotes pages of Cocoon Webmail, |
| presenting javamail objects |
| --> |
| <map:pipeline internal-only="true"> |
| |
| <map:match pattern="page-mail/*-head-col-1"> |
| <map:act type="resource-exists" src="docs/head-col-1/{1}.xsp"> |
| <map:call resource="load-xsp-page"> |
| <map:parameter name="sect" value="head-col-1"/> |
| <map:parameter name="page" value="{../1}"/> |
| <map:parameter name="resource-exists" value="{resource-exists}"/> |
| </map:call> |
| </map:act> |
| </map:match> |
| |
| <map:match pattern="page-mail/mail-mid-col-1"> |
| <map:generate type="serverpages" src="docs/mid-col-1/mail.xsp"/> |
| <map:transform src="stylesheets/mail2document.xsl"/> |
| <map:serialize type="xml"/> |
| </map:match> |
| |
| <map:match pattern="page-mail/*-mid-col-1"> |
| <map:act type="resource-exists" src="docs/mid-col-1/{1}.xsp"> |
| <map:call resource="load-xsp-page"> |
| <map:parameter name="sect" value="mid-col-1"/> |
| <map:parameter name="page" value="{../1}"/> |
| <map:parameter name="resource-exists" value="{resource-exists}"/> |
| </map:call> |
| </map:act> |
| </map:match> |
| |
| <map:match pattern="page-mail/mail-mid-col-2"> |
| <map:generate type="serverpages" src="docs/mid-col-2/mail.xsp"/> |
| |
| <!-- |
| select stylesheet on the cmd request parameter |
| --> |
| <map:select type="request-attribute"> |
| <map:parameter name="attribute-name" value="mail-current-working-command"/> |
| |
| <map:when test="cat-folder"> |
| <map:transform src="stylesheets/mail-folder2document.xsl"/> |
| </map:when> |
| <map:when test="list-folder-messages"> |
| <map:transform src="stylesheets/mail-envelopes2document.xsl"/> |
| </map:when> |
| <map:when test="search-folder-messages"> |
| <map:transform src="stylesheets/mail-envelopes2document.xsl"/> |
| </map:when> |
| <map:when test="list-folder"> |
| <map:transform src="stylesheets/mail-folder2document.xsl"/> |
| </map:when> |
| <map:when test="list-folder-recursivly"> |
| <map:transform src="stylesheets/mail-folderrecursivly2document.xsl"/> |
| </map:when> |
| <map:when test="cat-message-by-uid"> |
| <map:transform src="stylesheets/mail-message2document.xsl"/> |
| </map:when> |
| <map:when test="cat-message-by-id"> |
| <map:transform src="stylesheets/mail-message2document.xsl"/> |
| </map:when> |
| <map:otherwise> |
| <map:transform src="stylesheets/mail-unknown2document.xsl"/> |
| </map:otherwise> |
| </map:select> |
| <map:serialize type="xml"/> |
| </map:match> |
| |
| <map:match pattern="page-mail/*-mid-col-2"> |
| <map:act type="resource-exists" src="docs/mid-col-2/{1}.xsp"> |
| <map:call resource="load-xsp-page"> |
| <map:parameter name="sect" value="mid-col-2"/> |
| <map:parameter name="page" value="{../1}"/> |
| <map:parameter name="resource-exists" value="{resource-exists}"/> |
| </map:call> |
| </map:act> |
| </map:match> |
| |
| <map:match pattern="page-mail/*-mid-col-3"> |
| <map:act type="resource-exists" src="docs/mid-col-3/{1}.xml"> |
| <map:call resource="load-page"> |
| <map:parameter name="sect" value="mid-col-3"/> |
| <map:parameter name="page" value="{../1}"/> |
| <map:parameter name="resource-exists" value="{resource-exists}"/> |
| </map:call> |
| </map:act> |
| </map:match> |
| </map:pipeline> |
| |
| <!-- general page section handling |
| --> |
| <map:pipeline internal-only="true"> |
| <!-- pipeline matching a section of a page |
| --> |
| |
| <!-- matched by simple URI *.html, eg. index.html becomes page-index-top-col-1 |
| and mail/*.html, eg. mail/logout.html becomes page-mail/logout-top-col-1 |
| --> |
| <map:match pattern="page-**-top-col-1"> |
| <map:act type="resource-exists" src="docs/top-col-1/{1}.xml"> |
| <map:call resource="load-page"> |
| <map:parameter name="sect" value="top-col-1"/> |
| <map:parameter name="page" value="{../1}"/> |
| <map:parameter name="resource-exists" value="{resource-exists}"/> |
| </map:call> |
| </map:act> |
| </map:match> |
| |
| <map:match pattern="page-*-head-col-1"> |
| <map:act type="resource-exists" src="docs/head-col-1/{1}.xml"> |
| <map:call resource="load-page"> |
| <map:parameter name="sect" value="head-col-1"/> |
| <map:parameter name="page" value="{../1}"/> |
| <map:parameter name="resource-exists" value="{resource-exists}"/> |
| </map:call> |
| </map:act> |
| </map:match> |
| |
| <map:match pattern="page-*-mid-col-1"> |
| <map:act type="resource-exists" src="docs/mid-col-1/{1}.xml"> |
| <map:call resource="load-page"> |
| <map:parameter name="sect" value="mid-col-1"/> |
| <map:parameter name="page" value="{../1}"/> |
| <map:parameter name="resource-exists" value="{resource-exists}"/> |
| </map:call> |
| </map:act> |
| </map:match> |
| |
| <map:match pattern="page-*-mid-col-2"> |
| <map:generate src="docs/mid-col-2/{1}.xml"/> |
| <map:serialize type="xml"/> |
| </map:match> |
| |
| <map:match pattern="page-*-mid-col-3"> |
| <map:act type="resource-exists" src="docs/mid-col-3/{1}.xml"> |
| <map:call resource="load-page"> |
| <map:parameter name="sect" value="mid-col-3"/> |
| <map:parameter name="page" value="{../1}"/> |
| <map:parameter name="resource-exists" value="{resource-exists}"/> |
| </map:call> |
| </map:act> |
| </map:match> |
| |
| <!-- bottom-col matches mail/*, too |
| --> |
| <map:match pattern="page-**-bottom-col-1"> |
| <map:act type="resource-exists" src="docs/bottom-col-1/{1}.xml"> |
| <map:call resource="load-page"> |
| <map:parameter name="sect" value="bottom-col-1"/> |
| <map:parameter name="page" value="{../1}"/> |
| <map:parameter name="resource-exists" value="{resource-exists}"/> |
| </map:call> |
| </map:act> |
| </map:match> |
| </map:pipeline> |
| |
| <!-- top level URI matching a page |
| --> |
| <map:pipeline> |
| <!-- handle *.html, and *([0-9]*).html pages |
| --> |
| <map:match pattern="^([^(/)0-9]+)(\(([0-9]+)+\))?\.html$" type="regexp-defaults"> |
| <map:parameter name="map-default:2" value="(1)"/> |
| <map:parameter name="map-default:3" value="1"/> |
| |
| <!-- setup link rewriting mapping |
| --> |
| <map:act type="link-translator-map" src="{1}.html"/> |
| |
| <map:call resource="show-page"> |
| <map:parameter name="page" value="{1}"/> |
| </map:call> |
| <map:transform type="paginate" src="pagesheets/htmlpages.xml"> |
| <map:parameter name="page" value="{3}"/> |
| </map:transform> |
| <map:transform src="stylesheets/site2html.xsl"/> |
| <map:serialize/> |
| </map:match> |
| </map:pipeline> |
| |
| <map:pipeline> |
| <!-- handle mail/*.html, and mail/*([0-9]*).html pages |
| --> |
| <map:match pattern="^mail/([a-z]+)(\(([0-9]+)+\))?\.html$" type="regexp-defaults"> |
| <map:parameter name="map-default:2" value="(1)"/> |
| <map:parameter name="map-default:3" value="1"/> |
| |
| <!-- setup link rewriting mapping |
| --> |
| <map:act type="link-translator-map"> |
| <map:parameter name="url-base" value=""/> |
| <map:parameter name="linkMap:main.css" value="../main.css"/> |
| <map:parameter name="linkMap:built-with-cocoon.gif" value="../built-with-cocoon.gif"/> |
| <map:parameter name="linkMap:powered-by-cocoon.png" value="../powered-by-cocoon.png"/> |
| <map:parameter name="linkMap:favicon.ico" value="../favicon.ico"/> |
| </map:act> |
| |
| <!-- create javamail objects |
| --> |
| <map:act type="mail" src="{1}"> |
| <!-- |
| define the imap store url as urlname template, |
| --> |
| <map:parameter name="store-urlname" value="imap://''mail-userid'':''mail-passwd''@imap-server-host-name/"/> |
| <map:parameter name="javax.mail.Session.props:mail.debug" value="true"/> |
| </map:act> |
| |
| <map:call resource="show-page"> |
| <map:parameter name="page" value="mail/{1}"/> |
| </map:call> |
| |
| <map:transform type="paginate" src="pagesheets/mailhtmlpages.xml"> |
| <map:parameter name="page" value="{3}"/> |
| </map:transform> |
| |
| <map:transform src="stylesheets/site2html.xsl"/> |
| <map:serialize/> |
| </map:match> |
| </map:pipeline> |
| |
| <!-- top level URI matching resources of a page |
| --> |
| <map:pipeline> |
| <map:match pattern="*.css"> |
| <map:read mime-type="text/css" src="resources/styles/{1}.css"/> |
| </map:match> |
| <map:match pattern="*.gif"> |
| <map:read mime-type="image/gif" src="resources/images/{1}.gif"/> |
| </map:match> |
| <map:match pattern="*.png"> |
| <map:read mime-type="image/png" src="resources/images/{1}.png"/> |
| </map:match> |
| <map:match pattern="*.jpg"> |
| <map:read mime-type="image/jpeg" src="resources/images/{1}.jpg"/> |
| </map:match> |
| <map:match pattern="favicon.ico"> |
| <map:read mime-type="application/ico" src="resources/images/favicon.ico"/> |
| </map:match> |
| |
| <!-- handle ascii art, generate SVG from TXT, and serialize SVG as jpeg |
| --> |
| <map:match pattern="asciiart/*.jpg"> |
| <map:generate type="asciiart-svg" src="resources/asciiart/{1}.txt"> |
| </map:generate> |
| <map:serialize type="svg2jpeg"/> |
| </map:match> |
| </map:pipeline> |
| </map:pipelines> |
| |
| </map:sitemap> |
| |