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]

Reply via email to