You are viewing a plain text version of this content. The canonical link for it is here.
Posted to svn@forrest.apache.org by rg...@apache.org on 2005/04/14 12:13:09 UTC

svn commit: r161254 [1/2] - in forrest/trunk/plugins/org.apache.forrest.plugin.internal.IMSManifest: ./ resources/ resources/stylesheets/ src/ src/documentation/ src/documentation/classes/ src/documentation/content/ src/documentation/content/xdocs/ src/documentation/content/xdocs/images/ src/resources/ src/resources/schema/

Author: rgardler
Date: Thu Apr 14 03:13:04 2005
New Revision: 161254

URL: http://svn.apache.org/viewcvs?view=rev&rev=161254
Log:
re-added strangely deleted files during move from forrest/trunk/plugins/IMSManifest r161249

Added:
    forrest/trunk/plugins/org.apache.forrest.plugin.internal.IMSManifest/README.txt   (with props)
    forrest/trunk/plugins/org.apache.forrest.plugin.internal.IMSManifest/build.xml   (with props)
    forrest/trunk/plugins/org.apache.forrest.plugin.internal.IMSManifest/forrest.properties   (with props)
    forrest/trunk/plugins/org.apache.forrest.plugin.internal.IMSManifest/internal.xmap   (with props)
    forrest/trunk/plugins/org.apache.forrest.plugin.internal.IMSManifest/resources/
    forrest/trunk/plugins/org.apache.forrest.plugin.internal.IMSManifest/resources/stylesheets/
    forrest/trunk/plugins/org.apache.forrest.plugin.internal.IMSManifest/resources/stylesheets/imsmanifest2site.xsl   (with props)
    forrest/trunk/plugins/org.apache.forrest.plugin.internal.IMSManifest/resources/stylesheets/imsmanifest2tabs.xsl   (with props)
    forrest/trunk/plugins/org.apache.forrest.plugin.internal.IMSManifest/resources/stylesheets/pathutils.xsl   (with props)
    forrest/trunk/plugins/org.apache.forrest.plugin.internal.IMSManifest/resources/stylesheets/repositoryUtils.xsl   (with props)
    forrest/trunk/plugins/org.apache.forrest.plugin.internal.IMSManifest/src/
    forrest/trunk/plugins/org.apache.forrest.plugin.internal.IMSManifest/src/documentation/
    forrest/trunk/plugins/org.apache.forrest.plugin.internal.IMSManifest/src/documentation/classes/
    forrest/trunk/plugins/org.apache.forrest.plugin.internal.IMSManifest/src/documentation/classes/CatalogManager.properties   (with props)
    forrest/trunk/plugins/org.apache.forrest.plugin.internal.IMSManifest/src/documentation/content/
    forrest/trunk/plugins/org.apache.forrest.plugin.internal.IMSManifest/src/documentation/content/xdocs/
    forrest/trunk/plugins/org.apache.forrest.plugin.internal.IMSManifest/src/documentation/content/xdocs/favicon.ico   (with props)
    forrest/trunk/plugins/org.apache.forrest.plugin.internal.IMSManifest/src/documentation/content/xdocs/images/
    forrest/trunk/plugins/org.apache.forrest.plugin.internal.IMSManifest/src/documentation/content/xdocs/images/group.svg   (with props)
    forrest/trunk/plugins/org.apache.forrest.plugin.internal.IMSManifest/src/documentation/content/xdocs/images/icon.png   (with props)
    forrest/trunk/plugins/org.apache.forrest.plugin.internal.IMSManifest/src/documentation/content/xdocs/images/project.svg   (with props)
    forrest/trunk/plugins/org.apache.forrest.plugin.internal.IMSManifest/src/documentation/content/xdocs/imsmanifest.xml   (with props)
    forrest/trunk/plugins/org.apache.forrest.plugin.internal.IMSManifest/src/documentation/content/xdocs/index.xml   (with props)
    forrest/trunk/plugins/org.apache.forrest.plugin.internal.IMSManifest/src/documentation/skinconf.xml   (with props)
    forrest/trunk/plugins/org.apache.forrest.plugin.internal.IMSManifest/src/resources/
    forrest/trunk/plugins/org.apache.forrest.plugin.internal.IMSManifest/src/resources/schema/
    forrest/trunk/plugins/org.apache.forrest.plugin.internal.IMSManifest/src/resources/schema/ims_xml.xsd   (with props)
    forrest/trunk/plugins/org.apache.forrest.plugin.internal.IMSManifest/src/resources/schema/imscp_rootv1p1p2.xsd   (with props)
    forrest/trunk/plugins/org.apache.forrest.plugin.internal.IMSManifest/status.xml   (with props)

Added: forrest/trunk/plugins/org.apache.forrest.plugin.internal.IMSManifest/README.txt
URL: http://svn.apache.org/viewcvs/forrest/trunk/plugins/org.apache.forrest.plugin.internal.IMSManifest/README.txt?view=auto&rev=161254
==============================================================================
--- forrest/trunk/plugins/org.apache.forrest.plugin.internal.IMSManifest/README.txt (added)
+++ forrest/trunk/plugins/org.apache.forrest.plugin.internal.IMSManifest/README.txt Thu Apr 14 03:13:04 2005
@@ -0,0 +1,28 @@
+org.apache.forrest.plugin.internal.IMSManifest Plugin
+===================
+
+This plugin allows IMS SCORM Manifest files to be used as an alternative to the 
+site.xml and tabs.xml files. If a file named imsmanifest.xml is found in 
+the xdocs directory of a project this will be used to generate the reqruied
+files for Forrest to run.
+
+Also allows content from another Content Package defiend with an IMS Manifest 
+to be included within a second Content Package.
+
+Known Issues
+============
+
+
+Version
+=======
+
+0.1-dev
+
+Code, interfaces and functionality are likely to change. Use at your own risk.
+
+ToDo
+====
+
+- documentation
+  
+

Propchange: forrest/trunk/plugins/org.apache.forrest.plugin.internal.IMSManifest/README.txt
------------------------------------------------------------------------------
    svn:eol-style = native

Added: forrest/trunk/plugins/org.apache.forrest.plugin.internal.IMSManifest/build.xml
URL: http://svn.apache.org/viewcvs/forrest/trunk/plugins/org.apache.forrest.plugin.internal.IMSManifest/build.xml?view=auto&rev=161254
==============================================================================
--- forrest/trunk/plugins/org.apache.forrest.plugin.internal.IMSManifest/build.xml (added)
+++ forrest/trunk/plugins/org.apache.forrest.plugin.internal.IMSManifest/build.xml Thu Apr 14 03:13:04 2005
@@ -0,0 +1,36 @@
+<?xml version="1.0"?>
+<!--
+  Copyright 2002-2004 The Apache Software Foundation or its licensors,
+  as applicable.
+
+  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="docs" basedir="." name="Forrest plugin build file">
+
+  <property name="plugin-name" value="org.apache.forrest.plugin.internal.IMSManifest"/>
+
+  <import file="../build.xml"/>
+  
+  <!-- Add any additional installation work here in the build target, for example:
+  <target name="build"
+          description="Extract the tools">
+     <unzip dest="${plugins.localDeploy-dir}/${plugin-name}/resources">
+       <fileset dir="tools">
+          <include name="pluginBionaryTools.zip"/>
+        </fileset>
+     </unzip>   
+  </target>
+  -->
+</project>
+  
+  

Propchange: forrest/trunk/plugins/org.apache.forrest.plugin.internal.IMSManifest/build.xml
------------------------------------------------------------------------------
    svn:eol-style = native

Added: forrest/trunk/plugins/org.apache.forrest.plugin.internal.IMSManifest/forrest.properties
URL: http://svn.apache.org/viewcvs/forrest/trunk/plugins/org.apache.forrest.plugin.internal.IMSManifest/forrest.properties?view=auto&rev=161254
==============================================================================
--- forrest/trunk/plugins/org.apache.forrest.plugin.internal.IMSManifest/forrest.properties (added)
+++ forrest/trunk/plugins/org.apache.forrest.plugin.internal.IMSManifest/forrest.properties Thu Apr 14 03:13:04 2005
@@ -0,0 +1,109 @@
+# Copyright 2002-2004 The Apache Software Foundation or its licensors,
+# as applicable.
+#
+# 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.
+
+##############
+# Properties used by forrest.build.xml for building the website
+# These are the defaults, un-comment them if you need to change them.
+##############
+
+# Prints out a summary of Forrest settings for this project
+#forrest.echo=true 
+
+# Project name (used to name .war file)
+#project.name=my-project
+
+# Specifies name of Forrest skin to use
+#project.skin=tigris
+#project.skin=pelt
+
+# comma separated list, file:// is supported
+#forrest.skins.descriptors=http://forrest.apache.org/skins/skins.xml,file:///c:/myskins/skins.xml
+
+##############
+# behavioural properties
+#project.menu-scheme=tab_attributes
+#project.menu-scheme=directories
+
+##############
+# layout properties
+
+# Properties that can be set to override the default locations
+#
+# Parent properties must be set. This usually means uncommenting
+# project.content-dir if any other property using it is uncommented
+
+#project.status=status.xml
+#project.content-dir=src/documentation
+#project.raw-content-dir=${project.content-dir}/content
+#project.conf-dir=${project.content-dir}/conf
+#project.sitemap-dir=${project.content-dir}
+#project.xdocs-dir=${project.content-dir}/content/xdocs
+#project.resources-dir=${project.content-dir}/resources
+#project.stylesheets-dir=${project.resources-dir}/stylesheets
+#project.images-dir=${project.resources-dir}/images
+#project.schema-dir=${project.resources-dir}/schema
+#project.skins-dir=${project.content-dir}/skins
+#project.skinconf=${project.content-dir}/skinconf.xml
+#project.lib-dir=${project.content-dir}/lib
+#project.classes-dir=${project.content-dir}/classes
+#project.translations-dir=${project.content-dir}/translations
+
+##############
+# validation properties
+
+# This set of properties determine if validation is performed
+# Values are inherited unless overridden.
+# e.g. if forrest.validate=false then all others are false unless set to true.
+#forrest.validate=true
+#forrest.validate.xdocs=${forrest.validate}
+#forrest.validate.skinconf=${forrest.validate}
+#forrest.validate.sitemap=${forrest.validate}
+#forrest.validate.stylesheets=${forrest.validate}
+#forrest.validate.skins=${forrest.validate}
+#forrest.validate.skins.stylesheets=${forrest.validate.skins}
+
+# *.failonerror=(true|false) - stop when an XML file is invalid
+#forrest.validate.failonerror=true
+
+# *.excludes=(pattern) - comma-separated list of path patterns to not validate
+# e.g.
+#forrest.validate.xdocs.excludes=samples/subdir/**, samples/faq.xml
+#forrest.validate.xdocs.excludes=
+
+
+##############
+# General Forrest properties
+
+# The URL to start crawling from
+#project.start-uri=linkmap.html
+# Set logging level for messages printed to the console
+# (DEBUG, INFO, WARN, ERROR, FATAL_ERROR)
+#project.debuglevel=ERROR
+# Max memory to allocate to Java
+#forrest.maxmemory=64m
+# Any other arguments to pass to the JVM. For example, to run on an X-less
+# server, set to -Djava.awt.headless=true
+#forrest.jvmargs=
+# The bugtracking URL - the issue number will be appended
+#project.bugtracking-url=http://issues.apache.org/bugzilla/show_bug.cgi?id=
+#project.bugtracking-url=http://issues.apache.org/jira/browse/
+# The issues list as rss
+#project.issues-rss-url=
+#I18n Property only works for the "forrest run" target.
+#project.i18n=true
+
+# The names of plugins that are required to build the project
+# comma separated list (no spaces)
+project.required.plugins=org.apache.forrest.plugin.projectInfo,org.apache.forrest.plugin.internal.IMSManifest,org.apache.forrest.plugin.pdf-output

