avalon-cvs mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From blorit...@apache.org
Subject cvs commit: jakarta-avalon/tools/ext avalon-excalibur-20020705.jar avalon-framework-20020627.jar batik-1.5b2.jar cocoon-2.1-dev-20020711.jar cocoon-scratchpad-2.1-dev-20020711.jar commons-httpclient.jar fop-0.20.4.jar logkit-20020529.jar xsltc.jar
Date Thu, 11 Jul 2002 14:47:29 GMT
bloritsch    2002/07/11 07:47:29

  Modified:    src/documentation cocoon.xconf sitemap.xmap
               src/documentation/library/xslt docbook2fo.xsl
  Added:       src/documentation logkit.xconf
               tools/ext avalon-excalibur-20020705.jar
                        avalon-framework-20020627.jar batik-1.5b2.jar
                        cocoon-2.1-dev-20020711.jar
                        cocoon-scratchpad-2.1-dev-20020711.jar
                        commons-httpclient.jar fop-0.20.4.jar
                        logkit-20020529.jar xsltc.jar
  Log:
  phase one of doc generation speed improvement (it takes 50% of the time)
  
  Revision  Changes    Path
  1.4       +148 -109  jakarta-avalon/src/documentation/cocoon.xconf
  
  Index: cocoon.xconf
  ===================================================================
  RCS file: /home/cvs/jakarta-avalon/src/documentation/cocoon.xconf,v
  retrieving revision 1.3
  retrieving revision 1.4
  diff -u -r1.3 -r1.4
  --- cocoon.xconf	30 May 2002 16:28:17 -0000	1.3
  +++ cocoon.xconf	11 Jul 2002 14:47:28 -0000	1.4
  @@ -13,6 +13,9 @@
   
   <!-- ===================== General Components =========================== -->
   
  +  <xml-parser class="org.apache.avalon.excalibur.xml.JaxpParser" 
  +              logger="core.xml-parser" pool-grow="4" pool-max="32" pool-min="8">
  +
     <!-- Parser:
       The default parser used in Apache Cocoon is
       org.apache.avalon.excalibur.xml.JaxpParser. Apache Cocoon requires a 
  @@ -54,7 +57,6 @@
           DocumentBuilderFactory implementation to be used (similar to
           sax-parser-factory for DOM).
     -->
  -  <xml-parser class="org.apache.avalon.excalibur.xml.JaxpParser" logger="core.xml-parser">
       <parameter name="validate" value="false"/>
       <parameter name="namespace-prefixes" value="false"/>
       <parameter name="stop-on-warning" value="true"/>
  @@ -71,7 +73,7 @@
          from:
            * FilesystemStore: Simple. Dependable. Thorougly tested.
            * JispFilesystemStore: Scalable. New kid on the block.
  -
  +           
          Common configuration parameters:
            use-cache-directory: Indicates that cache directory specified in
                                 web.xml should be used.
  @@ -80,12 +82,12 @@
            directory: Specifies directory to use. Absolute or relative to the
                       work directory.
     -->
  -  <cache-persistent class="org.apache.cocoon.components.store.FilesystemStore" logger="core.store.persistent">
  +  <persistent-store logger="core.store.persistent">
       <parameter name="use-cache-directory" value="true"/>
  -  </cache-persistent>
  +  </persistent-store>
   
     <!-- Memory Storing: -->
  -  <cache-transient class="org.apache.cocoon.components.store.MRUMemoryStore" logger="core.store.transient">
  +  <transient-store logger="core.store.transient">
        <!-- Indicates how many objects will be hold in the cache.
        When the number of maxobjects has been reached. The last object in the 
        cache will be thrown out. -->
  @@ -94,7 +96,7 @@
        <!-- Turns the swapping of the objects into persistent cache on
             and off. -->
        <parameter name="use-persistent-cache" value="true"/>
  -  </cache-transient>
  +  </transient-store>
   
     <!-- Store Janitor:
       Be careful with the heapsize and freememory parameters. Wrong values can
  @@ -110,7 +112,7 @@
       Freememory should be greater than amount of memory necessary for normal 
       application operation.
     -->
  -  <store-janitor class="org.apache.cocoon.components.store.StoreJanitorImpl" logger="core.store.janitor">
  +  <store-janitor logger="core.store.janitor">
        <!-- How much free memory shall be available in the jvm -->                 
        <parameter name="freememory" value="1000000"/>
        <!-- Indicates the limit of the jvm memory consumption. The default max 
  @@ -127,11 +129,12 @@
     <!-- ============================ STORE END ========================= -->
   
     <!-- XSLT Processor:
  -    For Xalan: Turn 'incremental-processing' to true if you want a continous output (if set to false the transformer 
  -    delivers SAX events after all transformations has been done). -->
  -  <xslt-processor class="org.apache.cocoon.components.xslt.XSLTProcessorImpl" logger="core.xslt-processor">
  -     <parameter name="use-store" value="true"/>
  -     <parameter name="incremental-processing" value="false"/>
  +    For Xalan: Turn 'incremental-processing' to true if you want a continous output 
  +    (if set to false the transformer delivers SAX events after all transformations has been done). 
  +  -->
  +  <xslt-processor logger="core.xslt-processor">
  +     <parameter name="use-store" value="false"/> 
  +     <parameter name="incremental-processing" value="true"/>
     </xslt-processor>
   
     <!-- Xpath Processor:
  @@ -142,6 +145,7 @@
       The url factory adds special url protocols to the system, they are then
       available inside Cocoon, e.g. as a source argument for one of the sitemap
       components.
  +    THIS COMPONENT IS DEPRECATED AND SHOULD NOT BE USED ANYMORE 
     -->
     <url-factory logger="core.url-factory">
       <!-- Allows access to resources available from the ClassLoader,
  @@ -157,6 +161,7 @@
       The source handler adds special url protocols to the system, they are
       then available inside Cocoon, e.g. as a source argument for one of the
       sitemap components.
  +    THIS COMPONENT IS DEPRECATED AND SHOULD NOT BE USED ANYMORE 
     -->
     <source-handler logger="core.source-handler">
       <!-- file protocol : this is a WriteableSource -->
  @@ -172,6 +177,35 @@
       </protocol>
   </source-handler>
   
  +  <!-- Source Factories
  +       Each source factory adds a special uri protocol to the system.
  +       This will replace the source-handler and url-factory components.
  +  -->
  +  <source-factories>
  +      <component-instance class="org.apache.excalibur.source.impl.ResourceSourceFactory" name="resource"/>
  +      <component-instance class="org.apache.cocoon.components.source.impl.ContextSourceFactory" name="context"/>
  +      <component-instance class="org.apache.cocoon.components.source.impl.CocoonSourceFactory" name="cocoon"/>
  +      <!-- file protocol : this is a WriteableSource -->
  +      <component-instance class="org.apache.cocoon.components.source.impl.FileSourceFactory" name="file"/>
  +  
  +
  +    <!-- xmldb pseudo protocol -->
  +    <component-instance class="org.apache.cocoon.components.source.impl.SourceFactoryWrapper" name="xmldb">
  +        <source-factory class="org.apache.cocoon.components.source.XMLDBSourceFactory">
  +            <!-- Xindice driver -->
  +            <driver class="org.apache.xindice.client.xmldb.DatabaseImpl" type="xindice"/>
  +            <!-- Add here other XML:DB compliant databases drivers -->
  +        </source-factory>
  +    </component-instance>
  +
  +</source-factories>
  +
  +  <!-- The XMLizer converts different mime-types to XML -->
  +  <xmlizer>
  +      <component-instance class="org.apache.excalibur.xmlizer.impl.TextXMLizer" name="text/xml"/>
  +      <component-instance class="org.apache.excalibur.xmlizer.impl.HTMLXMLizer" name="text/html"/>
  +  </xmlizer>
  +
     <!-- Program Generator:
       The ProgamGenerator builds programs from a XML document written in a
       MarkupLanguage.
  @@ -185,13 +219,6 @@
       <parameter name="preload" value="true"/>
     </program-generator>
   
  -  <!-- Xscript:
  -  -->
  -  <xscript logger="core.xscript">
  -    <parameter name="xscript:copy-of" value="resource://org/apache/cocoon/components/xscript/xslt/copy-of.xsl"/>
  -    <parameter name="xscript:value-of" value="resource://org/apache/cocoon/components/xscript/xslt/value-of.xsl"/>
  -  </xscript>
  -
     <!-- Programming Languages: -->
     <programming-languages>
       <java-language logger="core.language.java" name="java">
  @@ -210,7 +237,9 @@
                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>
  -
  +  
  +    <!-- Interpreted JavaScript language -->
  +    <js-language logger="core.language.js" name="js"/>
   </programming-languages>
   
     <!-- Class loader:
  @@ -331,37 +360,40 @@
             <parameter name="uri" value="http://apache.org/xsp/soap/3.0"/>
             <parameter name="href" value="resource://org/apache/cocoon/components/language/markup/xsp/java/soap.xsl"/>
           </builtin-logicsheet>
  +
  +        <builtin-logicsheet>
  +          <parameter name="prefix" value="jpath"/>
  +          <parameter name="uri" value="http://apache.org/xsp/jpath/1.0"/>
  +          <parameter name="href" value="resource://org/apache/cocoon/components/language/markup/xsp/java/jpath.xsl"/>
  +        </builtin-logicsheet>
  +
         </target-language>
  +    
  +      <!-- XSP in Javascript -->
  +      <target-language name="js">
  +        <parameter name="core-logicsheet" value="resource://org/apache/cocoon/components/language/markup/xsp/javascript/xsp.xsl"/>
   
  -</xsp-language>
  +        <builtin-logicsheet>
  +          <parameter name="prefix" value="xsp-request"/>
  +          <parameter name="uri" value="http://apache.org/xsp/request/2.0"/>
  +          <parameter name="href" value="resource://org/apache/cocoon/components/language/markup/xsp/javascript/request.xsl"/>
  +        </builtin-logicsheet>
   
  -    <!-- Defines Sitemap Core logicsheet for the Java language -->
  -    <sitemap-language logger="core.markup.sitemap" name="sitemap">
  -      <parameter name="prefix" value="map"/>
  -      <parameter name="uri" value="http://apache.org/cocoon/sitemap/1.0"/>
  +        <builtin-logicsheet>
  +          <parameter name="prefix" value="xsp-response"/>
  +          <parameter name="uri" value="http://apache.org/xsp/response/2.0"/>
  +          <parameter name="href" value="resource://org/apache/cocoon/components/language/markup/xsp/javascript/response.xsl"/>
  +        </builtin-logicsheet>
   
  -      <target-language name="java">
  -        <parameter name="core-logicsheet" value="resource://org/apache/cocoon/components/language/markup/sitemap/java/sitemap.xsl"/>
  +        <builtin-logicsheet>
  +          <parameter name="prefix" value="xsp-session"/>
  +          <parameter name="uri" value="http://apache.org/xsp/session/2.0"/>
  +          <parameter name="href" value="resource://org/apache/cocoon/components/language/markup/xsp/javascript/session.xsl"/>
  +        </builtin-logicsheet>
         </target-language>
  -    </sitemap-language>
  -  </markup-languages>
  +</xsp-language>
   
  -  <!-- Stream Pipeline:
  -    Either collects a Reader and lets it produce a character stream
  -    or connects an EventPipeline with a Serializer and lets them produce
  -    the character stream. Alternatives to CachingStreamPipeline are:
  -    <stream-pipeline class="org.apache.cocoon.components.pipeline.NonCachingStreamPipeline"/>
  -  -->
  -  <stream-pipeline class="org.apache.cocoon.components.pipeline.CachingStreamPipeline" logger="core.stream-pipeline" pool-grow="4" pool-max="32" pool-min="8"/>
  -
  -  <!-- Event Pipeline:
  -    Connects the generator and the various transformers and produces a
  -    character stream. Alternatives to CachingEventPipeline are:
  -    <event-pipeline class="org.apache.cocoon.components.pipeline.NonCachingEventPipeline"/>
  -    <event-pipeline class="org.apache.cocoon.components.profiler.ProfilingCachingEventPipeline"/>
  -    <event-pipeline class="org.apache.cocoon.components.profiler.ProfilingNonCachingEventPipeline"/>
  -  -->
  -  <event-pipeline class="org.apache.cocoon.components.pipeline.CachingEventPipeline" logger="core.event-pipeline" pool-grow="4" pool-max="32" pool-min="8"/>
  +  </markup-languages>
   
     <!-- Compiling xml to byte streams.
       The xml-serializer "compiles" xml sax events into a byte stream
  @@ -370,18 +402,19 @@
       may have to change the other one as well, as they might have
       a dependency.
     -->
  -  <xml-serializer class="org.apache.cocoon.components.sax.XMLByteStreamCompiler" logger="core.xml-serializer"/>
  +  <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"/>
  +  <xml-deserializer class="org.apache.cocoon.components.sax.XMLByteStreamInterpreter" logger="core.xml-deserializer" pool-grow="4" pool-max="32" pool-min="8"/>
   
  -  <!-- SAXConnector:
  -    Connects the various pipeline components.
  -    LoggingSAXConnector logs SAX events between pipeline components
  -    into cocoon's log file.
  -    ProfilingSAXConnector gathers timing information.
  -    Uncomment one of the following lines for using the SAXConnector.
  -  <sax-connector class="org.apache.cocoon.components.saxconnector.LoggingSAXConnector"/>
  -  <sax-connector class="org.apache.cocoon.components.profiler.ProfilingSAXConnector"/>
  +  <!-- Profiler:
  +    The profiler facilitates the gathering of statistics about timings of
  +    different steps of pipelines. Profiler consists of several components:
  +     profiling pipeline and profiler generator
  +    which are used to generate the profile report. You need to enable all of
  +    these components to use profiler.
  +
  +    Uncomment the following line to use profiler.
  +  <profiler/>
     -->
   
     <!-- Resource Monitor:
  @@ -394,31 +427,6 @@
   <!-- ======================== The sitemap  ============================== -->
   
     <!--
  -    Compiled sitemap engine. This is the original engine, that is now replaced
  -    by the interpreted engine (see above).
  -
  -    If you want to use this engine, uncomment this element and comment the
  -    defaut one below.
  -
  -    Reloading of the sitemap:
  -    The check-reload attribute determines if the sitemap is reloaded on change.
  -    Set to "no", the sitemap is generated once at startup.
  -    Set to "yes", the sitemap is regenerated if it changes.
  -
  -    The reload-method specifies the method for the regeneration:
  -    asynchron: WARNING: this reload method is broken and won't be fixed.
  -               Synchron is now made default and preferred reload method.
  -    synchron: If the sitemap changes, the sitemap is regenerated at the
  -              next request. When the regeneration is finished, the request
  -              (and all subsequent ones) is served with the new sitemap.
  -
  -    For development environment, set the check-reload to yes.
  -    For production environment, it is advisable to set the check-reload to no.
  -
  -  <sitemap check-reload="yes" class="org.apache.cocoon.sitemap.SitemapManager" file="sitemap.xmap" logger="sitemap" reload-method="synchron"/>
  -  -->
  -  
  -  <!--
       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
       the HotSpot VM.
  @@ -431,15 +439,30 @@
       For development environment, set the check-reload to yes.
       For production environment, it is advisable to set the check-reload to no.
     -->
  -  <sitemap file="sitemap.xmap" check-reload="yes" logger="sitemap"/>
  +  <sitemap check-reload="yes" config="resource://org/apache/cocoon/components/treeprocessor/treeprocessor-builtins.xml" file="context://sitemap.xmap" logger="sitemap"/>
  +
  +
  +
  +  <!-- Search:
  +    These are the components that handle the search. 
  +    
  +    Cocoon indexer write into an index.
  +    Cocoon searcher reads form an index, returning matched hits.
  +    Cocoon crawler crawls all links starting from a given base URI.
  +    Lucene xml indexer build a lucene document from XML content.
  +   -->
  +  <cocoon-indexer logger="core.search.indexer"/>
  +  <cocoon-searcher logger="core.search.searcher"/>  
  +  <cocoon-crawler logger="core.search.crawler"/>
  +  <lucene-xml-indexer logger="core.search.lucene"/>
   
   
     <!-- Entity resolution catalogs: *********************************************
       catalog:
  -    The default catalog is distributed at /resources/entities/catalog
  +    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.
  -   <parameter name="catalog" value="/resources/entities/catalog"/>
  +   <parameter name="catalog" value="/WEB-INF/entities/catalog"/>
       However, it is probably desirable to leave this default catalog config
       and declare your own local catalogs, which are loaded in addition to
       the system catalog.
  @@ -466,34 +489,50 @@
   
     ************************************************************************** -->
     <entity-resolver class="org.apache.cocoon.components.resolver.ResolverImpl" logger="core.resolver">
  -   <parameter name="catalog" value="/resources/schema/catalog"/>
  +   <parameter name="catalog" value="/WEB-INF/entities/catalog"/>
      <parameter name="verbosity" value="1"/>
     </entity-resolver>
   
  -  <!-- Persistent store for the cache. Two store implementations to choose
  -       from:
  -         * FilesystemStore: Simple. Dependable. Thorougly tested.
  -         * JispFilesystemStore: Scalable. New kid on the block. Not thorougly tested.
  -       If you opt in to use JispFilesystemStore, comment out FilesystemStore
  -       entry.
  -
  -       JispFilesystemStore configuration parameters
  -       (in addition to common parameters):
  -         datafile: name of the store file to use.
  -         indexfile: name of the index file to use.
  -         order: FIXME: put description here.
   
  -  <cache-persistent class="org.apache.cocoon.components.store.JispFilesystemStore"
  -                    logger="core.store.persistent">
  -    <parameter name="use-cache-directory" value="true"/>
  -    <parameter name="datafile" value="cocoon-cache.dat"/>
  -    <parameter name="indexfile" value="cocoon-cache.idx"/>
  -    <parameter name="order" value="1701"/>
  -  </cache-persistent>
  -  -->
  +   <!-- =============== Sitemap In/Out/Database Modules ==================== -->
  +   
  +   <input-modules logger="core.modules.input">
  +	  <component-instance class="org.apache.cocoon.components.modules.input.RequestParameterModule" name="request"/>
  +	  <component-instance class="org.apache.cocoon.components.modules.input.RequestAttributeModule" name="attribute"/>
  +	  <component-instance class="org.apache.cocoon.components.modules.input.RequestURIModule" name="URI"/>
  +	  <component-instance class="org.apache.cocoon.components.modules.input.HeaderAttributeModule" name="header"/>
  +	  <component-instance class="org.apache.cocoon.components.modules.input.SessionAttributeModule" name="session"/>
  +	  <component-instance class="org.apache.cocoon.components.modules.input.StringConstantModule" name="constant"/>
  +	  <component-instance class="org.apache.cocoon.components.modules.input.RandomNumberModule" name="random"/>
  +      <component-instance class="org.apache.cocoon.components.modules.input.CollectionMetaModule" name="collection"/>
  +      <component-instance class="org.apache.cocoon.components.modules.input.DigestMetaModule" name="digest"/>
  +      <component-instance class="org.apache.cocoon.components.modules.input.DateInputModule" name="date"/>
  +      <component-instance class="org.apache.cocoon.components.modules.input.NullInputModule" name="nullinput"/>
  +      <component-instance class="org.apache.cocoon.components.modules.input.DefaultsMetaModule" name="defaults">
  +		 <input-module name="request"/>
  +		 <values>
  +			<skin>defaultSkin</skin>
  +			<base-url>http://localhost:8080/cocoon</base-url>
  +		 </values>
  +	  </component-instance>
  +   </input-modules>
  +
  +   <output-modules logger="core.modules.output">
  +      <component-instance class="org.apache.cocoon.components.modules.output.RequestAttributeOutputModule" name="attribute"/>
  +      <component-instance class="org.apache.cocoon.components.modules.output.SessionAttributeOutputModule" name="session"/>
  +   </output-modules>
  +
  +   <autoincrement-modules logger="core.modules.auto">
  +      <component-instance class="org.apache.cocoon.components.modules.database.HsqlIdentityAutoIncrementModule" name="auto"/>
  +<!--
  +      Choose the one suitable for your DBMS. You *can* have more than
  +      one at a time, but they need to have different names. You then
  +      need to specify explicitly, which one to use in your descriptor
  +      file.
  +
  +      <component-instance name="auto" class="org.apache.cocoon.components.modules.database.ManualAutoIncrementModule"/>
  +      <component-instance name="auto" class="org.apache.cocoon.components.modules.database.IfxSerialAutoIncrementModule"/>
  +      <component-instance name="auto" class="org.apache.cocoon.components.modules.database.MysqlAutoIncrementModule"/>
  +-->
  +   </autoincrement-modules>
   </cocoon>
  -
  -
  -
  -
  -
  
  
  
  1.14      +42 -35    jakarta-avalon/src/documentation/sitemap.xmap
  
  Index: sitemap.xmap
  ===================================================================
  RCS file: /home/cvs/jakarta-avalon/src/documentation/sitemap.xmap,v
  retrieving revision 1.13
  retrieving revision 1.14
  diff -u -r1.13 -r1.14
  --- sitemap.xmap	30 May 2002 17:03:45 -0000	1.13
  +++ sitemap.xmap	11 Jul 2002 14:47:28 -0000	1.14
  @@ -7,47 +7,39 @@
    <map:components>
   
     <map:generators default="file">
  -   <map:generator  name="file"        src="org.apache.cocoon.generation.FileGenerator" label="content"/>
  +	  <map:generator label="content,data" logger="sitemap.generator.file" name="file" pool-grow="2" pool-max="32" pool-min="1" src="org.apache.cocoon.generation.FileGenerator"/>
      <!-- FIXME: Change this once better view handling is implemented -->
      <map:generator  name="file-nolabel" src="org.apache.cocoon.generation.FileGenerator"/>
     </map:generators>
   
     <map:transformers default="xslt">
  -   <map:transformer     name="xslt"      src="org.apache.cocoon.transformation.TraxTransformer">
  -    <use-request-parameters>false</use-request-parameters>
  -    <use-browser-capabilities-db>false</use-browser-capabilities-db>
  -   </map:transformer>
  -   <map:transformer     name="xinclude"  src="org.apache.cocoon.transformation.XIncludeTransformer"/>   
  -  </map:transformers>
  +    <map:transformer name="xslt" src="org.apache.cocoon.transformation.TraxTransformer"
  +                        logger="sitemap.transformer.xsltc"
  +                        pool-max="32" pool-min="8" pool-grow="2">
  +      <use-request-parameters>false</use-request-parameters>
  +      <use-browser-capabilities-db>false</use-browser-capabilities-db>
  +      <use-deli>false</use-deli>
  +      <!-- transformer-factory>org.apache.xalan.xsltc.trax.TransformerFactoryImpl</transformer-factory -->
  +    </map:transformer>
  +    <map:transformer logger="sitemap.transformer.xinclude" name="xinclude" pool-grow="2" pool-max="16" pool-min="2" src="org.apache.cocoon.transformation.XIncludeTransformer"/>
  +    </map:transformers>
   
     <map:readers default="resource">
  -   <map:reader name="resource"       src="org.apache.cocoon.reading.ResourceReader"/>
  +    <map:reader logger="sitemap.reader.resource" name="resource" pool-max="32" src="org.apache.cocoon.reading.ResourceReader"/>
     </map:readers>
   
     <map:serializers default="html">
  -   <map:serializer name="html"   mime-type="text/html"        src="org.apache.cocoon.serialization.HTMLSerializer">
  -     <encoding>iso8859-1</encoding>
  -   </map:serializer>
  -
  -   <map:serializer name="html-loose"   mime-type="text/html"        src="org.apache.cocoon.serialization.HTMLSerializer">
  -    <doctype-public>-//CollabNet//DTD XHTML 1.0 Transitional//EN</doctype-public>
  -    <doctype-system>http://collabnet.com/dtds/collabnet_transitional_10.dtd</doctype-system>
  -    <encoding>iso8859-1</encoding>
  -    <omit-xml-declaration>yes</omit-xml-declaration>     
  -   </map:serializer> 
  -   <map:serializer name="pdf" mime-type="application/pdf"     src="org.apache.cocoon.serialization.FOPSerializer">
  -     <encoding>iso8859-1</encoding>
  -   </map:serializer>      
  -   <map:serializer name="xml"    mime-type="text/xml"         src="org.apache.cocoon.serialization.XMLSerializer">
  -     <encoding>iso8859-1</encoding>
  -   </map:serializer>   
  -   <map:serializer name="links"                               src="org.apache.cocoon.serialization.LinkSerializer">
  -     <encoding>iso8859-1</encoding>
  -   </map:serializer>   
  +	  <map:serializer logger="sitemap.serializer.links" name="links" src="org.apache.cocoon.serialization.LinkSerializer"/>
  +    <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 mime-type="application/pdf" name="pdf" src="org.apache.cocoon.serialization.FOPSerializer"/>     
  +   <map:serializer logger="sitemap.serializer.xml" mime-type="text/xml" name="xml" src="org.apache.cocoon.serialization.XMLSerializer"/>
  +      
     </map:serializers>
   
     <map:matchers default="wildcard">
  -   <map:matcher name="wildcard" src="org.apache.cocoon.matching.WildcardURIMatcher"/>
  +   <map:matcher logger="sitemap.matcher.wildcard" name="wildcard" src="org.apache.cocoon.matching.WildcardURIMatcher"/>
     </map:matchers>
   <!--  
     <map:selectors default="skin-parameter">
  @@ -61,20 +53,35 @@
       </map:selector>
      
     </map:selectors>
  --->  
  +  -->  
  +    <!--
  +     The different pipeline implementations
  +  -->
  +  <map:pipelines default="caching">
  +     <map:pipeline name="caching" src="org.apache.cocoon.components.pipeline.impl.CachingProcessingPipeline"/>
  +     <map:pipeline name="noncaching" src="org.apache.cocoon.components.pipeline.impl.NonCachingProcessingPipeline"/>
  +     <!-- The following two can be used for profiling:
  +     <map:pipeline name="profile-caching" src="org.apache.cocoon.components.profiler.ProfilingCachingProcessingPipeline"/>
  +     <map:pipeline name="profile-noncaching" src="org.apache.cocoon.components.profiler.ProfilingNonCachingProcessingPipeline"/>
  +     -->
  +  </map:pipelines>
    </map:components>
   
   <!-- =========================== Views =================================== -->
   
    <map:views>
  -  <map:view name="content" from-label="content">
  +  <map:view from-label="content" name="content">
      <map:serialize type="xml"/>
     </map:view>
   
  -  <map:view name="links" from-position="last">
  -   <map:transform src="library/xslt/filterlinks.xsl"/>
  -   <map:serialize type="links"/>
  +  <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>
   
    <map:resources>
  @@ -236,14 +243,14 @@
   
     
      
  -<!--  
  +  
      <map:match pattern="**developing-with-avalon.pdf">
        <map:generate src="content/xdocs/developing/index.xml"/>
        <map:transform type="xinclude"/> 
        <map:transform src="library/xslt/docbook2fo.xsl"/>
        <map:serialize type="pdf"/>
      </map:match>
  --->      
  +      
      <!-- ================  Static  =========================== -->
      
      <map:match pattern="skin/**.js">
  
  
  
  1.1                  jakarta-avalon/src/documentation/logkit.xconf
  
  Index: logkit.xconf
  ===================================================================
  <?xml version="1.0"?>
  
  <logkit>
    <factories>
      <factory type="priority-filter" class="org.apache.avalon.excalibur.logger.factory.PriorityFilterTargetFactory"/>
      <factory type="servlet" class="org.apache.avalon.excalibur.logger.factory.ServletTargetFactory"/>
      <factory type="cocoon" class="org.apache.cocoon.util.log.CocoonTargetFactory"/>
    </factories>
  
    <targets>
      <cocoon id="core">
        <filename>${context-root}/WEB-INF/logs/core.log</filename>
        <format type="cocoon">
          %7.7{priority} %{time}   [%{category}] (%{uri}) %{thread}/%{class:short}: %{message}\n%{throwable}
        </format>
        <!--
          append=false: Will override existing log files on Cocoon startup
          append=true: Will append to the existing log files
        -->
        <append>false</append>
        <!--
          rotation: allows you to rotate log files one they meet certain
                    criteria. In example below, files are rotated once they
                    are one hour old or bigger than 100 Mb.
  
        <rotation type="revolving" init="1" max="4">
          <or>
            <size>100m</size>
            <time>01:00:00</time>
          </or>
        </rotation>
        -->
      </cocoon>
  
      <cocoon id="sitemap">
        <filename>${context-root}/WEB-INF/logs/sitemap.log</filename>
       
        <format type="cocoon">
          %7.7{priority} %{time}   [%{category}] (%{uri}) %{thread}/%{class:short}: %{message}\n%{throwable}
        </format>
        <append>false</append>
      </cocoon>
  
      <cocoon id="access">
        <filename>${context-root}/WEB-INF/logs/access.log</filename>
        <format type="cocoon">
          %7.7{priority} %{time}   [%{category}] (%{uri}) %{thread}/%{class:short}: %{message}\n%{throwable}
        </format>
        <append>false</append>
      </cocoon>
     
      <!-- The logger for the flow layer -->
      <cocoon id="flow">
        <filename>${context-root}/WEB-INF/logs/flow.log</filename>
        <format type="cocoon">
          %7.7{priority} %{time}   [%{category}] (%{uri}) %{thread}/%{class:short}: %{message}\n%{throwable}
        </format>
        <append>false</append>
      </cocoon>
  
      <!--
        This log file gets only messages with log level ERROR and below.
      -->
      <priority-filter id="error" log-level="ERROR">
        <cocoon>
          <filename>${context-root}/WEB-INF/logs/error.log</filename>
          <format type="cocoon">
            %7.7{priority} %{time}   [%{category}] (%{uri}) %{thread}/%{class:short}: %{message}\n%{throwable}
          </format>
          <append>false</append>
        </cocoon>
      </priority-filter>
    </targets>
  
    <categories>
      <!--
        log-level: One of DEBUG, INFO, WARN, ERROR, FATAL_ERROR.
        Log level could be different for every category and subcategory.
  
        Not all subcategories are defined in this file. Not defined
        subcategories will be created automatically inheriting settings
        of the parent subcategory.
        When defining subcategory manually, it is required to specify log
        targets, because they are not inherited in this case.
      -->
      <category name="core" log-level="DEBUG">
        <!-- Startup component manager logger -->
        <category name="startup" log-level="DEBUG">
          <log-target id-ref="core"/>
          <log-target id-ref="error"/>
        </category>
  
        <category name="roles" log-level="DEBUG">
          <log-target id-ref="core"/>
          <log-target id-ref="error"/>
        </category>
  
        <!-- Cocoon component manager logger -->
        <category name="manager" log-level="DEBUG">
          <log-target id-ref="core"/>
          <log-target id-ref="error"/>
        </category>
  
        <!-- Cocoon cache and stores logger -->
        <category name="store" log-level="DEBUG">
          <log-target id-ref="core"/>
          <log-target id-ref="error"/>
        </category>
  
        <!-- Cocoon source repository logger -->
        <category name="repositories" log-level="INFO">
          <log-target id-ref="core"/>
          <log-target id-ref="error"/>
        </category>
  
        <log-target id-ref="core"/>
        <log-target id-ref="error"/>
      </category>
  
      <category name="sitemap" log-level="DEBUG">
        <log-target id-ref="sitemap"/>
        <log-target id-ref="error"/>
      </category>
  
      <category name="access" log-level="DEBUG">
        <log-target id-ref="access"/>
        <log-target id-ref="error"/>
      </category> 
  
      <category name="flow" log-level="DEBUG">
        <log-target id-ref="flow"/>
        <log-target id-ref="error"/>
      </category>
    </categories>
  </logkit>
  
  
  
  1.2       +739 -742  jakarta-avalon/src/documentation/library/xslt/docbook2fo.xsl
  
  Index: docbook2fo.xsl
  ===================================================================
  RCS file: /home/cvs/jakarta-avalon/src/documentation/library/xslt/docbook2fo.xsl,v
  retrieving revision 1.1
  retrieving revision 1.2
  diff -u -r1.1 -r1.2
  --- docbook2fo.xsl	30 May 2002 16:20:40 -0000	1.1
  +++ docbook2fo.xsl	11 Jul 2002 14:47:28 -0000	1.2
  @@ -1,742 +1,739 @@
  -<?xml version="1.0"?>
  -
  -<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
  -                xmlns:fo="http://www.w3.org/1999/XSL/Format"
  -                version="1.0">
  -
  -  <xsl:template match="book">
  -    <fo:root xmlns:fo="http://www.w3.org/1999/XSL/Format">
  -   
  -    <fo:layout-master-set>
  -        <fo:simple-page-master master-name="title"
  -                               page-height="11in"
  -                               page-width="8.5in"
  -                               margin-top="1in"
  -                               margin-bottom="1in"
  -                               margin-left="1.25in"
  -                               margin-right="1.5in">
  -          <fo:region-before extent=".5in" region-name="title-header"/>
  -          <fo:region-body margin-top="1in" margin-bottom="1in"/>
  -          <fo:region-after extent=".5in" region-name="title-footer"/>
  -        </fo:simple-page-master>
  -
  -        <fo:simple-page-master master-name="inside"
  -                               page-height="11in"
  -                               page-width="8.5in"
  -                               margin-top="1in"
  -                               margin-bottom="1in"
  -                               margin-left="1.5in"
  -                               margin-right="1.25in">
  -          <fo:region-before extent=".5in" region-name="inside-header"/>
  -          <fo:region-body margin-top="1in" margin-bottom="1in"/>
  -          <fo:region-after extent=".5in" region-name="inside-footer"/>
  -        </fo:simple-page-master>
  -
  -        <fo:simple-page-master master-name="even-page"
  -                               page-height="11in" 
  -                               page-width="8.5in"
  -                               margin-top="1in" 
  -                               margin-bottom="1in" 
  -                               margin-left="1.25in" 
  -                               margin-right="1in">
  -          <fo:region-before extent=".5in" region-name="even-header"/>
  -          <fo:region-body margin-top=".5in" margin-bottom=".5in"/>
  -          <fo:region-after extent=".5in" region-name="even-footer"/>
  -        </fo:simple-page-master>
  -
  -        <fo:simple-page-master master-name="odd-page"
  -                               page-height="11in"
  -                               page-width="8.5in"
  -                               margin-top="1in"
  -                               margin-bottom="1in"
  -                               margin-left="1in"
  -                               margin-right="1.25in">
  -          <fo:region-before extent=".5in" region-name="odd-header"/>
  -          <fo:region-body margin-top=".5in" margin-bottom=".5in"/>
  -          <fo:region-after extent=".5in" region-name="odd-footer"/>
  -        </fo:simple-page-master>
  -
  -        <fo:page-sequence-master master-name="chapter">
  -          <fo:repeatable-page-master-alternatives>
  -            <fo:conditional-page-master-reference master-name="title"
  -                                                  page-position="first"
  -                                                  odd-or-even="odd"/>
  -            <fo:conditional-page-master-reference master-name="odd-page"
  -                                                  odd-or-even="odd"
  -                                                  blank-or-not-blank="not-blank"/>
  -            <fo:conditional-page-master-reference master-name="even-page"
  -                                                  page-position="last"/>
  -            <fo:conditional-page-master-reference master-name="even-page"
  -                                                  odd-or-even="even"/>
  -          </fo:repeatable-page-master-alternatives>
  -        </fo:page-sequence-master>
  -      </fo:layout-master-set>
  -
  -      <fo:page-sequence master-name="title">
  -        <xsl:if test="bookinfo/authorgroup">
  -          <fo:static-content flow-name="title-footer">
  -            <fo:block font-family="serif"
  -                      font-size="16pt"
  -                      font-style="italic"
  -                      text-align="end">
  -              <xsl:for-each select="bookinfo/authorgroup/author">
  -                <xsl:value-of select="firstname"/>
  -                <xsl:text> </xsl:text>
  -                <xsl:value-of select="surname"/>
  -              </xsl:for-each>
  -            </fo:block>
  -          </fo:static-content>
  -        </xsl:if>
  -        <fo:flow flow-name="xsl-region-body">
  -          <fo:block font-family="serif"
  -                    font-size="48pt"
  -                    font-weight="bold">
  -            <xsl:value-of select="title"/>
  -          </fo:block>
  -          <xsl:if test="subtitle">
  -            <fo:block font-family="serif"
  -                      font-size="24pt"
  -                      border-top-style="solid"
  -                      border-top-width=".5pt"
  -                      space-before="12pt"
  -                      text-align="end">
  -              <xsl:value-of select="subtitle"/>
  -            </fo:block>
  -          </xsl:if>
  -        </fo:flow>
  -      </fo:page-sequence>
  -      <xsl:apply-templates/>
  -      <xsl:call-template name="authors"/>
  -    </fo:root>
  -  </xsl:template>
  -
  -  <xsl:template match="chapter|article|appendix">
  -    <fo:page-sequence force-page-count="end-on-even" master-name="chapter">
  -      <fo:title><xsl:value-of select="title"/></fo:title>
  -      <fo:static-content flow-name="even-header">
  -        <fo:block text-align="start"
  -                  line-height="12pt"
  -                  font-style="italic"
  -                  font-family="serif"
  -                  font-size="10pt"
  -                  border-after-style="solid"
  -                  border-after-width=".5pt">
  -          <xsl:value-of select="/book/title"/>
  -        </fo:block>
  -      </fo:static-content>
  -      <fo:static-content flow-name="even-footer">
  -        <fo:block text-align="start"
  -                  line-height="12pt"
  -                  border-before-style="solid"
  -                  border-before-width=".5pt"
  -                  font-family="serif"
  -                  font-size="10pt"><fo:page-number/></fo:block>
  -      </fo:static-content>
  -      <fo:static-content flow-name="odd-header">
  -        <fo:block text-align="end"
  -                  line-height="12pt"
  -                  font-style="italic"
  -                  font-family="serif"
  -                  font-size="10pt"
  -                  border-after-style="solid"
  -                  border-after-width=".5pt">
  -          <xsl:value-of select="title"/>
  -        </fo:block>
  -      </fo:static-content>
  -      <fo:static-content flow-name="odd-footer">
  -        <fo:block text-align="end"
  -                  line-height="12pt"
  -                  border-before-style="solid"
  -                  border-before-width=".5pt"
  -                  font-family="serif"
  -                  font-size="10pt"><fo:page-number/></fo:block>
  -      </fo:static-content>
  -      <fo:static-content flow-name="title-footer">
  -        <fo:block text-align="end"
  -                  line-height="12pt"
  -                  border-before-style="solid"
  -                  border-before-width=".5pt"
  -                  font-family="serif"
  -                  font-size="10pt"><fo:page-number/></fo:block>
  -      </fo:static-content>
  -      <fo:flow flow-name="xsl-region-body">
  -        <fo:block space-before="2in" font-family="serif" font-size="24pt" font-weight="bold">
  -          <xsl:value-of select="title"/>
  -        </fo:block>
  -        <xsl:if test="subtitle">
  -          <fo:block font-style="italic"
  -                    font-family="serif"
  -                    font-size="18pt"
  -                    space-after="10pt">
  -            <xsl:value-of select="subtitle"/>
  -          </fo:block>
  -        </xsl:if>
  -        <xsl:apply-templates/>
  -        <xsl:apply-templates select="/bookinfo/authorgroup"/>
  -      </fo:flow>
  -    </fo:page-sequence>
  -  </xsl:template>
  -
  -  <xsl:template match="title|subtitle"/>
  -  <xsl:template match="honorific|firstname|surname|orgdiv|orgname|shortaffil|jobtitle"/>
  -
  -  <xsl:template match="bookinfo/revhistory">
  -    <fo:block font-family="serif" font-size="10pt" font-weight="bold" space-before="10pt">
  -      Revision History:
  -    </fo:block>
  -    <xsl:variable name="unique-revisions" 
  -                  select="revision[not(revnumber=preceding-sibling::revision/revnumber)]/revnumber"/>
  -    <xsl:variable name="base" select="."/>
  -    <xsl:for-each select="$unique-revisions">
  -      <fo:block font-family="serif"
  -                font-size="8pt">
  -        <xsl:value-of select="$base/revision[revnumber=current()]/date"/>: Revision <xsl:value-of select="."/>
  -      </fo:block>
  -    </xsl:for-each>
  -  </xsl:template>
  -
  -  <xsl:template match="book/revhistory">
  -    <fo:page-sequence force-page-count="end-on-even" master-name="chapter">
  -      <fo:title>Revision History</fo:title>
  -      <fo:static-content flow-name="even-header">
  -        <fo:block text-align="start"
  -                  line-height="12pt"
  -                  font-style="italic"
  -                  font-family="serif"
  -                  font-size="10pt"
  -                  border-after-style="solid"
  -                  border-after-width=".5pt">
  -          <xsl:value-of select="/book/title"/>
  -        </fo:block>
  -      </fo:static-content>
  -      <fo:static-content flow-name="even-footer">
  -        <fo:block text-align="start"
  -                  line-height="12pt"
  -                  border-before-style="solid"
  -                  border-before-width=".5pt"
  -                  font-family="serif"
  -                  font-size="10pt"><fo:page-number/></fo:block>
  -      </fo:static-content>
  -      <fo:static-content flow-name="odd-header">
  -        <fo:block text-align="end"
  -                  line-height="12pt"
  -                  font-style="italic"
  -                  font-family="serif"
  -                  font-size="10pt"
  -                  border-after-style="solid"
  -                  border-after-width=".5pt">
  -          <xsl:value-of select="title"/>
  -        </fo:block>
  -      </fo:static-content>
  -      <fo:static-content flow-name="odd-footer">
  -        <fo:block text-align="end"
  -                  line-height="12pt"
  -                  border-before-style="solid"
  -                  border-before-width=".5pt"
  -                  font-family="serif"
  -                  font-size="10pt"><fo:page-number/></fo:block>
  -      </fo:static-content>
  -      <fo:static-content flow-name="title-footer">
  -        <fo:block text-align="end"
  -                  line-height="12pt"
  -                  border-before-style="solid"
  -                  border-before-width=".5pt"
  -                  font-family="serif"
  -                  font-size="10pt"><fo:page-number/></fo:block>
  -      </fo:static-content>
  -      <fo:flow flow-name="xsl-region-body">
  -        <fo:block space-before="2in" font-family="serif" font-size="24pt" font-weight="bold" space-after="10pt">
  -          Revision History
  -        </fo:block>
  -        <xsl:variable name="unique-revisions" 
  -                      select="revision[not(revnumber=preceding-sibling::revision/revnumber)]/revnumber"/>
  -        <xsl:variable name="base" select="."/>
  -        <xsl:for-each select="$unique-revisions">
  -          <fo:block font-weight="bold"
  -                    font-family="serif"
  -                    font-size="14pt"
  -                    space-before="10pt">
  -            Revision <xsl:value-of select="."/>
  -            (<xsl:value-of select="$base/revision[revnumber=current()]/date"/>)
  -          </fo:block>
  -          <fo:list-block provisional-distance-between-starts="9mm"
  -                   provisional-label-separation="3mm">
  -            <xsl:apply-templates select="$base/revision[revnumber=current()]"/>
  -          </fo:list-block>
  -        </xsl:for-each>
  -      </fo:flow>
  -    </fo:page-sequence>
  -  </xsl:template>
  -
  -  <xsl:template match="para">
  -    <fo:block space-after="8pt"
  -              font-family="serif"><xsl:apply-templates/></fo:block>
  -  </xsl:template>
  -
  -  <xsl:template match="emphasis">
  -    <fo:inline font-style="italic"><xsl:apply-templates/></fo:inline>
  -  </xsl:template>
  -
  -  <xsl:template match="revision">
  -    <fo:list-item>
  -      <fo:list-item-label start-indent="3mm" end-indent="label-end()">
  -        <fo:block>&#x2022;</fo:block>
  -      </fo:list-item-label>
  -      <fo:list-item-body start-indent="body-start()">
  -        <fo:block>
  -          <xsl:apply-templates/>
  -          <fo:inline font-variant="small-caps">
  -            <xsl:value-of select="@revisionflag"/><xsl:text>&#x2014;</xsl:text>
  -          </fo:inline>
  -          <xsl:value-of select="revremark"/>
  -          <xsl:text> (</xsl:text><xsl:value-of select="authorinitials"/><xsl:text>)</xsl:text>
  -        </fo:block>
  -      </fo:list-item-body>
  -    </fo:list-item>
  -  </xsl:template>
  -
  -  <xsl:template match="revnumber|revremark|authorinitials|date"/>
  -
  -  <xsl:template match="section">
  -    <xsl:param name="level">0</xsl:param>
  -    <xsl:variable name="size" select="16-(number($level)*2)"/>
  -
  -    <fo:block font-family="serif"
  -              font-size="{$size}pt"
  -              font-weight="bold"
  -              space-before="12pt">
  -      <xsl:value-of select="title"/>
  -    </fo:block>
  -    <xsl:apply-templates>
  -      <xsl:with-param name="level" select="number($level)+1"/>
  -    </xsl:apply-templates>
  -  </xsl:template>
  -
  -  <xsl:template match="bookinfo">
  -    <fo:page-sequence master-name="inside">
  -      <fo:flow flow-name="xsl-region-body">
  -        <fo:block font-weight="bold" font-size="14pt">
  -          <xsl:value-of select="title"/>
  -        </fo:block>
  -        <xsl:if test="subtitle">
  -          <fo:block font-weight="bold" font-size="10pt">
  -            <xsl:value-of select="subtitle"/>
  -          </fo:block>
  -        </xsl:if>
  -        <xsl:if test="authorgroup">
  -          <fo:block font-size="10pt">
  -            <xsl:text>by </xsl:text>
  -            <xsl:for-each select="authorgroup/author">
  -              <xsl:if test="not(position()=1)">
  -                <xsl:text>, </xsl:text>
  -              </xsl:if>
  -              <xsl:if test="honorific">
  -                <xsl:value-of select="honorific"/><xsl:text>. </xsl:text>
  -              </xsl:if>
  -              <xsl:value-of select="firstname"/>
  -              <xsl:text> </xsl:text>
  -              <xsl:value-of select="surname"/>
  -            </xsl:for-each>
  -          </fo:block>
  -        </xsl:if>
  -        <xsl:apply-templates select="copyright"/>
  -        <fo:block space-before="10pt" font-size="10pt">
  -          <xsl:value-of select="edition"/><xsl:text> published </xsl:text>
  -          <xsl:value-of select="pubdate"/>
  -        </fo:block>
  -        <xsl:apply-templates select="revhistory"/>
  -        <xsl:apply-templates select="legalnotice"/>
  -      </fo:flow>
  -    </fo:page-sequence>
  -  </xsl:template>
  -
  -
  -  <xsl:template name="authors">
  -    <fo:page-sequence force-page-count="end-on-even" master-name="chapter">
  -      <fo:title>About the Authors</fo:title>
  -      <fo:static-content flow-name="even-header">
  -        <fo:block text-align="start"
  -                  line-height="12pt"
  -                  font-style="italic"
  -                  font-family="serif"
  -                  font-size="10pt"
  -                  border-after-style="solid"
  -                  border-after-width=".5pt">
  -          <xsl:value-of select="/book/title"/>
  -        </fo:block>
  -      </fo:static-content>
  -      <fo:static-content flow-name="even-footer">
  -        <fo:block text-align="start"
  -                  line-height="12pt"
  -                  border-before-style="solid"
  -                  border-before-width=".5pt"
  -                  font-family="serif"
  -                  font-size="10pt"><fo:page-number/></fo:block>
  -      </fo:static-content>
  -      <fo:static-content flow-name="odd-header">
  -        <fo:block text-align="end"
  -                  line-height="12pt"
  -                  font-style="italic"
  -                  font-family="serif"
  -                  font-size="10pt"
  -                  border-after-style="solid"
  -                  border-after-width=".5pt">
  -          About the Authors
  -        </fo:block>
  -      </fo:static-content>
  -      <fo:static-content flow-name="odd-footer">
  -        <fo:block text-align="end"
  -                  line-height="12pt"
  -                  border-before-style="solid"
  -                  border-before-width=".5pt"
  -                  font-family="serif"
  -                  font-size="10pt"><fo:page-number/></fo:block>
  -      </fo:static-content>
  -      <fo:static-content flow-name="title-footer">
  -        <fo:block text-align="end"
  -                  line-height="12pt"
  -                  border-before-style="solid"
  -                  border-before-width=".5pt"
  -                  font-family="serif"
  -                  font-size="10pt"><fo:page-number/></fo:block>
  -      </fo:static-content>
  -      <fo:flow flow-name="xsl-region-body">
  -        <fo:block space-before="2in" font-family="serif" font-size="24pt" font-weight="bold" space-after="10pt">
  -          About the Authors
  -        </fo:block>
  -        <xsl:apply-templates select="/book/bookinfo/authorgroup/author"/>
  -      </fo:flow>
  -    </fo:page-sequence>
  -  </xsl:template>
  -
  -  <xsl:template match="author">
  -    <fo:block font-family="serif"
  -              font-size="16pt"
  -              font-weight="bold"
  -              space-before="12pt">
  -      <xsl:value-of select="honorific"/><xsl:text>. </xsl:text>
  -      <xsl:value-of select="firstname"/><xsl:text> </xsl:text>
  -      <xsl:value-of select="surname"/>
  -    </fo:block>
  -    <fo:block font-family="serif"
  -              font-size="14pt"
  -              font-weight="bold"
  -              space-before="12pt">
  -      Affiliations
  -    </fo:block>
  -    <fo:list-block provisional-distance-between-starts="9mm"
  -                   provisional-label-separation="3mm">
  -      <xsl:apply-templates select="affiliation"/>
  -    </fo:list-block>
  -    <xsl:apply-templates select="authorblurb"/>
  -  </xsl:template>
  -
  -  <xsl:template match="affiliation">
  -    <fo:list-item>
  -      <fo:list-item-label start-indent="50%" end-indent="label-end()">
  -        <fo:block>&#x2022;</fo:block>
  -      </fo:list-item-label>
  -      <fo:list-item-body start-indent="body-start()">
  -        <fo:block>
  -          <xsl:text>[</xsl:text><xsl:value-of select="shortaffil"/><xsl:text>] </xsl:text>
  -          <fo:inline font-weight="bold"><xsl:value-of select="jobtitle"/><xsl:text> </xsl:text></fo:inline>
  -          <fo:inline font-style="italic">
  -            <xsl:value-of select="orgname"/>
  -            <xsl:if test="orgdiv"><xsl:text>/</xsl:text><xsl:value-of select="orgdiv"/></xsl:if>
  -          </fo:inline>
  -        </fo:block>
  -      </fo:list-item-body>
  -    </fo:list-item>
  -  </xsl:template>
  -
  -  <xsl:template match="authorblurb">
  -    <fo:block font-family="serif"
  -              font-size="14pt"
  -              font-weight="bold"
  -              space-before="12pt">
  -      Bio
  -    </fo:block>
  -    <xsl:apply-templates/>
  -  </xsl:template>
  -
  -  <xsl:template match="dedication">
  -    <fo:page-sequence master-name="title">
  -      <fo:flow flow-name="xsl-region-body">
  -        <xsl:for-each select="para">
  -          <fo:block font-style="italic" font-family="serif" space-before="3in" font-size="10pt" text-align="center">
  -            <xsl:apply-templates/>
  -          </fo:block>
  -        </xsl:for-each>
  -      </fo:flow>
  -    </fo:page-sequence>
  -    <fo:page-sequence master-name="inside">
  -      <fo:flow flow-name="xsl-region-body">
  -        <fo:block> </fo:block>
  -      </fo:flow>
  -    </fo:page-sequence>
  -  </xsl:template>
  -
  -  <xsl:template match="edition|pubdate|year|holder"/>
  -
  -  <xsl:template match="copyright">
  -    <fo:block font-size="10pt" space-before="10pt">
  -      Copyright &#x00A9;<xsl:value-of select="year"/> by <xsl:value-of select="holder"/>.
  -      All rights reserved.
  -    </fo:block>
  -  </xsl:template>
  -
  -  <xsl:template match="legalnotice">
  -    <fo:block font-size="8pt"
  -              text-align="justify"
  -              space-before="20pt"
  -              width="7.5in"
  -              font-family="serif">
  -      <xsl:apply-templates/>
  -    </fo:block>
  -  </xsl:template>
  -
  -  <xsl:template match="programlisting">
  -    <fo:block font-family="monospace"
  -              font-size="10pt"
  -              background-color="#f0f0f0"
  -              white-space-collapse="false"
  -              keep-together="always">
  -       <xsl:apply-templates/>
  -    </fo:block>
  -  </xsl:template>
  -
  -  <xsl:template match="orderedlist|itemizedlist">
  -    <fo:list-block provisional-distance-between-starts="9mm"
  -                   provisional-label-separation="3mm">
  -      <xsl:apply-templates/>
  -    </fo:list-block>
  -  </xsl:template>
  -
  -  <xsl:template match="orderedlist/listitem">
  -    <fo:list-item>
  -      <fo:list-item-label start-indent="50%" end-indent="label-end()">
  -        <fo:block>
  -          <xsl:number format="1."/>
  -        </fo:block>
  -      </fo:list-item-label>
  -      <fo:list-item-body start-indent="body-start()">
  -        <fo:block>
  -          <xsl:apply-templates/>
  -        </fo:block>
  -      </fo:list-item-body>
  -    </fo:list-item>
  -  </xsl:template>
  -
  -  <xsl:template match="itemizedlist/listitem">
  -    <fo:list-item>
  -      <fo:list-item-label start-indent="50%" end-indent="label-end()">
  -        <fo:block>&#x2022;</fo:block>
  -      </fo:list-item-label>
  -      <fo:list-item-body start-indent="body-start()">
  -        <fo:block>
  -          <xsl:apply-templates/>
  -        </fo:block>
  -      </fo:list-item-body>
  -    </fo:list-item>
  -  </xsl:template>
  -
  -  <xsl:template match="classname|function|parameter">
  -    <fo:inline font-family="monospace">
  -      <xsl:apply-templates/><xsl:if test="name(.)='function'"><xsl:text>()</xsl:text></xsl:if>
  -    </fo:inline>
  -  </xsl:template>
  -
  -  <xsl:template match="blockquote">
  -    <fo:block margin-left="1in"
  -              margin-right="1in"
  -              font-weight="bold"
  -              font-size="10pt"
  -              font-family="serif"
  -              space-before="10pt"
  -              border-before-style="solid"
  -              border-start-style="solid"
  -              border-end-style="solid"
  -              background-color="#000000"
  -              color="#ffffff">
  -      <xsl:value-of select="title"/>
  -    </fo:block>
  -    <fo:block margin-left="1in"
  -              margin-right="1in"
  -              font-family="serif"
  -              font-size="8pt"
  -              border-after-style="solid"
  -              border-start-style="solid"
  -              border-end-style="solid"
  -              background-color="#f0f0f0"
  -              padding-start="3pt"
  -              padding-end="3pt"
  -              padding-before="3pt"
  -              padding-after="3pt"
  -              space-after="20pt">
  -      <xsl:apply-templates/>
  -    </fo:block>
  -  </xsl:template>
  -
  -  <xsl:template match="warning">
  -    <fo:block margin-left="1in"
  -              margin-right="1in"
  -              font-weight="bold"
  -              font-size="10pt"
  -              font-family="serif"
  -              space-before="10pt"
  -              border-before-style="solid"
  -              border-start-style="solid"
  -              border-end-style="solid"
  -              background-color="#800000"
  -              color="#ffffff">
  -      Warning: <xsl:value-of select="title"/>
  -    </fo:block>
  -    <fo:block margin-left="1in"
  -              margin-right="1in"
  -              font-family="serif"
  -              font-size="8pt"
  -              border-after-style="solid"
  -              border-start-style="solid"
  -              border-end-style="solid"
  -              background-color="#f0f0f0"
  -              padding-start="3pt"
  -              padding-end="3pt"
  -              padding-before="3pt"
  -              padding-after="3pt">
  -      <xsl:apply-templates/>
  -    </fo:block>
  -  </xsl:template>
  -
  -  <xsl:template match="ulink">
  -    <fo:basic-link external-destination="{@uri}"><xsl:apply-templates/></fo:basic-link>
  -  </xsl:template>
  -
  -  <xsl:template match="footnote">
  -    <fo:footnote>
  -      <fo:inline>
  -        (see <xsl:value-of select="generate-id()"/> below)
  -      </fo:inline>
  -      <fo:footnote-body>
  -        <fo:block font-family="serif"
  -                  font-size="8pt"
  -                  line-height="12pt"
  -                  font-style="italic">
  -          <xsl:value-of select="generate-id()"/>) <xsl:value-of select="."/>
  -        </fo:block>
  -      </fo:footnote-body>
  -    </fo:footnote>
  -  </xsl:template>
  -
  -  <xsl:template match="figure">
  -    <fo:block text-align="center" font-weight="bold" font-family="serif" space-before="10pt" space-after="20pt">
  -      <xsl:value-of select="title"/>
  -      <xsl:apply-templates/>
  -    </fo:block>
  -  </xsl:template>
  -
  -  <xsl:template match="graphic">
  -    <fo:external-graphic src="build/documentation/resources/{@fileref}">
  -      <xsl:attribute name="content-type">
  -        <xsl:text>content-type:image/</xsl:text>
  -        <xsl:value-of select="translate(@format,'ABCDEFGHIJKLMNOPQRSTUVWXYZ','abcdefghijklmnopqrstuvwxyz')"/>
  -      </xsl:attribute>
  -    </fo:external-graphic>
  -    <xsl:if test="@srccredit">
  -      <fo:block font-size="8pt" font-family="serif" font-style="italic">
  -        &#x2022; <xsl:value-of select="@srccredit"/>
  -      </fo:block>
  -    </xsl:if>
  -  </xsl:template>
  -
  -  <xsl:template match="table">
  -    <fo:table width="100%" table-layout="fixed">
  -      <xsl:apply-templates/>
  -    </fo:table>
  -  </xsl:template>
  -
  -  <xsl:template match="colspec">
  -    <fo:table-column>
  -      <xsl:attribute name="column-number">
  -        <xsl:number count="colspec"/>
  -      </xsl:attribute>
  -      <xsl:attribute name="column-width">
  -        <xsl:call-template name="calc.column.width">
  -          <xsl:with-param name="colwidth">
  -            <xsl:value-of select="@colwidth"/>
  -          </xsl:with-param>
  -        </xsl:call-template>
  -      </xsl:attribute>
  -    </fo:table-column>
  -  </xsl:template>
  -
  -  <xsl:template match="tgroup">
  -    <xsl:apply-templates/>
  -  </xsl:template>
  -
  -  <xsl:template match="thead">
  -    <fo:table-header>
  -      <xsl:apply-templates/>
  -    </fo:table-header>
  -  </xsl:template>
  -
  -  <xsl:template match="tfoot">
  -    <fo:table-footer>
  -      <xsl:apply-templates/>
  -    </fo:table-footer>
  -  </xsl:template>
  -
  -  <xsl:template match="row">
  -    <fo:table-row><xsl:apply-templates/></fo:table-row>
  -  </xsl:template>
  -
  -  <xsl:template match="tbody">
  -    <fo:table-body>
  -      <xsl:apply-templates/>
  -    </fo:table-body>
  -  </xsl:template>
  -
  -  <xsl:template match="entry">
  -    <fo:table-cell>
  -      <xsl:apply-templates/>
  -    </fo:table-cell>
  -  </xsl:template>
  -
  -  <xsl:template name="calc.column.width">
  -    <xsl:param name="colwidth">1*</xsl:param>
  -
  -    <xsl:if test="contains($colwidth, '*')">
  -      <xsl:text>proportional-column-width(</xsl:text>
  -      <xsl:value-of select="substring-before($colwidth, '*')"/>
  -      <xsl:text>)</xsl:text>
  -    </xsl:if>
  -
  -    <xsl:variable name="width-units">
  -      <xsl:choose>
  -        <xsl:when test="contains($colwidth, '*')">
  -          <xsl:value-of select="normalize-space(substring-after($colwidth, '*'))"/>
  -        </xsl:when>
  -        <xsl:otherwise>
  -          <xsl:value-of select="normalize-space($colwidth)"/>
  -        </xsl:otherwise>
  -      </xsl:choose>
  -    </xsl:variable>
  -
  -    <xsl:variable name="width"
  -                  select="normalize-space(translate($width-units, '+-0123456789.abcdefghijklmnopqrstuvwxyz', '+-0123456789.'))"/>
  -
  -    <xsl:variable name="units"
  -                 select="normalize-space(translate($width-units, 'abcdefghijklmnopqrstuvwxyz+-0123456789.', 'abcdefghijklmnopqrstuvwxyz'))"/>
  -
  -    <xsl:value-of select="$width"/>
  -
  -    <xsl:choose>
  -      <xsl:when test="$units='pi'">pc</xsl:when>
  -      <xsl:when test="$units='' and $width != ''">pt</xsl:when>
  -      <xsl:otherwise><xsl:value-of select="$units"/></xsl:otherwise>
  -    </xsl:choose>
  -  </xsl:template>
  -
  -  <xsl:template match="trademark"><xsl:apply-templates/>&#x2122;</xsl:template>
  -
  -</xsl:stylesheet>
  -
  +<?xml version="1.0"?>
  +
  +<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
  +                xmlns:fo="http://www.w3.org/1999/XSL/Format"
  +                version="1.0">
  +
  +  <xsl:template match="book">
  +    <fo:root xmlns:fo="http://www.w3.org/1999/XSL/Format">
  +   
  +    <fo:layout-master-set>
  +        <fo:simple-page-master master-name="title"
  +                               page-height="11in"
  +                               page-width="8.5in"
  +                               margin-top="1in"
  +                               margin-bottom="1in"
  +                               margin-left="1.25in"
  +                               margin-right="1.5in">
  +          <fo:region-before extent=".5in" region-name="title-header"/>
  +          <fo:region-body margin-top="1in" margin-bottom="1in"/>
  +          <fo:region-after extent=".5in" region-name="title-footer"/>
  +        </fo:simple-page-master>
  +
  +        <fo:simple-page-master master-name="inside"
  +                               page-height="11in"
  +                               page-width="8.5in"
  +                               margin-top="1in"
  +                               margin-bottom="1in"
  +                               margin-left="1.5in"
  +                               margin-right="1.25in">
  +          <fo:region-before extent=".5in" region-name="inside-header"/>
  +          <fo:region-body margin-top="1in" margin-bottom="1in"/>
  +          <fo:region-after extent=".5in" region-name="inside-footer"/>
  +        </fo:simple-page-master>
  +
  +        <fo:simple-page-master master-name="even-page"
  +                               page-height="11in" 
  +                               page-width="8.5in"
  +                               margin-top="1in" 
  +                               margin-bottom="1in" 
  +                               margin-left="1.25in" 
  +                               margin-right="1in">
  +          <fo:region-before extent=".5in" region-name="even-header"/>
  +          <fo:region-body margin-top=".5in" margin-bottom=".5in"/>
  +          <fo:region-after extent=".5in" region-name="even-footer"/>
  +        </fo:simple-page-master>
  +
  +        <fo:simple-page-master master-name="odd-page"
  +                               page-height="11in"
  +                               page-width="8.5in"
  +                               margin-top="1in"
  +                               margin-bottom="1in"
  +                               margin-left="1in"
  +                               margin-right="1.25in">
  +          <fo:region-before extent=".5in" region-name="odd-header"/>
  +          <fo:region-body margin-top=".5in" margin-bottom=".5in"/>
  +          <fo:region-after extent=".5in" region-name="odd-footer"/>
  +        </fo:simple-page-master>
  +
  +        <fo:simple-page-master master-name="chapter"
  +                               page-height="11in"
  +                               page-width="8.5in"
  +                               margin-top="1in"
  +                               margin-bottom="1in"
  +                               margin-left="1in"
  +                               margin-right="1.25in">
  +          <fo:region-before extent=".5in" region-name="odd-header"/>
  +          <fo:region-body margin-top=".5in" margin-bottom=".5in"/>
  +          <fo:region-after extent=".5in" region-name="odd-footer"/>
  +        </fo:simple-page-master>
  +      </fo:layout-master-set>
  +
  +      <fo:page-sequence master-reference="title">
  +        <xsl:if test="bookinfo/authorgroup">
  +          <fo:static-content flow-name="title-footer">
  +            <fo:block font-family="serif"
  +                      font-size="16pt"
  +                      font-style="italic"
  +                      text-align="end">
  +              <xsl:for-each select="bookinfo/authorgroup/author">
  +                <xsl:value-of select="firstname"/>
  +                <xsl:text> </xsl:text>
  +                <xsl:value-of select="surname"/>
  +              </xsl:for-each>
  +            </fo:block>
  +          </fo:static-content>
  +        </xsl:if>
  +        <fo:flow flow-name="xsl-region-body">
  +          <fo:block font-family="serif"
  +                    font-size="48pt"
  +                    font-weight="bold">
  +            <xsl:value-of select="title"/>
  +          </fo:block>
  +          <xsl:if test="subtitle">
  +            <fo:block font-family="serif"
  +                      font-size="24pt"
  +                      border-top-style="solid"
  +                      border-top-width=".5pt"
  +                      space-before="12pt"
  +                      text-align="end">
  +              <xsl:value-of select="subtitle"/>
  +            </fo:block>
  +          </xsl:if>
  +        </fo:flow>
  +      </fo:page-sequence>
  +      <xsl:apply-templates/>
  +      <xsl:call-template name="authors"/>
  +    </fo:root>
  +  </xsl:template>
  +
  +  <xsl:template match="chapter|article|appendix">
  +    <fo:page-sequence force-page-count="end-on-even" master-reference="chapter">
  +      <fo:title><xsl:value-of select="title"/></fo:title>
  +      <fo:static-content flow-name="even-header">
  +        <fo:block text-align="start"
  +                  line-height="12pt"
  +                  font-style="italic"
  +                  font-family="serif"
  +                  font-size="10pt"
  +                  border-after-style="solid"
  +                  border-after-width=".5pt">
  +          <xsl:value-of select="/book/title"/>
  +        </fo:block>
  +      </fo:static-content>
  +      <fo:static-content flow-name="even-footer">
  +        <fo:block text-align="start"
  +                  line-height="12pt"
  +                  border-before-style="solid"
  +                  border-before-width=".5pt"
  +                  font-family="serif"
  +                  font-size="10pt"><fo:page-number/></fo:block>
  +      </fo:static-content>
  +      <fo:static-content flow-name="odd-header">
  +        <fo:block text-align="end"
  +                  line-height="12pt"
  +                  font-style="italic"
  +                  font-family="serif"
  +                  font-size="10pt"
  +                  border-after-style="solid"
  +                  border-after-width=".5pt">
  +          <xsl:value-of select="title"/>
  +        </fo:block>
  +      </fo:static-content>
  +      <fo:static-content flow-name="odd-footer">
  +        <fo:block text-align="end"
  +                  line-height="12pt"
  +                  border-before-style="solid"
  +                  border-before-width=".5pt"
  +                  font-family="serif"
  +                  font-size="10pt"><fo:page-number/></fo:block>
  +      </fo:static-content>
  +      <fo:static-content flow-name="title-footer">
  +        <fo:block text-align="end"
  +                  line-height="12pt"
  +                  border-before-style="solid"
  +                  border-before-width=".5pt"
  +                  font-family="serif"
  +                  font-size="10pt"><fo:page-number/></fo:block>
  +      </fo:static-content>
  +      <fo:flow flow-name="xsl-region-body">
  +        <fo:block space-before="2in" font-family="serif" font-size="24pt" font-weight="bold">
  +          <xsl:value-of select="title"/>
  +        </fo:block>
  +        <xsl:if test="subtitle">
  +          <fo:block font-style="italic"
  +                    font-family="serif"
  +                    font-size="18pt"
  +                    space-after="10pt">
  +            <xsl:value-of select="subtitle"/>
  +          </fo:block>
  +        </xsl:if>
  +        <xsl:apply-templates/>
  +        <xsl:apply-templates select="/bookinfo/authorgroup"/>
  +      </fo:flow>
  +    </fo:page-sequence>
  +  </xsl:template>
  +
  +  <xsl:template match="title|subtitle"/>
  +  <xsl:template match="honorific|firstname|surname|orgdiv|orgname|shortaffil|jobtitle"/>
  +
  +  <xsl:template match="bookinfo/revhistory">
  +    <fo:block font-family="serif" font-size="10pt" font-weight="bold" space-before="10pt">
  +      Revision History:
  +    </fo:block>
  +    <xsl:variable name="unique-revisions" 
  +                  select="revision[not(revnumber=preceding-sibling::revision/revnumber)]/revnumber"/>
  +    <xsl:variable name="base" select="."/>
  +    <xsl:for-each select="$unique-revisions">
  +      <fo:block font-family="serif"
  +                font-size="8pt">
  +        <xsl:value-of select="$base/revision[revnumber=current()]/date"/>: Revision <xsl:value-of select="."/>
  +      </fo:block>
  +    </xsl:for-each>
  +  </xsl:template>
  +
  +  <xsl:template match="book/revhistory">
  +    <fo:page-sequence force-page-count="end-on-even" master-reference="chapter">
  +      <fo:title>Revision History</fo:title>
  +      <fo:static-content flow-name="even-header">
  +        <fo:block text-align="start"
  +                  line-height="12pt"
  +                  font-style="italic"
  +                  font-family="serif"
  +                  font-size="10pt"
  +                  border-after-style="solid"
  +                  border-after-width=".5pt">
  +          <xsl:value-of select="/book/title"/>
  +        </fo:block>
  +      </fo:static-content>
  +      <fo:static-content flow-name="even-footer">
  +        <fo:block text-align="start"
  +                  line-height="12pt"
  +                  border-before-style="solid"
  +                  border-before-width=".5pt"
  +                  font-family="serif"
  +                  font-size="10pt"><fo:page-number/></fo:block>
  +      </fo:static-content>
  +      <fo:static-content flow-name="odd-header">
  +        <fo:block text-align="end"
  +                  line-height="12pt"
  +                  font-style="italic"
  +                  font-family="serif"
  +                  font-size="10pt"
  +                  border-after-style="solid"
  +                  border-after-width=".5pt">
  +          <xsl:value-of select="title"/>
  +        </fo:block>
  +      </fo:static-content>
  +      <fo:static-content flow-name="odd-footer">
  +        <fo:block text-align="end"
  +                  line-height="12pt"
  +                  border-before-style="solid"
  +                  border-before-width=".5pt"
  +                  font-family="serif"
  +                  font-size="10pt"><fo:page-number/></fo:block>
  +      </fo:static-content>
  +      <fo:static-content flow-name="title-footer">
  +        <fo:block text-align="end"
  +                  line-height="12pt"
  +                  border-before-style="solid"
  +                  border-before-width=".5pt"
  +                  font-family="serif"
  +                  font-size="10pt"><fo:page-number/></fo:block>
  +      </fo:static-content>
  +      <fo:flow flow-name="xsl-region-body">
  +        <fo:block space-before="2in" font-family="serif" font-size="24pt" font-weight="bold" space-after="10pt">
  +          Revision History
  +        </fo:block>
  +        <xsl:variable name="unique-revisions" 
  +                      select="revision[not(revnumber=preceding-sibling::revision/revnumber)]/revnumber"/>
  +        <xsl:variable name="base" select="."/>
  +        <xsl:for-each select="$unique-revisions">
  +          <fo:block font-weight="bold"
  +                    font-family="serif"
  +                    font-size="14pt"
  +                    space-before="10pt">
  +            Revision <xsl:value-of select="."/>
  +            (<xsl:value-of select="$base/revision[revnumber=current()]/date"/>)
  +          </fo:block>
  +          <fo:list-block provisional-distance-between-starts="9mm"
  +                   provisional-label-separation="3mm">
  +            <xsl:apply-templates select="$base/revision[revnumber=current()]"/>
  +          </fo:list-block>
  +        </xsl:for-each>
  +      </fo:flow>
  +    </fo:page-sequence>
  +  </xsl:template>
  +
  +  <xsl:template match="para">
  +    <fo:block space-after="8pt"
  +              font-family="serif"><xsl:apply-templates/></fo:block>
  +  </xsl:template>
  +
  +  <xsl:template match="emphasis">
  +    <fo:inline font-style="italic"><xsl:apply-templates/></fo:inline>
  +  </xsl:template>
  +
  +  <xsl:template match="revision">
  +    <fo:list-item>
  +      <fo:list-item-label start-indent="3mm" end-indent="label-end()">
  +        <fo:block>&#x2022;</fo:block>
  +      </fo:list-item-label>
  +      <fo:list-item-body start-indent="body-start()">
  +        <fo:block>
  +          <xsl:apply-templates/>
  +          <fo:inline font-variant="small-caps">
  +            <xsl:value-of select="@revisionflag"/><xsl:text>&#x2014;</xsl:text>
  +          </fo:inline>
  +          <xsl:value-of select="revremark"/>
  +          <xsl:text> (</xsl:text><xsl:value-of select="authorinitials"/><xsl:text>)</xsl:text>
  +        </fo:block>
  +      </fo:list-item-body>
  +    </fo:list-item>
  +  </xsl:template>
  +
  +  <xsl:template match="revnumber|revremark|authorinitials|date"/>
  +
  +  <xsl:template match="section">
  +    <xsl:param name="level">0</xsl:param>
  +    <xsl:variable name="size" select="16-(number($level)*2)"/>
  +
  +    <fo:block font-family="serif"
  +              font-size="{$size}pt"
  +              font-weight="bold"
  +              space-before="12pt">
  +      <xsl:value-of select="title"/>
  +    </fo:block>
  +    <xsl:apply-templates>
  +      <xsl:with-param name="level" select="number($level)+1"/>
  +    </xsl:apply-templates>
  +  </xsl:template>
  +
  +  <xsl:template match="bookinfo">
  +    <fo:page-sequence master-reference="inside">
  +      <fo:flow flow-name="xsl-region-body">
  +        <fo:block font-weight="bold" font-size="14pt">
  +          <xsl:value-of select="title"/>
  +        </fo:block>
  +        <xsl:if test="subtitle">
  +          <fo:block font-weight="bold" font-size="10pt">
  +            <xsl:value-of select="subtitle"/>
  +          </fo:block>
  +        </xsl:if>
  +        <xsl:if test="authorgroup">
  +          <fo:block font-size="10pt">
  +            <xsl:text>by </xsl:text>
  +            <xsl:for-each select="authorgroup/author">
  +              <xsl:if test="not(position()=1)">
  +                <xsl:text>, </xsl:text>
  +              </xsl:if>
  +              <xsl:if test="honorific">
  +                <xsl:value-of select="honorific"/><xsl:text>. </xsl:text>
  +              </xsl:if>
  +              <xsl:value-of select="firstname"/>
  +              <xsl:text> </xsl:text>
  +              <xsl:value-of select="surname"/>
  +            </xsl:for-each>
  +          </fo:block>
  +        </xsl:if>
  +        <xsl:apply-templates select="copyright"/>
  +        <fo:block space-before="10pt" font-size="10pt">
  +          <xsl:value-of select="edition"/><xsl:text> published </xsl:text>
  +          <xsl:value-of select="pubdate"/>
  +        </fo:block>
  +        <xsl:apply-templates select="revhistory"/>
  +        <xsl:apply-templates select="legalnotice"/>
  +      </fo:flow>
  +    </fo:page-sequence>
  +  </xsl:template>
  +
  +
  +  <xsl:template name="authors">
  +    <fo:page-sequence force-page-count="end-on-even" master-reference="chapter">
  +      <fo:title>About the Authors</fo:title>
  +      <fo:static-content flow-name="even-header">
  +        <fo:block text-align="start"
  +                  line-height="12pt"
  +                  font-style="italic"
  +                  font-family="serif"
  +                  font-size="10pt"
  +                  border-after-style="solid"
  +                  border-after-width=".5pt">
  +          <xsl:value-of select="/book/title"/>
  +        </fo:block>
  +      </fo:static-content>
  +      <fo:static-content flow-name="even-footer">
  +        <fo:block text-align="start"
  +                  line-height="12pt"
  +                  border-before-style="solid"
  +                  border-before-width=".5pt"
  +                  font-family="serif"
  +                  font-size="10pt"><fo:page-number/></fo:block>
  +      </fo:static-content>
  +      <fo:static-content flow-name="odd-header">
  +        <fo:block text-align="end"
  +                  line-height="12pt"
  +                  font-style="italic"
  +                  font-family="serif"
  +                  font-size="10pt"
  +                  border-after-style="solid"
  +                  border-after-width=".5pt">
  +          About the Authors
  +        </fo:block>
  +      </fo:static-content>
  +      <fo:static-content flow-name="odd-footer">
  +        <fo:block text-align="end"
  +                  line-height="12pt"
  +                  border-before-style="solid"
  +                  border-before-width=".5pt"
  +                  font-family="serif"
  +                  font-size="10pt"><fo:page-number/></fo:block>
  +      </fo:static-content>
  +      <fo:static-content flow-name="title-footer">
  +        <fo:block text-align="end"
  +                  line-height="12pt"
  +                  border-before-style="solid"
  +                  border-before-width=".5pt"
  +                  font-family="serif"
  +                  font-size="10pt"><fo:page-number/></fo:block>
  +      </fo:static-content>
  +      <fo:flow flow-name="xsl-region-body">
  +        <fo:block space-before="2in" font-family="serif" font-size="24pt" font-weight="bold" space-after="10pt">
  +          About the Authors
  +        </fo:block>
  +        <xsl:apply-templates select="/book/bookinfo/authorgroup/author"/>
  +      </fo:flow>
  +    </fo:page-sequence>
  +  </xsl:template>
  +
  +  <xsl:template match="author">
  +    <fo:block font-family="serif"
  +              font-size="16pt"
  +              font-weight="bold"
  +              space-before="12pt">
  +      <xsl:value-of select="honorific"/><xsl:text>. </xsl:text>
  +      <xsl:value-of select="firstname"/><xsl:text> </xsl:text>
  +      <xsl:value-of select="surname"/>
  +    </fo:block>
  +    <fo:block font-family="serif"
  +              font-size="14pt"
  +              font-weight="bold"
  +              space-before="12pt">
  +      Affiliations
  +    </fo:block>
  +    <fo:list-block provisional-distance-between-starts="9mm"
  +                   provisional-label-separation="3mm">
  +      <xsl:apply-templates select="affiliation"/>
  +    </fo:list-block>
  +    <xsl:apply-templates select="authorblurb"/>
  +  </xsl:template>
  +
  +  <xsl:template match="affiliation">
  +    <fo:list-item>
  +      <fo:list-item-label start-indent="50%" end-indent="label-end()">
  +        <fo:block>&#x2022;</fo:block>
  +      </fo:list-item-label>
  +      <fo:list-item-body start-indent="body-start()">
  +        <fo:block>
  +          <xsl:text>[</xsl:text><xsl:value-of select="shortaffil"/><xsl:text>] </xsl:text>
  +          <fo:inline font-weight="bold"><xsl:value-of select="jobtitle"/><xsl:text> </xsl:text></fo:inline>
  +          <fo:inline font-style="italic">
  +            <xsl:value-of select="orgname"/>
  +            <xsl:if test="orgdiv"><xsl:text>/</xsl:text><xsl:value-of select="orgdiv"/></xsl:if>
  +          </fo:inline>
  +        </fo:block>
  +      </fo:list-item-body>
  +    </fo:list-item>
  +  </xsl:template>
  +
  +  <xsl:template match="authorblurb">
  +    <fo:block font-family="serif"
  +              font-size="14pt"
  +              font-weight="bold"
  +              space-before="12pt">
  +      Bio
  +    </fo:block>
  +    <xsl:apply-templates/>
  +  </xsl:template>
  +
  +  <xsl:template match="dedication">
  +    <fo:page-sequence master-reference="title">
  +      <fo:flow flow-name="xsl-region-body">
  +        <xsl:for-each select="para">
  +          <fo:block font-style="italic" font-family="serif" space-before="3in" font-size="10pt" text-align="center">
  +            <xsl:apply-templates/>
  +          </fo:block>
  +        </xsl:for-each>
  +      </fo:flow>
  +    </fo:page-sequence>
  +    <fo:page-sequence master-reference="inside">
  +      <fo:flow flow-name="xsl-region-body">
  +        <fo:block> </fo:block>
  +      </fo:flow>
  +    </fo:page-sequence>
  +  </xsl:template>
  +
  +  <xsl:template match="edition|pubdate|year|holder"/>
  +
  +  <xsl:template match="copyright">
  +    <fo:block font-size="10pt" space-before="10pt">
  +      Copyright &#x00A9;<xsl:value-of select="year"/> by <xsl:value-of select="holder"/>.
  +      All rights reserved.
  +    </fo:block>
  +  </xsl:template>
  +
  +  <xsl:template match="legalnotice">
  +    <fo:block font-size="8pt"
  +              text-align="justify"
  +              space-before="20pt"
  +              width="7.5in"
  +              font-family="serif">
  +      <xsl:apply-templates/>
  +    </fo:block>
  +  </xsl:template>
  +
  +  <xsl:template match="programlisting">
  +    <fo:block font-family="monospace"
  +              font-size="10pt"
  +              background-color="#f0f0f0"
  +              white-space-collapse="false"
  +              keep-together="always">
  +       <xsl:apply-templates/>
  +    </fo:block>
  +  </xsl:template>
  +
  +  <xsl:template match="orderedlist|itemizedlist">
  +    <fo:list-block provisional-distance-between-starts="9mm"
  +                   provisional-label-separation="3mm">
  +      <xsl:apply-templates/>
  +    </fo:list-block>
  +  </xsl:template>
  +
  +  <xsl:template match="orderedlist/listitem">
  +    <fo:list-item>
  +      <fo:list-item-label start-indent="50%" end-indent="label-end()">
  +        <fo:block>
  +          <xsl:number format="1."/>
  +        </fo:block>
  +      </fo:list-item-label>
  +      <fo:list-item-body start-indent="body-start()">
  +        <fo:block>
  +          <xsl:apply-templates/>
  +        </fo:block>
  +      </fo:list-item-body>
  +    </fo:list-item>
  +  </xsl:template>
  +
  +  <xsl:template match="itemizedlist/listitem">
  +    <fo:list-item>
  +      <fo:list-item-label start-indent="50%" end-indent="label-end()">
  +        <fo:block>&#x2022;</fo:block>
  +      </fo:list-item-label>
  +      <fo:list-item-body start-indent="body-start()">
  +        <fo:block>
  +          <xsl:apply-templates/>
  +        </fo:block>
  +      </fo:list-item-body>
  +    </fo:list-item>
  +  </xsl:template>
  +
  +  <xsl:template match="classname|function|parameter">
  +    <fo:inline font-family="monospace">
  +      <xsl:apply-templates/><xsl:if test="name(.)='function'"><xsl:text>()</xsl:text></xsl:if>
  +    </fo:inline>
  +  </xsl:template>
  +
  +  <xsl:template match="blockquote">
  +    <fo:block margin-left="1in"
  +              margin-right="1in"
  +              font-weight="bold"
  +              font-size="10pt"
  +              font-family="serif"
  +              space-before="10pt"
  +              border-before-style="solid"
  +              border-start-style="solid"
  +              border-end-style="solid"
  +              background-color="#000000"
  +              color="#ffffff">
  +      <xsl:value-of select="title"/>
  +    </fo:block>
  +    <fo:block margin-left="1in"
  +              margin-right="1in"
  +              font-family="serif"
  +              font-size="8pt"
  +              border-after-style="solid"
  +              border-start-style="solid"
  +              border-end-style="solid"
  +              background-color="#f0f0f0"
  +              padding-start="3pt"
  +              padding-end="3pt"
  +              padding-before="3pt"
  +              padding-after="3pt"
  +              space-after="20pt">
  +      <xsl:apply-templates/>
  +    </fo:block>
  +  </xsl:template>
  +
  +  <xsl:template match="warning">
  +    <fo:block margin-left="1in"
  +              margin-right="1in"
  +              font-weight="bold"
  +              font-size="10pt"
  +              font-family="serif"
  +              space-before="10pt"
  +              border-before-style="solid"
  +              border-start-style="solid"
  +              border-end-style="solid"
  +              background-color="#800000"
  +              color="#ffffff">
  +      Warning: <xsl:value-of select="title"/>
  +    </fo:block>
  +    <fo:block margin-left="1in"
  +              margin-right="1in"
  +              font-family="serif"
  +              font-size="8pt"
  +              border-after-style="solid"
  +              border-start-style="solid"
  +              border-end-style="solid"
  +              background-color="#f0f0f0"
  +              padding-start="3pt"
  +              padding-end="3pt"
  +              padding-before="3pt"
  +              padding-after="3pt">
  +      <xsl:apply-templates/>
  +    </fo:block>
  +  </xsl:template>
  +
  +  <xsl:template match="ulink">
  +    <fo:basic-link external-destination="{@uri}"><xsl:apply-templates/></fo:basic-link>
  +  </xsl:template>
  +
  +  <xsl:template match="footnote">
  +    <fo:footnote>
  +      <fo:inline>
  +        (see <xsl:value-of select="generate-id()"/> below)
  +      </fo:inline>
  +      <fo:footnote-body>
  +        <fo:block font-family="serif"
  +                  font-size="8pt"
  +                  line-height="12pt"
  +                  font-style="italic">
  +          <xsl:value-of select="generate-id()"/>) <xsl:value-of select="."/>
  +        </fo:block>
  +      </fo:footnote-body>
  +    </fo:footnote>
  +  </xsl:template>
  +
  +  <xsl:template match="figure">
  +    <fo:block text-align="center" font-weight="bold" font-family="serif" space-before="10pt" space-after="20pt">
  +      <xsl:value-of select="title"/>
  +      <xsl:apply-templates/>
  +    </fo:block>
  +  </xsl:template>
  +
  +  <xsl:template match="graphic">
  +    <fo:external-graphic src="build/documentation/resources/{@fileref}">
  +      <xsl:attribute name="content-type">
  +        <xsl:text>content-type:image/</xsl:text>
  +        <xsl:value-of select="translate(@format,'ABCDEFGHIJKLMNOPQRSTUVWXYZ','abcdefghijklmnopqrstuvwxyz')"/>
  +      </xsl:attribute>
  +    </fo:external-graphic>
  +    <xsl:if test="@srccredit">
  +      <fo:block font-size="8pt" font-family="serif" font-style="italic">
  +        &#x2022; <xsl:value-of select="@srccredit"/>
  +      </fo:block>
  +    </xsl:if>
  +  </xsl:template>
  +
  +  <xsl:template match="table">
  +    <fo:table width="100%" table-layout="fixed">
  +      <xsl:apply-templates/>
  +    </fo:table>
  +  </xsl:template>
  +
  +  <xsl:template match="colspec">
  +    <fo:table-column>
  +      <xsl:attribute name="column-number">
  +        <xsl:number count="colspec"/>
  +      </xsl:attribute>
  +      <xsl:attribute name="column-width">
  +        <xsl:call-template name="calc.column.width">
  +          <xsl:with-param name="colwidth">
  +            <xsl:value-of select="@colwidth"/>
  +          </xsl:with-param>
  +        </xsl:call-template>
  +      </xsl:attribute>
  +    </fo:table-column>
  +  </xsl:template>
  +
  +  <xsl:template match="tgroup">
  +    <xsl:apply-templates/>
  +  </xsl:template>
  +
  +  <xsl:template match="thead">
  +    <fo:table-header>
  +      <xsl:apply-templates/>
  +    </fo:table-header>
  +  </xsl:template>
  +
  +  <xsl:template match="tfoot">
  +    <fo:table-footer>
  +      <xsl:apply-templates/>
  +    </fo:table-footer>
  +  </xsl:template>
  +
  +  <xsl:template match="row">
  +    <fo:table-row><xsl:apply-templates/></fo:table-row>
  +  </xsl:template>
  +
  +  <xsl:template match="tbody">
  +    <fo:table-body>
  +      <xsl:apply-templates/>
  +    </fo:table-body>
  +  </xsl:template>
  +
  +  <xsl:template match="entry">
  +    <fo:table-cell>
  +      <xsl:apply-templates/>
  +    </fo:table-cell>
  +  </xsl:template>
  +
  +  <xsl:template name="calc.column.width">
  +    <xsl:param name="colwidth">1*</xsl:param>
  +
  +    <xsl:if test="contains($colwidth, '*')">
  +      <xsl:text>proportional-column-width(</xsl:text>
  +      <xsl:value-of select="substring-before($colwidth, '*')"/>
  +      <xsl:text>)</xsl:text>
  +    </xsl:if>
  +
  +    <xsl:variable name="width-units">
  +      <xsl:choose>
  +        <xsl:when test="contains($colwidth, '*')">
  +          <xsl:value-of select="normalize-space(substring-after($colwidth, '*'))"/>
  +        </xsl:when>
  +        <xsl:otherwise>
  +          <xsl:value-of select="normalize-space($colwidth)"/>
  +        </xsl:otherwise>
  +      </xsl:choose>
  +    </xsl:variable>
  +
  +    <xsl:variable name="width"
  +                  select="normalize-space(translate($width-units, '+-0123456789.abcdefghijklmnopqrstuvwxyz', '+-0123456789.'))"/>
  +
  +    <xsl:variable name="units"
  +                 select="normalize-space(translate($width-units, 'abcdefghijklmnopqrstuvwxyz+-0123456789.', 'abcdefghijklmnopqrstuvwxyz'))"/>
  +
  +    <xsl:value-of select="$width"/>
  +
  +    <xsl:choose>
  +      <xsl:when test="$units='pi'">pc</xsl:when>
  +      <xsl:when test="$units='' and $width != ''">pt</xsl:when>
  +      <xsl:otherwise><xsl:value-of select="$units"/></xsl:otherwise>
  +    </xsl:choose>
  +  </xsl:template>
  +
  +  <xsl:template match="trademark"><xsl:apply-templates/>&#x2122;</xsl:template>
  +
  +</xsl:stylesheet>
  +
  
  
  
  1.1                  jakarta-avalon/tools/ext/avalon-excalibur-20020705.jar
  
  	<<Binary file>>
  
  
  1.1                  jakarta-avalon/tools/ext/avalon-framework-20020627.jar
  
  	<<Binary file>>
  
  
  1.1                  jakarta-avalon/tools/ext/batik-1.5b2.jar
  
  	<<Binary file>>
  
  
  1.1                  jakarta-avalon/tools/ext/cocoon-2.1-dev-20020711.jar
  
  	<<Binary file>>
  
  
  1.1                  jakarta-avalon/tools/ext/cocoon-scratchpad-2.1-dev-20020711.jar
  
  	<<Binary file>>
  
  
  1.1                  jakarta-avalon/tools/ext/commons-httpclient.jar
  
  	<<Binary file>>
  
  
  1.1                  jakarta-avalon/tools/ext/fop-0.20.4.jar
  
  	<<Binary file>>
  
  
  1.1                  jakarta-avalon/tools/ext/logkit-20020529.jar
  
  	<<Binary file>>
  
  
  1.1                  jakarta-avalon/tools/ext/xsltc.jar
  
  	<<Binary file>>
  
  

--
To unsubscribe, e-mail:   <mailto:avalon-cvs-unsubscribe@jakarta.apache.org>
For additional commands, e-mail: <mailto:avalon-cvs-help@jakarta.apache.org>


Mime
View raw message