You are viewing a plain text version of this content. The canonical link for it is here.
Posted to cvs@avalon.apache.org by le...@apache.org on 2002/04/06 16:36:31 UTC

cvs commit: jakarta-avalon/src/proposal/site/anakia/xdocs/stylesheets project.xml site.vsl

leosimons    02/04/06 06:36:31

  Added:       src/proposal/site avalon.gif common.css index.html
                        jakarta.gif
               src/proposal/site/anakia README.txt
               src/proposal/site/anakia/build build.xml velocity.log
               src/proposal/site/anakia/docs avalon.gif common.css
                        index.html
               src/proposal/site/anakia/docs/about index.html
               src/proposal/site/anakia/docs/images avalon.gif
               src/proposal/site/anakia/xdocs common.css index.xml
               src/proposal/site/anakia/xdocs/about index.xml
               src/proposal/site/anakia/xdocs/images avalon.gif
               src/proposal/site/anakia/xdocs/stylesheets project.xml
                        site.vsl
  Log:
  A proposal for the redesign of the avalon website. It deals with formatting and visuals exclusively, not with structure.
  
  Revision  Changes    Path
  1.1                  jakarta-avalon/src/proposal/site/avalon.gif
  
  	<<Binary file>>
  
  
  1.1                  jakarta-avalon/src/proposal/site/common.css
  
  Index: common.css
  ===================================================================
  body {
  	margin: 0px;
  	padding: 10px;
  }
  body, td {
  	background-color: white;
  	color: black;
  	font-family: Arial, Helvetica, sans-serif;
  	font-size: 11pt;
  }
  p {
  	text-align: justify;
  }
  div {
  	margin: 0px;
  	padding: 0px;
  }
  h1, h2, h3, h4, h5, h6 {
  	page-break-after: avoid;
  	color: black;
  	font-family: Verdana, Arial, sans-serif;
  	font-weight: bold;
  	padding: 0px;
  	margin: 0px;
  }
  h1 {
  	border: 1px solid #003366;
  	font-size: 18pt;
  	padding: 2px;
  	margin-bottom: 10px;
  	text-align: center;
  	background-color: #EEEEFF;
  }
  
  h2 {
  	font-size: 16pt;
  	margin-left: 40px;
  }
  h3 {
  	font-size: 14pt;
  	margin-left: 80px;
  	color: #000033;
  }
  h4 {
  	font-size: 12pt;
  	margin-left: 120px;
  	color: #000066;
  }
  h5 {
  	font-size: 11pt;
  	font-style: italic;
  	text-align: center;
  	color: #333399;
  }
  h6 {
  	font-size: 10pt;
  	text-align: center;
  	font-weight: normal;
  	color: #3333CC;
  }
  a, a:visited {
  	color: #336699;
  }
  a:hover, a:active {
  	color: #003366;;
  }
  #contents div { margin-left: 40px; }
  #breadcrumbs {
  	border-top: 1px solid #003366;
  	border-bottom: 1px solid #003366;
  	margin-top: 10px;
  	margin-bottom: 20px;
  	padding-top: 0px;
  	padding-bottom: 2px;
  	padding-left: 10px;
  	font-size: 10pt;
  	font-weight: bold;
  }
  #menu {
  	border: 1px solid #003366;
  	width: 175px;
  }
  #menu h4 {
  	margin: 0px;
  	padding-left: 5px;
  	padding-top: 2px;
  	padding-bottom: 2px;
  	color: black;
  	text-align: left;
  	font-style: normal;
  	font-size: 10pt;
  	background-color: #EEEEFF;
  }
  #submenu h4 {
  	margin: 0px;
  	padding-left: 5px;
  	padding-top: 2px;
  	padding-bottom: 2px;
  	color: black;
  	text-align: left;
  	font-style: normal;
  	font-size: 10pt;
  	background-color: #EEEEFF;
  }
  #submenu ul {
  	margin-top: 5px;
  	margin-bottom: 5px;
  	margin-left: 25px;
  }
  #authors {
  	font-size: 10px;
  	text-align: right;
  }
  #footer {
  	border-top: 1px solid #003366;
  	margin-top: 20px;
  	padding: 3px;
  	text-align: center;
  	font-size: 9pt;
  	font-style: italic;
  }
  a.breadcrumbs, a.breadcrumbs:visited, a.menu, a.menu:visited {
  	font-size: 10pt;
  	font-weight: bold;
  	text-decoration: none;
  }
  a.breadcrumbs:hover, a.breadcrumbs:active, a.menu:hover, a.menu:active {
  	text-decoration: underline;
  }
  .code {
  	font-family: Courier, Courier New, monospace;
  }
  .section .code {
  	margin-left: -40px;
  }
  @media print {
  	body td {
  		font-family: Times New Roman, Zurich Bt, serif;
  		font-size: 10pt;
  	}
  	#menu h4 {
  		margin-left: 0px;
  	}
  	.code {
  		page-break-inside: avoid;
  	}
  	p ul {
  		page-break-inside: avoid;
  	}
  	.section .code {
  		margin-left: 0px;
  	}
  	#menu {
  		display: none;
  		width: 0px;
  	}
  	#contents div {
  		margin: 0px;
  	}
  }
  
  
  
  
  1.1                  jakarta-avalon/src/proposal/site/index.html
  
  Index: index.html
  ===================================================================
  <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
  			"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
  <html xmlns="http://www.w3.org/1999/xhtml">
  <head>
  			<title>Jakarta Redesign Sample - some subproject page</title>
  			<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
  			<meta name="author" value="Leo Simons" />
  			<meta name="email" value="leosimons@apache.org" />
  			
  			<link rel="stylesheet" type="text/css" href="./common.css" />
  </head>
  <body>
  			<!-- header -->
  			<div id="header"><table width="100%" border="0" cellpadding="0" cellspacing="0">
  						<tr>
  									<td id="jakartaLogoTD" valign="middle" align="left"><a href="http://jakarta.apache.org"><img id="jakartaLogo" src="./jakarta.gif" border="0" alt="Jakarta (go to Jakarta Main)" /></a></td>
  									<td id="projectLogoTD" valign="middle" align="right"><a href="http://jakarta.apache.org/avalon"><img id="projectLogo" src="./avalon.gif" border="0" alt="Avalon (go to Avalon Main)" /></a></td>
  						</tr>
  			</table></div>
  			<!-- end header -->
  			<!-- breadcrumb trail (javascript-generated) -->
  			<div id="breadcrumbs">
  						<a href="http://www.apache.org" class="menu">Apache.org</a> &gt;
  						<a href="http://jakarta.apache.org" class="menu">Jakarta</a> &gt; 
  						<a href="http://jakarta.apache.org/avalon" class="menu">Avalon</a> &gt; 
  				<script language="JavaScript" type="text/javascript">
  				<!--
  					function sentenceCase(str) {
  						var lower = str.toLowerCase();
  						return lower.substr(0,1).toUpperCase() + lower.substr(1);
  					}
  					function getDirsAsArray() {
  						var trail = document.location.pathname.split("\\");
  						var lastdir = (trail[trail.length-1].indexOf(".html") != -1)? trail.length-2 : trail.length-1;
  						var urlprefix = "/avalon/";
  						var postfix = " &gt"; 
  						for(var i = 1; i <= lastdir; i++) {
  							document.writeln('<a href=' + urlprefix + trail[i] + ' class="menu">' + sentenceCase(trail[i]) + '</a>'+postfix);
  							urlprefix += trail[i] + "/";
  							if(i == lastdir-1) postfix = ":";
  						}
  					}
  					getDirsAsArray();
  				// -->
  				</script>
  			</div>
  			<!-- end breadcrumb trail -->
  			<!-- main section of page -->
  			<div id="main"><table width="100%" border="0" cellpadding="0" cellspacing="0">
  						<tr>
  									<td valign="top">
  									<!-- menu column -->
  <div id="menu">
  			<div id="submenu">
  						<h4>Essentials</h4>
  						<ul>
  									<li><a href="" class="menu">Overview</a></li>
  									<li><a href="" class="menu">Features</a></li>
  									<li><a href="" class="menu">Getting Started</a></li>
  									<li><a href="" class="menu">Download</a></li>
  									<li><a href="" class="menu">Install</a></li>
  						</ul>
  			</div>
  			<div id="submenu">
  						<h4>Patterns and Design</h4>
  						<ul>
  									<li><a href="" class="menu">Patterns</a></li>
  									<li><a href="" class="menu">Reuse of Standards</a></li>
  									<li><a href="" class="menu">Inversion of Control</a></li>
  									<li><a href="" class="menu">Separation of Concerns</a></li>
  									<li><a href="" class="menu">Security</a></li>
  						</ul>
  			</div>
  			<div id="submenu">
  						<h4>Documentation</h4>
  						<ul>
  									<li><a href="" class="menu">Tutorial</a></li>
  									<li><a href="" class="menu">Reference</a></li>
  									<li><a href="" class="menu">JavaDocs</a></li>
  									<li><a href="" class="menu">Diagrams</a></li>
  						</ul>
  			</div>
  			<div id="submenu">
  						<h4>Development</h4>
  						<ul>
  									<li><a href="" class="menu">Changes</a></li>
  									<li><a href="" class="menu">Todo</a></li>
  									<li><a href="" class="menu">Proposals</a></li>
  									<li><a href="" class="menu">Resolutions</a></li>
  									<li><a href="" class="menu">Links</a></li>
  						</ul>
  			</div>
  </div>
  									<!-- end menu column -->
  									</td>
  									<!-- spacer -->
  									<td width="10">&nbsp;</td>
  									<td valign="top">
  									<!-- contents column -->
  <div id="title"><h1>Title</h1></div>
  <div id="contents">
  			<h2>Section 1</h2>
  						<div class="section">
  						<p>The Avalon framework consists of interfaces that define
  						relationships between commonly used application components,
  						best-of-practice pattern enforcements, and several lightweight
  						convenience implementations of the generic components.</p> 
  
  						<p>What that means is that we define the central interface
  						Component. We also define the relationship (contract) a component
  						has with peers, ancestors and children. This documentation
  						introduces you to those patterns, interfaces and relationships.</p>
  
  						<h3>Target Audience</h3>
  									<div class="section">
  									<p>This documentation is aimed towards developers who are
  									interested in the design principles of Avalon, or wish to
  									develop code that will be incorporated into Avalon.</p>
  									</div>
  
  						<h3>Theoretical Aspects of Component Development</h3>
  									<div class="section">
  									<p>The following documents provide basic theoretical concepts
  									that are applied through-out Avalon's framework. It would be
  									good for a prospective developer to be at least passingly
  									familiar with the concepts outlined in this document. The
  									documentation also provides links to outside sources which
  									can be consulted for further information.</p>
  									
  									<ol>
  												<li><a href="">Patterns</a></li>
  												<li><a href="">Reuse Of Standards</a></li>
  												<li><a href="">Inversion of Control</a></li>
  												<li><a href="">Separation of Concerns</a></li>
  												<li><a href="">Security</a></li>
  									</ol>
  									</div>
  						
  						<h3>Some place with a code block</h3>
  									<div class="section">
  									<p>Here is the code I mentioned:</p>
  									<pre class="code">
  package jsp;
  
  import javax.servlet.*;
  import javax.servlet.http.*;
  import javax.servlet.jsp.*;
  import javax.servlet.jsp.tagext.*;
  
  public class helloworld_1 extends org.apache.jasper.runtime.HttpJspBase {
  
      static {
      }
      public helloworld_1( ) {
      }
  
      private static boolean _jspx_inited = false;
  
      public final void _jspx_init() throws org.apache.jasper.JasperException {
      }
  
      public void _jspService(HttpServletRequest request, HttpServletResponse  response)
          throws java.io.IOException, ServletException {
  
          JspFactory _jspxFactory = null;
          PageContext pageContext = null;
          HttpSession session = null;
          ServletContext application = null;
          ServletConfig config = null;
          JspWriter out = null;
          Object page = this;
          String  _value = null;
          try {
  
              if (_jspx_inited == false) {
                  _jspx_init();
                  _jspx_inited = true;
              }
              _jspxFactory = JspFactory.getDefaultFactory();
              response.setContentType("text/html;charset=8859_1");
              pageContext = _jspxFactory.getPageContext(this, request, response,
  			"", true, 8192, true);
  
              application = pageContext.getServletContext();
              config = pageContext.getServletConfig();
              session = pageContext.getSession();
              out = pageContext.getOut();
  
              out.write("&lt;html&gt;\r\n&lt;head&gt;&lt;title&gt;Hello&lt;/title&gt;&lt;/head&gt;\r\n&lt;body&gt;\r\n&lt;h2&gt;\r\n");
              if (request.getParameter("name") == null) 
                out.write("\r\n          Hello World\r\n");
              else 
                out.write("\r\n          Hello, ");
              request.getParameter("name"); 
                out.write("\r\n&lt;/h2&gt;\r\n&lt;/body&gt;&lt;/html&gt;\r\n");
  
          } catch (Exception ex) {
              if (out != null && out.getBufferSize() != 0)
                  out.clearBuffer();
              if (pageContext != null) pageContext.handlePageException(ex);
          } finally {
              if (out instanceof org.apache.jasper.runtime.JspWriterImpl) { 
                  ((org.apache.jasper.runtime.JspWriterImpl)out).flushBuffer();
              }
              if (_jspxFactory != null) _jspxFactory.releasePageContext(pageContext);
          }
      }
  }
  									</pre>
  									</div>
  						</div>
  			<h2>Overview</h2>
  						<div class="section">
  						<p>The Avalon framework consists of interfaces that define
  						relationships between commonly used application components,
  						best-of-practice pattern enforcements, and several lightweight
  						convenience implementations of the generic components.</p> 
  
  						<p>What that means is that we define the central interface
  						Component. We also define the relationship (contract) a component
  						has with peers, ancestors and children. This documentation
  						introduces you to those patterns, interfaces and relationships.</p>
  
  						<h3>Target Audience</h3>
  									<div class="section">
  									<p>This documentation is aimed towards developers who are
  									interested in the design principles of Avalon, or wish to
  									develop code that will be incorporated into Avalon.</p>
  									</div>
  
  						<h3>Theoretical Aspects of Component Development</h3>
  									<div class="section">
  									<p>The following documents provide basic theoretical concepts
  									that are applied through-out Avalon's framework. It would be
  									good for a prospective developer to be at least passingly
  									familiar with the concepts outlined in this document. The
  									documentation also provides links to outside sources which
  									can be consulted for further information.</p>
  									
  									<ol>
  												<li><a href="">Patterns</a></li>
  												<li><a href="">Reuse Of Standards</a></li>
  												<li><a href="">Inversion of Control</a></li>
  												<li><a href="">Separation of Concerns</a></li>
  												<li><a href="">Security</a></li>
  									</ol>
  									</div>
  						
  						<h3>Some place with a code block</h3>
  									<div class="section">
  									<p>Here is the code I mentioned:</p>
  									<pre class="code">
  package jsp;
  
  import javax.servlet.*;
  import javax.servlet.http.*;
  import javax.servlet.jsp.*;
  import javax.servlet.jsp.tagext.*;
  
  public class helloworld_1 extends org.apache.jasper.runtime.HttpJspBase {
  
      static {
      }
      public helloworld_1( ) {
      }
  
      private static boolean _jspx_inited = false;
  
      public final void _jspx_init() throws org.apache.jasper.JasperException {
      }
  
      public void _jspService(HttpServletRequest request, HttpServletResponse  response)
          throws java.io.IOException, ServletException {
  
          JspFactory _jspxFactory = null;
          PageContext pageContext = null;
          HttpSession session = null;
          ServletContext application = null;
          ServletConfig config = null;
          JspWriter out = null;
          Object page = this;
          String  _value = null;
          try {
  
              if (_jspx_inited == false) {
                  _jspx_init();
                  _jspx_inited = true;
              }
              _jspxFactory = JspFactory.getDefaultFactory();
              response.setContentType("text/html;charset=8859_1");
              pageContext = _jspxFactory.getPageContext(this, request, response,
  			"", true, 8192, true);
  
              application = pageContext.getServletContext();
              config = pageContext.getServletConfig();
              session = pageContext.getSession();
              out = pageContext.getOut();
  
              out.write("&lt;html&gt;\r\n&lt;head&gt;&lt;title&gt;Hello&lt;/title&gt;&lt;/head&gt;\r\n&lt;body&gt;\r\n&lt;h2&gt;\r\n");
              if (request.getParameter("name") == null) 
                out.write("\r\n          Hello World\r\n");
              else 
                out.write("\r\n          Hello, ");
              request.getParameter("name"); 
                out.write("\r\n&lt;/h2&gt;\r\n&lt;/body&gt;&lt;/html&gt;\r\n");
  
          } catch (Exception ex) {
              if (out != null && out.getBufferSize() != 0)
                  out.clearBuffer();
              if (pageContext != null) pageContext.handlePageException(ex);
          } finally {
              if (out instanceof org.apache.jasper.runtime.JspWriterImpl) { 
                  ((org.apache.jasper.runtime.JspWriterImpl)out).flushBuffer();
              }
              if (_jspxFactory != null) _jspxFactory.releasePageContext(pageContext);
          }
      }
  }
  									</pre>
  									</div>
  						</div>
  			<h2>Overview</h2>
  						<div class="section">
  						<p>The Avalon framework consists of interfaces that define
  						relationships between commonly used application components,
  						best-of-practice pattern enforcements, and several lightweight
  						convenience implementations of the generic components.</p> 
  
  						<p>What that means is that we define the central interface
  						Component. We also define the relationship (contract) a component
  						has with peers, ancestors and children. This documentation
  						introduces you to those patterns, interfaces and relationships.</p>
  
  						<h3>Target Audience</h3>
  									<div class="section">
  									<p>This documentation is aimed towards developers who are
  									interested in the design principles of Avalon, or wish to
  									develop code that will be incorporated into Avalon.</p>
  									</div>
  
  						<h3>Theoretical Aspects of Component Development</h3>
  									<div class="section">
  									<p>The following documents provide basic theoretical concepts
  									that are applied through-out Avalon's framework. It would be
  									good for a prospective developer to be at least passingly
  									familiar with the concepts outlined in this document. The
  									documentation also provides links to outside sources which
  									can be consulted for further information.</p>
  									
  									<ol>
  												<li><a href="">Patterns</a></li>
  												<li><a href="">Reuse Of Standards</a></li>
  												<li><a href="">Inversion of Control</a></li>
  												<li><a href="">Separation of Concerns</a></li>
  												<li><a href="">Security</a></li>
  									</ol>
  									</div>
  						
  						<h3>Some place with a code block</h3>
  									<div class="section">
  									<p>Here is the code I mentioned:</p>
  									<pre class="code">
  package jsp;
  
  import javax.servlet.*;
  import javax.servlet.http.*;
  import javax.servlet.jsp.*;
  import javax.servlet.jsp.tagext.*;
  
  public class helloworld_1 extends org.apache.jasper.runtime.HttpJspBase {
  
      static {
      }
      public helloworld_1( ) {
      }
  
      private static boolean _jspx_inited = false;
  
      public final void _jspx_init() throws org.apache.jasper.JasperException {
      }
  
      public void _jspService(HttpServletRequest request, HttpServletResponse  response)
          throws java.io.IOException, ServletException {
  
          JspFactory _jspxFactory = null;
          PageContext pageContext = null;
          HttpSession session = null;
          ServletContext application = null;
          ServletConfig config = null;
          JspWriter out = null;
          Object page = this;
          String  _value = null;
          try {
  
              if (_jspx_inited == false) {
                  _jspx_init();
                  _jspx_inited = true;
              }
              _jspxFactory = JspFactory.getDefaultFactory();
              response.setContentType("text/html;charset=8859_1");
              pageContext = _jspxFactory.getPageContext(this, request, response,
  			"", true, 8192, true);
  
              application = pageContext.getServletContext();
              config = pageContext.getServletConfig();
              session = pageContext.getSession();
              out = pageContext.getOut();
  
              out.write("&lt;html&gt;\r\n&lt;head&gt;&lt;title&gt;Hello&lt;/title&gt;&lt;/head&gt;\r\n&lt;body&gt;\r\n&lt;h2&gt;\r\n");
              if (request.getParameter("name") == null) 
                out.write("\r\n          Hello World\r\n");
              else 
                out.write("\r\n          Hello, ");
              request.getParameter("name"); 
                out.write("\r\n&lt;/h2&gt;\r\n&lt;/body&gt;&lt;/html&gt;\r\n");
  
          } catch (Exception ex) {
              if (out != null && out.getBufferSize() != 0)
                  out.clearBuffer();
              if (pageContext != null) pageContext.handlePageException(ex);
          } finally {
              if (out instanceof org.apache.jasper.runtime.JspWriterImpl) { 
                  ((org.apache.jasper.runtime.JspWriterImpl)out).flushBuffer();
              }
              if (_jspxFactory != null) _jspxFactory.releasePageContext(pageContext);
          }
      }
  }
  									</pre>
  									</div>
  						</div>
  <div id="authors">by <a href="mailto:leosimons@apache.org">Leo Simons</a>, <a href="mailto:jon">Jon Stevens</a>, <a href="mailto:paul">Paul Hammant</a></div>
  </div>
  									<!-- end contents column -->
  									</td>
  						</tr>
  			</table></div>
  			<!-- end main section of page -->
  			<!-- footer -->
  			<div id="footer">
  						 Copyright &copy;1999-2002 by the Apache Software Foundation. All Rights Reserved.
  			</div>
  			<!-- end footer -->
  			
  </body>
  </html>
  
  
  
  1.1                  jakarta-avalon/src/proposal/site/jakarta.gif
  
  	<<Binary file>>
  
  
  1.1                  jakarta-avalon/src/proposal/site/anakia/README.txt
  
  Index: README.txt
  ===================================================================
  This is modified from the anakia example in the
  velocity CVS.
  
  
  
  You need to install Ant first.
  
      <http://jakarta.apache.org/ant/>
  
  Then, you need to get velocity from CVS.
  
  Then, you need to build Velocity:
  
      cd jakarta-velocity/build
      ant
  
  Then, you can run this Anakia example:
  
      cd proposal/site/anakia/build
      ant
  
  thanks.
  
  - Leo
  
  
  1.1                  jakarta-avalon/src/proposal/site/anakia/build/build.xml
  
  Index: build.xml
  ===================================================================
  <project name="build-site" default="docs" basedir=".">
  
      <!-- Initialization properties -->
      <property name="project.name"   value="site"/>
      <property name="docs.src" value="../xdocs"/>
      <property name="docs.dest" value="../docs"/>
      <property name="velocity-cvs.dir" value="/sources/cvs/jakarta/jakarta-velocity"/>
  
      <!-- Build classpath -->
      <path id="classpath">
          <fileset dir="${velocity-cvs.dir}/build/lib">
              <include name="**/*.jar"/>
          </fileset>
          <fileset dir="${velocity-cvs.dir}/bin">
              <include name="**/*.jar"/>
          </fileset>
      </path>
  
      <target name="prepare">
          <available classname="org.apache.velocity.anakia.AnakiaTask" 
                      property="AnakiaTask.present">
             <classpath refid = "classpath"/> 
          </available>
      </target>
  
      <target depends="prepare" name="prepare-error" unless="AnakiaTask.present">
          <echo>
              AnakiaTask is not present! Please check to make sure that 
              velocity.jar is in your classpath.
          </echo>
      </target>
  
      <target name="docs" depends="prepare-error" if="AnakiaTask.present">
          <taskdef name="anakia" 
              classname="org.apache.velocity.anakia.AnakiaTask">
             <classpath refid = "classpath"/> 
          </taskdef>
          <anakia basedir="${docs.src}" destdir="${docs.dest}/"
               extension=".html" style="./site.vsl"
               projectFile="./stylesheets/project.xml"
               excludes="**/stylesheets/**"
               includes="**/*.xml"
               lastModifiedCheck="true"
               templatePath="../xdocs/stylesheets"
          >
          </anakia>
  
          <copy todir="${docs.dest}/images" filtering="no">
              <fileset dir="${docs.src}/images">
                  <include name="**/*.gif"/>
                  <include name="**/*.jpeg"/>
                  <include name="**/*.jpg"/>
              </fileset>
          </copy>
          <copy todir="${docs.dest}" filtering="no">
              <fileset dir="${docs.src}">
                  <include name="**/*.css"/>
              </fileset>
          </copy>
      </target>
  </project>
  
  
  
  1.1                  jakarta-avalon/src/proposal/site/anakia/build/velocity.log
  
  Index: velocity.log
  ===================================================================
  Sat Apr 06 16:01:27 CEST 2002  [debug] AvalonLogSystem initialized using logfile 'velocity.log'
  Sat Apr 06 16:01:27 CEST 2002   [info] ************************************************************** 
  Sat Apr 06 16:01:27 CEST 2002   [info] Starting Jakarta Velocity v1.4-dev
  Sat Apr 06 16:01:27 CEST 2002   [info] RuntimeInstance initializing.
  Sat Apr 06 16:01:27 CEST 2002   [info] Default Properties File: org\apache\velocity\runtime\defaults\velocity.properties
  Sat Apr 06 16:01:27 CEST 2002   [info] Trying to use logger class org.apache.velocity.runtime.log.AvalonLogSystem
  Sat Apr 06 16:01:27 CEST 2002   [info] Using logger class org.apache.velocity.runtime.log.AvalonLogSystem
  Sat Apr 06 16:01:27 CEST 2002   [info] Default ResourceManager initializing. (class org.apache.velocity.runtime.resource.ResourceManagerImpl)
  Sat Apr 06 16:01:27 CEST 2002   [info] Resource Loader Instantiated: org.apache.velocity.runtime.resource.loader.FileResourceLoader
  Sat Apr 06 16:01:27 CEST 2002   [info] FileResourceLoader : initialization starting.
  Sat Apr 06 16:01:27 CEST 2002   [info] FileResourceLoader : adding path 'F:\Sources\cvs\jakarta\jakarta-avalon\src\proposal\site\anakia\xdocs\stylesheets'
  Sat Apr 06 16:01:27 CEST 2002   [info] FileResourceLoader : initialization complete.
  Sat Apr 06 16:01:27 CEST 2002   [info] ResourceCache : initialized. (class org.apache.velocity.runtime.resource.ResourceCacheImpl)
  Sat Apr 06 16:01:27 CEST 2002   [info] Default ResourceManager initialization complete.
  Sat Apr 06 16:01:27 CEST 2002   [info] Loaded System Directive: org.apache.velocity.runtime.directive.Literal
  Sat Apr 06 16:01:27 CEST 2002   [info] Loaded System Directive: org.apache.velocity.runtime.directive.Macro
  Sat Apr 06 16:01:27 CEST 2002   [info] Loaded System Directive: org.apache.velocity.runtime.directive.Parse
  Sat Apr 06 16:01:27 CEST 2002   [info] Loaded System Directive: org.apache.velocity.runtime.directive.Include
  Sat Apr 06 16:01:27 CEST 2002   [info] Loaded System Directive: org.apache.velocity.runtime.directive.Foreach
  Sat Apr 06 16:01:28 CEST 2002   [info] Created: 20 parsers.
  Sat Apr 06 16:01:28 CEST 2002   [info] Velocimacro : initialization starting.
  Sat Apr 06 16:01:28 CEST 2002   [info] Velocimacro : adding VMs from VM library template : VM_global_library.vm
  Sat Apr 06 16:01:28 CEST 2002  [error] ResourceManager : unable to find resource 'VM_global_library.vm' in any resource loader.
  Sat Apr 06 16:01:28 CEST 2002   [info] Velocimacro : error using  VM library template VM_global_library.vm : org.apache.velocity.exception.ResourceNotFoundException: Unable to find resource 'VM_global_library.vm'
  Sat Apr 06 16:01:28 CEST 2002   [info] Velocimacro :  VM library template macro registration complete.
  Sat Apr 06 16:01:28 CEST 2002   [info] Velocimacro : allowInline = true : VMs can be defined inline in templates
  Sat Apr 06 16:01:28 CEST 2002   [info] Velocimacro : allowInlineToOverride = false : VMs defined inline may NOT replace previous VM definitions
  Sat Apr 06 16:01:28 CEST 2002   [info] Velocimacro : allowInlineLocal = false : VMs defined inline will be  global in scope if allowed.
  Sat Apr 06 16:01:28 CEST 2002   [info] Velocimacro : messages on  : VM system will output logging messages
  Sat Apr 06 16:01:28 CEST 2002   [info] Velocimacro : autoload off  : VM system will not automatically reload global library macros
  Sat Apr 06 16:01:28 CEST 2002   [info] Velocimacro : initialization complete.
  Sat Apr 06 16:01:28 CEST 2002   [info] Velocity successfully started.
  Sat Apr 06 16:01:29 CEST 2002   [info] Velocimacro : added new VM : #table( table ) : source = ./site.vsl
  Sat Apr 06 16:01:29 CEST 2002   [info] Velocimacro : added new VM : #tr( tr ) : source = ./site.vsl
  Sat Apr 06 16:01:29 CEST 2002   [info] Velocimacro : added new VM : #td( value ) : source = ./site.vsl
  Sat Apr 06 16:01:29 CEST 2002   [info] Velocimacro : added new VM : #th( value ) : source = ./site.vsl
  Sat Apr 06 16:01:29 CEST 2002   [info] Velocimacro : added new VM : #image( value ) : source = ./site.vsl
  Sat Apr 06 16:01:29 CEST 2002   [info] Velocimacro : added new VM : #source( value ) : source = ./site.vsl
  Sat Apr 06 16:01:29 CEST 2002   [info] Velocimacro : added new VM : #subsection( subsection ) : source = ./site.vsl
  Sat Apr 06 16:01:29 CEST 2002   [info] Velocimacro : added new VM : #section( section ) : source = ./site.vsl
  Sat Apr 06 16:01:29 CEST 2002   [info] Velocimacro : added new VM : #projectAnchor( name value ) : source = ./site.vsl
  Sat Apr 06 16:01:29 CEST 2002   [info] Velocimacro : added new VM : #metaAuthor( author email ) : source = ./site.vsl
  Sat Apr 06 16:01:29 CEST 2002   [info] Velocimacro : added new VM : #printMeta( metaElement ) : source = ./site.vsl
  Sat Apr 06 16:01:29 CEST 2002   [info] Velocimacro : added new VM : #getTitle( ) : source = ./site.vsl
  Sat Apr 06 16:01:29 CEST 2002   [info] Velocimacro : added new VM : #getAuthors( ) : source = ./site.vsl
  Sat Apr 06 16:01:29 CEST 2002   [info] Velocimacro : added new VM : #getMetas( ) : source = ./site.vsl
  Sat Apr 06 16:01:29 CEST 2002   [info] Velocimacro : added new VM : #getStylesheet( ) : source = ./site.vsl
  Sat Apr 06 16:01:29 CEST 2002   [info] Velocimacro : added new VM : #getHeader( ) : source = ./site.vsl
  Sat Apr 06 16:01:29 CEST 2002   [info] Velocimacro : added new VM : #getBreadCrumbs( ) : source = ./site.vsl
  Sat Apr 06 16:01:29 CEST 2002   [info] Velocimacro : added new VM : #getMain( ) : source = ./site.vsl
  Sat Apr 06 16:01:29 CEST 2002   [info] Velocimacro : added new VM : #getMenu( ) : source = ./site.vsl
  Sat Apr 06 16:01:29 CEST 2002   [info] Velocimacro : added new VM : #getContents( ) : source = ./site.vsl
  Sat Apr 06 16:01:29 CEST 2002   [info] Velocimacro : added new VM : #getAuthorList( ) : source = ./site.vsl
  Sat Apr 06 16:01:29 CEST 2002   [info] Velocimacro : added new VM : #getFooter( ) : source = ./site.vsl
  Sat Apr 06 16:01:29 CEST 2002   [info] Velocimacro : added new VM : #document( ) : source = ./site.vsl
  Sat Apr 06 16:01:29 CEST 2002  [error] VM #tr: error : too few arguments to macro. Wanted 1 got 0
  Sat Apr 06 16:01:29 CEST 2002  [error] VM #td: error : too few arguments to macro. Wanted 1 got 0
  Sat Apr 06 16:01:29 CEST 2002  [error] VM #th: error : too few arguments to macro. Wanted 1 got 0
  Sat Apr 06 16:01:30 CEST 2002   [info] ResourceManager : found ./site.vsl with loader org.apache.velocity.runtime.resource.loader.FileResourceLoader
  
  
  
  1.1                  jakarta-avalon/src/proposal/site/anakia/docs/avalon.gif
  
  	<<Binary file>>
  
  
  1.1                  jakarta-avalon/src/proposal/site/anakia/docs/common.css
  
  Index: common.css
  ===================================================================
  body {
  	margin: 0px;
  	padding: 10px;
  }
  body, td {
  	background-color: white;
  	color: black;
  	font-family: Arial, Helvetica, sans-serif;
  	font-size: 11pt;
  }
  p {
  	text-align: justify;
  }
  div {
  	margin: 0px;
  	padding: 0px;
  }
  h1, h2, h3, h4, h5, h6 {
  	page-break-after: avoid;
  	color: black;
  	font-family: Verdana, Arial, sans-serif;
  	font-weight: bold;
  	padding: 0px;
  	margin: 0px;
  }
  h1 {
  	border: 1px solid #003366;
  	font-size: 18pt;
  	padding: 2px;
  	margin-bottom: 10px;
  	text-align: center;
  	background-color: #EEEEFF;
  }
  
  h2 {
  	font-size: 16pt;
  	margin-left: 40px;
  }
  h3 {
  	font-size: 14pt;
  	margin-left: 80px;
  	color: #000033;
  }
  h4 {
  	font-size: 12pt;
  	margin-left: 120px;
  	color: #000066;
  }
  h5 {
  	font-size: 11pt;
  	font-style: italic;
  	text-align: center;
  	color: #333399;
  }
  h6 {
  	font-size: 10pt;
  	text-align: center;
  	font-weight: normal;
  	color: #3333CC;
  }
  a, a:visited {
  	color: #336699;
  }
  a:hover, a:active {
  	color: #003366;;
  }
  #contents div { margin-left: 40px; }
  #breadcrumbs {
  	border-top: 1px solid #003366;
  	border-bottom: 1px solid #003366;
  	margin-top: 10px;
  	margin-bottom: 20px;
  	padding-top: 0px;
  	padding-bottom: 2px;
  	padding-left: 10px;
  	font-size: 10pt;
  	font-weight: bold;
  }
  #menu {
  	border: 1px solid #003366;
  	width: 175px;
  }
  #menu h4 {
  	margin: 0px;
  	padding-left: 5px;
  	padding-top: 2px;
  	padding-bottom: 2px;
  	color: black;
  	text-align: left;
  	font-style: normal;
  	font-size: 10pt;
  	background-color: #EEEEFF;
  }
  #submenu h4 {
  	margin: 0px;
  	padding-left: 5px;
  	padding-top: 2px;
  	padding-bottom: 2px;
  	color: black;
  	text-align: left;
  	font-style: normal;
  	font-size: 10pt;
  	background-color: #EEEEFF;
  }
  #submenu ul {
  	margin-top: 5px;
  	margin-bottom: 5px;
  	margin-left: 25px;
  }
  #authors {
  	font-size: 10px;
  	text-align: right;
  }
  #footer {
  	border-top: 1px solid #003366;
  	margin-top: 20px;
  	padding: 3px;
  	text-align: center;
  	font-size: 9pt;
  	font-style: italic;
  }
  a.breadcrumbs, a.breadcrumbs:visited, a.menu, a.menu:visited {
  	font-size: 10pt;
  	font-weight: bold;
  	text-decoration: none;
  }
  a.breadcrumbs:hover, a.breadcrumbs:active, a.menu:hover, a.menu:active {
  	text-decoration: underline;
  }
  .code {
  	font-family: Courier, Courier New, monospace;
  }
  .section .code {
  	margin-left: -40px;
  }
  @media print {
  	body td {
  		font-family: Times New Roman, Zurich Bt, serif;
  		font-size: 10pt;
  	}
  	#menu h4 {
  		margin-left: 0px;
  	}
  	.code {
  		page-break-inside: avoid;
  	}
  	p ul {
  		page-break-inside: avoid;
  	}
  	.section .code {
  		margin-left: 0px;
  	}
  	#menu {
  		display: none;
  		width: 0px;
  	}
  	#contents div {
  		margin: 0px;
  	}
  }
  
  
  
  
  1.1                  jakarta-avalon/src/proposal/site/anakia/docs/index.html
  
  Index: index.html
  ===================================================================
  	<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
  			"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
  	<html xmlns="http://www.w3.org/1999/xhtml">
          <head>
              <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"/>
              			<title>Jakarta Site - The Jakarta Project</title>
              			            <meta name="author" value="Jon S. Stevens" />
              <meta name="email" value="jon@latchkey.com" />
  											<link rel="stylesheet" type="text/css" href="./common.css" />
          </head>
  
  		<body>
  			<!-- header -->
                      					<div id="header"><a href="http://jakarta.apache.org"><img id="jakartaLogo" src="http://jakarta.apache.org/images/jakarta-logo.gif" alt="Jakarta Project (go to homepage)" border="0" /></a></div>
  			<!-- end header -->
  			<!-- breadcrumb trail -->
  								<div id="breadcrumbs">
  				<a href="http://www.apache.org" class="breadcrumbs">Apache.org</a> &gt;
  				<a href="/" class="breadcrumbs">Jakarta</a> &gt; 
  				<a href="/avalon" class="breadcrumbs">Avalon</a> &gt; 
  																<script language="JavaScript" type="text/javascript">
  				<!--
  					function sentenceCase(str) {
  						var lower = str.toLowerCase();
  						return lower.substr(0,1).toUpperCase() + lower.substr(1);
  					}
  					function getDirsAsArray() {
  						var trail = document.location.pathname.split("\\");
  						var lastdir = (trail[trail.length-1].indexOf(".html") != -1)? trail.length-2 : trail.length-1;
  						var urlprefix = "/avalon/";
  						var postfix = " &gt"; 
  						for(var i = 1; i <= lastdir; i++) {
  							document.writeln('<a href=' + urlprefix + trail[i] + ' class="menu">' + sentenceCase(trail[i]) + '</a>'+postfix);
  							urlprefix += trail[i] + "/";
  							if(i == lastdir-1) postfix = ":";
  						}
  					}
  					getDirsAsArray();
  				// -->
  				</script>
  			</div>
  			<!-- end breadcrumb trail -->
  			<!-- main section of page -->
  								<div id="main"><table width="100%" border="0" cellpadding="0" cellspacing="0">
  						<tr>
  									<td valign="top">
  									<!-- menu column -->
  					                        			<div id="submenu">
  						<h4>Home</h4>
  						<ul>
  				        				            <li>    <a href="./index.html" class="menu">Front Page</a>
  </li>
  				        						</ul>
  			</div>
      			<div id="submenu">
  						<h4>About</h4>
  						<ul>
  				        				            <li>    <a href="./about/index.html" class="menu">About</a>
  </li>
  				        						</ul>
  			</div>
      									<!-- end menu column -->
  									</td>
  									<!-- spacer -->
  									<td width="10">&nbsp;</td>
  									<td valign="top">
  									<!-- contents column -->
  										<div id="contents">
  	<h1>The Jakarta Project</h1>
  
  					<a name="$subsection.getAttributeValue("name")"><h2>Section 1</h2></a>
  	<div class="section">
                                      <p>
  This is an example template that gets processed.
  </p>
                                                  					<img src="./images/avalon.gif" width="329" height="" align="" />
                                                  <table>
                          <tr>
                          		<td colspan="" rowspan="" valign="top" align="left">
  			
          It even has a table in it!
      
  	</td>
              </tr>
              </table>
                                                  <h3>And an h3 tag</h3>
                      	</div>
  				<a name="$subsection.getAttributeValue("name")"><h2>Section 2</h2></a>
  	<div class="section">
                                      <p> here is another section </p>
                      	</div>
  				<a name="$subsection.getAttributeValue("name")"><h2>section 3</h2></a>
  	<div class="section">
                                      <p><a href="./about/index.html">A link to a sub page</a></p>
                      	</div>
  			<div id="authors">by 
  				<a href="Jon S. Stevens">jon@latchkey.com</a>
  		</div>
  
  </div>
  									<!-- end contents column -->
  									</td>
  						</tr>
  			</table></div>
  			<!-- end main section of page -->
  			<!-- footer -->
  								<div id="footer">
  						 Copyright &copy;1999-2002 by the Apache Software Foundation. All Rights Reserved.
  			</div>
  			<!-- end footer -->
  		</body>
  	</html>
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  1.1                  jakarta-avalon/src/proposal/site/anakia/docs/about/index.html
  
  Index: index.html
  ===================================================================
  	<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
  			"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
  	<html xmlns="http://www.w3.org/1999/xhtml">
          <head>
              <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"/>
              			<title>Jakarta Site - The About Section</title>
              			            <meta name="author" value="Jon S. Stevens" />
              <meta name="email" value="jon@latchkey.com" />
  											<link rel="stylesheet" type="text/css" href="./common.css" />
          </head>
  
  		<body>
  			<!-- header -->
                      					<div id="header"><a href="http://jakarta.apache.org"><img id="jakartaLogo" src="http://jakarta.apache.org/images/jakarta-logo.gif" alt="Jakarta Project (go to homepage)" border="0" /></a></div>
  			<!-- end header -->
  			<!-- breadcrumb trail -->
  								<div id="breadcrumbs">
  				<a href="http://www.apache.org" class="breadcrumbs">Apache.org</a> &gt;
  				<a href="/" class="breadcrumbs">Jakarta</a> &gt; 
  				<a href="/avalon" class="breadcrumbs">Avalon</a> &gt; 
  																<script language="JavaScript" type="text/javascript">
  				<!--
  					function sentenceCase(str) {
  						var lower = str.toLowerCase();
  						return lower.substr(0,1).toUpperCase() + lower.substr(1);
  					}
  					function getDirsAsArray() {
  						var trail = document.location.pathname.split("\\");
  						var lastdir = (trail[trail.length-1].indexOf(".html") != -1)? trail.length-2 : trail.length-1;
  						var urlprefix = "/avalon/";
  						var postfix = " &gt"; 
  						for(var i = 1; i <= lastdir; i++) {
  							document.writeln('<a href=' + urlprefix + trail[i] + ' class="menu">' + sentenceCase(trail[i]) + '</a>'+postfix);
  							urlprefix += trail[i] + "/";
  							if(i == lastdir-1) postfix = ":";
  						}
  					}
  					getDirsAsArray();
  				// -->
  				</script>
  			</div>
  			<!-- end breadcrumb trail -->
  			<!-- main section of page -->
  								<div id="main"><table width="100%" border="0" cellpadding="0" cellspacing="0">
  						<tr>
  									<td valign="top">
  									<!-- menu column -->
  					                        			<div id="submenu">
  						<h4>Home</h4>
  						<ul>
  				        				            <li>    <a href="../index.html" class="menu">Front Page</a>
  </li>
  				        						</ul>
  			</div>
      			<div id="submenu">
  						<h4>About</h4>
  						<ul>
  				        				            <li>    <a href="../about/index.html" class="menu">About</a>
  </li>
  				        						</ul>
  			</div>
      									<!-- end menu column -->
  									</td>
  									<!-- spacer -->
  									<td width="10">&nbsp;</td>
  									<td valign="top">
  									<!-- contents column -->
  										<div id="contents">
  	<h1>The About Section</h1>
  
  					<a name="$subsection.getAttributeValue("name")"><h2>Section 1</h2></a>
  	<div class="section">
                                      <p>
  This is the "about" section of your website
  </p>
                                                  						<img src="../images/velocity.gif" width="329" height="105" align="" />
                                                  <table>
                          <tr>
                          		<td colspan="" rowspan="" valign="top" align="left">
  			
          It even has a table in it!
      
  	</td>
              </tr>
              </table>
                                                  <h3>And an h3 tag</h3>
                      	</div>
  				<a name="$subsection.getAttributeValue("name")"><h2>Section 2</h2></a>
  	<div class="section">
                                      <p> here is another section </p>
                      	</div>
  				<a name="$subsection.getAttributeValue("name")"><h2>section 3</h2></a>
  	<div class="section">
                                      <p><a href="../index.html">A link to the home page</a></p>
                      	</div>
  			<div id="authors">by 
  				<a href="Jon S. Stevens">jon@latchkey.com</a>
  		</div>
  
  </div>
  									<!-- end contents column -->
  									</td>
  						</tr>
  			</table></div>
  			<!-- end main section of page -->
  			<!-- footer -->
  								<div id="footer">
  						 Copyright &copy;1999-2002 by the Apache Software Foundation. All Rights Reserved.
  			</div>
  			<!-- end footer -->
  		</body>
  	</html>
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  1.1                  jakarta-avalon/src/proposal/site/anakia/docs/images/avalon.gif
  
  	<<Binary file>>
  
  
  1.1                  jakarta-avalon/src/proposal/site/anakia/xdocs/common.css
  
  Index: common.css
  ===================================================================
  body {
  	margin: 0px;
  	padding: 10px;
  }
  body, td {
  	background-color: white;
  	color: black;
  	font-family: Arial, Helvetica, sans-serif;
  	font-size: 11pt;
  }
  p {
  	text-align: justify;
  }
  div {
  	margin: 0px;
  	padding: 0px;
  }
  h1, h2, h3, h4, h5, h6 {
  	page-break-after: avoid;
  	color: black;
  	font-family: Verdana, Arial, sans-serif;
  	font-weight: bold;
  	padding: 0px;
  	margin: 0px;
  }
  h1 {
  	border: 1px solid #003366;
  	font-size: 18pt;
  	padding: 2px;
  	margin-bottom: 10px;
  	text-align: center;
  	background-color: #EEEEFF;
  }
  
  h2 {
  	font-size: 16pt;
  	margin-left: 40px;
  }
  h3 {
  	font-size: 14pt;
  	margin-left: 80px;
  	color: #000033;
  }
  h4 {
  	font-size: 12pt;
  	margin-left: 120px;
  	color: #000066;
  }
  h5 {
  	font-size: 11pt;
  	font-style: italic;
  	text-align: center;
  	color: #333399;
  }
  h6 {
  	font-size: 10pt;
  	text-align: center;
  	font-weight: normal;
  	color: #3333CC;
  }
  a, a:visited {
  	color: #336699;
  }
  a:hover, a:active {
  	color: #003366;;
  }
  #contents div { margin-left: 40px; }
  #breadcrumbs {
  	border-top: 1px solid #003366;
  	border-bottom: 1px solid #003366;
  	margin-top: 10px;
  	margin-bottom: 20px;
  	padding-top: 0px;
  	padding-bottom: 2px;
  	padding-left: 10px;
  	font-size: 10pt;
  	font-weight: bold;
  }
  #menu {
  	border: 1px solid #003366;
  	width: 175px;
  }
  #menu h4 {
  	margin: 0px;
  	padding-left: 5px;
  	padding-top: 2px;
  	padding-bottom: 2px;
  	color: black;
  	text-align: left;
  	font-style: normal;
  	font-size: 10pt;
  	background-color: #EEEEFF;
  }
  #submenu h4 {
  	margin: 0px;
  	padding-left: 5px;
  	padding-top: 2px;
  	padding-bottom: 2px;
  	color: black;
  	text-align: left;
  	font-style: normal;
  	font-size: 10pt;
  	background-color: #EEEEFF;
  }
  #submenu ul {
  	margin-top: 5px;
  	margin-bottom: 5px;
  	margin-left: 25px;
  }
  #authors {
  	font-size: 10px;
  	text-align: right;
  }
  #footer {
  	border-top: 1px solid #003366;
  	margin-top: 20px;
  	padding: 3px;
  	text-align: center;
  	font-size: 9pt;
  	font-style: italic;
  }
  a.breadcrumbs, a.breadcrumbs:visited, a.menu, a.menu:visited {
  	font-size: 10pt;
  	font-weight: bold;
  	text-decoration: none;
  }
  a.breadcrumbs:hover, a.breadcrumbs:active, a.menu:hover, a.menu:active {
  	text-decoration: underline;
  }
  .code {
  	font-family: Courier, Courier New, monospace;
  }
  .section .code {
  	margin-left: -40px;
  }
  @media print {
  	body td {
  		font-family: Times New Roman, Zurich Bt, serif;
  		font-size: 10pt;
  	}
  	#menu h4 {
  		margin-left: 0px;
  	}
  	.code {
  		page-break-inside: avoid;
  	}
  	p ul {
  		page-break-inside: avoid;
  	}
  	.section .code {
  		margin-left: 0px;
  	}
  	#menu {
  		display: none;
  		width: 0px;
  	}
  	#contents div {
  		margin: 0px;
  	}
  }
  
  
  
  
  1.1                  jakarta-avalon/src/proposal/site/anakia/xdocs/index.xml
  
  Index: index.xml
  ===================================================================
  <?xml version="1.0" encoding="UTF-8"?>
  
  <document>
  
    <properties>
      <author email="jon@latchkey.com">Jon S. Stevens</author>
      <title>The Jakarta Project</title>
    </properties>
  
  <body>
  
    <section name="Section 1">
  
  <p>
  This is an example template that gets processed.
  </p>
  
  <img src="/images/avalon.gif" width="329"/>
  
  <table border="1">
  <tr>
      <td>
          It even has a table in it!
      </td>
  </tr>
  </table>
  
  <h3>And an h3 tag</h3>
  
    </section>
  
  
      <section name="Section 2">
  
      <p> here is another section </p>
      
      </section>
  
      <section name="section 3">
      
      <p><a href="./about/index.html">A link to a sub page</a></p>
  
      </section>
  
  </body>
  </document>
  
  
  1.1                  jakarta-avalon/src/proposal/site/anakia/xdocs/about/index.xml
  
  Index: index.xml
  ===================================================================
  <?xml version="1.0" encoding="UTF-8"?>
  
  <document>
  
    <properties>
      <author email="jon@latchkey.com">Jon S. Stevens</author>
      <title>The About Section</title>
    </properties>
  
  <body>
  
    <section name="Section 1">
  
  <p>
  This is the "about" section of your website
  </p>
  
  <img src="/images/velocity.gif" width="329" height="105"/>
  
  <table border="1">
  <tr>
      <td>
          It even has a table in it!
      </td>
  </tr>
  </table>
  
  <h3>And an h3 tag</h3>
  
    </section>
  
  
      <section name="Section 2">
  
      <p> here is another section </p>
      
      </section>
      
      <section name="section 3">
      
      <p><a href="../index.html">A link to the home page</a></p>
  
      </section>
  </body>
  </document>
  
  
  
  
  1.1                  jakarta-avalon/src/proposal/site/anakia/xdocs/images/avalon.gif
  
  	<<Binary file>>
  
  
  1.1                  jakarta-avalon/src/proposal/site/anakia/xdocs/stylesheets/project.xml
  
  Index: project.xml
  ===================================================================
  <?xml version="1.0" encoding="ISO-8859-1"?>
  <project name="Jakarta Site"
          href="http://jakarta.apache.org/">
  
      <title>Jakarta Site</title>
  
      <body>
          <menu name="Home">
              <item name="Front Page" href="/index.html"/>
          </menu>
      
          <menu name="About">
              <item name="About" href="/about/index.html"/>
          </menu>
      </body>
  </project>
  
  
  
  1.1                  jakarta-avalon/src/proposal/site/anakia/xdocs/stylesheets/site.vsl
  
  Index: site.vsl
  ===================================================================
  ## start the processing
  #document()
  
  ##
  ## Macros for generation of the pages main sections and section contents
  ##
  
  #macro (table $table)
  <table>
      #foreach ($items in $table.getChildren())
          #if ($items.getName().equals("tr"))
              #tr ($items)
          #end
      #end
  </table>
  #end
  
  #macro (tr $tr)
  <tr>
      #foreach ($items in $tr.getChildren())
          #if ($items.getName().equals("td"))
              #td ($items)
          #elseif ($items.getName().equals("th"))
              #th ($items)
          #end
      #end
  </tr>
  #end
  
  #macro (td $value)
  	#if ($value.getAttributeValue("colspan"))
  		#set ($colspan = $value.getAttributeValue("colspan"))
  	#end
  	#if ($value.getAttributeValue("rowspan"))
  		#set ($rowspan = $value.getAttributeValue("rowspan"))
  	#end
  <td colspan="$!colspan" rowspan="$!rowspan" valign="top" align="left">
  	#if ($value.getText().length() != 0 || $value.hasChildren())
  		$value.getContent()
  	#else
  		&nbsp;
  	#end
  </td>
  #end
  
  #macro (th $value)
  	#if ($value.getAttributeValue("colspan"))
  		#set ($colspan = $value.getAttributeValue("colspan"))
  	#end
  	#if ($value.getAttributeValue("rowspan"))
  		#set ($rowspan = $value.getAttributeValue("rowspan"))
  	#end
  <td class="th" colspan="$!colspan" rowspan="$!rowspan" valign="top" align="left">
  	#if ($value.getText().length() != 0 || $value.hasChildren())
  		$value.getContent()
  	#else
  		&nbsp;
  	#end
  </td>
  #end
  
  #macro ( image $value )
  	#if ($value.getAttributeValue("width"))
  		#set ($width=$value.getAttributeValue("width"))
  	#end
  	#if ($value.getAttributeValue("height"))
  		#set ($height=$value.getAttributeValue("height"))
  	#end
  	#if ($value.getAttributeValue("align"))
  		#set ($align=$value.getAttributeValue("align"))
  	#end
  	<img src="$relativePath$value.getAttributeValue("src")" width="$!width" height="$!height" align="$!align" />
  #end
  
  #macro (source $value)
  	<pre class="code">$escape.getText($value.getText())</pre>
  #end
  
  #macro (subsection $subsection)
  		<a name="$subsection.getAttributeValue("name")"><h2>$subsection.getAttributeValue("name")</h2></a>
  		<div class="subsection">
          #foreach ($items in $subsection.getChildren())
              #if ($items.getName().equals("img"))
                  #image ($items)
              #elseif ($items.getName().equals("source"))
                  #source ($items)
              #elseif ($items.getName().equals("table"))
                  #table ($items)
              #else
                  $items
              #end
          #end
  		</div>
  #end
  
  #macro (section $section)
  	<a name="$subsection.getAttributeValue("name")"><h2>$section.getAttributeValue("name")</h2></a>
  	<div class="section">
          #foreach ($items in $section.getChildren())
              #if ($items.getName().equals("img"))
                  #image ($items)
              #elseif ($items.getName().equals("source"))
                  #source ($items)
              #elseif ($items.getName().equals("table"))
                  #table ($items)
              #elseif ($items.getName().equals("subsection"))
                  #subsection ($items)
              #else
                  $items
              #end
          #end
  	</div>
  #end
  
  ##
  ## 'Utility' macros
  ##
  
  #macro (projectAnchor $name $value)
  #if ($value.startsWith("http://"))
      <a href="$value" class="menu">$name</a>
  #elseif ($value.startsWith("/site"))
      <a href="http://jakarta.apache.org$value" class="menu">$name</a>
  #else
      <a href="$relativePath$value" class="menu">$name</a>
  #end
  #end
  
  #macro (metaAuthor $author $email)
              <meta name="author" value="$author" />
              <meta name="email" value="$email" />
  #end
  
  #macro (printMeta $metaElement)
  	<meta #set ($attribs = $metaElement.getAttributes())
  	#foreach ($a in $attribs) $a.getName()="$a.getValue()" #end />
  #end
  
  ## 
  ## Macros for generation of all the bells and whistles around the content
  ##
  
  ## print html <title/> info
  #macro (getTitle)
  			<title>$project.getChild("title").getText() - $root.getChild("properties").getChild("title").getText()</title>
  #end
  
  ## print html <meta author=""/> info
  #macro (getAuthors)
  	#set ($authors = $root.getChild("properties").getChildren("author"))
  	#foreach ( $au in $authors )
  		#metaAuthor ( $au.getText() $au.getAttributeValue("email") )
  	#end
  #end
  
  ## print html <meta/> info
  #macro (getMetas)
  	#set ($metas = $root.getChildren("meta"))
  	#foreach ($meta in $metas) #printMeta($meta) #end
  #end
  
  ## print html <style/> info
  #macro (getStylesheet)
  			<link rel="stylesheet" type="text/css" href="./common.css" />
  #end
  
  ## print html for the page header
  #macro (getHeader)
  #if ($project.getChild("logo"))
  			<div id="header"><table width="100%" border="0" cellpadding="0" cellspacing="0">
  				<tr>
  					<td id="jakartaLogoTD" valign="middle" align="left"><a href="http://jakarta.apache.org"><img id="jakartaLogo" src="http://jakarta.apache.org/images/jakarta-logo.gif" alt="Jakarta Project (go to homepage)" border="0" /></a></td>
  					<td id="projectLogoTD" valign="middle" align="right">
  #set ($logoString = $project.getChild("logo").getAttributeValue("href"))
  #if ($logoString.startsWith("/"))
  						<a href="$project.getAttributeValue("href")"><img id="projectLogo" src="$relativePath$logoString" alt="$project.getChild("logo").getText()" border="0"/></a>
  #else
  						<a href="$project.getAttributeValue("href")"><img id="projectLogo" src="$relativePath/$logoString" alt="$project.getChild("logo").getText()" border="0"/></a>
  #end
  					</td>
  				</tr>
  			</table></div>
  #else
  					<div id="header"><a href="http://jakarta.apache.org"><img id="jakartaLogo" src="http://jakarta.apache.org/images/jakarta-logo.gif" alt="Jakarta Project (go to homepage)" border="0" /></a></div>
  #end
  #end
  
  ## print html to call breadcrumb trail javascript
  #macro (getBreadCrumbs)
  			<div id="breadcrumbs">
  				<a href="http://www.apache.org" class="breadcrumbs">Apache.org</a> &gt;
  				<a href="/" class="breadcrumbs">Jakarta</a> &gt; 
  				<a href="/avalon" class="breadcrumbs">Avalon</a> &gt; 
  				## $relativePath contains the info I need. How to extract it?
  				## the only option I know is to a) change anakia
  				##								b) use javascript
  				<script language="JavaScript" type="text/javascript">
  				<!--
  					function sentenceCase(str) {
  						var lower = str.toLowerCase();
  						return lower.substr(0,1).toUpperCase() + lower.substr(1);
  					}
  					function getDirsAsArray() {
  						var trail = document.location.pathname.split("\\");
  						var lastdir = (trail[trail.length-1].indexOf(".html") != -1)? trail.length-2 : trail.length-1;
  						var urlprefix = "/avalon/";
  						var postfix = " &gt"; 
  						for(var i = 1; i <= lastdir; i++) {
  							document.writeln('<a href=' + urlprefix + trail[i] + ' class="menu">' + sentenceCase(trail[i]) + '</a>'+postfix);
  							urlprefix += trail[i] + "/";
  							if(i == lastdir-1) postfix = ":";
  						}
  					}
  					getDirsAsArray();
  				// -->
  				</script>
  			</div>
  #end
  
  ## create the bulk of the html page
  #macro (getMain)
  			<div id="main"><table width="100%" border="0" cellpadding="0" cellspacing="0">
  						<tr>
  									<td valign="top">
  									<!-- menu column -->
  					                    #getMenu()
  									<!-- end menu column -->
  									</td>
  									<!-- spacer -->
  									<td width="10">&nbsp;</td>
  									<td valign="top">
  									<!-- contents column -->
  										#getContents()
  									<!-- end contents column -->
  									</td>
  						</tr>
  			</table></div>
  #end
  
  #macro (getMenu)
      #set ($menus = $project.getChild("body").getChildren("menu"))
      #foreach ( $menu in $menus )
  			<div id="submenu">
  						<h4>$menu.getAttributeValue("name")</h4>
  						<ul>
  				        #foreach ( $item in $menu.getChildren() )
  				            #set ($name = $item.getAttributeValue("name"))
  				            <li>#projectAnchor($name $item.getAttributeValue("href"))</li>
  				        #end
  						</ul>
  			</div>
      #end
  #end
  
  #macro (getContents)
  <div id="contents">
  	<h1>$root.getChild("properties").getChild("title").getText()</h1>
  
  	#set ($allSections = $root.getChild("body").getChildren("section"))
  	#foreach ( $section in $allSections )
  		#section ($section)
  	#end
  	#getAuthorList()
  </div>
  #end
  
  #macro (getAuthorList)
  	<div id="authors">by 
  	#set ($authors = $root.getChild("properties").getChildren("author"))
  	#foreach ( $au in $authors )
  		<a href="$au.getText()">$au.getAttributeValue("email")</a>
  	#end
  	</div>
  
  #end
  
  ## print html for the page footer
  #macro (getFooter)
  			<div id="footer">
  						 Copyright &copy;1999-2002 by the Apache Software Foundation. All Rights Reserved.
  			</div>
  #end
  
  ##
  ## create the html document, sort of 'root' function
  ##
  
  #macro (document)
  	<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
  			"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
  	<html xmlns="http://www.w3.org/1999/xhtml">
          <head>
              <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"/>
              #getTitle()
              #getAuthors()
  			#getMetas()
  			#getStylesheet()
          </head>
  
  		<body>
  			<!-- header -->
                      #getHeader()
  			<!-- end header -->
  			<!-- breadcrumb trail -->
  					#getBreadCrumbs()
  			<!-- end breadcrumb trail -->
  			<!-- main section of page -->
  					#getMain()
  			<!-- end main section of page -->
  			<!-- footer -->
  					#getFooter()
  			<!-- end footer -->
  		</body>
  	</html>
  #end
  
  
  
  

--
To unsubscribe, e-mail:   <ma...@jakarta.apache.org>
For additional commands, e-mail: <ma...@jakarta.apache.org>