Propchange: forrest/trunk/plugins/org.apache.forrest.plugin.internal.IMSManifest/forrest.properties
------------------------------------------------------------------------------
    svn:eol-style = native

Added: forrest/trunk/plugins/org.apache.forrest.plugin.internal.IMSManifest/internal.xmap
URL: http://svn.apache.org/viewcvs/forrest/trunk/plugins/org.apache.forrest.plugin.internal.IMSManifest/internal.xmap?view=auto&rev=161254
==============================================================================
--- forrest/trunk/plugins/org.apache.forrest.plugin.internal.IMSManifest/internal.xmap (added)
+++ forrest/trunk/plugins/org.apache.forrest.plugin.internal.IMSManifest/internal.xmap Thu Apr 14 03:13:04 2005
@@ -0,0 +1,314 @@
+<?xml version="1.0"?>
+<!--
+  Copyright 2002-2004 The Apache Software Foundation or its licensors,
+  as applicable.
+
+  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.
+-->
+  <!-- ============================================================ -->
+  <!-- IMS Maniifest Plugin                                         -->
+  <!-- This plugin replaces the site.xml and tabs.xml file with     -->
+  <!-- an IMS Manifest file conforming to the IMS specifications    -->
+  <!-- for Content Packages.                                        -->
+  <!--                                                              -->
+  <!-- In the absence of an IMSManifest.xml file the plugin will    -->
+  <!-- fallback to using the standard site.xml and tabs.xml files.  -->
+  <!-- ============================================================ -->
+
+<map:sitemap xmlns:map="http://apache.org/cocoon/sitemap/1.0">
+
+  <map:components>
+    <map:selectors>
+      <map:selector logger="sitemap.selector.config" name="config" src="org.apache.cocoon.selection.SimpleSelector" />
+    </map:selectors>
+    
+    <map:transformers default="xslt">
+      <map:transformer name="i18n" src="org.apache.cocoon.transformation.I18nTransformer">
+        <catalogues default="menu">
+          <catalogue id="menu" name="menu" location="{project:translations}"/>
+        </catalogues>
+        <!-- Commented out to verify your translations
+        <untranslated-text>untranslated</untranslated-text> -->
+        <cache-at-startup>true</cache-at-startup>
+      </map:transformer>
+    </map:transformers>
+    
+    <map:actions>
+      <map:action name="locale" src="org.apache.cocoon.acting.LocaleAction" />
+    </map:actions>
+  </map:components>
+  
+  <map:resources>
+    <map:resource name="skinit">
+        <map:select type="exists">
+          <map:when test="{project:skins-dir}{forrest:skin}/xslt/html/{type}.xsl">
+            <map:transform src="{project:skins-dir}{forrest:skin}/xslt/html/{type}.xsl">
+              <map:parameter name="notoc" value="{notoc}"/>
+              <!-- For backwards-compat with 0.2 - 0.4 skins -->
+              <map:parameter name="isfaq" value="{notoc}"/>
+              <map:parameter name="nopdf" value="{nopdf}"/>
+              <map:parameter name="path" value="{path}"/>
+              <map:parameter name="config-file" value="{project:skinconf}"/>
+            </map:transform>
+          </map:when>
+          <map:otherwise>
+            <map:transform src="{forrest:context}/skins/{forrest:skin}/xslt/html/{type}.xsl">
+              <map:parameter name="notoc" value="{notoc}"/>
+              <!-- For backwards-compat with 0.2 - 0.4 skins -->
+              <map:parameter name="isfaq" value="{notoc}"/>
+              <map:parameter name="nopdf" value="{nopdf}"/>
+              <map:parameter name="path" value="{path}"/>
+              <map:parameter name="config-file" value="{project:skinconf}"/>
+            </map:transform>
+          </map:otherwise>
+        </map:select>
+      <map:serialize/>
+    </map:resource>
+
+  </map:resources>
+
+    
+  <map:pipelines>
+  
+   <!-- ============================================================ -->
+   <!-- Linkmap.xmap overrides                                       -->
+   <!-- ============================================================ -->
+  
+    <map:pipeline>
+      <map:match pattern="abs-linkmap">
+        <map:select type="exists">
+          <map:when test="{project:content.xdocs}imsmanifest.xml">
+            <map:generate src="{project:content.xdocs}imsmanifest.xml" />
+            <map:transform src="resources/stylesheets/imsmanifest2site.xsl"/>
+          </map:when>
+          <map:when test="{project:content.xdocs}site.xml">
+            <map:generate src="{project:content.xdocs}site.xml" />
+          </map:when>
+        </map:select>
+        <map:transform src="{forrest:stylesheets}/absolutize-linkmap.xsl" />
+        <map:serialize type="xml" />
+      </map:match>
+
+    </map:pipeline>
+    
+   <!-- ============================================================ -->
+   <!-- tabs.xmap overrides                                          -->
+   <!-- ============================================================ -->
+  
+    <map:pipeline >
+      <map:match pattern="**tab-*.html">
+        <map:select type="exists">
+          <map:when test="{project:content.xdocs}imsmanifest.xml">
+            <map:generate src="{project:content.xdocs}imsmanifest.xml" />
+            <map:transform src="resources/stylesheets/imsmanifest2tabs.xsl"/>
+          </map:when>
+          <map:when test="{project:content.xdocs}tabs.xml">
+            <map:generate src="{project:content.xdocs}tabs.xml" />
+          </map:when>
+        </map:select>
+        <map:transform type="linkrewriter" src="cocoon:/{1}linkmap-{2}.html"/>
+        <map:call resource="skinit">
+          <map:parameter name="type" value="tab2menu"/>
+          <map:parameter name="path" value="{1}{2}.html"/>
+        </map:call>
+      </map:match>      
+    </map:pipeline>
+ 
+    
+    <!-- ============================================================ -->
+    <!-- menu.xmap overrides                                          -->
+    <!-- ============================================================ -->
+    
+    <map:pipeline internal-only="false">
+
+      <map:match pattern="abs-menulinks">
+        <map:select type="exists">
+          <map:when test="{project:content.xdocs}imsmanifest.xml">
+            <map:generate src="{project:content.xdocs}imsmanifest.xml" />
+            <map:transform src="resources/stylesheets/imsmanifest2site.xsl"/>
+            <map:transform src="{forrest:stylesheets}/absolutize-linkmap.xsl" />
+            <map:transform src="{forrest:stylesheets}/site2site-normalizetabs.xsl" />
+            <map:serialize type="xml"/>
+          </map:when>
+          <map:when test="{project:content.xdocs}site.xml">
+            <map:generate src="{project:content.xdocs}site.xml" />
+            <map:transform src="{forrest:stylesheets}/absolutize-linkmap.xsl" />
+            <map:transform src="{forrest:stylesheets}/site2site-normalizetabs.xsl" />
+            <map:transform src="{forrest:stylesheets}/normalizehrefs.xsl"/>
+            <map:serialize type="xml"/>
+          </map:when>
+        </map:select>
+      </map:match>
+
+      <map:match pattern="**menulinks-*">
+        <map:select type="exists">
+          <map:when test="{project:content.xdocs}imsmanifest.xml">
+            <map:generate src="{project:content.xdocs}imsmanifest.xml" />
+            <map:transform src="resources/stylesheets/imsmanifest2site.xsl"/>
+            <map:transform src="{forrest:stylesheets}/absolutize-linkmap.xsl" />
+          </map:when>
+          <map:when test="{project:content.xdocs}site.xml">
+            <map:generate src="{project:content.xdocs}site.xml" />
+            <map:transform src="{forrest:stylesheets}/absolutize-linkmap.xsl" />
+          </map:when>
+        </map:select>
+
+        <map:select type="config">
+          <map:parameter name="value" value="{defaults:menu-scheme}"/>
+
+          <map:when test="tab_attributes">
+            <map:transform src="{forrest:stylesheets}/site2site-normalizetabs.xsl" />
+            <map:transform src="{forrest:stylesheets}/normalizehrefs.xsl"/>
+            <map:transform src="{forrest:stylesheets}/site2site-selectnode.xsl">
+              <map:parameter name="path" value="{1}{2}"/>
+            </map:transform>
+          </map:when>
+
+        </map:select>
+
+        <map:transform src="{forrest:stylesheets}/relativize-linkmap.xsl">
+          <map:parameter name="path" value="{1}{2}" />
+        </map:transform>
+        <map:serialize type="xml" />
+      </map:match>
+      
+      <map:match pattern="**book-*">
+
+        <map:select type="exists">
+
+          <map:when test="{project:content.xdocs}{1}book.xml">
+            <!-- If a hand-created book.xml exists, use it -->
+            <map:parameter name="url" value="{project:content.xdocs}{1}book.xml" />
+            <map:generate src="{project:content.xdocs}{1}book.xml" />
+          </map:when>
+
+          <map:otherwise>
+            <!-- If no book.xml, generate it from the linkmap. -->
+            <map:generate src="cocoon:/{1}menulinks-{2}" />
+            <!-- The above generates the subset of the linkmap relevant to our directory. -->
+            <map:transform src="{forrest:stylesheets}/site2book.xsl" />
+          </map:otherwise>
+
+        </map:select>
+
+        <map:select type="config">
+          <map:parameter name="value" value="{defaults:i18n}"/>
+          <map:when test="true">
+
+            <map:act type="locale">
+              <map:transform src="{forrest:stylesheets}/i18n.xsl"/>
+              <map:transform type="i18n">
+                <!-- We can use a default locale attribute or Request Parameter
+                <map:parameter name="locale" value="{defaults:locale}"/>
+                <map:parameter name="locale" value="{request-param:locale}"/>
+                -->
+                <map:parameter name="locale" value="{lang}{country}{variant}"/>
+              </map:transform>
+            </map:act>
+
+          </map:when>
+        </map:select>
+
+        <map:serialize type="xml"/>
+
+      </map:match>
+    </map:pipeline>
+     
+    <!-- ============================================================ -->
+    <!-- Repository Commands                                          -->
+    <!-- ============================================================ -->
+    
+    <map:pipeline>
+      <map:match pattern="repositoryCommand/getSCO/**/repositoryURI/**/*.xml">
+        <!-- FIXME: is there any way of preventing the need to copy this stuff manually when it changes in the forrest.xmap file in Forrest -->
+        <map:select type="exists">
+          <map:when test="/{2}/{1}/src/documentation/content/xdocs/{3}.cwiki">
+            <map:match type="regexp" pattern="^(.*?)([^/]*).xml$">
+              <map:generate type="text2xml" src="http://{2}/{1}/src/documentation/content/xdocs/{3}.cwiki" />
+              <map:transform type="lexer"   src="cocoon:/wiki.xlex"/>
+              <map:transform type="parser"  src="cocoon:/wiki.xgrm"/>
+              <map:transform type="xsltc" src="{forrest:home}/context/resources/chaperon/stylesheets/wiki2xdoc.xsl">
+                <map:parameter name="name" value="{2}" />
+              </map:transform>
+              <map:serialize/>
+            </map:match>
+          </map:when>
+
+          <map:when test="/{2}/{1}/src/documentation/content/xdocs/{3}.txt">
+            <map:match type="regexp" pattern="^(.*?)([^/]*).xml$">
+              <map:generate type="text2xml" src="http://{2}/{1}/src/documentation/content/xdocs/{3}.txt" />
+              <map:transform src="{forrest:stylesheets}/text2document.xsl">
+                <map:parameter name="filename" value="{2}" />
+              </map:transform>
+              <map:serialize/>
+            </map:match>
+          </map:when>
+
+          <map:when test="/{2}/{1}/src/documentation/content/xdocs/{3}.sxw">
+            <map:aggregate element="openOffice">
+              <!-- FIXME: on windows we need three / after the protocol, on Linux we need 2 -->
+              <map:part src="jar:http://{2}/{1}/src/documentation/content/xdocs/{3}.sxw!/meta.xml"/>
+              <map:part src="jar:http://{2}/{1}/src/documentation/content/xdocs/{3}.sxw!/styles.xml"/>
+              <map:part src="jar:http://{2}/{1}/src/documentation/content/xdocs/{3}.sxw!/content.xml"/>
+            </map:aggregate>
+            <map:select type="exists">
+              <map:when test="{project:resources.stylesheets}/openoffice-writer2forrest.xsl">
+                <map:transform src="{project:resources.stylesheets}/openoffice-writer2forrest.xsl">
+                  <map:parameter name="filename" value="{2}" />
+                  <map:parameter name="extension" value="sxw" />
+                </map:transform>
+              </map:when>
+              <map:otherwise>
+                <map:transform src="{forrest:stylesheets}/openoffice-writer2forrest.xsl">
+                  <map:parameter name="filename" value="{2}" />
+                  <map:parameter name="extension" value="sxw" />
+                </map:transform>
+              </map:otherwise>
+            </map:select>
+            <map:serialize/>
+          </map:when>     
+          
+          <map:when test="/{2}/{1}/src/documentation/content/xdocs/{3}.sxi">
+            <map:aggregate element="openOffice">
+              <!-- FIXME: on windows we need three / after the protocol, on LInux we need 2 -->
+              <map:part src="jar:http://{2}/{1}/src/documentation/content/xdocs/{3}.sxi!/meta.xml"/>
+              <map:part src="jar:http://{2}/{1}/src/documentation/content/xdocs/{3}.sxi!/styles.xml"/>
+              <map:part src="jar:http://{2}/{1}/src/documentation/content/xdocs/{3}.sxi!/content.xml"/>
+            </map:aggregate>
+            <map:select type="exists">
+              <map:when test="{project:resources.stylesheets}/openoffice-impress2forrest.xsl">
+                <map:transform src="{project:resources.stylesheets}/openoffice-impress2forrest.xsl">
+                  <map:parameter name="filename" value="{2}" />
+                  <map:parameter name="extension" value="sxi" />
+                </map:transform>
+              </map:when>
+              <map:otherwise>
+                <map:transform src="{forrest:stylesheets}/openoffice-impress2forrest.xsl">
+                  <map:parameter name="filename" value="{2}" />
+                  <map:parameter name="extension" value="sxi" />
+                </map:transform>
+              </map:otherwise>
+            </map:select>
+            <map:serialize/>
+          </map:when>
+     
+          <map:otherwise>
+            <map:generate src="http://{2}/{1}/src/documentation/content/xdocs/{3}.xml"/>
+            <map:serialize/>
+          </map:otherwise>
+        </map:select>
+      </map:match>
+    </map:pipeline>
+    
+  </map:pipelines>    
+</map:sitemap>

