You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@forrest.apache.org by ch...@apache.org on 2004/04/06 23:06:16 UTC

svn commit: rev 9890 - in xml/forrest/trunk: . src/core src/core/context/resources/schema src/core/context/resources/schema/dtd src/core/context/resources/stylesheets src/core/fresh-site/src/documentation src/core/targets

Author: cheche
Date: Tue Apr  6 14:06:15 2004
New Revision: 9890

Added:
   xml/forrest/trunk/src/core/context/resources/schema/dtd/skinconfig-v06.dtd
   xml/forrest/trunk/src/core/context/resources/stylesheets/upgrade-skinconf.xsl
   xml/forrest/trunk/src/core/targets/context.xml
Modified:
   xml/forrest/trunk/build.xml
   xml/forrest/trunk/src/core/context/resources/schema/catalog.xcat
   xml/forrest/trunk/src/core/forrest.build.xml
   xml/forrest/trunk/src/core/fresh-site/src/documentation/skinconf.xml
   xml/forrest/trunk/src/core/targets/validate.xml
   xml/forrest/trunk/status.xml
Log:
Move context targets from forrest.build.xml to targets/context
Use skinconf DTD.
Use xmlvalidate for skinconf
Create a upgradeskinconf.xsl for old skinconf.xml files


Modified: xml/forrest/trunk/build.xml
==============================================================================
--- xml/forrest/trunk/build.xml	(original)
+++ xml/forrest/trunk/build.xml	Tue Apr  6 14:06:15 2004
@@ -211,9 +211,14 @@
     </taskdef>
     <!-- skinconf.xml -->
     <echo message="validating **/skinconf.xml ..."/>
-    <jing compactSyntax="true" rngfile="./src/core/context/resources/schema/relaxng/skinconf.rnc">
-      <fileset dir="./src/core" includes="**/skinconf.xml"/>
-    </jing>
+    <xmlvalidate failonerror="true" lenient="no" warn="yes">
+      <xmlcatalog >
+        <dtd publicId="-//APACHE//DTD Skin Configuration V0.6//EN"
+        location="src/core/context/resources/schema/dtd/skinconfig-v06.dtd"/>
+      </xmlcatalog>
+      <fileset dir="./src/core"
+        includes="**/skinconf.xml" />
+    </xmlvalidate>
     <!-- All stylesheets **/*.xsl -->
     <echo message="validating stylesheets **/*.xsl ..."/>
     <jing rngfile="./src/core/context/resources/schema/relaxng/xslt.rng">

Modified: xml/forrest/trunk/src/core/context/resources/schema/catalog.xcat
==============================================================================
--- xml/forrest/trunk/src/core/context/resources/schema/catalog.xcat	(original)
+++ xml/forrest/trunk/src/core/context/resources/schema/catalog.xcat	Tue Apr  6 14:06:15 2004
@@ -41,6 +41,8 @@
 <!-- New unfinished DTDs -->
 <public publicId="-//APACHE//DTD Documentation V2.0a//EN"
         uri="dtd/v20a/document-v20.dtd"/>
+<public publicId="-//APACHE//DTD Skin Configuration V0.6//EN"
+        uri="dtd/skinconfig-v06.dtd"/>
 <public publicId="-//APACHE//ENTITIES Documentation V2.0a//EN"
         uri="dtd/v20a/document-v20.mod"/>
 <public publicId="-//APACHE//DTD FAQ V2.0a//EN"

