forrest-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Piroumian Konstantin <KPiroum...@protek.com>
Subject RE: cvs commit: xml-forrest/src/documentation/skins/forrest-site/ xslt/html document2html.xsl
Date Wed, 22 May 2002 12:22:26 GMT
Great job, Steven!

Just one comment. I don't quite like the idea of this kind of URL:
../../resources/images/wink_smile.png? It's much better to  have it like
this 'images/wink_smile.png' and use sitemap entry to read the image from
its actual location.

KP

P.S. I've almost setup my working environment, thanks to John, and now
preparing to support my words by other useful activity.

--
Konstantin Piroumian 
kpiroumian@apache.org


> -----Original Message-----
> From: stevenn@apache.org [mailto:stevenn@apache.org] 
> Sent: Wednesday, May 22, 2002 4:08 PM
> To: xml-forrest-cvs@apache.org
> Subject: cvs commit: 
> xml-forrest/src/documentation/skins/forrest-site/xslt/html 
> document2html.xsl
> 
> 
> stevenn     02/05/22 05:08:03
> 
>   Modified:    src/documentation/content/xdocs book.xml index.xml
>                src/documentation/skins/forrest-site/xslt/html
>                         document2html.xsl
>   Added:       src/documentation/content/xdocs primer.xml
>                src/documentation/resources/images page-areas.png
>                         wink_smile.png
>   Log:
>   initial version of the Forrest primer and some more doc2html patches
>   
>   Revision  Changes    Path
>   1.8       +1 -0      
> xml-forrest/src/documentation/content/xdocs/book.xml
>   
>   Index: book.xml
>   ===================================================================
>   RCS file: 
> /home/cvs/xml-forrest/src/documentation/content/xdocs/book.xml,v
>   retrieving revision 1.7
>   retrieving revision 1.8
>   diff -u -r1.7 -r1.8
>   --- book.xml	19 May 2002 18:56:41 -0000	1.7
>   +++ book.xml	22 May 2002 12:08:02 -0000	1.8
>   @@ -21,6 +21,7 @@
>      </menu>
>    
>      <menu label="Get Involved">
>   +    <menu-item label="Forrest Primer" href="primer.html"/>
>        <menu-item label="Contributing" href="contrib.html"/>
>        <menu-item label="CVS" 
> href="http://cvs.apache.org/viewcvs/xml-forrest/"/>
>        <menu-item label="Mail Lists" href="mail-lists.html"/>
>   
>   
>   
>   1.6       +11 -8     
> xml-forrest/src/documentation/content/xdocs/index.xml
>   
>   Index: index.xml
>   ===================================================================
>   RCS file: 
> /home/cvs/xml-forrest/src/documentation/content/xdocs/index.xml,v
>   retrieving revision 1.5
>   retrieving revision 1.6
>   diff -u -r1.5 -r1.6
>   --- index.xml	21 May 2002 21:16:16 -0000	1.5
>   +++ index.xml	22 May 2002 12:08:02 -0000	1.6
>   @@ -22,16 +22,19 @@
>          mechanism.</p> 
>          <p>The Forrest developers -
>            <link
>   -      
> href="mailto:forrest-dev@xml.apache.org">forrest-dev@xml.apach
> e.org</link></p> 
>   +       
> href="mailto:forrest-dev@xml.apache.org">forrest-dev@xml.apach
> e.org</link></p> 
>        </section> 
>        <section title="Project Status"> 
>   -      <p>The Forrest project is new and needs your help to 
> get started. Please
>   -        see the <link href="faq.html">FAQ</link> and join 
> the discussion on
>   -      <link
>   -      
> href="mailto:forrest-dev@xml.apache.org">forrest-dev@xml.apach
> e.org</link>.</p>
>   -      
>   -      <p>There is also a fledgling <link 
> href="dreams.html">Dream List</link>
>   -      to help provide some direction.</p> 
>   +      <p>The Forrest project is new and needs your help to 
> get started.</p>
>   +      <ul>
>   +        <li>Read our <link href="primer.html">Forrest 
> Primer</link> to
>   +      understand what Forrest is and how you can use / 
> contribute to it.</li>
>   +      <li>Please see the <link href="faq.html">FAQ</link> 
> and join the
>   +      discussion on <link
>   +      
> href="mailto:forrest-dev@xml.apache.org">forrest-dev@xml.apach
> e.org</link>.</li>
>   +      <li>There is also a fledgling <link 
> href="dreams.html">Dream List</link>
>   +      to help provide some direction.</li>
>   +      </ul> 
>        </section> 
>      </body>
>    </document>
>   
>   
>   
>   1.1                  
> xml-forrest/src/documentation/content/xdocs/primer.xml
>   
>   Index: primer.xml
>   ===================================================================
>   <?xml version="1.0"?>
>   <!DOCTYPE document PUBLIC "-//APACHE//DTD Documentation 
> V1.1//EN" "document-v11.dtd">
>   <document> 
>     <header> 
>       <title>The Forrest Primer</title> 
>       <subtitle>Don't panic!</subtitle><authors><person
>         name="Steven Noels" email="stevenn@apache.org"/></authors> 
>       <abstract>Forrest is a so-called
>         <link
>         
> href="http://www.dictionary.com/cgi-bin/dict.pl?term=fledgling
> ">fledgling</link>
>         project that will have a broad impact on <link
>         href="http://xml.apache.org/">xml.apache.org</link> 
> projects. This document
>         helps you to better understand the vision and scope 
> of Forrest, so that you
>         learn what to expect (or not) from it, and eventually 
> will help you discovering
>         places where your contribution could be valuable to 
> all of us.</abstract> 
>     </header> 
>     <body> 
>       <note>This document is work-in-progress and will be 
> updated to reflect the
>         actual progress of the Forrest project. As such, the 
> primer will be enhanced,
>         restructured and edited to provide an accessible 
> entry point for new
>         Forresteers. Please send all comments, patches and 
> suggestions to
>         <link href="mailto:forrest-dev@xml.apache.org">the Forrest
>         developers</link>.</note>
>       <section title="History"> 
>         <p>Forrest has come into existence because of the 
> abysmal state of the
>           <link 
> href="http://xml.apache.org/">xml.apache.org</link> website 
> in comparison
>         with other open source community sites such as 
> Sourceforge. The old site had no
>         consistent visual look and feel, which was largely 
> due to each and every
>         sub-project managing its own site. Furthermore, much 
> information which could
>         potentially support community-based open source 
> development was hidden inside
>         CVS repositories, mailing lists or word of mouth. 
> Once we experienced the
>         usefullness of cross-project collaboration supported 
> by the Jakarta
>         <link 
> href="http://jakarta.apache.org/gump">Gump</link> project, we reckoned
>         having a single application responsible for the 
> management of the
>         xml.apache.org site could be of benefit to our 
> visitors. And if we added
>         aggregated access to other available resources such 
> as download stats or
>         mailing list archives, the new xml.apache.org website 
> could be a true
>         information clearinghouse for interested parties, 
> both users and contributors
>         alike.</p> 
>         <p>The Forrest vision was articulated by Stefano 
> Mazzocchi and Sam Ruby,
>           both long-time contributors to Apache projects, in 
> the beginning of 2002, and
>           was rapidly picked up by a bunch of other <link
>         href="who.html">contributors</link> as well, after a 
> headstart by Nicola Ken
>         Barozzi. So here we are, plenty of work-in-progress 
> to erect what eventually
>         will become a true community website infrastructure 
> for Apache open source
>         development.</p> 
>       </section> 
>       <section title="What is Forrest"> 
>         <p>Forrest is a framework that supports the 
> cross-project generation and
>           management of development project websites using 
> Cocoon as its XML publishing
>           framework. It not only provides access to project 
> documentation, but also to
>           other types of information open source developers 
> daily depend upon: source
>           code repositories, mailing lists, contact info and 
> the like. It aggregates all
>           these resources and publishes them on a regular 
> basis to a website, ensuring a
>           consistent look and feel using skins implemented 
> with XSLT stylesheets. While
>           Forrest's primary focus is XML Apache project 
> websites, it can be adapted to
>           other community development projects as well, as 
> long as they are willing to
>           commit to proven best practices such as Ant for 
> build automation, CVS for
>           source code control and XML as a documentation 
> source format.</p> 
>         <p>Forrest is currently based on an
>           <link 
> href="http://jakarta.apache.org/ant/">Ant</link>-based project build
>         system called <link 
> href="http://www.krysalis.org/centipede/">Centipede</link>
>         that drives a <link 
> href="http://xml.apache.org/cocoon/">Cocoon</link>-based
>         document publication system. It contains a set of 
> standard XML document type
>         declarations (DTD's) for project documentation, and 
> different 'skins'
>         consisting of XSLT stylesheets that produce HTML 
> renditions of XML documents
>         using these DTD's.</p> 
>         <p>The primary mode of operations for Forrest will be 
> as follows:</p> 
>         <note>This process isn't quite ready for prime time 
> yet, but it gives you
>           an idea where we are heading at. Website generation 
> with skins currently works,
>           try using the <code>docs</code> target when 
> invoking the <code>build</code>
>           script. Add a <code>use.skin</code> property when 
> invoking the build script to
>           experience Forrest skins: <code>build{.bat|.sh}
>           -Duse.skin=&lt;thenameoftheskintouse&gt; 
> docs</code>. Read our <jump
>           href="cvs">CVS crash course</jump> to get hold of 
> the current codebase and
>           start playing with it.</note> 
>         <ol> 
>           <li>Forrest will harvest documentation and related 
> source files from
>             the different projects that use Forrest for their 
> website, presumably using
>             CVS, configured by a project descriptor file. It 
> will do so on an automated
>             basis, several times a day.</li> 
>           <li>Forrest uses Cocoon to generate an HTML 
> rendition of each project's
>             website, configured by a generic sitemap. This 
> process will be static, the
>             result of a Forrest run is a collection of HTML 
> documents and related images or
>             stylesheets comprising the project's website. The 
> impact Forrest has on the
>             participating projects should be minimal, i.e. 
> one should simply author XML
>             documents, put them in a well-specified 
> filesystem hierarchy, and Forrest will
>             do its work.</li> 
>           <li>Forrest will enrich the provided documentation 
> source files with
>             common information: a cross-project navigation 
> structure (and rendition, of
>             course), and useful 'community indicators' such 
> as download statistics, number
>             of contributors with commit access, ...</li> 
>           <li>If the individual project build runs are 
> successful, the project's
>             website is automagically (re-)published to the 
> (Apache) website, also several
>             times day.</li> 
>         </ol> 
>         <p>The Forrest website and the overall xml.apache.org 
> website are
>           maintained and published using the same mechanism.</p> 
>       </section> 
>       <section title="Forrest roles"> 
>         <p>Depending on your interests, your involvement with 
> Forrest may vary,
>           hence your <em>role</em>. We currently envision 
> three different roles:</p> 
>         <ul> 
>           <li><strong>User</strong> you want or need to use 
> Forrest for your
>             project because it uses Forrest to manage its 
> documentation.</li> 
>           <li><strong>Adaptor</strong> you want to adapt 
> Forrest to support your
>             individual project needs, presumably outside the 
> XML Apache context, building
>             your own skins or DTD's and the like.</li> 
>           <li><strong>Contributor</strong> you are a 
> fledgling Forresteer and
>             want to contribute to the further development of 
> it. If your contributions are
>             valuable and in true community spirit, you can 
> possibly gain commit access to
>             the Forrest CVS repository and become an Apache 
> committer.</li> 
>         </ul> 
>         <p>Depending on your role, your potential area of 
> interest in Forrest
>           will vary:</p> 
>         <table> 
>           <tr> 
>             <th>Role</th> 
>             <th>Interests</th> 
>           </tr> 
>           <tr> 
>             <td>User</td> 
>             <td>Forrest DTD's and documentation filesystem 
> hierarchy (Cocoon
>               sitemap)</td> 
>           </tr> 
>           <tr> 
>             <td>Adaptor</td> 
>             <td>+ skin system and build environment</td> 
>           </tr> 
>           <tr> 
>             <td>Contributor</td> 
>             <td>+ the Forrest codebase and runtime environment</td> 
>           </tr> 
>         </table> 
>       </section> 
>       <section title="Getting hold of Forrest through CVS" id="cvs"> 
>         <section title="System requirements"> 
>           <p>Forrest requires the following systems to be 
> already installed on
>             your system:</p> 
>           <ul> 
>             <li><em>Java Virtual Machine</em> A Java virtual 
> machine must be
>               present. Forrest has been tested against the 
> latest Sun 1.3 JDK.</li> 
>           </ul> 
>         </section> 
>         <section title="Getting Forrest"> 
>           <p>You have to retrieve Forrest from its CVS 
> repository - there are no
>             binary, nor source, nor snapshot distributions 
> yet. Some help, courtesy our
>             friends of the Cocoon project:</p> 
>         </section> 
>         <section title="Step-by-step cvs instructions for Windows"> 
>           <ol> 
>             <li>Download a recent release of WinCVS (homepage is
>               <link 
> href="http://www.wincvs.org/">http://www.wincvs.org/</link>); </li> 
>           <li>Install it;</li> 
>           <li>Start it;</li> 
>           <li>Click on Admin-&gt;Preferences;</li> 
>           <li> In "Enter the CVSROOT:" enter
>             
> "<code>:pserver:anoncvs@cvs.apache.org:/home/cvspublic</code>"
>  (without
>             quotes);</li> 
>           <li>In "Authentication:" choose "passwd file on the 
> cvs server";</li> 
>           <li>Click "Ok";</li> 
>           <li>Click Admin-&gt;Login;</li> 
>           <li> When asked for the password: answer 
> "<code>anoncvs</code>"
>             (without quotes);</li> 
>           <li> Click "Create-&gt;Checkout module";</li> 
>           <li>Module name and path on the server is 
> "<code>xml-forrest</code>"
>             (no quotes);</li> 
>           <li>Choose a dir to put the source code in;</li> 
>           <li>Click "Ok";</li> 
>           <li>If everything goes well, messages will start to 
> appear in the log
>             window;</li> 
>           <li>Wait until you see "<code>*****CVS exited 
> normally with code
>             0*****</code>" in the log window;</li> 
>           <li>The Forrest source is now on your harddrive.</li> 
>           </ol> 
>         </section> 
>         <section title="Step-by-step cvs instructions for Unix"> 
>           <ol> 
>             <li>Make sure you have a CVS client package 
> installed on your Unix
>               system.</li> 
>             <li>Start the shell of your choice.</li> 
>             <li>Enter "<code>cvs -d
>               :pserver:anoncvs@cvs.apache.org:/home/cvspublic 
> login</code>".</li> 
>             <li>When asked for the password: answer 
> "<code>anoncvs</code>".</li> 
>             <li>Enter "<code>cvs -d
>               :pserver:anoncvs@cvs.apache.org:/home/cvspublic 
> -z3 checkout
>               xml-forrest</code>". This will create a directory called
>               "<code>xml-forrest</code>" where the Forrest 
> source will be stored.</li> 
>             <li>Wait until cvs has finished.</li> 
>             <li>The Forrest source is now on your harddrive.</li> 
>           </ol> 
>           <p>In case you want to update your Forrest source 
> tree to the current
>             version, change to the "<code>xml-forrest</code>" 
> directory and invoke
>             "<code>cvs -z3 update -d -P</code>".</p> 
>         </section> 
>       </section> 
>       <section title="Forrest distribution"> 
>         <p>Once you retrieved Forrest from its CVS 
> repository, you'll end up with
>           a filesystem hierarchy similar to this inside the 
> <code>xml-forrest</code> home
>           directory:</p> 
>         <warning>This is highly volatile information!</warning> 
>         <source><![CDATA[+---legal                            
>  various licenses for projects included with Forrest
>   +---lib                               jar library
>   +---src
>   |   +---contrib                       unused
>   |   +---documentation                 main Forrest source tree
>   |   |   +---content                   content of the Forrest website
>   |   |   |   +---xdocs                 Forrest website XML documents
>   |   |   +---library                   common components 
> (not skin-specific)
>   |   |   |   +---xslt                  document format 
> transformers (faq & howto -> document)
>   |   |   +---resources                 project documentation 
> specific resources
>   |   |   |   +---images
>   |   |   +---skins                     Forrest skins
>   |   |       +---avalon-site
>   |   |       +---forrest-site          the future xml.apache.org skin
>   |   |       |   +---css               Cascading Stylesheets
>   |   |       |   +---images            skin-specific images
>   |   |       |   +---xslt              the skin stylesheets 
> (per medium)
>   |   |       |       +---fo
>   |   |       |       +---html          html rendering skins
>   |   |       +---jakarta-site
>   |   |       +---scarab-site
>   |   |       +---xml-apache-site
>   |   +---examples                      unused
>   |   +---java                          unused
>   |   +---resources                     project resources
>   |   |   +---charts                    charting trials
>   |   |   +---layout                    HTML page mock-ups
>   |   |   |   +---resources
>   |   |   |   +---xml.apache.org
>   |   |   |       +---images
>   |   |   +---schema                    Forrest DTD's
>   |   |       +---dtd
>   |   |       +---entity
>   |   +---scratchpad                    unused
>   |   +---targets                       unused
>   |   +---testcases                     unused
>   +---tools                             Forrest build 
> environment (Centipede)
>       +---ant
>       +---centipede]]></source> 
>         <p>The <code>xml-forrest</code> home directory 
> consists of the main Ant
>           build script (<code>build.xml</code>) and 
> platform-specific batch files/shell
>           scripts to invoke it. Forrest comes with Ant 
> included, so you don't need to
>           install Ant separately.</p> 
>         <p>Running Forrest is a batch operation you can start 
> using the provided
>           <code>build.{sh|bat} &lt;targetname&gt;</code>. The 
> current main targets
>           are:</p> 
>         <ul> 
>           <li><strong><code>docs</code></strong> - generates

> an HTML rendition of
>             the Forrest website using the default 
> <code>forrest-site</code> skin</li> 
>           <li><strong><code>clean</code></strong> - cleans
out the
>             <code>build</code> directory</li> 
>           <li><strong><code>webapp</code></strong> - for

> those who can't resist
>             running Forrest live instead of its commandline 
> invocation, this target builds
>             a WAR file you can deploy in your servlet 
> container (currently only tested for
>             Tomcat 4.0.1). Mount-point of the web application will be
>             <code>xml-forrest</code>.</li> 
>         </ul> 
>         <p>After a build run, Forrest creates a 
> <code>build</code> directory. You
>           can find the generated website in 
> <code>build/xml-forrest/docs/</code>. Forrest
>           also creates a <code>tools/tmp/anttasks/</code> 
> upon its first invocation.
>           These are Centipede-specific compiled Ant tasks.</p> 
>       </section> 
>       <section title="The Forrest DTD's"> 
>         <p>Forrest is the reference repository for the XML 
> Apache documentation
>           DTD's. Special care is taken to provide a set of 
> modular, extensible and
>           well-maintained DTD's for project documentation 
> purposes. This modularity is
>           ensured using the <link
>         
> href="http://www.oasis-open.org/committees/entity/">OASIS 
> catalog</link>
>         mechanism, extensive use of external parameter 
> entities and an entity resolver
>         capable of resolving entities through the 
> aforementioned catalog mechanism. For
>         the docheads amongst us, this means we adhere to the 
> strict use of
>         <code>PUBLIC</code> entity identifiers both in 
> document instances and DTD
>         modules.</p> 
>         <p>We have currently identified the following 
> document types:</p> 
>         <ul> 
>           <li>General documents (<code>document-v11.dtd</code>),</li>

>           <li>How-To's (<code>howto-v10.dtd</code>),</li> 
>           <li>Collections of FAQs (<code>faq-v11.dtd)</code>.</li>

>         </ul> 
>         <p>Some work is also under its way for other document 
> types, in close
>           collaboration with the Cocoon project. You will 
> also find some older document
>           types such as <code>changes</code>, <code>javadoc</code>,
>           <code>specification</code> and <code>todo</code>, 
> which are currently under
>           consideration for automatic generation and 
> maintenance using Gump or Centipede
>           descriptors and the like. DTD's will be subject of 
> serious version management
>           as soon as Forrest has a 1.0 release: they are made 
> to depend upon.</p> 
>         <p>The DTD's are located in 
> <code>src/resources/schema/dtd</code>, and
>           also refer to some character entity collections stored in
>           <code>src/resources/schema/entity</code>. You 
> should read these together with
>           the declarations as found in the 
> <code>src/resources/schema/catalog</code>
>           file. Take special care using the correct 
> <code>PUBLIC</code> identifiers in
>           the DTD declaration of your instances:</p> 
>         <source><![CDATA[<?xml version="1.0"?>
>   <!DOCTYPE document PUBLIC "-//APACHE//DTD Documentation 
> V1.1//EN" "document-v11.dtd">
>   <document>
>     ...   
>   ]]></source> 
>         <p>The exact location of the DTD for validation 
> purposes is obtained by
>           the entity resolver evaluating the mapping scheme 
> as defined in the
>           <code>catalog</code> file. This makes sure that you 
> can move and re-arrange
>           your document instances apart from your DTD files. 
> Later on, the DTD's will be
>           web-accessible from the Forrest website for your 
> perusal.</p> 
>       </section> 
>       <section title="Forrest site generation using Cocoon"> 
>         <p>The <code>docs</code> target of the Forrest build 
> environment invokes
>           Cocoon as a command-line application to generate an 
> HTML rendition of the
>           project's documentation. It is not within the scope 
> of this document to explain
>           the Cocoon internals, please read the its own
>           <link 
> href="http://xml.apache.org/cocoon/">documentation</link> to fully
>         understand the power of Cocoon.</p> 
>         <p>Cocoon's site rendition behaviour is configured in 
> a so-called
>           <em>sitemap</em>, a switchboard that binds URL's to 
> an XML processing pipeline.
>           This pipeline typically consists of a Generator, 
> one or more Transformers and a
>           Serializer. Forrest also makes use of Cocoon's 
> aggregation capabilities that
>           merge multiple pipelines into one resulting output 
> document.</p> 
>         <p>A typical page generated using Forrest looks like this:</p>
>         <figure src="../../resources/images/page-areas.png" 
> height="291" width="336"
>          alt="Pages areas"/> 
>         <p>As you might see, this page is currently composed 
> of two XML sources
>           which are transformed by a different XSLT 
> stylesheet, aggregated by Cocoon with
>           a post-aggregation stylesheet adding the overall 
> page grid and look&amp;feel.
>           This simple example is handled by the following 
> <em>sitemap</em> snippets
>           (<code>src/documentation/conf/sitemap.xmap</code>):</p> 
>         <source><![CDATA[<map:match pattern="*.html">
>     <map:aggregate element="site">
>       <map:part src="cocoon:/book-{1}.xml"/>
>       <map:part src="cocoon:/body-{1}.xml" label="content"/>
>     </map:aggregate>
>     <map:call resource="skinit">
>       <map:parameter name="type" value="site2xhtml"/>
>     </map:call>
>   </map:match>]]></source> 
>         <source><![CDATA[<map:match pattern="**book-**.xml">
>     <map:generate src="content/xdocs/{1}book.xml"/>
>     <map:call resource="skinit">
>       <map:parameter name="type" value="book2menu"/>
>     </map:call>         
>   </map:match>]]></source> 
>         <source><![CDATA[<map:match pattern="body-**.xml">
>     <map:generate src="content/xdocs/{1}.xml"/>
>     <map:call resource="skinit">
>       <map:parameter name="type" value="document2html"/>
>     </map:call>    
>   </map:match>]]></source> 
>         <source><![CDATA[<map:resource name="skinit">
>     <map:transform src="skins/@skin@/xslt/html/{type}.xsl">
>       <map:parameter name="isfaq" value="{isfaq}"/>
>     </map:transform>
>     <map:serialize/>
>   </map:resource>]]></source> 
>         <p>The pipeline flow basically is:</p>
>         <ol>
>           <li>A URL matched by the <code>*.html</code> 
> pattern is fetched.</li>
>           <li>The response will be the result of aggregating two
>             'sub-requests':</li> 
>         <ol>
>           <li>A URL matching the <code>**book-**.xml</code> 
> pattern, which is the
>             result of reading the <code>book.xml</code> 
> document and running that through
>             the <code>book2menu</code> stylesheet (which 
> produces an HTML fragment
>             comprising the site navigation, the red area in 
> the image.</li>
>           <li>A URL matching the <code>body-**.xml</code> 
> pattern, corresponding
>             to <code>*.xml</code> transformed using the 
> <code>document2html</code>
>             stylesheet.</li>
>         </ol>
>         <li>The aggregation result is then transformed using the
>           <code>site2xhtml</code> stylesheet which adds the 
> cherries to the cake.</li>
>         </ol>
>         <p>These <em>skin-specific</em> stylesheets are located in
>           
> <code>src/documentation/skins/&lt;nameoftheskin&gt;/xslt/html<
> /code>, so if you
>           want to add your own skin, this is the place to be. 
> Apart from these, there
>           exist a number of other stylesheets located in
>           <code>src\documentation\library\xslt</code>, more 
> importantly:</p>
>         <ul>
>           <li><code>faq2document</code>: transforms documents 
> following the
>             <code>faq-v11</code> DTD to 
> <code>document-v11</code> grammar</li>
>           <li><code>howto2document</code>: transforms 
> documents following the
>             <code>howto-v10</code> DTD to 
> <code>document-v11</code> grammar</li>
>           <li>and some others.</li>
>         </ul>
>         <p>As you see, all documents, regardless of their 
> original DTD, are
>           transformed to the <code>document</code> DTD prior 
> to rendition. This
>           alleviates the burden of adding new skins to 
> implementing 3 simple stylesheets:
>           <code>book2menu</code>, <code>document2html</code>
and
>           <code>site2xhtml</code>.</p>
>       </section> 
>       <section title="Where we are heading at"> 
>         <p>We have been explaining so far where we are now 
> and what already
>           works. The purpose of this document however is to 
> attract newcomers and entice
>           them to start contributing to Forrest. We have a 
> decent generation system for
>           static project documentation, a nice set of skins 
> and some simple but effective
>           DTD's. Our goals however are much more ambitious: 
> we have compiled a
>           <link href="dreams.html">dream list</link> that 
> lists most of them.</p>
>         <ul>
>           <li>Our first ambition is to support the project 
> site generation and
>             maintenance of other Apache projects in an 
> automated manner, starting with our
>             own website as a showcase. We are in the process 
> of setting up the shell
>             scripts and Ant tasks for this and will assist 
> projects transitioning to
>             Forrest.</li>
>           <li>As it is often the case with collaborative open 
> source development,
>             there is no formal planning nor task assignments, 
> and we will stick to that
>             practice. We have however compiled a number of 
> functional work areas:</li>
>         </ul>
>         <table>
>           <tr>
>             <th>URI Namespace Management</th>
>             <td>Forrest will offer access to a broad set of 
> information resources
>               using durable URI's: please review
>               <link 
> href="http://www.w3.org/Provider/Style/URI.html">Tim 
> Berners-Lee</link>'s
>         and <link 
> href="http://www.useit.com/alertbox/990321.html">Jakob
>         Nielsen</link>'s opinion on this. We need a unified 
> URI Namespace management
>         approach, bearing in mind mirroring and 'hackable' URI's.</td>
>         </tr>
>         <tr>
>           <th>Skins</th>
>           <td>We currently have a nice set of skins which 
> should be solidified.
>             Furthermore, we need some serious finetuning of 
> the <code>forrest-site</code>
>             skin that will become the new xml.apache.org 
> look&amp;feel.</td>
>         </tr>
>         <tr>
>           <th>Aggregation<br/>and Syndication</th>
>           <td>We plan to aggregate on a per-project basis a 
> number of relevant
>             developer resources, such as project-related 
> news, download statistics,
>             committer bio pages (with photos!), navigable 
> source code listings and the
>             like. Some of these resources need to be made 
> available across content
>             syndication methods such as <link
>         href="http://blogspace.com/rss/">RSS</link>.</td>
>         </tr>
>         <tr>
>           <th>Build Management</th>
>           <td>Fool-proof automation of Forrest runs and site 
> publication using
>             secure transfer methods and <code>cron</code> jobs.</td>
>         </tr>
>         <tr>
>           <th>Document Types</th>
>           <td>Expanding the collection of DTD's, documenting 
> them using formal
>             How-To's and example documents.</td>
>         </tr>
>         <tr>
>           <th>xml.apache.org</th>
>           <td>Formation of an editorial team for the main 
> xml.apache.org website,
>             working in close collaboration with the
>             <link 
> href="http://xml.apache.org/whoweare.html">PMC</link> and the 
> different
>         sub-project leads.</td>
>         </tr>
>         <tr>
>           <th>Integration</th>
>           <td> Forrest needs to coexist with existing 
> cross-project collaboration
>             tools such as <link 
> href="http://jakarta.apache.org/gump/">Gump</link>,
>         <link href="http://scarab.tigris.org/">Scarab</link> and
>         <link 
> href="http://eyebrowse.tigris.org/">Eyebrowse</link> and provide
>         integrated access to them.</td>
>         </tr>
>         <tr>
>           <th>Authoring support</th>
>           <td>Supporting document authors with preconfigured 
> XML editing
>             solutions.</td>
>         </tr>
>         <tr>
>           <th>Content Management</th>
>           <td>Establish an efficient content management 
> practice, supporting
>             versioning, remote access and work flow, 
> presumably supported by a CMS such as
>             <link 
> href="http://jakarta.apache.org/slide/">Slide</link>.</td>
>         </tr>
>         <tr>
>           <th>Information Accessibility</th>
>           <td>We need to be accessible using a wide range of 
> browsing devices
>             operating on different platforms. Special care 
> should be taken to support the
>             <link href="http://www.w3.org/WAI/">WAI</link> 
> guidelines.</td>
>         </tr>
>         </table>
>       </section> 
>       <section title="Where you can help">
>         <p>By now, you should have a better understanding of 
> Forrest (if that is
>           not the case, consider contributing to this document<img
>           src="../../resources/images/wink_smile.png" 
> height="19" width="19"
>           alt=";-) (c) MSN Messenger"/> to start with). We 
> need more people to get the
>           job done. Forrest is a fun project to work on, and 
> there's something in it for
>           all of us:</p> 
>         <ul> 
>           <li>XML docheads with skills for document analysis and DTD's
>             development</li> 
>           <li>Cocoon developers creating custom Cocoon 
> components connecting
>             Forrest with external resources</li> 
>           <li>Graphical whizzkids for true cross-browser HTML/CSS
>             development</li> 
>           <li>People who believe XSLT will bring peace to 
> earth (it will, but
>             keep that quiet)</li> 
>           <li>Ant wizards able to compete with Nicola and Stefan</li> 
>           <li>Unix shell scripting / CVS / cron gurus, 
> preferably bearded</li> 
>         </ul> 
>         <p>Just drop us a line at <link
>         
> href="mailto:forrest-dev@xml.apache.org">forrest-dev@xml.apach
> e.org</link>.</p>
>       </section>
>       <p>That's all, folks.</p> 
>       <table>
>         <tr>
>           <th>Revision history</th>
>           <th></th>
>         </tr>
>         <tr>
>           <td>2002-05-22</td>
>           <td>Initial version, Steven Noels, stevenn@apache.org</td>
>         </tr>
>       </table>
>     </body>
>   </document>
>   
>   
>   
>   1.1                  
> xml-forrest/src/documentation/resources/images/page-areas.png
>   
>   	<<Binary file>>
>   
>   
>   1.1                  
> xml-forrest/src/documentation/resources/images/wink_smile.png
>   
>   	<<Binary file>>
>   
>   
>   1.9       +10 -8     
> xml-forrest/src/documentation/skins/forrest-site/xslt/html/doc
> ument2html.xsl
>   
>   Index: document2html.xsl
>   ===================================================================
>   RCS file: 
> /home/cvs/xml-forrest/src/documentation/skins/forrest-site/xsl
> t/html/document2html.xsl,v
>   retrieving revision 1.8
>   retrieving revision 1.9
>   diff -u -r1.8 -r1.9
>   --- document2html.xsl	21 May 2002 12:23:30 -0000	1.8
>   +++ document2html.xsl	22 May 2002 12:08:02 -0000	1.9
>   @@ -26,14 +26,16 @@
>            </tr>
>          </table>
>          -->
>   -      <xsl:choose>
>   -        <xsl:when test="normalize-space(header/title)!=''">
>   -          <h2>
>   -            <xsl:value-of select="header/title"/>
>   -          </h2>
>   -        </xsl:when>
>   -        <xsl:otherwise>&#160;</xsl:otherwise>
>   -      </xsl:choose>
>   +      <xsl:if test="normalize-space(header/title)!=''">
>   +        <h2>
>   +          <xsl:value-of select="header/title"/>
>   +        </h2>
>   +      </xsl:if>
>   +      <xsl:if test="normalize-space(header/subtitle)!=''">
>   +        <h3>
>   +          <xsl:value-of select="header/subtitle"/>
>   +        </h3>
>   +      </xsl:if>
>          <xsl:if test="header/authors">
>            <font size="-2">
>              <p>
>   
>   
>   
> 

Mime
View raw message