Propchange: forrest/trunk/plugins/org.apache.forrest.plugin.internal.IMSManifest/internal.xmap
------------------------------------------------------------------------------
    svn:eol-style = native

Added: forrest/trunk/plugins/org.apache.forrest.plugin.internal.IMSManifest/resources/stylesheets/imsmanifest2site.xsl
URL: http://svn.apache.org/viewcvs/forrest/trunk/plugins/org.apache.forrest.plugin.internal.IMSManifest/resources/stylesheets/imsmanifest2site.xsl?view=auto&rev=161254
==============================================================================
--- forrest/trunk/plugins/org.apache.forrest.plugin.internal.IMSManifest/resources/stylesheets/imsmanifest2site.xsl (added)
+++ forrest/trunk/plugins/org.apache.forrest.plugin.internal.IMSManifest/resources/stylesheets/imsmanifest2site.xsl Thu Apr 14 03:13:04 2005
@@ -0,0 +1,180 @@
+<?xml version="1.0"?>
+<!--
+  Copyright 2002-2004 The Apache Software Foundation or its licensors,
+  as applicable.
+
+  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.
+-->
+<!--
+Stylesheet for generating site.xml from a IMS Manifest file.
+-->
+
+<xsl:stylesheet version="1.0" 
+  xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
+  xmlns:ims="http://www.imsproject.org/xsd/imscp_rootv1p1p2"
+  xmlns:adlcp="http://www.adlnet.org/xsd/adlcp_rootv1p2">
+  
+  <xsl:import href="pathutils.xsl"/>
+  <xsl:import href="repositoryUtils.xsl"/>
+  
+  <xsl:output doctype-system="http://apache.org/forrest/dtd/tab-cocoon-v11.dtd"
+    doctype-public="-//APACHE//DTD Cocoon Documentation Tab V1.1//EN"/>
+
+  <xsl:template match="/">
+    <site label="MyProj" 
+      href="" 
+      xmlns="http://apache.org/forrest/linkmap/1.0"
+      tab="">
+      
+      <xsl:apply-templates/>
+      
+    </site>
+  </xsl:template>
+  
+  <xsl:template match="ims:manifest">
+    <xsl:param name="asset_base"/>
+    <xsl:apply-templates>
+      <xsl:with-param name="asset_base"><xsl:value-of select="$asset_base"/></xsl:with-param>
+    </xsl:apply-templates>
+  </xsl:template>
+  
+  <xsl:template match="ims:organizations">
+    <xsl:param name="asset_base"/>
+    <xsl:apply-templates select="ims:organization">
+      <xsl:with-param name="asset_base"><xsl:value-of select="$asset_base"/></xsl:with-param>
+    </xsl:apply-templates>
+  </xsl:template>
+  
+  <xsl:template match="ims:organization">
+    <xsl:param name="asset_base"/>
+    <xsl:variable name="title">
+      <xsl:choose>
+        <xsl:when test="./ims:title">
+          <xsl:value-of select="./ims:title"/>
+        </xsl:when>
+        <xsl:otherwise>
+          FIXME: Organisation Title Missing
+        </xsl:otherwise>
+      </xsl:choose>
+    </xsl:variable>
+    <xsl:variable name="element_name">organisation</xsl:variable>
+    <xsl:element name="{$element_name}">
+      <xsl:attribute name="label"><xsl:value-of select="$title"/></xsl:attribute>
+      <xsl:apply-templates select="ims:item">
+        <xsl:with-param name="asset_base"><xsl:value-of select="$asset_base"/></xsl:with-param>
+      </xsl:apply-templates>
+    </xsl:element>
+  </xsl:template>
+    
+  <xsl:template match="ims:item[@identifierref]">
+    <xsl:param name="asset_base"/>
+    <xsl:variable name="idref"><xsl:value-of select="@identifierref"/></xsl:variable>
+    <xsl:variable name="repositoryCommand">
+      <xsl:call-template name="getRepositoryCommand">
+        <xsl:with-param name="path"><xsl:value-of select="//ims:resources/ims:resource[@identifier=$idref]/@href"/></xsl:with-param>
+      </xsl:call-template>
+    </xsl:variable>
+    <xsl:variable name="scoName">
+      <xsl:call-template name="getSCOName">
+        <xsl:with-param name="path"><xsl:value-of select="//ims:resources/ims:resource[@identifier=$idref]/@href"/></xsl:with-param>
+      </xsl:call-template>
+    </xsl:variable>
+    <xsl:variable name="repositoryURI">
+      <xsl:call-template name="getRepositoryURI">
+        <xsl:with-param name="path"><xsl:value-of select="//ims:resources/ims:resource[@identifier=$idref]/@href"/></xsl:with-param>
+      </xsl:call-template>
+    </xsl:variable>
+<sco><xsl:value-of select="$scoName"/></sco>
+<repository><xsl:value-of select="$repositoryURI"/></repository>
+<repositoryCommand><xsl:value-of select="$repositoryCommand"/></repositoryCommand>
+    <xsl:choose>
+      <xsl:when test="$repositoryCommand='getSCO'">
+        <xsl:variable name="repositoryHREF">http://<xsl:value-of select="$repositoryURI"/>/<xsl:value-of select="$scoName"/>/src/documentation/content/xdocs/imsmanifest.xml</xsl:variable>
+        <xsl:apply-templates select="document($repositoryHREF)/ims:manifest">
+          <xsl:with-param name="asset_base">repositoryCommand/getSCO/<xsl:value-of select="$scoName"/>/repositoryURI/<xsl:value-of select="$repositoryURI"/>/</xsl:with-param>
+        </xsl:apply-templates>
+      </xsl:when>
+      <xsl:otherwise>
+        <xsl:variable name="title"><xsl:value-of select="ims:title"/></xsl:variable>
+        <xsl:variable name="package_base"><xsl:value-of select="$asset_base"/><xsl:value-of select="//ims:resources/ims:resource[@identifier=$idref]/../../@xml:base"/></xsl:variable>
+        <xsl:variable name="path_href">
+          <xsl:choose>
+            <xsl:when test="//ims:resources/ims:resource[@identifier=$idref]/ims:file">
+              <xsl:value-of select="//ims:resources/ims:resource[@identifier=$idref]/ims:file/@href"/>
+      			</xsl:when>
+			      <xsl:otherwise>
+			        <xsl:value-of select="//ims:resources/ims:resource[@identifier=$idref]/@href"/>
+			      </xsl:otherwise>
+	        </xsl:choose>
+        </xsl:variable>
+        <xsl:variable name="href_ext">
+          <xsl:call-template name="ext">
+            <xsl:with-param name="path"><xsl:value-of select="$path_href"/></xsl:with-param>
+          </xsl:call-template>
+        </xsl:variable>
+        <xsl:variable name="path_href_noext">
+          <xsl:call-template name="path-noext">
+            <xsl:with-param name="path"><xsl:value-of select="$path_href"/></xsl:with-param>
+          </xsl:call-template>
+        </xsl:variable>
+        <xsl:variable name="mimeType"><xsl:value-of select="//ims:resources/ims:resource[@identifier=$idref]/@type"/></xsl:variable>
+        <xsl:variable name="href">
+          <xsl:choose>
+            <xsl:when test="$mimeType='text/xml'"><xsl:value-of select="$package_base"/><xsl:value-of select="$path_href_noext"/>.html</xsl:when>                        <xsl:when test="$mimeType='text/xml'"><xsl:value-of select="$package_base"/><xsl:value-of select="$path_href_noext"/>.html</xsl:when>
+            <xsl:when test="$mimeType='application/vnd-sun-xml-impress'"><xsl:value-of select="$package_base"/><xsl:value-of select="$path_href_noext"/>.html</xsl:when>
+            <xsl:when test="$mimeType='application/vnd-sun-xml-writer'"><xsl:value-of select="$package_base"/><xsl:value-of select="$path_href_noext"/>.html</xsl:when>                        
+          	<xsl:otherwise>
+          	  <xsl:value-of select="$package_base"/><xsl:value-of select="$path_href"/>
+          	</xsl:otherwise>
+         </xsl:choose>
+        </xsl:variable>
+        <xsl:variable name="element_name">item</xsl:variable>
+        
+        <xsl:element name="{$element_name}">
+          <xsl:attribute name="id"><xsl:value-of select="@identifier"/></xsl:attribute>
+          <xsl:attribute name="identifierref"><xsl:value-of select="$idref"/></xsl:attribute>
+          <xsl:attribute name="label"><xsl:value-of select="$title"/></xsl:attribute>   
+          <xsl:attribute name="href"><xsl:value-of select="$href"/></xsl:attribute>
+          
+          <xsl:apply-templates select="ims:item"/>
+        </xsl:element>
+      </xsl:otherwise>
+    </xsl:choose>
+  </xsl:template>
+  
+  <xsl:template match="ims:item[not(@identifierref)]">
+    <xsl:variable name="title"><xsl:value-of select="ims:title"/></xsl:variable>
+    <xsl:variable name="element_name">itemGroup</xsl:variable>
+    
+    <xsl:element name="{$element_name}">
+      <xsl:attribute name="id"><xsl:value-of select="@identifier"/></xsl:attribute>
+      <xsl:attribute name="label"><xsl:value-of select="$title"/></xsl:attribute>
+      
+      <xsl:apply-templates select="ims:item"/>
+    </xsl:element>
+    
+  </xsl:template>
+  
+  <xsl:template match="adlcp:prerequisites">
+    <xsl:variable name="idref"><xsl:value-of select="."/></xsl:variable>
+    <xsl:variable name="title"><xsl:value-of select="//ims:item[@identifier=$idref]/ims:title"/></xsl:variable>
+    <xsl:variable name="resource_idref"><xsl:value-of select="//ims:item[@identifier=$idref]/@identifierref"/></xsl:variable>
+    <xsl:variable name="href"><xsl:value-of select="//ims:resources/ims:resource[@identifier=$resource_idref]/ims:file/@href"/></xsl:variable>
+    
+    <xsl:element name="prerequisite">
+      <xsl:attribute name="label"><xsl:value-of select="$title"/></xsl:attribute>
+      <xsl:attribute name="href"><xsl:value-of select="$href"/></xsl:attribute>
+    </xsl:element>
+  </xsl:template>
+  
+</xsl:stylesheet>