Added: xml/forrest/trunk/src/core/context/resources/schema/dtd/skinconfig-v06.dtd
==============================================================================
--- (empty file)
+++ xml/forrest/trunk/src/core/context/resources/schema/dtd/skinconfig-v06.dtd	Tue Apr  6 14:06:15 2004
@@ -0,0 +1,121 @@
+<!-- ===================================================================
+
+COPYRIGHT:
+  Copyright (c) 2004 The Apache Software Foundation.
+
+  Permission to copy in any form is granted provided this notice is
+  included in all copies. Permission to redistribute is granted
+  provided this file is distributed untouched in all its parts and
+  included files.
+
+==================================================================== -->
+<!-- ===================================================================
+                                                                                                   
+     Forrest Skinconf DTD (Version 0.6)
+                                                                                                   
+PURPOSE:
+  This DTD was developed to create a simple Skin configuration 
+  for the Forrest skins.
+  It is an XML-compliant DTD and is maintained by the Apache XML project.
+                                                                                                   
+TYPICAL INVOCATION:
+                   
+                                                                                
+  <!DOCTYPE skinconfig PUBLIC
+       "-//APACHE//DTD Skin Configuration Vx.y//EN"
+       "howto-vxy.dtd">
+                                                                                                   
+  where
+                                                                                                   
+    x := major version
+    y := minor version
+                                                                                                   
+NOTES:
+ 
+FIXME:
+ 
+CHANGE HISTORY:
+  20040406 Initial version. (JJP) 
+ 
+==================================================================== -->
+
+
+  <!ENTITY % links.att 'name CDATA #REQUIRED 
+                        href CDATA #REQUIRED' >  
+ 
+
+  <!ELEMENT skinconfig (disable-lucene?, disable-search?,
+   disable-print-link?, disable-pdf-link?, disable-xml-link?,
+   disable-external-link-image?, disable-compliance-links?,
+   obfuscate-mail-links?, searchsite-domain?, searchsite-name?,
+   project-name?, project-description?, project-url?, project-logo,
+   group-name?, group-description?, group-url?, group-logo,
+   host-url?, host-logo, favicon-url?, year?, vendor?, trail?, 
+   toc?, headings?, extra-css?, colors?, credits?, pdf?)>
+
+  <!ELEMENT disable-lucene (#PCDATA)>
+  <!ELEMENT disable-search (#PCDATA)>
+  <!ELEMENT disable-print-link (#PCDATA)>
+  <!ELEMENT disable-pdf-link (#PCDATA)>
+  <!ELEMENT disable-xml-link (#PCDATA)>
+  <!ELEMENT disable-external-link-image (#PCDATA)>
+  <!ELEMENT disable-compliance-links (#PCDATA)>
+  <!ELEMENT obfuscate-mail-links (#PCDATA)>
+  <!ELEMENT searchsite-domain (#PCDATA)>
+  <!ELEMENT searchsite-name (#PCDATA)>
+  <!ELEMENT project-name (#PCDATA)>
+  <!ELEMENT project-description (#PCDATA)>
+  <!ELEMENT project-url (#PCDATA)>
+  <!ELEMENT project-logo (#PCDATA)>
+  <!ELEMENT group-name (#PCDATA)>
+  <!ELEMENT group-description (#PCDATA)>
+  <!ELEMENT group-url (#PCDATA)>
+  <!ELEMENT group-logo (#PCDATA)>
+  <!ELEMENT host-url (#PCDATA)>
+  <!ELEMENT host-logo (#PCDATA)>
+  <!ELEMENT favicon-url (#PCDATA)>
+  <!ELEMENT year (#PCDATA)>
+  <!ELEMENT vendor (#PCDATA)>
+  <!ELEMENT trail (link1, link2, link3)>
+  <!ELEMENT link1 EMPTY>
+  <!ATTLIST link1 %links.att;>
+  <!ELEMENT link2 EMPTY>
+  <!ATTLIST link2 %links.att;>
+  <!ELEMENT link3 EMPTY>
+  <!ATTLIST link3 %links.att;>
+  
+  <!ELEMENT credits (credit*)>
+   <!ELEMENT credit (name, url, image?, width?, height?)>
+  <!-- id uniquely identifies the tool, and role indicates its function -->
+  <!ATTLIST credit id   CDATA #IMPLIED
+                   role CDATA #IMPLIED>
+  <!ELEMENT name (#PCDATA)>
+  <!ELEMENT url (#PCDATA)>
+  <!ELEMENT image (#PCDATA)>
+  <!ELEMENT width (#PCDATA)>
+  <!ELEMENT height (#PCDATA)>
+  <!ELEMENT toc EMPTY>
+  <!ATTLIST toc max-depth CDATA #IMPLIED>
+  <!ATTLIST toc min-sections CDATA #IMPLIED>
+  <!ATTLIST toc location CDATA #IMPLIED>
+  <!ELEMENT headings EMPTY>
+  <!ATTLIST headings type CDATA #REQUIRED>
+  <!ELEMENT colors (color*)>
+  <!ELEMENT color EMPTY>
+  <!ATTLIST color name   CDATA #IMPLIED
+                  value  CDATA #IMPLIED
+                  link   CDATA #IMPLIED
+                  vlink  CDATA #IMPLIED
+                  hlink  CDATA #IMPLIED>
+  <!ELEMENT extra-css (#PCDATA)>
+  <!ELEMENT pdf (page, margins?)>
+  <!ELEMENT page EMPTY>
+  <!ATTLIST page size (a0|a1|a2|a3|a4|a5|executive|folio|legal|ledger|letter|quarto|tabloid) "letter"
+            orientation (portrait|landscape) "portrait">
+
+  <!ELEMENT margins (top?, bottom?, inner?, outer?)>
+  <!ATTLIST margins double-sided (true | false) "false">
+  <!ELEMENT top (#PCDATA)>
+  <!ELEMENT bottom (#PCDATA)>
+  <!ELEMENT inner (#PCDATA)>
+  <!ELEMENT outer (#PCDATA)>

Added: xml/forrest/trunk/src/core/context/resources/stylesheets/upgrade-skinconf.xsl
==============================================================================
--- (empty file)
+++ xml/forrest/trunk/src/core/context/resources/stylesheets/upgrade-skinconf.xsl	Tue Apr  6 14:06:15 2004
@@ -0,0 +1,32 @@
+<?xml version="1.0"?>
+<!--
+  Copyright 2002-2004 The Apache Software Foundation
+
+  Licensed under the Apache License, Version 2.0 (the "License");
+  you may not use this file except in compliance with the License.
+  You may obtain a copy of the License at
+
+      http://www.apache.org/licenses/LICENSE-2.0
+
+  Unless required by applicable law or agreed to in writing, software
+  distributed under the License is distributed on an "AS IS" BASIS,
+  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+  See the License for the specific language governing permissions and
+  limitations under the License.
+-->
+<!--+
+    | Upgrade skin from previous versions.
+    |
+    +-->
+
+<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
+
+<xsl:import href="copyover.xsl"/>
+  <xsl:template match="toc/@level">
+   <xsl:attribute name="max-depth">
+     <xsl:value-of select="."/>
+   </xsl:attribute>
+     <xsl:apply-templates />
+  </xsl:template>
+
+</xsl:stylesheet>

Modified: xml/forrest/trunk/src/core/forrest.build.xml
==============================================================================
--- xml/forrest/trunk/src/core/forrest.build.xml	(original)
+++ xml/forrest/trunk/src/core/forrest.build.xml	Tue Apr  6 14:06:15 2004
@@ -163,7 +163,7 @@
   <!-- Load properties from Forrest's default skinconf.xml, unless a user's is defined -->
   <target name="load-forrest-props" unless="skinconf.present">
     <xmlproperty file="${forrest.home}/context/skinconf.xml"
-      collapseattributes="true" validate="true"/>
+      collapseattributes="true" validate="${validate.skinconf}"/>
     <!-- Forrest skinconf should have been previously validated in buld.xml -->
   </target>
 

Modified: xml/forrest/trunk/src/core/fresh-site/src/documentation/skinconf.xml
==============================================================================
--- xml/forrest/trunk/src/core/fresh-site/src/documentation/skinconf.xml	(original)
+++ xml/forrest/trunk/src/core/fresh-site/src/documentation/skinconf.xml	Tue Apr  6 14:06:15 2004
@@ -20,86 +20,9 @@
 be used to configure the chosen Forrest skin.
 -->
 
-<!DOCTYPE skinconfig [
-
-  <!ENTITY % links.att 'name CDATA #REQUIRED'>
-  <!ENTITY % link.att 'name CDATA #REQUIRED href CDATA #REQUIRED'>
-  <!ELEMENT skinconfig (disable-lucene?, disable-search?, disable-print-link?, disable-pdf-link?,
-  disable-xml-link?, disable-external-link-image?, disable-compliance-links?, obfuscate-mail-links?, searchsite-domain?, searchsite-name?,
-  project-name, project-description?, project-url, project-logo, group-name?, group-description?, group-url?, group-logo?,
-  host-url?, host-logo?, favicon-url?, year?, vendor?, trail?, toc?, headings?, colors?, extra-css?, pdf?, credits?)*>
-  <!ELEMENT credits (credit*)>
-  <!ELEMENT credit (name, url, image?, width?, height?)>
-  <!-- id uniquely identifies the tool, and role indicates its function -->
-  <!ATTLIST credit id   CDATA #IMPLIED
-                   role CDATA #IMPLIED>
-  <!ELEMENT disable-lucene (#PCDATA)>
-  <!ELEMENT disable-search (#PCDATA)>
-  <!ELEMENT disable-print-link (#PCDATA)>
-  <!ELEMENT disable-pdf-link (#PCDATA)>
-  <!ELEMENT disable-xml-link (#PCDATA)>
-  <!ELEMENT disable-external-link-image (#PCDATA)>    
-  <!ELEMENT disable-compliance-links (#PCDATA)>   
-  <!ELEMENT obfuscate-mail-links (#PCDATA)>   
-  <!ELEMENT searchsite-domain (#PCDATA)>
-  <!ELEMENT searchsite-name (#PCDATA)>  
-  <!ELEMENT project-name (#PCDATA)>
-  <!ELEMENT project-description (#PCDATA)>
-  <!ELEMENT project-url (#PCDATA)>
-  <!ELEMENT project-logo (#PCDATA)>
-  <!ATTLIST project-logo width CDATA #IMPLIED 
-                         height CDATA #IMPLIED>
-  <!ELEMENT group-name (#PCDATA)>
-  <!ELEMENT group-description (#PCDATA)>
-  <!ELEMENT group-url (#PCDATA)>
-  <!ELEMENT group-logo (#PCDATA)>
-  <!ATTLIST group-logo width CDATA #IMPLIED 
-                       height CDATA #IMPLIED>
-  <!ELEMENT host-url (#PCDATA)>
-  <!ELEMENT host-logo (#PCDATA)>
-  <!ATTLIST host-logo width CDATA #IMPLIED 
-                      height CDATA #IMPLIED>
-  <!ELEMENT favicon-url (#PCDATA)>
-  <!ELEMENT year (#PCDATA)>
-  <!ELEMENT vendor (#PCDATA)>
-  <!ELEMENT trail (link1, link2, link3)>
-  <!ELEMENT link1 EMPTY>
-  <!-- Seems we can't use param entity refs until this is DTDified -->
-  <!ATTLIST link1 name CDATA #REQUIRED href CDATA #IMPLIED>
-  <!ELEMENT link2 EMPTY>
-  <!ATTLIST link2 name CDATA #REQUIRED href CDATA #IMPLIED>
-  <!ELEMENT link3 EMPTY>
-  <!ATTLIST link3 name CDATA #REQUIRED href CDATA #IMPLIED>
-  <!ELEMENT name (#PCDATA)>
-  <!ELEMENT url (#PCDATA)>
-  <!ELEMENT image (#PCDATA)>
-  <!ELEMENT width (#PCDATA)>
-  <!ELEMENT height (#PCDATA)>
-  <!ELEMENT toc EMPTY>
-  <!ATTLIST toc max-depth CDATA #IMPLIED min-sections CDATA #IMPLIED
-            location CDATA #IMPLIED>
-  <!ELEMENT headings EMPTY>
-  <!ATTLIST headings type CDATA #REQUIRED>
-  <!ELEMENT colors (color*)>
-  <!ELEMENT color EMPTY>
-  <!ATTLIST color name CDATA #REQUIRED 
-                  value CDATA #REQUIRED
-                  font CDATA #IMPLIED
-                  link CDATA #IMPLIED
-                  vlink CDATA #IMPLIED
-                  hlink CDATA #IMPLIED>
-  <!ELEMENT extra-css (#PCDATA)>
-  <!ELEMENT page EMPTY>
-  <!ATTLIST page size (a0|a1|a2|a3|a4|a5|executive|folio|legal|ledger|letter|quarto|tabloid) "letter"
-                 orientation (portrait|landscape) "portrait"> 
-  <!ELEMENT top (#PCDATA)>
-  <!ELEMENT bottom (#PCDATA)>
-  <!ELEMENT inner (#PCDATA)>
-  <!ELEMENT outer (#PCDATA)>
-  <!ELEMENT margins (top?, bottom?, inner?, outer?)>
-  <!ATTLIST margins double-sided (true | false) "false">
-  <!ELEMENT pdf (page, margins?)>
-  ]>
+ <!DOCTYPE skinconfig PUBLIC
+        "-//APACHE//DTD Skin Configuration V0.6//EN"
+        "skinconfig-v06.dtd">
 
 <skinconfig>
   <!-- Do we want to disable the Lucene search box? -->
@@ -284,19 +207,20 @@
 -->
 
   </colors>
-  
+  <!-- FIXME: this element does not validate (JJP) 
   <extra-css>
   </extra-css>
-  
+  -->
+ 
   <!-- Settings specific to PDF output.  -->
+    <!-- FIXME: this element does not validate (JJP)
   <pdf>
-    <!--
        Supported page sizes are a0, a1, a2, a3, a4, a5, executive,
        folio, legal, ledger, letter, quarto, tabloid (default letter).
        Supported page orientations are portrait, landscape (default
        portrait).
-    -->
     <page size="letter" orientation="portrait"/>
+    -->
 
     <!--
        Margins can be specified for top, bottom, inner, and outer
@@ -305,7 +229,6 @@
        inner edge will be left on odd pages, right on even pages,
        the outer edge vice versa.
        Specified below are the default settings.
-    -->
     <margins double-sided="false">
       <top>1in</top>
       <bottom>1in</bottom>
@@ -313,6 +236,7 @@
       <outer>1in</outer>
     </margins>
   </pdf>
+    -->
 
   <!-- Credits are typically rendered as a set of small clickable images in the
   page footer -->

Added: xml/forrest/trunk/src/core/targets/context.xml
==============================================================================
--- (empty file)
+++ xml/forrest/trunk/src/core/targets/context.xml	Tue Apr  6 14:06:15 2004
@@ -0,0 +1,183 @@
+<?xml version="1.0"?>
+<!--
+  Copyright 2002-2004 The Apache Software Foundation
+
+  Licensed under the Apache License, Version 2.0 (the "License");
+  you may not use this file except in compliance with the License.
+  You may obtain a copy of the License at
+
+      http://www.apache.org/licenses/LICENSE-2.0
+
+  Unless required by applicable law or agreed to in writing, software
+  distributed under the License is distributed on an "AS IS" BASIS,
+  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+  See the License for the specific language governing permissions and
+  limitations under the License.
+-->
+<project default="prepare-context" basedir="." name="context">
+
+  <!-- ===============================================================
+       Makes the Cocoon context dir to work in and fills it completely.
+       That is by depending on:
+         bare-context     // for forrest predefines.  
+         project-context  // for project's actual content
+           (now: copy stuff from extra param defining the content dir
+            with siteplan: based on that)
+         control-context  // for derivatives from siteplan 
+           (now: no need, waiting on siteplan future)
+            with siteplan: e.g. sitemap and catalog)
+       param: name of the skin to use ${project.skin} (now)
+       param: location to find the content ${content-dir}(now)
+       param: location to make temporary context-dir ${project.webapp} 
+       =============================================================== -->
+  <target name="prepare-context" depends="init, bare-context, project-context" />
+
+  <!-- ===============================================================
+       Fills the Cocoon context dir for local execution 
+       with the forrest-predefines.
+       param: name of the skin to use ${project.skin} (now)
+       param: location to make temporary context-dir ${project.webapp} 
+       =============================================================== -->
+  <target name="bare-context" depends="init" >
+    <echo>____________________________________</echo>
+    <echo>Using skin ${project.skin}</echo>
+    <echo>____________________________________</echo>
+    <filter token="skin"              value="${project.skin}" />
+    <filter token="menu-scheme"       value="${project.menu-scheme}" />
+    <filter token="bugtracking-url"   value="${project.bugtracking-url}" />
+    <filter token="local-catalog"     value="${catalog}" />
+    <filter token="catalog-verbosity" value="${forrest.catalog.verbosity}" />
+    <filter token="i18n"              value="${project.i18n}" />
+
+    <copy todir="${project.webapp}/" >
+      <fileset dir="${forrest.home}/context" >
+        <exclude name="*.xmap" />
+        <exclude name="skins/**" />
+        <exclude name="resources/**" />        
+        <exclude name="WEB-INF/*.xconf" />
+        <exclude name="jettyconf.xml" />
+      </fileset>
+    </copy>
+
+    <copy todir="${project.webapp}/" filtering="true" overwrite="true">
+      <fileset dir="${forrest.home}/context" >
+        <include name="*.xmap" />
+        <include name="WEB-INF/*.xconf" />
+        <exclude name="WEB-INF/cocoon-live.xconf"/>
+      </fileset>
+    </copy>
+
+    <!--Hack to stop the classpath definition breaking. If the project has any
+    custom jars or classes, they will be added to these dirs -->
+    <mkdir dir="${project.webapp}/WEB-INF/lib"/>
+    <mkdir dir="${project.webapp}/WEB-INF/classes"/>
+  </target>
+
+  <!-- ===============================================================
+       Fills the Cocoon context dir to work in 
+       with the project-content-parts 
+         (now: copy stuff from param ${content-dir}
+          with siteplan: based on that plan; should allow more different parts)
+       param: location to find the content ${content-dir}(now)
+       param: location to find project descriptors == ${project.home} 
+       param: location to make temporary context-dir ${project.webapp} 
+       =============================================================== -->
+  <target name="project-context" depends="examine-proj, ensure-content,
+    validate, init, bare-context, copy-sitemap, copy-conf, upgrade-skinconf, copy-status"/>
+
+  <target name="copy-conf" if="conf.present">
+    <copy toDir="${project.webapp}/WEB-INF" filtering="true"
+      overwrite="true" failonerror="false">
+      <fileset dir="${conf-dir}">
+        <exclude name="*-${version}.xconf"/>
+      </fileset>
+    </copy>
+    <copy toDir="${project.webapp}/WEB-INF" filtering="true" overwrite="true"
+      failonerror="false">
+      <fileset dir="${conf-dir}">
+        <include name="*-${version}.*"/>
+      </fileset>
+      <mapper type="glob" from="*-${version}.xconf" to="*.xconf"/>
+    </copy>
+   </target>
+
+  <target name="copy-sitemap" if="sitemap.present">
+    <copy toDir="${project.webapp}" filtering="true" overwrite="true" failonerror="false">
+      <fileset dir="${sitemap-dir}">
+        <exclude name="*-${version}.xmap"/>
+        <include name="*.xmap"/>
+        <include name="jtidy.properties"/>
+      </fileset>
+    </copy>
+    <copy toDir="${project.webapp}" filtering="true" overwrite="true">
+      <fileset dir="${sitemap-dir}">
+        <include name="*-${version}.xmap"/>
+      </fileset>
+      <mapper type="glob" from="*-${version}.xmap" to="*.xmap"/>
+    </copy>
+  </target>
+
+  <target name="upgrade-skinconf" if="skinconf.present">
+     <!-- FIXME: hardcode values here -->
+     <xslt in="${skinconf}" out="${project.webapp}/skinconf.xml" 
+           style="${forrest.home}/context/resources/stylesheets/upgrade-skinconf.xsl">
+      <xmlcatalog refid="fcatalog"/>
+    </xslt>
+  </target>
+
+  <target name="copy-status" if="status.present">
+    <copy file="${status}" todir="${project.webapp}" />
+  </target>
+
+  <!-- ===============================================================
+       Checks if the current project contains Forrest docs, and sets
+       the 'project.empty' property if no docs are found.
+       =============================================================== -->
+  <target name="check-contentdir" depends="init-props">
+    <available property="project.content.present" file="${content-dir}"
+      type="dir"/>
+  </target>
+
+  <target name="ensure-nocontent" depends="check-contentdir"
+    if="project.content.present" unless="skip.contentcheck">
+    <fail>
+------------------------------------------------
+This project already has content in ${content-dir}.
+
+Run with '-Dskip.contentcheck=yes' to ignore existing content.
+------------------------------------------------
+    </fail>
+  </target>
+
+  <target name="ensure-content" depends="check-contentdir"
+    unless="project.content.present">
+    <fail>
+------------------------------------------------
+This project has no content in ${content-dir}.
+Use the 'seed' target to create a template project structure.
+------------------------------------------------
+    </fail>
+  </target>
+
+ 
+  <!-- ===============================================================
+       Prepares the Lucene context indexing the site. [RPR]
+       =============================================================== -->
+  <target name="lucene-index" depends="init, -prepare-classpath" if="use-lucene-indexer">
+    <java classname="org.apache.forrest.search.ForrestIndexer"
+      dir="${project.webapp}"
+      fork="true"
+      failonerror="true"
+      maxmemory="${forrest.maxmemory}">
+      <jvmarg line="${forrest.jvmargs}"/>
+      <jvmarg line="${forrest.basic.jvmargs}"/>
+      <jvmarg value="-Djava.endorsed.dirs=${forrest.home}/lib/endorsed${path.separator}${java.endorsed.dirs}"/>
+      <arg line="-index ${project.index-dir}"/>
+      <arg value="${xdocs-dir}"/>
+      <classpath>
+        <path refid="forrest.cp"/>
+      </classpath>
+    </java>
+  </target>
+
+</project>

Modified: xml/forrest/trunk/src/core/targets/validate.xml
==============================================================================
--- xml/forrest/trunk/src/core/targets/validate.xml	(original)
+++ xml/forrest/trunk/src/core/targets/validate.xml	Tue Apr  6 14:06:15 2004
@@ -123,7 +123,7 @@
     </fail>
     <xmlvalidate failonerror="${forrest.validate.site.failonerror}" lenient="no" warn="yes">
       <attribute name="http://apache.org/xml/features/validation/dynamic"  value="true"/>
-      <xmlcatalog>
+      <xmlcatalog id="fcatalog" >
         <catalogpath>
           <pathelement
             location="${forrest.home}/context/resources/schema/catalog.xcat"/>
@@ -140,13 +140,7 @@
   <target name="validate-xdocs" depends="validation-props" if="validate.xdocs">
     <xmlvalidate failonerror="${forrest.validate.xdocs.failonerror}" lenient="no" warn="yes">
       <attribute name="http://apache.org/xml/features/validation/dynamic"  value="true"/>
-      <xmlcatalog>
-        <catalogpath>
-          <pathelement
-            location="${forrest.home}/context/resources/schema/catalog.xcat"/>
-          <pathelement location="${catalog}"/>
-        </catalogpath>
-      </xmlcatalog>
+      <xmlcatalog refid="fcatalog" />
       <fileset dir="${xdocs-dir}"
         includes="${forrest.validate.xdocs.includes}"
         excludes="${forrest.validate.xdocs.excludes}"/>
@@ -155,13 +149,14 @@
   </target>
 
   <target name="validate-skinconf" depends="validation-props"
-    if="validate.skinconf">
-    <jing compactSyntax="true"
-      rngfile="${forrest.home}/context/resources/schema/relaxng/skinconf.rnc">
+          if="validate.skinconf">
+    <xmlvalidate failonerror="${forrest.validate.skinconf.failonerror}" 
+                 lenient="no" warn="yes">
+      <xmlcatalog refid="fcatalog" />
       <fileset dir="${content-dir}"
-        includes="${forrest.validate.skinconf.includes}"
-        excludes="${forrest.validate.skinconf.excludes}"/>
-    </jing>
+               includes="${forrest.validate.skinconf.includes}"
+               excludes="${forrest.validate.skinconf.excludes}"/>
+    </xmlvalidate>
     <echo message="...validated skinconf"/>
   </target>
 
@@ -234,4 +229,4 @@
     <echo message="...validated existence of skin '${project.skin}'"/>
   </target>
   
-  </project>
\ No newline at end of file
+  </project>

Modified: xml/forrest/trunk/status.xml
==============================================================================
--- xml/forrest/trunk/status.xml	(original)
+++ xml/forrest/trunk/status.xml	Tue Apr  6 14:06:15 2004
@@ -45,6 +45,12 @@
   <changes>
     <release version="0.6-dev" date="unreleased">
       <action dev="JJP" type="add" context="core" >
+        Move context targets from forrest.build.xml to targets/context
+        Use skinconf DTD.
+	Use xmlvalidate for skinconf
+        Create a upgradeskinconf.xsl for old skinconf.xml files
+      </action>
+      <action dev="JJP" type="add" context="core" >
         The language alternative div displays language in your own language.
       </action>
       <action dev="DB" type="add" context="core" >