stefano 2003/02/20 10:17:50 Modified: src/webapp sitemap.xmap src/webapp/WEB-INF cocoon.xconf Removed: src/webapp cocoon.xconf.moved src/webapp/samples/docs/samples/fo readme.fo src/webapp/samples/docs/samples/svg henryV.svg opac.svg src/webapp/samples/lint sitemap.xmap src/webapp/samples/logicsheets hello.xsl src/webapp/samples/misc samples.xml sitemap.xmap src/webapp/samples/misc/catalog article.xml catalog-demo.xml sdocbook-demo.html sdocbook2body.xsl style.xsl testovr.xml src/webapp/samples/poi sitemap.xmap src/webapp/samples/poi/content samples.xml src/webapp/samples/poi/content/dynamic statetax.xml statetax2.xsp src/webapp/samples/poi/content/static anova-2w-wrep.xml hypothetical-sales.xml regress.xml test-date.xml test-format.xml test-indent.xml test-math.xml web_page_sample.xml src/webapp/samples/poi/stylesheets simple-page2xls.xsl simple-sql2xls.xsl statetax-esql2xls.xsl statetax-sql2xls.xsl src/webapp/samples/search create-index.xsp search-index.xsp sitemap.xmap statistic-index.xsp welcome-index.xsp src/webapp/samples/search/images lucene_green_300.gif src/webapp/samples/search/stylesheets search2html.xsl src/webapp/samples/system sitemap.xmap src/webapp/samples/system/content/xml error-giving-page.xml src/webapp/samples/templates hello-page.vm src/webapp/samples/welcome cocoon.gif status2html.xsl welcome.xhtml Log: Refactoring samples Revision Changes Path 1.87 +274 -356 xml-cocoon2/src/webapp/sitemap.xmap Index: sitemap.xmap =================================================================== RCS file: /home/cvs/xml-cocoon2/src/webapp/sitemap.xmap,v retrieving revision 1.86 retrieving revision 1.87 diff -u -r1.86 -r1.87 --- sitemap.xmap 14 Jan 2003 10:36:48 -0000 1.86 +++ sitemap.xmap 20 Feb 2003 18:17:47 -0000 1.87 @@ -1,245 +1,170 @@ <?xml version="1.0" encoding="UTF-8"?> <map:sitemap xmlns:map="http://apache.org/cocoon/sitemap/1.0"> -<!-- - This is the 'heart' of Cocoon. The sitemap maps URI space to - resources. It consists basicly of two parts: components and - pipelines. Pipelines are made out of components. There is such a - vast number of components available that it would be impossible to - describe them here, please refer to the accompanying - documentation. For specific components, have a look also at the - javadocs for them. Most pipelines are present to demonstrate some - feature or technique, often they are explained in more detail in - the accompanying documentation. - - There are some other, less important parts that deal with - resources, views and action sets. For now, ignore them. ---> - +<!--+ + | This is the 'heart' of Cocoon. The sitemap maps URI space to + | resources. It consists basicaly of two parts: components and + | pipelines. Pipelines are made out of components. There is such a + | vast number of components available that it would be impossible to + | describe them here, please refer to the accompanying + | documentation. For specific components, have a look also at the + | javadocs for them. Most pipelines are present to demonstrate some + | feature or technique, often they are explained in more detail in + | the accompanying documentation. + +--> <!-- =========================== Components ================================ --> <map:components> -<!-- - All pipelines consist at least of two components: a generator, that - produces the content and a serialiser, that delivers the content to - the client. - - More precisely: a generator generates SAX events and a serializer - consumes these events and produces a character stream. - - Some things to note here: each generator has a unique name, this - name is mapped to a java class, one name is declared as default - generator. In addition each generator may have additional - configurations as child elements. - - Additional attributes are targeted at the component manager. The optional - "label" attribute is relevant for the view concept below. The optional - "logger" attribute defines the logging category where messages produced - by a component should go. If there's no "logger" attribute, the category - used is the one defined for the "sitemap" component in cocoon.xconf. - - We have chosen in this example sitemap to use a different logging category - for each component, which allows fine-grained classification of log - messages. But you are free to use any category you want. - - It is possible to have the same java class declared as different - generators by using different names. No configuration options are - shared between these instances, however. - - All components follow this schema. - ---> - - <map:generators default="file"> + <!--+ + | All pipelines consist at least of two components: a generator, that + | produces the content, and a serialiser, that delivers the content to + | the client. + | + | More precisely: a generator generates SAX events and a serializer + | consumes these events and produces a byte stream. + | + | Some things to note here: each generator has a unique name, this + | name is mapped to a java class, one name is declared as default + | generator. In addition each generator may have additional + | configurations as child elements. + | + | Additional attributes are targeted at the component manager. The optional + | "label" attribute is relevant for the view concept below. The optional + | "logger" attribute defines the logging category where messages produced + | by a component should go. If there's no "logger" attribute, the category + | used is the one defined for the "sitemap" component in cocoon.xconf. + | + | We have chosen in this sitemap to use a different logging category + | for each component, which allows fine-grained classification of log + | messages. But you are free to use any category you want. + | + | It is possible to have the same java class declared as different + | generators by using different names. No configuration options are + | shared between these instances, however. + | + | All components follow this schema. + +--> + <map:generators default="file"> <map:generator label="content,data" logger="sitemap.generator.file" name="file" pool-grow="4" pool-max="32" pool-min="8" src="org.apache.cocoon.generation.FileGenerator"/> - <map:generator label="content,data" logger="sitemap.generator.serverpages" name="serverpages" pool-grow="2" pool-max="32" pool-min="4" src="org.apache.cocoon.generation.ServerPagesGenerator"/> - <map:generator label="content,data" logger="sitemap.generator.directory" name="directory" pool-grow="2" pool-max="16" pool-min="2" src="org.apache.cocoon.generation.DirectoryGenerator"/> - + <map:generator label="content,data" logger="sitemap.generator.imagedirectory" name="imagedirectory" src="org.apache.cocoon.generation.ImageDirectoryGenerator"/> <map:generator label="data" logger="sitemap.generator.request" name="request" pool-grow="2" pool-max="16" pool-min="2" src="org.apache.cocoon.generation.RequestGenerator"/> - + <map:generator label="content,data" logger="sitemap.generator.stream" name="stream" pool-grow="2" pool-max="16" pool-min="1" src="org.apache.cocoon.generation.StreamGenerator"/> <map:generator label="data" logger="sitemap.generator.status" name="status" pool-grow="2" pool-max="16" pool-min="2" src="org.apache.cocoon.generation.StatusGenerator"/> + </map:generators> - <map:generator label="content,data" logger="sitemap.generator.imagedirectory" name="imagedirectory" src="org.apache.cocoon.generation.ImageDirectoryGenerator"/> - - <map:generator label="data" logger="sitemap.generator.extractor" name="extractor" src="org.apache.cocoon.generation.FragmentExtractorGenerator"/> - - <map:generator label="content,data" name="html" src="org.apache.cocoon.generation.HTMLGenerator"/> - - <map:generator label="content,data" name="jsp" src="org.apache.cocoon.generation.JspGenerator"/> - <map:generator label="content,data" name="stream" src="org.apache.cocoon.generation.StreamGenerator"/> - - <map:generator label="content,data" name="script" src="org.apache.cocoon.generation.ScriptGenerator"/> - - <map:generator label="content,data" name="velocity" src="org.apache.cocoon.generation.VelocityGenerator"/> - - <map:generator label="content,data" name="wsproxy" src="org.apache.cocoon.generation.WebServiceProxyGenerator" logger="sitemap.generator.wsproxy"/> - -</map:generators> - -<!-- - Transformers can be placed inside the pipeline between the generator - and the serializer. You may have as many transformers as you - like. Transformers consume SAX events and emmit SAX events. - - The "xalan" transformer is an example of a component with additional - configuration. ---> + <!--+ + | Transformers can be placed inside the pipeline between the generator + | and the serializer. You may have as many transformers as you + | like. Transformers consume SAX events and emmit SAX events. + | + | The "xslt" transformer is an example of a component with additional + | configuration. + +--> <map:transformers default="xslt"> - <!-- NOTE: This used to be the default XSLT processor. The default now is XSLTC --> - <map:transformer name="xalan" logger="sitemap.transformer.xslt" pool-grow="2" pool-max="32" pool-min="8" src="org.apache.cocoon.transformation.TraxTransformer"> + <!-- NOTE: XSLTC is now the default processor. If you use Xalan extensions, use the "xalan" transformer. --> + <map:transformer logger="sitemap.transformer.xslt" name="xslt" pool-grow="2" pool-max="32" pool-min="8" src="org.apache.cocoon.transformation.TraxTransformer"> <use-request-parameters>false</use-request-parameters> <use-browser-capabilities-db>false</use-browser-capabilities-db> + <transformer-factory>org.apache.xalan.xsltc.trax.TransformerFactoryImpl</transformer-factory> </map:transformer> - <!-- - NOTE: XSLTC is now the default processor. If you use Xalan extensions, - use the "xalan" transformer. - --> - <map:transformer name="xslt" src="org.apache.cocoon.transformation.TraxTransformer" - logger="sitemap.transformer.xsltc" - pool-max="32" pool-min="8" pool-grow="2"> + <!-- NOTE: This used to be the default XSLT processor. The default now is XSLTC --> + <map:transformer logger="sitemap.transformer.xalan" name="xalan" pool-grow="2" pool-max="32" pool-min="8" src="org.apache.cocoon.transformation.TraxTransformer"> <use-request-parameters>false</use-request-parameters> <use-browser-capabilities-db>false</use-browser-capabilities-db> - <transformer-factory>org.apache.xalan.xsltc.trax.TransformerFactoryImpl</transformer-factory> + <transformer-factory>org.apache.xalan.processor.TransformerFactoryImpl</transformer-factory> </map:transformer> - <map:transformer logger="sitemap.transformer.log" name="log" pool-grow="2" pool-max="16" pool-min="2" src="org.apache.cocoon.transformation.LogTransformer"/> - <map:transformer logger="sitemap.transformer.xinclude" name="xinclude" pool-grow="2" pool-max="16" pool-min="2" src="org.apache.cocoon.transformation.XIncludeTransformer"/> - <map:transformer logger="sitemap.transformer.cinclude" name="cinclude" pool-grow="2" pool-max="16" pool-min="2" src="org.apache.cocoon.transformation.CIncludeTransformer"/> + <map:transformer logger="sitemap.transformer.encodeURL" name="encodeURL" src="org.apache.cocoon.transformation.EncodeURLTransformer"/> + <map:transformer logger="sitemap.transformer.write-source" name="write-source" src="org.apache.cocoon.transformation.SourceWritingTransformer"/> <map:transformer logger="sitemap.transformer.jpath" name="jpath" src="org.apache.cocoon.transformation.JPathTransformer"/> + <map:transformer logger="sitemap.transformer.filter" name="filter" src="org.apache.cocoon.transformation.FilterTransformer"/> + <map:transformer logger="sitemap.transformer.writeDOMsession" name="writeDOMsession" src="org.apache.cocoon.transformation.WriteDOMSessionTransformer"/> + <map:transformer logger="sitemap.transformer.readDOMsession" name="readDOMsession" src="org.apache.cocoon.transformation.ReadDOMSessionTransformer"/> + <map:transformer logger="sitemap.transformer.log" name="log" pool-grow="2" pool-max="16" pool-min="2" src="org.apache.cocoon.transformation.LogTransformer"/> + </map:transformers> - <map:transformer logger="sitemap.transformer.extractor" name="extractor" src="org.apache.cocoon.transformation.FragmentExtractorTransformer"/> - - <map:transformer logger="sitemap.transformer.filter" name="filter" src="org.apache.cocoon.transformation.FilterTransformer"/> - - <map:transformer logger="sitemap.transformer.writeDOMsession" name="writeDOMsession" src="org.apache.cocoon.transformation.WriteDOMSessionTransformer"/> - - <map:transformer logger="sitemap.transformer.readDOMsession" name="readDOMsession" src="org.apache.cocoon.transformation.ReadDOMSessionTransformer"/> - <map:transformer logger="sitemap.transformer.encodeURL" name="encodeURL" src="org.apache.cocoon.transformation.EncodeURLTransformer"/> - <map:transformer logger="sitemap.transformer.write-source" name="write-source" src="org.apache.cocoon.transformation.SourceWritingTransformer"/> - - <map:transformer name="xmlform" label="content" src="org.apache.cocoon.transformation.XMLFormTransformer" logger="xmlform.sitemap.transformer"/> - -</map:transformers> - -<!-- - Readers are an exception to the above rule that a pipline need to - have exactly one generator and exactly one serializer. Readers - circumvent the XML oriented SAX pipeline model, think of a reader - being a generator and a serializer at once thus a pipeline may not - contain any generator, transformer or serializer in addition to a - reader. They are useful for delivering binary content like images. ---> - <map:readers default="resource"> - <map:reader logger="sitemap.reader.resource" name="resource" pool-max="32" src="org.apache.cocoon.reading.ResourceReader"/> - - <map:reader name="jsp" src="org.apache.cocoon.reading.JSPReader"/> -</map:readers> - -<!-- - Serializers consume SAX events and produce a character stream. Every - pipeline needs to be terminated by a serializer. ---> + <!--+ + | Serializers consume SAX events and produce a character stream. Every + | pipeline needs to be terminated by a serializer. + +--> <map:serializers default="html"> <map:serializer logger="sitemap.serializer.links" name="links" src="org.apache.cocoon.serialization.LinkSerializer"/> - <map:serializer logger="sitemap.serializer.xml" mime-type="text/xml" name="xml" src="org.apache.cocoon.serialization.XMLSerializer"/> - <map:serializer logger="sitemap.serializer.html" mime-type="text/html" name="html" pool-grow="4" pool-max="32" pool-min="4" src="org.apache.cocoon.serialization.HTMLSerializer"> <buffer-size>1024</buffer-size> </map:serializer> - - <map:serializer logger="sitemap.serializer.vrml" mime-type="model/vrml" name="vrml" src="org.apache.cocoon.serialization.TextSerializer"/> - - <map:serializer logger="sitemap.serializer.wml" mime-type="text/vnd.wap.wml" name="wml" src="org.apache.cocoon.serialization.XMLSerializer"> - <doctype-public>-//WAPFORUM//DTD WML 1.1//EN</doctype-public> - <doctype-system>http://www.wapforum.org/DTD/wml_1.1.xml</doctype-system> - <encoding>ASCII</encoding> - <omit-xml-declaration>yes</omit-xml-declaration> - </map:serializer> - - <map:serializer logger="sitemap.serializer.svgxml" mime-type="image/svg-xml" name="svgxml" src="org.apache.cocoon.serialization.XMLSerializer"> - <doctype-public>-//W3C//DTD SVG 20000303 Stylable//EN</doctype-public> - <doctype-system>http://www.w3.org/TR/2000/03/WD-SVG-20000303/</doctype-system> - </map:serializer> - - <map:serializer logger="sitemap.serializer.xhtml" mime-type="text/html" name="xhtml" pool-grow="2" pool-max="64" pool-min="2" src="org.apache.cocoon.serialization.XMLSerializer"> - <doctype-public>-//W3C//DTD XHTML 1.0 Strict//EN</doctype-public> - <doctype-system>http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd</doctype-system> - <encoding>UTF-8</encoding> - </map:serializer> - - <map:serializer logger="sitemap.serializer.text" mime-type="text/plain" name="text" src="org.apache.cocoon.serialization.TextSerializer"/> - - <map:serializer mime-type="application/pdf" name="fo2pdf" src="org.apache.cocoon.serialization.FOPSerializer"/> - <map:serializer mime-type="application/postscript" name="fo2ps" src="org.apache.cocoon.serialization.FOPSerializer"/> - <map:serializer mime-type="vnd.hp-PCL" name="fo2pcl" src="org.apache.cocoon.serialization.FOPSerializer"/> - - <map:serializer mime-type="image/jpeg" name="svg2jpeg" src="org.apache.cocoon.serialization.SVGSerializer"> - <parameter name="quality" type="float" value="0.9"/> + <map:serializer logger="sitemap.serializer.wml" mime-type="text/vnd.wap.wml" name="wml" src="org.apache.cocoon.serialization.XMLSerializer"> + <doctype-public>-//WAPFORUM//DTD WML 1.1//EN</doctype-public> + <doctype-system>http://www.wapforum.org/DTD/wml_1.1.xml</doctype-system> + <encoding>ASCII</encoding> + <omit-xml-declaration>yes</omit-xml-declaration> + </map:serializer> + <map:serializer logger="sitemap.serializer.svgxml" mime-type="image/svg-xml" name="svgxml" src="org.apache.cocoon.serialization.XMLSerializer"> + <doctype-public>-//W3C//DTD SVG 20000303 Stylable//EN</doctype-public> + <doctype-system>http://www.w3.org/TR/2000/03/WD-SVG-20000303/</doctype-system> + </map:serializer> + <map:serializer logger="sitemap.serializer.xhtml" mime-type="text/html" name="xhtml" pool-grow="2" pool-max="64" pool-min="2" src="org.apache.cocoon.serialization.XMLSerializer"> + <doctype-public>-//W3C//DTD XHTML 1.0 Strict//EN</doctype-public> + <doctype-system>http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd</doctype-system> + <encoding>UTF-8</encoding> </map:serializer> - <map:serializer mime-type="image/png" name="svg2png" src="org.apache.cocoon.serialization.SVGSerializer"/> -</map:serializers> + <map:serializer logger="sitemap.serializer.text" mime-type="text/plain" name="text" src="org.apache.cocoon.serialization.TextSerializer"/> + <map:serializer logger="sitemap.serializer.vrml" mime-type="model/vrml" name="vrml" src="org.apache.cocoon.serialization.TextSerializer"/> + </map:serializers> + + <!--+ + | Readers circumvent the XML oriented SAX pipeline model, think of a reader + | being a generator and a serializer at once thus a pipeline may not + | contain any generator, transformer or serializer in addition to a + | reader. They are useful for delivering binary content like images. + +--> + <map:readers default="resource"> + <map:reader logger="sitemap.reader.resource" name="resource" pool-max="32" src="org.apache.cocoon.reading.ResourceReader"/> + </map:readers> -<!-- - Matchers are executed during pipeline setup. They decide if a - pipeline fragment is used within a pipeline. Usually, the decision - is based on a match on the requested URI but matchers exist, that - match different things as well. Most often the fragment contained in - a matcher has a generator as well as a serializer. This is not a - necessity, matchers can be nested while chaining does not work. - Related concepts are selectors and actions. - - Since this is important, let me repeat it: Matchers are executed - during pipeline setup. ---> + <!--+ + | Matchers are executed during pipeline setup. They decide if a + | pipeline fragment is used within a pipeline. Usually, the decision + | is based on a match on the requested URI but matchers exist, that + | match different things as well. Most often the fragment contained in + | a matcher has a generator as well as a serializer. This is not a + | necessity, matchers can be nested while chaining does not work. + +--> <map:matchers default="wildcard"> <map:matcher logger="sitemap.matcher.wildcard" name="wildcard" src="org.apache.cocoon.matching.WildcardURIMatcher"/> - <map:matcher logger="sitemap.matcher.regexp" name="regexp" src="org.apache.cocoon.matching.RegexpURIMatcher"/> - <map:matcher logger="sitemap.matcher.request-parameter" name="request-parameter" src="org.apache.cocoon.matching.RequestParameterMatcher"/> - - <map:matcher logger="sitemap.matcher.cookie" name="cookie" src="org.apache.cocoon.matching.CookieMatcher"/> - - <map:matcher logger="sitemap.matcher.header" name="header" src="org.apache.cocoon.matching.HeaderMatcher"/> - - <map:matcher logger="sitemap.matcher.parameter" name="parameter" src="org.apache.cocoon.matching.ParameterMatcher"/> - - <map:matcher logger="sitemap.matcher.sessionstate" name="sessionstate" src="org.apache.cocoon.matching.WildcardSessionAttributeMatcher"> + <map:matcher logger="sitemap.matcher.request-parameter" name="request-parameter" src="org.apache.cocoon.matching.RequestParameterMatcher"/> + <map:matcher logger="sitemap.matcher.cookie" name="cookie" src="org.apache.cocoon.matching.CookieMatcher"/> + <map:matcher logger="sitemap.matcher.header" name="header" src="org.apache.cocoon.matching.HeaderMatcher"/> + <map:matcher logger="sitemap.matcher.parameter" name="parameter" src="org.apache.cocoon.matching.ParameterMatcher"/> + <map:matcher logger="sitemap.matcher.sessionstate" name="sessionstate" src="org.apache.cocoon.matching.WildcardSessionAttributeMatcher"> <attribute-name>org.apache.cocoon.SessionState</attribute-name> - </map:matcher> - - <map:matcher logger="sitemap.matcher.next-page" name="next-page" src="org.apache.cocoon.matching.WildcardRequestParameterMatcher"> - <parameter-name>next-state</parameter-name> - </map:matcher> - - <map:matcher logger="sitemap.matcher.referer-match" name="referer-match" src="org.apache.cocoon.matching.WildcardHeaderMatcher"> + </map:matcher> + <map:matcher logger="sitemap.matcher.referer-match" name="referer-match" src="org.apache.cocoon.matching.WildcardHeaderMatcher"> <header-name>referer</header-name> - </map:matcher> + </map:matcher> </map:matchers> -<!-- - Selectors are executed during pipeline setup. They can be used to - determine which pipeline fragments should be combined. They are best - compared with a switch statement in java. Matchers and actions are - related concepts. - - Since this is important, let me repeat it: Selectors are executed - during pipeline setup. ---> + <!--+ + | Selectors are executed during pipeline setup. They can be used to + | determine which pipeline fragments should be combined. They are best + | compared with a java switch statement. + +--> <map:selectors default="browser"> <map:selector logger="sitemap.selector.browser" name="browser" src="org.apache.cocoon.selection.BrowserSelector"> - <!-- # NOTE: The appearance indicates the search order. This is very important since - # some words may be found in more than one browser description. (MSIE is - # presented as "Mozilla/4.0 (Compatible; MSIE 4.01; ...") - --> + <!--+ + | NOTE: The appearance indicates the search order. This is very important since + | some words may be found in more than one browser description. (MSIE is + | presented as "Mozilla/4.0 (Compatible; MSIE 4.01; ...") + +--> <browser name="explorer" useragent="MSIE"/> <browser name="pocketexplorer" useragent="MSPIE"/> <browser name="handweb" useragent="HandHTTP"/> @@ -255,233 +180,226 @@ <browser name="mozilla5" useragent="Netscape6/"/> <browser name="netscape" useragent="Mozilla"/> </map:selector> - <map:selector logger="sitemap.selector.request-parameter" name="request-parameter" src="org.apache.cocoon.selection.RequestParameterSelector"> <!-- Define now which request parameter to use; or do it later, when using this selector, via "parameter-name" parameter. <parameter-name>myparam</parameter-name> --> </map:selector> - <map:selector logger="sitemap.selector.request-attribute" name="request-attribute" src="org.apache.cocoon.selection.RequestAttributeSelector"> <!-- <attribute-name>myparam</attribute-name> --> </map:selector> - <map:selector logger="sitemap.selector.session-attribute" name="session-attribute" src="org.apache.cocoon.selection.SessionAttributeSelector"> <!-- <attribute-name>myparam</attribute-name> --> </map:selector> - <map:selector logger="sitemap.selector.parameter" name="parameter" src="org.apache.cocoon.selection.ParameterSelector"/> - <map:selector logger="sitemap.selector.header" name="header" src="org.apache.cocoon.selection.HeaderSelector"> <!-- <header-name>myparam</header-name> --> </map:selector> - <map:selector logger="sitemap.selector.host" name="host" src="org.apache.cocoon.selection.HostSelector"/> </map:selectors> -<!-- - Actions are executed during pipeline setup. Their purpose is to - execute some arbitrary complex code. They are the work horses of - pipelines. Use them to update databases, check external resources - etc. The execution may fail or complete successfully. Only if the - execution was successful, the pipeline fragment contained inside is - used within the pipeline. Related concepts are matchers and - selectors. - - Since this is important, let me repeat it: Actions are executed - during pipeline setup. ---> + <!--+ + | Actions are executed during pipeline setup. Their purpose is to + | execute some code that doesn't involve touching the stream of + | pipeline events. Example usage is to update databases, check external + | resources, etc.. The execution may fail or complete successfully. Only + | if the execution of the action was successful, the pipeline fragment + | nested inside the action element is executed, otherwise, it's skipped + | entirely and execution proceeds from the element right below the action. + +--> <map:actions> - <!-- LangSelect action is deprecated. Use LocaleAction instead --> - <!-- Locale Action is moved to /samples/i18n/sitemap.xmap --> - <map:action logger="sitemap.action.request" name="request" src="org.apache.cocoon.acting.RequestParamAction"/> - <map:action logger="sitemap.action.form-validator" name="form-validator" src="org.apache.cocoon.acting.FormValidatorAction"/> - <map:action logger="sitemap.action.session-state" name="session-state" src="org.apache.cocoon.acting.SessionStateAction"/> - <map:action logger="sitemap.action.session-isvalid" name="session-isvalid" src="org.apache.cocoon.acting.SessionIsValidAction"/> - <map:action logger="sitemap.action.resource-exists" name="resource-exists" src="org.apache.cocoon.acting.ResourceExistsAction"/> - <map:action logger="sitemap.action.set-header" name="set-header" src="org.apache.cocoon.acting.HttpHeaderAction"/> - <map:action logger="sitemap.action.clear-cache" name="clear-cache" src="org.apache.cocoon.acting.ClearCacheAction"/> - <map:action logger="sitemap.action.clear-persistent-store" name="clear-persistent-store" src="org.apache.cocoon.acting.ClearPersistentStoreAction"/> - </map:actions> - <!-- - The different pipeline implementations - - NON-CACHING: - The non caching implementation of cocoon pipelines. - - CACHING: - Traditional longest cachable key caching. - - CACHING-POINT: - The caching-point pipeline implements an extended - caching algorithm which is of particular benefit for use with - those pipelines that utilise cocoon-views and/or provide - drill-down functionality. - - The autoCachingPoint algorithim (if enabled) will automatically - cache common elements of the pipeline currently being processed - as well - as the entire cachable pipeline according to the "longest cachable key" - algorithm. - - Consider the following simple pipeline, where generator G is labelled with - a cocoon-view enabling the pipeline to serialize data to either html or pdf - depending on the value of cocoon-view (as provided by the request): - G - T - S(html) - |__ T - S(pdf) - - If cocoon-view=html, then the caching-point algorithm will not only cache - the longest cachable path, which would be GTS(html) but also the - *common element* which in this case would be the results from G. If the - next request to this pipeline was cocoon-view=pdf, then there would be no - need to invoke the generator a second time, as it's value has already been - cached (provided G generates the same cache key) - - Also note: One can switch "Off" autoCachingPoint and use "pipeline-hints" to - manually indicate that certain pipeline-components should be considered as - cache points. - --> - <map:pipes default="caching"> + <!--+ + | The different pipe implementations + | + | NON-CACHING: + | The non caching implementation of cocoon pipelines. + | + | CACHING: + | Traditional longest cachable key caching. + | + | CACHING-POINT: + | The caching-point pipeline implements an extended + | caching algorithm which is of particular benefit for use with + | those pipelines that utilise cocoon-views and/or provide + | drill-down functionality. + | + | The autoCachingPoint algorithim (if enabled) will automatically + | cache common elements of the pipeline currently being processed - as well + | as the entire cachable pipeline according to the "longest cachable key" + | algorithm. + | + | Consider the following simple pipeline, where generator G is labelled with + | a cocoon-view enabling the pipeline to serialize data to either html or pdf + | depending on the value of cocoon-view (as provided by the request): + | G - T - S(html) + | |__ T - S(pdf) + | + | If cocoon-view=html, then the caching-point algorithm will not only cache + | the longest cachable path, which would be GTS(html) but also the + | *common element* which in this case would be the results from G. If the + | next request to this pipeline was cocoon-view=pdf, then there would be no + | need to invoke the generator a second time, as it's value has already been + | cached (provided G generates the same cache key) + | + | Also note: One can switch "Off" autoCachingPoint and use "pipeline-hints" to + | manually indicate that certain pipeline-components should be considered as + | cache points. + +--> + <map:pipes default="caching"> <map:pipe name="caching" src="org.apache.cocoon.components.pipeline.impl.CachingProcessingPipeline"/> <map:pipe name="caching-point" src="org.apache.cocoon.components.pipeline.impl.CachingPointProcessingPipeline"> <autoCachingPoint>On</autoCachingPoint> </map:pipe> <map:pipe name="noncaching" src="org.apache.cocoon.components.pipeline.impl.NonCachingProcessingPipeline"/> - </map:pipes> + </map:pipes> </map:components> <!-- =========================== Views =================================== --> -<!-- - Views provide diffent, well, views to resources. Views are - orthogonal to pipelines. Please refer to the docs. ---> - <map:views> - <map:view from-label="content" name="content"> - <map:serialize type="xml"/> - </map:view> - - <map:view from-label="data" name="pretty-content"> - <map:transform src="stylesheets/simple-xml2html.xsl"/> - <map:serialize type="html"/> - </map:view> - - <map:view from-position="last" name="links"> - <map:serialize type="links"/> - </map:view> - - </map:views> + <!--+ + | Views provide diffent, well, views to resources. Views are + | orthogonal to pipelines. Please refer to the docs. + +--> + <map:views> + <map:view from-label="content" name="content"> + <map:serialize type="xml"/> + </map:view> + + <map:view from-label="data" name="pretty-content"> + <map:transform src="stylesheets/simple-xml2html.xsl"/> + <map:serialize type="html"/> + </map:view> + + <map:view from-position="last" name="links"> + <map:serialize type="links"/> + </map:view> + </map:views> <!-- =========================== Resources ================================= --> -<!-- - Resources are pipeline fragments that may be used from different - pipeline fragments. For our needs, they behave exactly like - pipelines, only that they are not accessible from outside. - Hence I will explain what's inside below for pipelines. ---> - + <!--+ + | Resources are pipeline fragments that may be used from different + | pipeline fragments. For our needs, they behave exactly like + | pipelines, only that they are not accessible from outside. + | Hence I will explain what's inside below for pipelines. + +--> <map:resources> </map:resources> <!-- ========================== Action sets ================================ --> -<!-- - Action sets group actions together. If some actions are often used - together in pipeline fragments, it's easier to group them and refer - to the group. For more info, please see the docs. ---> - - <map:action-sets> - </map:action-sets> + <!--+ + | Action sets group actions together. If some actions are often used + | together in pipeline fragments, it's easier to group them and refer + | to the group. For more info, please see the docs. + +--> + <map:action-sets> + </map:action-sets> <!-- =========================== Pipelines ================================= --> -<!-- - Pipelines. The beef. Pipelines specify, how the processing of your - content is done. Usually, a pipeline consists of several fragments - that specify the generation, transformation, and serialization of - SAX events. - - Processing is done in two steps: - - 1) The top level elements are executed in order of appearance until - one signals success. These top level elements are usually - matchers. AFAIK other components are not supported for this. - - Other components are called depth-first to determine what - fragments make up the processing pipeline. When a component - fails, no nested components are called but the next component on - the same level. - - 2) Once it is determined which generator, which transformers and - wich serializer is used, these components are executed. During - this, the pipeline may not be changed. - - - You may have as many pipelines in your sitemap as you like. However, - it seems that the only purposes would be to specify different error - handlers. ---> - + <!--+ + | Pipelines. The beef. Pipelines specify how the processing of your + | content is done. Usually, a pipeline consists of several fragments + | that specify the generation, transformation, and serialization of + | SAX events. + | + | Processing is done in two steps: + | + | 1) The top level elements are executed in order of appearance until + | one signals success. These top level elements are usually + | matchers. + | + | Other components are called depth-first to determine what + | fragments make up the processing pipeline. When a component + | fails, no nested components are called but the next component on + | the same level. + | + | 2) Once it is determined which generator, which transformers and + | wich serializer is used, these components are executed. During + | this, the pipeline may not be changed. + | + | You may have as many pipelines in your sitemap as you like. + +--> <map:pipelines> + <map:component-configurations> <global-variables> - <!-- Define global parameters here: - <skin>my_skin</skin> - ... - You can access them by {global:*name*}, e.g. {global:skin}. - These values are inherited into sub-sitemaps and can - be extended there. - --> + <!--+ + | Define global parameters here: + | <skin>my_skin</skin> + | ... + | You can access them by {global:*name*}, e.g. {global:skin}. + | These values are inherited into sub-sitemaps and can + | be extended there. + +--> </global-variables> - <!-- Define component configuration here --> + <!-- Define component configuration here --> </map:component-configurations> - <!-- Cocoon documentation pipeline --> + <!-- main pipeline --> <map:pipeline> - <!-- Redirection to documentation sites --> + + <!-- welcome page --> <map:match pattern=""> - <map:redirect-to uri="documents/index"/> + <map:generate src="welcome.xml"/> + <map:transform src="welcome.xslt"/> + <map:serialize type="xhtml"/> </map:match> - <map:match pattern="documents/index"> - <map:redirect-to uri="index.html"/> - <!-- - You may direct a client to a more appropriate URI by the above - command. The above results in a redirect response to the - client. By redirecting to a ressource it would be handled by - cocoon internally. - - Since pipelines work on a first match basis, the above wins the - request although the match below would match as well. - --> + <!-- welcome page images --> + <map:match pattern="images/*.gif"> + <map:read src="resources/images/{1}.gif" mime-type="images/gif"/> </map:match> - <map:match pattern="documents/**"> - <map:mount check-reload="yes" src="documentation/" uri-prefix="documents"/> + + <!-- welcome page CSS stylesheets --> + <map:match pattern="styles/*.css"> + <map:read src="resources/styles/{1}.css" mime-type="text/css"/> + </map:match> + + <!-- favicon --> + <map:match pattern="favicon.ico"> + <map:read src="images/cocoon.ico"/> + </map:match> + + <!-- mount user directories --> + <map:match pattern="~*/**"> + <map:mount check-reload="yes" src="/home/{1}/public_html/" uri-prefix="~{1}"/> + </map:match> + + <!--+ + | Redirect to the user directory if the ending slash is missing + | Cocoon doesn't do automatic translation of URLs because we consider it + | a bad practice. http://blah/something/ and http://blah/something + | effectively locate different web resources and the act of mapping + | them to the same system resources is your concern, not Cocoon's. + | Note that some stupid browsers (IE, for example) believe the opposite + | and will drop the ending slash when you bookmark a web resource + | so be aware of this issue and plan your URL-space carefully. + +--> + <map:match pattern="~*"> + <map:redirect-to uri="{0}/"/> </map:match> - </map:pipeline> - <!-- pipeline mounting samples sitemaps --> - <map:pipeline> <!-- mount everything else --> <map:match pattern="*/**"> <map:mount check-reload="yes" src="{1}/" uri-prefix="{1}"/> - </map:match> + </map:match> + </map:pipeline> </map:pipelines> -</map:sitemap> - +</map:sitemap> \ No newline at end of file 1.58 +25 -16 xml-cocoon2/src/webapp/WEB-INF/cocoon.xconf Index: cocoon.xconf =================================================================== RCS file: /home/cvs/xml-cocoon2/src/webapp/WEB-INF/cocoon.xconf,v retrieving revision 1.57 retrieving revision 1.58 diff -u -r1.57 -r1.58 --- cocoon.xconf 30 Jan 2003 09:01:31 -0000 1.57 +++ cocoon.xconf 20 Feb 2003 18:17:47 -0000 1.58 @@ -80,6 +80,20 @@ <parameter name="use-persistent-cache" value="true"/> </transient-store> + <!-- Persistent store for the cache. + + Common configuration parameters: + use-cache-directory: Indicates that cache directory specified in + web.xml should be used. + use-work-directory: Indicates that work directory specified in + web.xml should be used. + directory: Specifies directory to use. Absolute or relative to the + work directory. + --> + <persistent-store logger="core.store.persistent"> + <parameter name="use-cache-directory" value="true"/> + </persistent-store> + <!-- Store Janitor: Be careful with the heapsize and freememory parameters. Wrong values can cause high cpu usage. Example configuration: @@ -220,11 +234,11 @@ Pizza. Requires pizza.jar (included with Cocoon distribution). Jikes. Requires IBM jikes compiler to be present in the PATH --> <parameter name="compiler" value="org.apache.cocoon.components.language.programming.java.Pizza"/> -</java-language> + </java-language> <!-- Interpreted JavaScript language --> <js-language logger="core.language.js" name="js"/> -</programming-languages> + </programming-languages> <!-- Class loader: A singleton-like implementation of a ClassLoader. @@ -348,7 +362,6 @@ <parameter name="uri" value="http://apache.org/cocoon/xsp/input/1.0"/> <parameter name="href" value="resource://org/apache/cocoon/components/language/markup/xsp/java/input.xsl"/> </builtin-logicsheet> - </target-language> <!-- XSP in Javascript --> @@ -373,8 +386,7 @@ <parameter name="href" value="resource://org/apache/cocoon/components/language/markup/xsp/javascript/session.xsl"/> </builtin-logicsheet> </target-language> -</xsp-language> - + </xsp-language> </markup-languages> <!-- Compiling xml to byte streams. @@ -385,7 +397,6 @@ a dependency. --> <xml-serializer class="org.apache.cocoon.components.sax.XMLByteStreamCompiler" logger="core.xml-serializer" pool-grow="4" pool-max="32" pool-min="8"/> - <xml-deserializer class="org.apache.cocoon.components.sax.XMLByteStreamInterpreter" logger="core.xml-deserializer" pool-grow="4" pool-max="32" pool-min="8"/> <!-- Resource Monitor: @@ -395,17 +406,15 @@ <thread frequency="10000" priority="5"/> </monitor> -<cornerstone-threadmanager logger="core.scheduler"> - <thread-group> - <name>default</name> - </thread-group> -</cornerstone-threadmanager> + <cornerstone-threadmanager logger="core.scheduler"> + <thread-group> + <name>default</name> + </thread-group> + </cornerstone-threadmanager> <!-- cornerstone-scheduler --> <cornerstone-scheduler logger="core.scheduler"/> -<!-- ======================== The sitemap ============================== --> - <!-- New implementation of the sitemap. It is interpreted, so load times are super-fast, and request processing is slightly faster than with the compiled engine thanks to @@ -421,8 +430,8 @@ --> <sitemap check-reload="yes" config="resource://org/apache/cocoon/components/treeprocessor/treeprocessor-builtins.xml" file="context://sitemap.xmap" logger="sitemap"/> - <!-- Entity resolution catalogs: ********************************************* - catalog: + <!-- Entity resolution catalogs + The default catalog is distributed at /WEB-INF/entities/catalog This is the contextual pathname for Cocoon resources. You can override this path, if necessary, using the "catalog" parameter. @@ -451,7 +460,7 @@ TODO: determine all messages at each level <parameter name="verbosity" value="2"/> - ************************************************************************** --> + --> <entity-resolver class="org.apache.cocoon.components.resolver.ResolverImpl" logger="core.resolver"> <parameter name="catalog" value="/WEB-INF/entities/catalog"/> <parameter name="verbosity" value="1"/>
---------------------------------------------------------------------- In case of troubles, e-mail: [EMAIL PROTECTED] To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]