Propchange: forrest/trunk/plugins/org.apache.forrest.plugin.internal.IMSManifest/resources/stylesheets/imsmanifest2site.xsl
------------------------------------------------------------------------------
    svn:eol-style = native

Added: forrest/trunk/plugins/org.apache.forrest.plugin.internal.IMSManifest/resources/stylesheets/imsmanifest2tabs.xsl
URL: http://svn.apache.org/viewcvs/forrest/trunk/plugins/org.apache.forrest.plugin.internal.IMSManifest/resources/stylesheets/imsmanifest2tabs.xsl?view=auto&rev=161254
==============================================================================
--- forrest/trunk/plugins/org.apache.forrest.plugin.internal.IMSManifest/resources/stylesheets/imsmanifest2tabs.xsl (added)
+++ forrest/trunk/plugins/org.apache.forrest.plugin.internal.IMSManifest/resources/stylesheets/imsmanifest2tabs.xsl Thu Apr 14 03:13:04 2005
@@ -0,0 +1,99 @@
+<?xml version="1.0"?>
+<!--
+  Copyright 2002-2004 The Apache Software Foundation or its licensors,
+  as applicable.
+
+  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.
+-->
+<!--
+Stylesheet for generating site.xml from a IMS Manifest file.
+-->
+
+<xsl:stylesheet version="1.0" 
+  xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
+  xmlns:ims="http://www.imsproject.org/xsd/imscp_rootv1p1p2"
+  xmlns:adlcp="http://www.adlnet.org/xsd/adlcp_rootv1p2">
+  
+  <xsl:import href="pathutils.xsl"/>
+  <xsl:import href="repositoryUtils.xsl"/>
+
+  <xsl:output doctype-system="http://apache.org/forrest/dtd/tab-cocoon-v11.dtd"
+    doctype-public="-//APACHE//DTD Cocoon Documentation Tab V1.1//EN"/>
+
+  <xsl:template match="/">
+    <tabs software="MyProj"
+      title="MyProj"
+      copyright="foo">
+
+      <xsl:apply-templates select="ims:manifest"/>
+    </tabs>
+  </xsl:template>
+  
+  <xsl:template match="ims:manifest">
+    <xsl:apply-templates/>
+  </xsl:template>
+  
+  <xsl:template match="ims:organizations">
+    <xsl:apply-templates select="ims:organization"/>
+  </xsl:template>
+  
+  <xsl:template match="ims:organization">
+    <xsl:variable name="title"><xsl:value-of select="./ims:title"/></xsl:variable>
+    <xsl:variable name="default_file_id"><xsl:value-of select=".//ims:item[@identifierref][1]/@identifierref"/></xsl:variable>
+    <xsl:variable name="repositoryCommand">
+      <xsl:call-template name="getRepositoryCommand">
+        <xsl:with-param name="path"><xsl:value-of select="//ims:resources/ims:resource[@identifier=$default_file_id]/@href"/></xsl:with-param>
+      </xsl:call-template>
+    </xsl:variable>
+    <xsl:variable name="scoName">
+      <xsl:call-template name="getSCOName">
+        <xsl:with-param name="path"><xsl:value-of select="//ims:resources/ims:resource[@identifier=$default_file_id]/@href"/></xsl:with-param>
+      </xsl:call-template>
+    </xsl:variable>
+    <xsl:variable name="full_path">
+      <xsl:choose>
+        <xsl:when test="$repositoryCommand='getSCO'">getSCO/<xsl:call-template name="getSCOName"><xsl:with-param name="path"><xsl:value-of select="//ims:resources/ims:resource[@identifier=$default_file_id]/@href"/></xsl:with-param></xsl:call-template></xsl:when>
+        <xsl:otherwise><xsl:value-of select="//ims:resources/ims:resource[@identifier=$default_file_id]/@href"/></xsl:otherwise>
+      </xsl:choose>
+    </xsl:variable>
+    <xsl:variable name="href">
+      <xsl:call-template name="dirname-nz">
+        <xsl:with-param name="path"><xsl:value-of select="$full_path"/></xsl:with-param>
+      </xsl:call-template>
+    </xsl:variable>
+    <xsl:variable name="filename_noext">
+      <xsl:choose>
+        <xsl:when test="$repositoryCommand='getSCO'"><xsl:value-of select="$scoName"/>/index</xsl:when>
+        <xsl:otherwise>
+          <xsl:call-template name="filename-noext">
+            <xsl:with-param name="path"><xsl:value-of select="$full_path"/></xsl:with-param>
+          </xsl:call-template>
+        </xsl:otherwise>
+      </xsl:choose>
+    </xsl:variable>
+    
+    <tab>
+      <xsl:attribute name="id"><xsl:value-of select="$title"/></xsl:attribute>
+      <xsl:attribute name="label"><xsl:value-of select="$title"/></xsl:attribute>
+      <xsl:attribute name="href"><xsl:value-of select="$href"/></xsl:attribute>
+      <xsl:attribute name="indexfile">
+        <xsl:choose>
+          <xsl:when test="not($filename_noext='')"><xsl:value-of select="$filename_noext"/>.html</xsl:when>
+          <xsl:otherwise>index.html</xsl:otherwise>
+        </xsl:choose>
+      </xsl:attribute>
+      <xsl:apply-templates select="ims:item"/>
+    </tab>
+  </xsl:template>
+  
+</xsl:stylesheet>

Propchange: forrest/trunk/plugins/org.apache.forrest.plugin.internal.IMSManifest/resources/stylesheets/imsmanifest2tabs.xsl
------------------------------------------------------------------------------
    svn:eol-style = native

Added: forrest/trunk/plugins/org.apache.forrest.plugin.internal.IMSManifest/resources/stylesheets/pathutils.xsl
URL: http://svn.apache.org/viewcvs/forrest/trunk/plugins/org.apache.forrest.plugin.internal.IMSManifest/resources/stylesheets/pathutils.xsl?view=auto&rev=161254
==============================================================================
--- forrest/trunk/plugins/org.apache.forrest.plugin.internal.IMSManifest/resources/stylesheets/pathutils.xsl (added)
+++ forrest/trunk/plugins/org.apache.forrest.plugin.internal.IMSManifest/resources/stylesheets/pathutils.xsl Thu Apr 14 03:13:04 2005
@@ -0,0 +1,241 @@
+<?xml version="1.0"?>
+<!--
+  Copyright 2002-2004 The Apache Software Foundation or its licensors,
+  as applicable.
+
+  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.
+-->
+
+<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
+<!--
+PathUtils.xsl
+
+A set of XSLT templates useful for parsing URI paths:
+
+dirname: return the directory part of a path
+filename: return the file part of a path
+ext: return the last extension of the filename in a path
+filename-noext: return the file part of a path without its last extension
+
+$Id: pathutils.xsl,v 1.1 2004/09/21 14:10:24 rgardler Exp $
+-->
+
+<!-- Returns the directory part of a path.  Equivalent to Unix 'dirname'.
+Examples:
+'' -> ''
+'foo/index.html' -> 'foo/'
+-->
+<xsl:template name="dirname">
+  <xsl:param name="path" />
+  <xsl:if test="contains($path, '/')">
+    <xsl:value-of select="concat(substring-before($path, '/'), '/')" />
+    <xsl:call-template name="dirname">
+      <xsl:with-param name="path"
+        select="substring-after($path, '/')" />
+    </xsl:call-template>
+  </xsl:if>
+</xsl:template>
+
+<!-- Normalized (..'s eliminated) version of 'dirname' -->
+<xsl:template name="dirname-nz">
+  <xsl:param name="path" />
+  <xsl:call-template name="normalize">
+    <xsl:with-param name="path">
+      <xsl:call-template name="dirname">
+        <xsl:with-param name="path" select="$path" />
+      </xsl:call-template>
+    </xsl:with-param>
+  </xsl:call-template>
+</xsl:template>
+
+
+<!-- Returns the filename part of a path.  Equivalent to Unix 'basename'
+Examples:
+'index.html'  ->  'index.html' 
+'foo/bar/'  ->  '' 
+'foo/bar/index.html'  ->  'index.html' 
+-->
+<xsl:template name="filename">
+  <xsl:param name="path"/>
+  <xsl:choose>
+    <xsl:when test="contains($path, '/')">
+      <xsl:call-template name="filename">
+        <xsl:with-param name="path" select="substring-after($path, '/')"/>
+      </xsl:call-template>
+    </xsl:when>
+    <xsl:otherwise>
+      <xsl:value-of select="$path"/>
+    </xsl:otherwise>
+  </xsl:choose>
+</xsl:template>
+
+<!-- Returns the last extension of a filename in a path.
+Examples:
+'index.html'  ->  '.html' 
+'index.dtdx.html'  ->  '.html' 
+'foo/bar/'  ->  '' 
+'foo/bar/index.html'  ->  '.html' 
+'foo/bar/index'  ->  '' 
+-->
+<xsl:template name="ext">
+  <xsl:param name="path"/>
+  <xsl:param name="subflag"/> <!-- Outermost call? -->
+  <xsl:choose>
+    <xsl:when test="contains($path, '.')">
+      <xsl:call-template name="ext">
+        <xsl:with-param name="path" select="substring-after($path, '.')"/>
+        <xsl:with-param name="subflag" select="'sub'"/>
+      </xsl:call-template>
+    </xsl:when>
+    <!-- Handle extension-less filenames by returning '' -->
+    <xsl:when test="not($subflag) and not(contains($path, '.'))">
+      <xsl:text/>
+    </xsl:when>
+    <xsl:otherwise>
+      <xsl:value-of select="concat('.', $path)"/>
+    </xsl:otherwise>
+  </xsl:choose>
+</xsl:template>
+
+<!-- Returns a filename of a path stripped of its last extension.
+Examples:
+'foo/bar/index.dtdx.html' -> 'index.dtdx'
+-->
+<xsl:template name="filename-noext">
+  <xsl:param name="path"/>
+  <xsl:variable name="filename">
+    <xsl:call-template name="filename">
+      <xsl:with-param name="path" select="$path"/>
+    </xsl:call-template>
+  </xsl:variable>
+  <xsl:variable name="ext">
+    <xsl:call-template name="ext">
+      <xsl:with-param name="path" select="$filename"/>
+    </xsl:call-template>
+  </xsl:variable>
+  <xsl:value-of select="substring($filename, 1, string-length($filename) - string-length($ext))"/>
+</xsl:template>
+
+<!-- Returns a path with the filename stripped of its last extension.
+Examples:
+'foo/bar/index.dtdx.html' -> 'foo/bar/index.dtdx'
+-->
+<xsl:template name="path-noext">
+  <xsl:param name="path"/>
+  <xsl:variable name="ext">
+    <xsl:call-template name="ext">
+      <xsl:with-param name="path" select="$path"/>
+    </xsl:call-template>
+  </xsl:variable>
+  <xsl:value-of select="substring($path, 1, string-length($path) - string-length($ext))"/>
+</xsl:template>
+
+<!-- Normalized (..'s eliminated) version of 'path-noext' -->
+<xsl:template name="path-noext-nz">
+  <xsl:param name="path" />
+  <xsl:call-template name="normalize">
+    <xsl:with-param name="path">
+      <xsl:call-template name="path-noext">
+        <xsl:with-param name="path" select="$path" />
+      </xsl:call-template>
+    </xsl:with-param>
+  </xsl:call-template>
+</xsl:template>
+
+<!-- Returns a path with any fragment identifier ('#...') stripped off
+Examples:
+'foo/bar/index.dtdx.html#blah' -> 'foo/bar/index.dtdx.html'
+-->
+<xsl:template name="path-nofrag">
+  <xsl:param name="path"/>
+  <xsl:if test="not(contains($path, '#'))">
+    <xsl:value-of select="$path"/>
+  </xsl:if>
+  <xsl:if test="contains($path, '#')">
+    <xsl:value-of select="substring-before($path, '#')"/>
+  </xsl:if>
+</xsl:template>
+
+
+
+<!-- Normalizes a path, converting '/' to '\' and eliminating ..'s
+Examples:
+'foo/bar/../baz/index.html' -> foo/baz/index.html'
+-->
+<xsl:template name="normalize">
+  <xsl:param name="path"/>
+  <xsl:variable name="path-" select="translate($path, '\', '/')"/>
+  <xsl:choose>
+    <xsl:when test="contains($path-, '/../')">
+
+      <xsl:variable name="pa" select="substring-before($path-, '/../')"/>
+      <xsl:variable name="th" select="substring-after($path-, '/../')"/>
+      <xsl:variable name="pa-">
+        <xsl:call-template name="dirname">
+          <xsl:with-param name="path" select="$pa"/>
+        </xsl:call-template>
+      </xsl:variable>
+      <xsl:variable name="pa-th" select="concat($pa-, $th)"/>
+      <xsl:call-template name="normalize">
+        <xsl:with-param name="path" select="$pa-th"/>
+      </xsl:call-template>
+    </xsl:when>
+
+    <xsl:otherwise>
+      <xsl:value-of select="$path-"/>
+    </xsl:otherwise>
+  </xsl:choose>
+
+</xsl:template>
+
+<!--
+Uncomment this to test.
+Usage: saxon pathutils.xsl pathutils.xsl path=foo/bar
+
+<xsl:param name="path" select="'/foo/bar/../baz/index.html'"/>
+<xsl:template match="/">
+  <xsl:message>
+    path           = <xsl:value-of select="$path"/>
+    normalize      = <xsl:call-template name="normalize">
+      <xsl:with-param name="path" select="$path"/>
+    </xsl:call-template>
+    dirname        = <xsl:call-template name="dirname">
+      <xsl:with-param name="path" select="$path"/>
+    </xsl:call-template>
+    dirname-nz     = <xsl:call-template name="dirname-nz">
+      <xsl:with-param name="path" select="$path"/>
+    </xsl:call-template>
+    filename       = <xsl:call-template name="filename">
+      <xsl:with-param name="path" select="$path"/>
+    </xsl:call-template>
+    ext            = <xsl:call-template name="ext">
+      <xsl:with-param name="path" select="$path"/>
+    </xsl:call-template>
+    filename-noext = <xsl:call-template name="filename-noext">
+      <xsl:with-param name="path" select="$path"/>
+    </xsl:call-template>
+    path-noext     = <xsl:call-template name="path-noext">
+      <xsl:with-param name="path" select="$path"/>
+    </xsl:call-template>
+    path-noext-nz  = <xsl:call-template name="path-noext-nz">
+      <xsl:with-param name="path" select="$path"/>
+    </xsl:call-template>
+    path-nofrag    = <xsl:call-template name="path-nofrag">
+      <xsl:with-param name="path" select="$path"/>
+    </xsl:call-template>
+ 
+  </xsl:message>
+</xsl:template>
+-->
+
+</xsl:stylesheet>

Propchange: forrest/trunk/plugins/org.apache.forrest.plugin.internal.IMSManifest/resources/stylesheets/pathutils.xsl
------------------------------------------------------------------------------
    svn:eol-style = native

Added: forrest/trunk/plugins/org.apache.forrest.plugin.internal.IMSManifest/resources/stylesheets/repositoryUtils.xsl
URL: http://svn.apache.org/viewcvs/forrest/trunk/plugins/org.apache.forrest.plugin.internal.IMSManifest/resources/stylesheets/repositoryUtils.xsl?view=auto&rev=161254
==============================================================================
--- forrest/trunk/plugins/org.apache.forrest.plugin.internal.IMSManifest/resources/stylesheets/repositoryUtils.xsl (added)
+++ forrest/trunk/plugins/org.apache.forrest.plugin.internal.IMSManifest/resources/stylesheets/repositoryUtils.xsl Thu Apr 14 03:13:04 2005
@@ -0,0 +1,86 @@
+<?xml version="1.0"?>
+<!--
+  Copyright 2002-2004 The Apache Software Foundation or its licensors,
+  as applicable.
+
+  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.
+-->
+
+<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
+<!--
+
+A set of XSLT templates useful for parsing repository related commands.
+A command for the repository is formated as follows:
+
+http://domain.com/repositoryCommand/[command]/[parametersForCommand]/repositoryURI/[repositoryURI]
+
+where [command] is one of:
+
+* getSCO
+
+(for parameters see below)
+
+and [repositoryURI] is the URI of the repository we wish to access (no protocol)
+
+====================
+Command Descriptions
+====================
+
+getSCO
+======
+
+Retrieves a Sharable Content Object from the indicated repository. This command
+takes the format .../getSCO/[SCOName]
+
+where
+
+[SCOName] is the name of the SCO we wish to retrieve
+
+========
+Examples
+========
+
+/repositoryCommand/getSCO/HowTo/repositoryURI/www.burrokeet.org/repositoryData
+
+will retrive the SCO called HowTo from the repository located at http://www.burrokeet.org/repositoryData
+
+
+-->
+
+<xsl:param name="cmdRepositoryGetSCO">/repositoryCommand/getSCO/</xsl:param>
+
+<xsl:param name="repositoryURILabel">/repositoryURI/</xsl:param>
+
+<!-- Return the burrokeet command in a path that includes one -->
+<xsl:template name="getRepositoryCommand">
+  <xsl:param name="path"/>
+  <xsl:if test="contains($path, $cmdRepositoryGetSCO)">getSCO</xsl:if>
+</xsl:template>
+
+<!-- return the name of the SCO too use -->
+<xsl:template name="getSCOName">
+  <xsl:param name="path"/>
+  <xsl:variable name="fullCommand">
+    <xsl:value-of select="substring-after($path, $cmdRepositoryGetSCO)"/>
+  </xsl:variable>
+  <xsl:value-of select="substring-before($fullCommand, $repositoryURILabel)"/>
+</xsl:template>
+
+<!-- return the URI of the repository to use -->
+<xsl:template name="getRepositoryURI">
+  <xsl:param name="path"/>
+  <xsl:value-of select="substring-after($path, $repositoryURILabel)"/>
+</xsl:template>
+
+
+</xsl:stylesheet>

Propchange: forrest/trunk/plugins/org.apache.forrest.plugin.internal.IMSManifest/resources/stylesheets/repositoryUtils.xsl
------------------------------------------------------------------------------
    svn:eol-style = native

Added: forrest/trunk/plugins/org.apache.forrest.plugin.internal.IMSManifest/src/documentation/classes/CatalogManager.properties
URL: http://svn.apache.org/viewcvs/forrest/trunk/plugins/org.apache.forrest.plugin.internal.IMSManifest/src/documentation/classes/CatalogManager.properties?view=auto&rev=161254
==============================================================================
--- forrest/trunk/plugins/org.apache.forrest.plugin.internal.IMSManifest/src/documentation/classes/CatalogManager.properties (added)
+++ forrest/trunk/plugins/org.apache.forrest.plugin.internal.IMSManifest/src/documentation/classes/CatalogManager.properties Thu Apr 14 03:13:04 2005
@@ -0,0 +1,58 @@
+# Copyright 2002-2005 The Apache Software Foundation or its licensors,
+# as applicable.
+#
+# 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.
+
+#=======================================================================
+# CatalogManager.properties for Catalog Entity Resolver.
+#
+# This is the default properties file for your project.
+# This facilitates local configuration of application-specific catalogs.
+# If you have defined any local catalogs, then they will be loaded
+# before Forrest's core catalogs.
+#
+# See the Apache Forrest documentation:
+# http://forrest.apache.org/docs/your-project.html
+# http://forrest.apache.org/docs/validation.html
+
+# verbosity:
+# The level of messages for status/debug (messages go to standard output).
+# The setting here is for your own local catalogs.
+# The verbosity of Forrest's core catalogs is controlled via
+#  main/webapp/WEB-INF/cocoon.xconf
+#
+# The following messages are provided ...
+#  0 = none
+#  1 = ? (... not sure yet)
+#  2 = 1+, Loading catalog, Resolved public, Resolved system
+#  3 = 2+, Catalog does not exist, resolvePublic, resolveSystem
+#  10 = 3+, List all catalog entries when loading a catalog
+#    (Cocoon also logs the "Resolved public" messages.)
+verbosity=1
+
+# catalogs ... list of additional catalogs to load
+#  (Note that Apache Forrest will automatically load its own default catalog
+#  from main/webapp/resources/schema/catalog.xcat)
+# Use either full pathnames or relative pathnames.
+# pathname separator is always semi-colon (;) regardless of operating system
+# directory separator is always slash (/) regardless of operating system
+#catalogs=../resources/schema/catalog.xcat
+catalogs=
+
+# relative-catalogs
+# If false, relative catalog URIs are made absolute with respect to the
+# base URI of the CatalogManager.properties file. This setting only 
+# applies to catalog URIs obtained from the catalogs property in the
+# CatalogManager.properties file
+# Example: relative-catalogs=[yes|no]
+relative-catalogs=no

Propchange: forrest/trunk/plugins/org.apache.forrest.plugin.internal.IMSManifest/src/documentation/classes/CatalogManager.properties
------------------------------------------------------------------------------
    svn:eol-style = native

Added: forrest/trunk/plugins/org.apache.forrest.plugin.internal.IMSManifest/src/documentation/content/xdocs/favicon.ico
URL: http://svn.apache.org/viewcvs/forrest/trunk/plugins/org.apache.forrest.plugin.internal.IMSManifest/src/documentation/content/xdocs/favicon.ico?view=auto&rev=161254
==============================================================================
Binary file - no diff available.

Propchange: forrest/trunk/plugins/org.apache.forrest.plugin.internal.IMSManifest/src/documentation/content/xdocs/favicon.ico
------------------------------------------------------------------------------
    svn:mime-type = application/octet-stream

Added: forrest/trunk/plugins/org.apache.forrest.plugin.internal.IMSManifest/src/documentation/content/xdocs/images/group.svg
URL: http://svn.apache.org/viewcvs/forrest/trunk/plugins/org.apache.forrest.plugin.internal.IMSManifest/src/documentation/content/xdocs/images/group.svg?view=auto&rev=161254
==============================================================================
--- forrest/trunk/plugins/org.apache.forrest.plugin.internal.IMSManifest/src/documentation/content/xdocs/images/group.svg (added)
+++ forrest/trunk/plugins/org.apache.forrest.plugin.internal.IMSManifest/src/documentation/content/xdocs/images/group.svg Thu Apr 14 03:13:04 2005
@@ -0,0 +1,82 @@
+<?xml version="1.0" standalone="no"?>
+<!--
+  Copyright 2002-2004 The Apache Software Foundation or its licensors,
+  as applicable.
+
+  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.
+-->
+
+<!--
+       SVG Anteater logo
+
+To get started with SVG, I'd recommend getting the Adobe SVG plugin, and the
+xml-batik CVS module. Then have a look at the xml-batik/samples files. Use the
+SVG spec (http://www.w3.org/TR/SVG/) as a reference.
+-->
+
+<!-- See Forrest Issue: FOR-229
+<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.0//EN"
+"http://www.w3.org/TR/2001/REC-SVG-20010904/DTD/svg10.dtd"
+[
+ <!ATTLIST svg xmlns:for CDATA #FIXED "http://apache.org/forrest">
+ <!ENTITY % textExt "|for:group-name">
+ <!ELEMENT for:group-name (#PCDATA)>
+]>
+-->
+<svg xmlns="http://www.w3.org/2000/svg"
+     xmlns:xlink="http://www.w3.org/1999/xlink"
+     xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
+     xsl:version="1.0"
+     xmlns:for="http://apache.org/forrest"
+     width="220" height="65" >
+  <title>Anteater logo</title>
+
+  <defs>
+
+    <!--
+    <radialGradient id="radialGradient">
+      <stop style="stop-color:gold" offset="0"/>
+      <stop style="stop-color:orange" offset=".5"/>
+      <stop style="stop-color:crimson" offset="1"/>
+    </radialGradient>
+    <linearGradient id="linearGradient">
+      <stop style="stop-color:gold" offset="0"/>
+      <stop style="stop-color:orange" offset=".5"/>
+      <stop style="stop-color:crimson" offset="1"/>
+    </linearGradient>
+    -->
+
+    <linearGradient id="gradient" x1="0" y1="0" x2="0" y2="1">
+      <stop style="stop-color:white" offset="0"/>
+      <stop style="stop-color:lightgreen" offset="1"/>
+    </linearGradient>
+
+    <filter id="shadowFilter"  filterUnits="objectBoundingBox">
+      <!-- Takes the alpha channel (black outline of the text), blurs it and saves as 'blur' -->
+      <feGaussianBlur in="SourceAlpha" stdDeviation="2 2" result="blur"/>
+      <!-- Takes saved 'blur' and offsets it by 4 pixels, saves as 'offsetBlur' -->
+      <feOffset in="blur" dx="4" dy="4" result="offsetBlur"/>
+      <!-- Merges SourceGraphic (original image) and 'offsetBlur', putting the
+      former 'over' the latter, and using the merged result as the finished
+      image -->
+      <feComposite in="SourceGraphic" in2="offsetBlur" operator="over"/>
+    </filter>
+
+  </defs>
+
+  <g filter="url(#shadowFilter)" fill="url(#gradient)">
+    <text x="40%" y="60%" style="font-size:24pt; font-family:Verdana ; text-anchor: middle">
+    <for:group-name />
+    </text>
+  </g>
+</svg>

Propchange: forrest/trunk/plugins/org.apache.forrest.plugin.internal.IMSManifest/src/documentation/content/xdocs/images/group.svg
------------------------------------------------------------------------------
    svn:eol-style = native

Added: forrest/trunk/plugins/org.apache.forrest.plugin.internal.IMSManifest/src/documentation/content/xdocs/images/icon.png
URL: http://svn.apache.org/viewcvs/forrest/trunk/plugins/org.apache.forrest.plugin.internal.IMSManifest/src/documentation/content/xdocs/images/icon.png?view=auto&rev=161254
==============================================================================
Binary file - no diff available.

Propchange: forrest/trunk/plugins/org.apache.forrest.plugin.internal.IMSManifest/src/documentation/content/xdocs/images/icon.png
------------------------------------------------------------------------------
    svn:mime-type = image/png

Added: forrest/trunk/plugins/org.apache.forrest.plugin.internal.IMSManifest/src/documentation/content/xdocs/images/project.svg
URL: http://svn.apache.org/viewcvs/forrest/trunk/plugins/org.apache.forrest.plugin.internal.IMSManifest/src/documentation/content/xdocs/images/project.svg?view=auto&rev=161254
==============================================================================
--- forrest/trunk/plugins/org.apache.forrest.plugin.internal.IMSManifest/src/documentation/content/xdocs/images/project.svg (added)
+++ forrest/trunk/plugins/org.apache.forrest.plugin.internal.IMSManifest/src/documentation/content/xdocs/images/project.svg Thu Apr 14 03:13:04 2005
@@ -0,0 +1,82 @@
+<?xml version="1.0" standalone="no"?>
+<!--
+  Copyright 2002-2004 The Apache Software Foundation or its licensors,
+  as applicable.
+
+  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.
+-->
+
+<!--
+       SVG Anteater logo
+
+To get started with SVG, I'd recommend getting the Adobe SVG plugin, and the
+xml-batik CVS module. Then have a look at the xml-batik/samples files. Use the
+SVG spec (http://www.w3.org/TR/SVG/) as a reference.
+-->
+
+<!-- See Forrest Issue: FOR-229
+<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.0//EN"
+"http://www.w3.org/TR/2001/REC-SVG-20010904/DTD/svg10.dtd"
+[
+ <!ATTLIST svg xmlns:for CDATA #FIXED "http://apache.org/forrest">
+ <!ENTITY % textExt "|for:project-name">
+ <!ELEMENT for:project-name (#PCDATA)>
+]>
+-->
+<svg xmlns="http://www.w3.org/2000/svg"
+     xmlns:xlink="http://www.w3.org/1999/xlink"
+     xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
+     xsl:version="1.0"
+     xmlns:for="http://apache.org/forrest"
+     width="420" height="65" >
+  <title>Anteater logo</title>
+
+  <defs>
+
+    <!--
+    <radialGradient id="radialGradient">
+      <stop style="stop-color:gold" offset="0"/>
+      <stop style="stop-color:orange" offset=".5"/>
+      <stop style="stop-color:crimson" offset="1"/>
+    </radialGradient>
+    <linearGradient id="linearGradient">
+      <stop style="stop-color:gold" offset="0"/>
+      <stop style="stop-color:orange" offset=".5"/>
+      <stop style="stop-color:crimson" offset="1"/>
+    </linearGradient>
+    -->
+
+    <linearGradient id="gradient" x1="0" y1="0" x2="0" y2="1">
+      <stop style="stop-color:white" offset="0"/>
+      <stop style="stop-color:lightgreen" offset="1"/>
+    </linearGradient>
+
+    <filter id="shadowFilter" filterUnits="objectBoundingBox" width="1.4" height="1.4">
+      <!-- Takes the alpha channel (black outline of the text), blurs it and saves as 'blur' -->
+      <feGaussianBlur in="SourceAlpha" stdDeviation="2 2" result="blur"/>
+      <!-- Takes saved 'blur' and offsets it by 4 pixels, saves as 'offsetBlur' -->
+      <feOffset in="blur" dx="4" dy="4" result="offsetBlur"/>
+      <!-- Merges SourceGraphic (original image) and 'offsetBlur', putting the
+      former 'over' the latter, and using the merged result as the finished
+      image -->
+      <feComposite in="SourceGraphic" in2="offsetBlur" operator="over"/>
+    </filter>
+
+  </defs>
+
+  <g filter="url(#shadowFilter)" fill="url(#gradient)">
+    <text x="100%" y="60%" style="font-size:24pt; font-family:Verdana ; text-anchor: end" >
+    <for:project-name />
+    </text>
+  </g>
+</svg>

Propchange: forrest/trunk/plugins/org.apache.forrest.plugin.internal.IMSManifest/src/documentation/content/xdocs/images/project.svg
------------------------------------------------------------------------------
    svn:eol-style = native

Added: forrest/trunk/plugins/org.apache.forrest.plugin.internal.IMSManifest/src/documentation/content/xdocs/imsmanifest.xml
URL: http://svn.apache.org/viewcvs/forrest/trunk/plugins/org.apache.forrest.plugin.internal.IMSManifest/src/documentation/content/xdocs/imsmanifest.xml?view=auto&rev=161254
==============================================================================
--- forrest/trunk/plugins/org.apache.forrest.plugin.internal.IMSManifest/src/documentation/content/xdocs/imsmanifest.xml (added)
+++ forrest/trunk/plugins/org.apache.forrest.plugin.internal.IMSManifest/src/documentation/content/xdocs/imsmanifest.xml Thu Apr 14 03:13:04 2005
@@ -0,0 +1,22 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--Generated by Burrokeet (see http://www.burrokeet.org)-->
+<manifest xmlns="http://www.imsproject.org/xsd/imscp_rootv1p1p2" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:adlcp="http://www.adlnet.org/xsd/adlcp_rootv1p2" xsi:schemaLocation="http://www.imsproject.org/xsd/imscp_rootv1p1p2 schema/imscp_rootv1p1p2.xsd" identifier="@manifest.id@">
+  <organizations default="ORG-6C075DE6-EFBA-2928-6EAD-A3DE1359F9FF">
+    <organization identifier="ORG-6C075DE6-EFBA-2928-6EAD-A3DE1359F9FF" structure="hierarchical">
+      <title>Index</title>
+      <item identifier="ITEM-76A6AAAA-269B-51B6-B84D-99521C8AB2A4" isvisible="true" identifierref="RES-606A9253-43B2-3DC8-D6FC-7BCBA47B3CA0">
+        <title>Index</title>
+      </item>
+      <item identifier="ITEM-5BBDC722-935D-5376-A8E7-87C7881A9208" identifierref="RES-747E82F0-EC92-4EBC-C562-0F67B20D619C" isvisible="true">
+        <title>Burrokeet HowTo</title>
+      </item>
+    </organization>
+  </organizations>
+  <resources>
+    <resource type="text/xml" adlcp:scormtype="asset" identifier="RES-606A9253-43B2-3DC8-D6FC-7BCBA47B3CA0" href="index.xml">
+      <file href="index.xml" />
+    </resource>
+    <resource type="text/html" adlcp:scormtype="asset" identifier="RES-747E82F0-EC92-4EBC-C562-0F67B20D619C" href="/repositoryCommand/getSCO/HowTo/repositoryURI/www.burrokeet.org/repositoryData" />
+  </resources>
+</manifest>
+

Propchange: forrest/trunk/plugins/org.apache.forrest.plugin.internal.IMSManifest/src/documentation/content/xdocs/imsmanifest.xml
------------------------------------------------------------------------------
    svn:eol-style = native

Added: forrest/trunk/plugins/org.apache.forrest.plugin.internal.IMSManifest/src/documentation/content/xdocs/index.xml
URL: http://svn.apache.org/viewcvs/forrest/trunk/plugins/org.apache.forrest.plugin.internal.IMSManifest/src/documentation/content/xdocs/index.xml?view=auto&rev=161254
==============================================================================
--- forrest/trunk/plugins/org.apache.forrest.plugin.internal.IMSManifest/src/documentation/content/xdocs/index.xml (added)
+++ forrest/trunk/plugins/org.apache.forrest.plugin.internal.IMSManifest/src/documentation/content/xdocs/index.xml Thu Apr 14 03:13:04 2005
@@ -0,0 +1,29 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+  Copyright 2002-2005 The Apache Software Foundation or its licensors,
+  as applicable.
+
+  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.
+-->
+<!DOCTYPE document PUBLIC "-//APACHE//DTD Documentation V2.0//EN" "http://forrest.apache.org/dtd/document-v20.dtd">
+<document> 
+  <header> 
+    <title>Burrokeet Seed Project</title> 
+  </header> 
+  <body>
+  	<section>
+  		<title>Welcome to Burrokeet</title>
+  		<p>Congratulations, you have created new Burrokeet Content Package.</p>
+  	</section>
+  </body>
+</document>
\ No newline at end of file

Propchange: forrest/trunk/plugins/org.apache.forrest.plugin.internal.IMSManifest/src/documentation/content/xdocs/index.xml
------------------------------------------------------------------------------
    svn:eol-style = native

Added: forrest/trunk/plugins/org.apache.forrest.plugin.internal.IMSManifest/src/documentation/skinconf.xml
URL: http://svn.apache.org/viewcvs/forrest/trunk/plugins/org.apache.forrest.plugin.internal.IMSManifest/src/documentation/skinconf.xml?view=auto&rev=161254
==============================================================================
--- forrest/trunk/plugins/org.apache.forrest.plugin.internal.IMSManifest/src/documentation/skinconf.xml (added)
+++ forrest/trunk/plugins/org.apache.forrest.plugin.internal.IMSManifest/src/documentation/skinconf.xml Thu Apr 14 03:13:04 2005
@@ -0,0 +1,370 @@
+<?xml version="1.0"?>
+<!--
+  Copyright 2002-2005 The Apache Software Foundation or its licensors,
+  as applicable.
+
+  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.
+-->
+
+<!--
+Skin configuration file. This file contains details of your project,
+which will be used to configure the chosen Forrest skin.
+-->
+
+<!DOCTYPE skinconfig PUBLIC "-//APACHE//DTD Skin Configuration V0.6-3//EN" "http://forrest.apache.org/dtd/skinconfig-v06-3.dtd">
+<skinconfig>
+  <!-- To enable lucene search add provider="lucene" (default is google).
+    Add box-location="alt" to move the search box to an alternate location
+    (if the skin supports it) and box-location="all" to show it in all
+    available locations on the page.  Remove the <search> element to show
+    no search box. @domain will enable sitesearch for the specific domain with google.
+    In other words google will search the @domain for the query string.
+  -->
+  <search name="IMSManifest Plugin" domain="mydomain" provider="google"/>
+
+  <!-- Disable the print link? If enabled, invalid HTML 4.0.1 -->
+  <disable-print-link>true</disable-print-link>  
+  <!-- Disable the PDF link? -->
+  <disable-pdf-link>false</disable-pdf-link>
+  <!-- Disable the POD link? -->
+  <disable-pod-link>true</disable-pod-link>
+  <!-- Disable the Text link? FIXME: NOT YET IMPLEMENETED. -->
+  <disable-txt-link>true</disable-txt-link>
+  <!-- Disable the xml source link? -->
+  <!-- The xml source link makes it possible to access the xml rendition
+    of the source frim the html page, and to have it generated statically.
+    This can be used to enable other sites and services to reuse the
+    xml format for their uses. Keep this disabled if you don't want other
+    sites to easily reuse your pages.-->
+  <disable-xml-link>true</disable-xml-link>
+
+  <!-- Disable navigation icons on all external links? -->
+  <disable-external-link-image>false</disable-external-link-image>
+
+  <!-- Disable w3c compliance links? 
+    Use e.g. align="center" to move the compliance links logos to 
+    an alternate location default is left.
+    (if the skin supports it) -->
+  <disable-compliance-links>false</disable-compliance-links>
+
+  <!-- Render mailto: links unrecognisable by spam harvesters? -->
+  <obfuscate-mail-links>true</obfuscate-mail-links>
+  <obfuscate-mail-value>.at.</obfuscate-mail-value>
+
+  <!-- Disable the javascript facility to change the font size -->
+  <disable-font-script>false</disable-font-script>
+
+  <!-- mandatory project logo
+       default skin: renders it at the top -->
+  <project-name>Plugin: IMSManifest</project-name>
+  <project-description>IMSManifest plugin for Apache Forrest</project-description>
+  <project-url>http://forrest.apache.org/docs/plugins/IMSManifest/</project-url>
+  <project-logo>images/project.png</project-logo>
+  <!-- Alternative static image:
+  <project-logo>images/project-logo.gif</project-logo> -->
+
+  <!-- optional group logo
+       default skin: renders it at the top-left corner -->
+  <group-name>Apache Forrest</group-name>
+  <group-description>Apache Forrest</group-description>
+  <group-url>http://forrest.apache.org/</group-url>
+<!--
+  <group-logo>images/group.png</group-logo>
+-->
+  <!-- Alternative static image:
+  <group-logo>images/project-logo.gif</group-logo>
+  <group-logo>images/apache-forrest.png</group-logo>
+  -->
+  <group-logo>images/project-logo.gif</group-logo>
+
+  <!-- optional host logo (e.g. sourceforge logo)
+       default skin: renders it at the bottom-left corner -->
+  <host-url></host-url>
+  <host-logo></host-logo>
+
+  <!-- relative url of a favicon file, normally favicon.ico -->
+  <favicon-url>favicon.ico</favicon-url>
+
+  <!-- The following are used to construct a copyright statement -->
+  <year>2004-2005</year>
+  <vendor>The Apache Software Foundation.</vendor>
+  <!-- The optional copyright-link URL will be used as a link in the
+    copyright statement
+  -->
+  <copyright-link>http://www.apache.org/licenses/</copyright-link>
+
+  <!-- Some skins use this to form a 'breadcrumb trail' of links.
+    Use location="alt" to move the trail to an alternate location
+    (if the skin supports it).
+    Omit the location attribute to display the trail in the default location.
+    Use location="none" to not display the trail (if the skin supports it).
+    For some skins just set the attributes to blank.
+  -->
+  <trail>
+    <link1 name="Apache Forrest" href="http://forrest.apache.org/"/>
+    <link2 name="Plugins" href="http://forrest.apache.org/docs/plugins/"/>
+    <link3 name="IMSManifest" href="http://forrest.apache.org/docs/plugins/IMSManifest/"/>
+  </trail>
+
+  <!-- Configure the TOC, i.e. the Table of Contents.
+  @max-depth
+   how many "section" levels need to be included in the
+   generated Table of Contents (TOC). 
+  @min-sections
+   Minimum required to create a TOC.
+  @location ("page","menu","page,menu", "none")
+   Where to show the TOC.
+  -->
+  <toc max-depth="2" min-sections="1" location="page"/>
+
+  <!-- Heading types can be clean|underlined|boxed  -->
+  <headings type="underlined"/>
+  
+  <!-- The optional feedback element will be used to construct a
+    feedback link in the footer with the page pathname appended:
+    <a href="@href">{@to}</a>
+    -->
+  <!--<feedback to="webmaster@foo.com"
+    href="mailto:webmaster@foo.com?subject=Feedback&#160;" >
+    Send feedback about the website to:
+  </feedback>-->
+
+  <!-- Optional message of the day.
+    motd-title : This text will be added in brackets after the <html><title>
+    motd-page : This text will be added in a panel on the face of the page,
+    with the "motd-page-url" being the hyperlink "More".
+    Values for the "location" attribute are:
+      page : on the face of the page, e.g. in the spare space of the toc
+      alt : at the bottom of the left-hand navigation panel
+      both : both
+    -->
+  <motd-title>v0.7</motd-title>
+  <motd-page location="both">
+    This is documentation for current release v0.7
+  </motd-page>
+  <motd-page-url>http://forrest.apache.org/docs.html</motd-page-url>
+
+  <!--
+    extra-css - here you can define custom css-elements that are 
+    a. overriding the fallback elements or 
+    b. adding the css definition from new elements that you may have 
+       used in your documentation.
+    -->
+  <extra-css>
+    <!--Example of b. 
+        To define the css definition of a new element that you may have used
+        in the class attribute of a <p> node. 
+        e.g. <p class="quote"/>
+    -->
+    p.quote {
+      margin-left: 2em;
+      padding: .5em;
+      background-color: #f0f0f0;
+      font-family: monospace;
+    }
+  </extra-css>
+
+  <colors>
+  <!-- These values are used for the generated CSS files. -->
+
+  <!-- Krysalis -->
+<!--
+    <color name="header"    value="#FFFFFF"/>
+
+    <color name="tab-selected" value="#a5b6c6" link="#000000" vlink="#000000" hlink="#000000"/>
+    <color name="tab-unselected" value="#F7F7F7"  link="#000000" vlink="#000000" hlink="#000000"/>
+    <color name="subtab-selected" value="#a5b6c6"  link="#000000" vlink="#000000" hlink="#000000"/>
+    <color name="subtab-unselected" value="#a5b6c6"  link="#000000" vlink="#000000" hlink="#000000"/>
+
+    <color name="heading" value="#a5b6c6"/>
+    <color name="subheading" value="#CFDCED"/>
+        
+    <color name="navstrip" value="#CFDCED" font="#000000" link="#000000" vlink="#000000" hlink="#000000"/>
+    <color name="toolbox" value="#a5b6c6"/>
+    <color name="border" value="#a5b6c6"/>
+        
+    <color name="menu" value="#F7F7F7" link="#000000" vlink="#000000" hlink="#000000"/>    
+    <color name="dialog" value="#F7F7F7"/>
+            
+    <color name="body"    value="#ffffff" link="#0F3660" vlink="#009999" hlink="#000066"/>
+    
+    <color name="table" value="#a5b6c6"/>    
+    <color name="table-cell" value="#ffffff"/>    
+    <color name="highlight" value="#ffff00"/>
+    <color name="fixme" value="#cc6600"/>
+    <color name="note" value="#006699"/>
+    <color name="warning" value="#990000"/>
+    <color name="code" value="#a5b6c6"/>
+        
+    <color name="footer" value="#a5b6c6"/>
+-->
+  
+  <!-- Forrest -->
+    <color name="header"    value="#294563"/>
+
+    <color name="tab-selected" value="#4a6d8c" link="#0F3660" vlink="#0F3660" hlink="#000066"/>
+    <color name="tab-unselected" value="#b5c7e7" link="#0F3660" vlink="#0F3660" hlink="#000066"/>
+    <color name="subtab-selected" value="#4a6d8c" link="#0F3660" vlink="#0F3660" hlink="#000066"/>
+    <color name="subtab-unselected" value="#4a6d8c" link="#0F3660" vlink="#0F3660" hlink="#000066"/>
+
+    <color name="heading" value="#294563"/>
+    <color name="subheading" value="#4a6d8c"/>
+        
+    <color name="navstrip" value="#cedfef" font="#0F3660" link="#0F3660" vlink="#0F3660" hlink="#000066"/>
+    <color name="toolbox" value="#4a6d8c"/>
+    <color name="border" value="#294563"/>
+    
+    <color name="menu" value="#4a6d8c" font="#cedfef" link="#ffffff" vlink="#ffffff" hlink="#ffcf00"/>    
+    <color name="dialog" value="#4a6d8c"/>
+            
+    <color name="body" value="#ffffff"  link="#0F3660" vlink="#009999" hlink="#000066"/>
+    
+    <color name="table" value="#7099C5"/>    
+    <color name="table-cell" value="#f0f0ff"/>    
+    <color name="highlight" value="#ffff00"/>
+    <color name="fixme" value="#cc6600"/>
+    <color name="note" value="#006699"/>
+    <color name="warning" value="#990000"/>
+    <color name="code" value="#CFDCED"/>
+        
+    <color name="footer" value="#cedfef"/>
+
+  <!-- Collabnet --> 
+<!--
+    <color name="header"    value="#003366"/>
+
+    <color name="tab-selected" value="#dddddd" link="#555555" vlink="#555555" hlink="#555555"/>
+    <color name="tab-unselected" value="#999999" link="#ffffff" vlink="#ffffff" hlink="#ffffff"/>
+    <color name="subtab-selected" value="#cccccc" link="#000000" vlink="#000000" hlink="#000000"/>
+    <color name="subtab-unselected" value="#cccccc" link="#555555" vlink="#555555" hlink="#555555"/>
+
+    <color name="heading" value="#003366"/>
+    <color name="subheading" value="#888888"/>
+    
+    <color name="navstrip" value="#dddddd" font="#555555"/>
+    <color name="toolbox" value="#dddddd" font="#555555"/>
+    <color name="border" value="#999999"/>
+    
+    <color name="menu" value="#ffffff"/>    
+    <color name="dialog" value="#eeeeee"/>
+            
+    <color name="body"      value="#ffffff"/>
+    
+    <color name="table" value="#ccc"/>    
+    <color name="table-cell" value="#ffffff"/>   
+    <color name="highlight" value="#ffff00"/>
+    <color name="fixme" value="#cc6600"/>
+    <color name="note" value="#006699"/>
+    <color name="warning" value="#990000"/>
+    <color name="code" value="#003366"/>
+        
+    <color name="footer" value="#ffffff"/>
+-->
+ <!-- Lenya using pelt-->
+<!--
+
+    <color name="header" value="#ffffff"/>
+
+    <color name="tab-selected" value="#E5E4D9" link="#000000" vlink="#000000" hlink="#000000"/>
+    <color name="tab-unselected" value="#F5F4E9" link="#000000" vlink="#000000" hlink="#000000"/>
+    <color name="subtab-selected" value="#000000" link="#000000" vlink="#000000" hlink="#000000"/>
+    <color name="subtab-unselected" value="#E5E4D9" link="#000000" vlink="#000000" hlink="#000000"/>
+
+    <color name="heading" value="#E5E4D9"/>
+    <color name="subheading" value="#000000"/>
+    <color name="published" value="#000000"/>
+    <color name="navstrip" value="#E5E4D9" font="#000000"/>
+    <color name="toolbox" value="#CFDCED" font="#000000"/>
+    <color name="border" value="#999999"/>
+
+    <color name="menu" value="#E5E4D9" font="#000000" link="#000000" vlink="#000000" hlink="#000000"/>
+    <color name="dialog" value="#CFDCED"/>
+    <color name="body" value="#ffffff" />
+
+    <color name="table" value="#ccc"/>
+    <color name="table-cell" value="#ffffff"/>
+    <color name="highlight" value="#ffff00"/>
+    <color name="fixme" value="#cc6600"/>
+    <color name="note" value="#006699"/>
+    <color name="warning" value="#990000"/>
+    <color name="code" value="#003366"/>
+
+    <color name="footer" value="#E5E4D9"/>
+-->
+  </colors>
+ 
+  <!-- Settings specific to PDF output. -->
+  <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).
+       Supported text alignments are left, right, justify (default left).
+    -->
+    <page size="a4" orientation="portrait" text-align="left"/>
+
+    <!--
+       Margins can be specified for top, bottom, inner, and outer
+       edges. If double-sided="false", the inner edge is always left
+       and the outer is always right. If double-sided="true", the
+       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>1cm</top>
+      <bottom>1cm</bottom>
+      <inner>1.25cm</inner>
+      <outer>1.5cm</outer>
+    </margins>
+
+    <!--
+      Print the URL text next to all links going outside the file
+    -->
+    <show-external-urls>false</show-external-urls>
+
+    <!--
+      Disable the copyright footer on each page of the PDF.
+      A footer is composed for each page. By default, a "credit" with role=pdf
+      will be used, as explained below. Otherwise a copyright statement
+      will be generated. This latter can be disabled.
+    -->
+    <disable-copyright-footer>true</disable-copyright-footer>
+  </pdf>
+
+  <!-- Credits are typically rendered as a set of small clickable
+    images in the page footer.
+    Use box-location="alt" to move the credit to an alternate location
+    (if the skin supports it). 
+  -->
+  <credits>
+    <credit>
+      <name>Built with Apache Forrest</name>
+      <url>http://forrest.apache.org/</url>
+      <image>images/built-with-forrest-button.png</image>
+      <width>88</width>
+      <height>31</height>
+    </credit>
+    <!-- A credit with @role="pdf" will be used to compose a footer
+     for each page in the PDF, using either "name" or "url" or both.
+    -->
+    <!--
+    <credit role="pdf">
+      <name>Built with Apache Forrest</name>
+      <url>http://forrest.apache.org/</url>
+    </credit>
+    -->
+  </credits>
+
+</skinconfig>

Propchange: forrest/trunk/plugins/org.apache.forrest.plugin.internal.IMSManifest/src/documentation/skinconf.xml
------------------------------------------------------------------------------
    svn:eol-style = native

Added: forrest/trunk/plugins/org.apache.forrest.plugin.internal.IMSManifest/src/resources/schema/ims_xml.xsd
URL: http://svn.apache.org/viewcvs/forrest/trunk/plugins/org.apache.forrest.plugin.internal.IMSManifest/src/resources/schema/ims_xml.xsd?view=auto&rev=161254
==============================================================================
--- forrest/trunk/plugins/org.apache.forrest.plugin.internal.IMSManifest/src/resources/schema/ims_xml.xsd (added)
+++ forrest/trunk/plugins/org.apache.forrest.plugin.internal.IMSManifest/src/resources/schema/ims_xml.xsd Thu Apr 14 03:13:04 2005
@@ -0,0 +1,20 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!-- filename=ims_xml.xsd -->
+<xsd:schema targetNamespace="http://www.w3.org/XML/1998/namespace" xmlns="http://www.w3.org/XML/1998/namespace" xmlns:xsd="http://www.w3.org/2001/XMLSchema" elementFormDefault="unqualified">
+	<!-- 2001-02-22 edited by Thomas Wason IMS Global Learning Consortium, Inc. -->
+	<xsd:annotation>
+		<xsd:documentation>In namespace-aware XML processors, the &quot;xml&quot; prefix is bound to the namespace name http://www.w3.org/XML/1998/namespace.</xsd:documentation>
+		<xsd:documentation>Do not reference this file in XML instances</xsd:documentation>
+	</xsd:annotation>
+	<xsd:attribute name="lang" type="xsd:language">
+		<xsd:annotation>
+			<xsd:documentation>Refers to universal  XML 1.0 lang attribute</xsd:documentation>
+		</xsd:annotation>
+	</xsd:attribute>
+	<xsd:attribute name="base" type="xsd:anyURI">
+		<xsd:annotation>
+			<xsd:documentation>Refers to XML Base: http://www.w3.org/TR/xmlbase</xsd:documentation>
+		</xsd:annotation>
+	</xsd:attribute>
+	<xsd:attribute name="link" type="xsd:anyURI"/>
+</xsd:schema>

Propchange: forrest/trunk/plugins/org.apache.forrest.plugin.internal.IMSManifest/src/resources/schema/ims_xml.xsd
------------------------------------------------------------------------------
    svn:eol-style = native