You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@pdfbox.apache.org by ju...@apache.org on 2008/06/22 21:09:18 UTC

svn commit: r670399 [5/6] - in /incubator/pdfbox/trunk/jempbox: ./ lib/ licenses/ licenses/checkstyle/ licenses/jempbox/ licenses/junit/ src/ src/org/ src/org/jempbox/ src/org/jempbox/impl/ src/org/jempbox/xmp/ src/org/jempbox/xmp/pdfa/ src/test/ src/t...

Added: incubator/pdfbox/trunk/jempbox/src/test/jempbox/xmp/XMPSchemaTest.java
URL: http://svn.apache.org/viewvc/incubator/pdfbox/trunk/jempbox/src/test/jempbox/xmp/XMPSchemaTest.java?rev=670399&view=auto
==============================================================================
--- incubator/pdfbox/trunk/jempbox/src/test/jempbox/xmp/XMPSchemaTest.java (added)
+++ incubator/pdfbox/trunk/jempbox/src/test/jempbox/xmp/XMPSchemaTest.java Sun Jun 22 12:09:15 2008
@@ -0,0 +1,300 @@
+package test.jempbox.xmp;
+
+import java.io.IOException;
+import java.util.Calendar;
+import java.util.List;
+import java.util.TimeZone;
+
+import javax.xml.parsers.DocumentBuilder;
+import javax.xml.parsers.DocumentBuilderFactory;
+import javax.xml.parsers.ParserConfigurationException;
+
+import junit.framework.TestCase;
+
+import org.jempbox.impl.DateConverter;
+import org.jempbox.xmp.XMPMetadata;
+import org.jempbox.xmp.XMPSchema;
+import org.w3c.dom.Element;
+
+/**
+ * Tests for the XMPSchema class.
+ * 
+ * @author $Author: benlitchfield $
+ * @version $Revision: 1.2 $ ($Date: 2007/02/28 02:30:30 $)
+ * 
+ */
+public class XMPSchemaTest extends TestCase
+{
+    /**
+     * Check whether the schema correctly sets the rdf:Description element.
+     * 
+     * @throws IOException Signals an error with the XMP processing.
+     * @throws ParserConfigurationException Signals an error with the XMP processing.
+     */
+    public void testRDFDescription() throws IOException, ParserConfigurationException
+    {
+        // Check constructor using an element
+        XMPMetadata xmp = new XMPMetadata();
+        XMPSchema basic = new XMPSchema(xmp, "test", "http://test.com/test");
+
+        assertNotNull(basic.getElement());
+        assertEquals("rdf:Description", basic.getElement().getTagName());
+
+        // Then Check using the Document Builder Factory
+        DocumentBuilderFactory builderFactory = DocumentBuilderFactory
+                .newInstance();
+        DocumentBuilder builder = builderFactory.newDocumentBuilder();
+        Element e = builder.newDocument().createElement("rdf:Description");
+
+        XMPSchema schema = new XMPSchema(e, "test");
+
+        assertEquals(e, schema.getElement());
+        assertEquals("rdf:Description", schema.getElement().getTagName());
+    }
+
+    /**
+     * Test that text properties are correctly handeled.
+     * 
+     * @throws IOException Signals an error with the XMP processing.
+     */
+    public void testTextProperty() throws IOException
+    {
+        XMPMetadata xmp = new XMPMetadata();
+        XMPSchema schema = new XMPSchema(xmp, "test", "http://test.com/test");
+
+        schema.setTextProperty("test:title",
+                "The advanced Flux-Compensation for Delawney-Separation");
+
+        Element e = schema.getElement();
+        assertEquals("The advanced Flux-Compensation for Delawney-Separation",
+                e.getAttribute("test:title"));
+
+        assertEquals("The advanced Flux-Compensation for Delawney-Separation",
+                schema.getTextProperty("test:title"));
+
+        schema.setTextProperty("test:title",
+                "Bacon's Dictum and Healey's Heaven");
+
+        e = schema.getElement();
+        assertEquals("Bacon's Dictum and Healey's Heaven", e
+                .getAttribute("test:title"));
+
+        assertEquals("Bacon's Dictum and Healey's Heaven", schema
+                .getTextProperty("test:title"));
+
+        schema
+                .setTextProperty(
+                        "test:abstract",
+                        "   The abstract\n can go \n \n on several" +
+                        " \n lines with \n many \n\n empty ones in \n between.");
+        assertEquals(
+                "   The abstract\n can go \n \n on several" +
+                " \n lines with \n many \n\n empty ones in \n between.",
+                schema.getTextProperty("test:abstract"));
+    }
+
+    /**
+     * Check bag properties.
+     * 
+     * @throws IOException Signals an error with the XMP processing.
+     */
+    public void testBags() throws IOException
+    {
+
+        XMPMetadata xmp = new XMPMetadata();
+        XMPSchema schema = new XMPSchema(xmp, "test", "http://test.com/test");
+
+        schema.addBagValue("author", "Tom DeMarco");
+        schema.addBagValue("author", "Kent Beck");
+        {
+
+            List l = schema.getBagList("author");
+
+            assertEquals(2, l.size());
+
+            assertTrue(l.get(0).equals("Tom DeMarco")
+                    || l.get(1).equals("Tom DeMarco"));
+            assertTrue(l.get(0).equals("Kent Beck")
+                    || l.get(1).equals("Kent Beck"));
+        }
+        {
+            schema.removeBagValue("author", "Kent Beck");
+            List l = schema.getBagList("author");
+            assertEquals(1, l.size());
+            assertTrue(l.get(0).equals("Tom DeMarco"));
+        }
+        { // Already removed
+            schema.removeBagValue("author", "Kent Beck");
+            List l = schema.getBagList("author");
+            assertEquals(1, l.size());
+            assertTrue(l.get(0).equals("Tom DeMarco"));
+        }
+        { // Duplicates allowed!
+            schema.addBagValue("author", "Tom DeMarco");
+            List l = schema.getBagList("author");
+            assertEquals(2, l.size());
+            assertTrue(l.get(0).equals("Tom DeMarco"));
+            assertTrue(l.get(1).equals("Tom DeMarco"));
+        }
+        { // Removes both
+            schema.removeBagValue("author", "Tom DeMarco");
+            List l = schema.getBagList("author");
+            assertEquals(0, l.size());
+        }
+    }
+
+    /**
+     * Test adding and removing from a sequence list.
+     * 
+     * @throws IOException Signals an error with the XMP processing.
+     */
+    public void testSeqList() throws IOException
+    {
+        XMPMetadata xmp = new XMPMetadata();
+        XMPSchema schema = new XMPSchema(xmp, "test", "http://test.com/test");
+
+        schema.addSequenceValue("author", "Tom DeMarco");
+        schema.addSequenceValue("author", "Kent Beck");
+        {
+
+            List l = schema.getSequenceList("author");
+
+            assertEquals(2, l.size());
+
+            assertEquals("Tom DeMarco", l.get(0));
+            assertEquals("Kent Beck", l.get(1));
+        }
+        {
+            schema.removeSequenceValue("author", "Tom DeMarco");
+            List l = schema.getSequenceList("author");
+            assertEquals(1, l.size());
+            assertTrue(l.get(0).equals("Kent Beck"));
+        }
+        { // Already removed
+            schema.removeSequenceValue("author", "Tom DeMarco");
+            List l = schema.getSequenceList("author");
+            assertEquals(1, l.size());
+            assertTrue(l.get(0).equals("Kent Beck"));
+        }
+        { // Duplicates allowed!
+            schema.addSequenceValue("author", "Kent Beck");
+            List l = schema.getSequenceList("author");
+            assertEquals(2, l.size());
+            assertTrue(l.get(0).equals("Kent Beck"));
+            assertTrue(l.get(1).equals("Kent Beck"));
+        }
+        { // Remvoes all
+            schema.removeSequenceValue("author", "Kent Beck");
+            List l = schema.getSequenceList("author");
+            assertEquals(0, l.size());
+        }
+    }
+
+    /**
+     * Compares two dates.
+     * 
+     * @param expected The expected date.
+     * @param actual The actual date.
+     */
+    public void assertEquals(Calendar expected, Calendar actual)
+    {
+        assertEquals(expected.get(Calendar.YEAR), actual.get(Calendar.YEAR));
+        assertEquals(expected.get(Calendar.MONTH), actual.get(Calendar.MONTH));
+        assertEquals(expected.get(Calendar.DAY_OF_MONTH), 
+                     actual.get(Calendar.DAY_OF_MONTH));
+        assertEquals(expected.get(Calendar.HOUR), actual.get(Calendar.HOUR));
+        assertEquals(expected.get(Calendar.MINUTE), actual.get(Calendar.MINUTE));
+        assertEquals(expected.get(Calendar.SECOND), actual.get(Calendar.SECOND));
+        assertEquals(expected.get(Calendar.ZONE_OFFSET) + expected.get( Calendar.DST_OFFSET ), 
+                     actual.get(Calendar.ZONE_OFFSET) + actual.get( Calendar.DST_OFFSET ));
+        assertEquals(expected.getTimeInMillis(), actual.getTimeInMillis());
+
+    }
+    
+    /**
+     * Test ISO-8601 date conversion.
+     * 
+     * @throws IOException If the conversion did not work as expected.
+     */
+    public void testDateConversionNegativeTimeZone() throws IOException
+    {
+        Calendar c1 = Calendar.getInstance();
+        c1.setTimeZone( TimeZone.getTimeZone("GMT-5"));
+        c1.set(Calendar.MILLISECOND, 0);
+        String convertedDate = DateConverter.toISO8601(c1);
+        Calendar converted = DateConverter.toCalendar( convertedDate );
+        assertEquals( c1, converted);
+    }
+    
+    /**
+     * Test ISO-8601 date conversion.
+     * 
+     * @throws IOException If the conversion did not work as expected.
+     */
+    public void testDateConversionPositiveTimeZone() throws IOException
+    {
+        Calendar c1 = Calendar.getInstance( TimeZone.getTimeZone("Australia/Sydney ") );
+        c1.clear();
+        c1.set(2007, 1, 27, 13, 12, 15);
+        String convertedDate = DateConverter.toISO8601(c1);
+        Calendar converted = DateConverter.toCalendar( convertedDate );
+        
+        assertEquals( c1, converted);
+    }
+
+    /**
+     * Tests adding and removing from a date list.
+     * 
+     * @throws IOException Signals an error with the XMP processing.
+     */
+    public void testDateList() throws IOException
+    {
+        XMPMetadata xmp = new XMPMetadata();
+        XMPSchema schema = new XMPSchema(xmp, "test", "http://test.com/test");
+
+        Calendar c1 = Calendar.getInstance();
+        c1.set(1999, 11, 31, 0, 0, 0);
+        c1.set(Calendar.MILLISECOND, 0);
+
+        Calendar c2 = Calendar.getInstance();
+        c2.set(2000, 11, 31, 0, 0, 0);
+        c2.set(Calendar.MILLISECOND, 0);
+        System.out.println( DateConverter.toISO8601(c1));
+
+        schema.addSequenceDateValue("test:importantDates", c1);
+        schema.addSequenceDateValue("test:importantDates", c2);
+
+        List l = schema.getSequenceDateList("test:importantDates");
+
+        assertEquals(2, l.size());
+
+        assertEquals(c1, (Calendar) l.get(0));
+        assertEquals(c2, (Calendar) l.get(1));
+
+        schema.removeSequenceDateValue("test:importantDates", c1);
+
+        l = schema.getSequenceDateList("test:importantDates");
+
+        assertEquals(1, l.size());
+
+        assertEquals(c2, (Calendar) l.get(0));
+
+        // Already removed
+        schema.removeSequenceDateValue("test:importantDates", c1);
+        l = schema.getSequenceDateList("test:importantDates");
+        assertEquals(1, l.size());
+        assertEquals(c2, (Calendar) l.get(0));
+
+        // Duplicates Allowed
+        schema.addSequenceDateValue("test:importantDates", c2);
+        l = schema.getSequenceDateList("test:importantDates");
+        assertEquals(2, l.size());
+        assertEquals(c2, (Calendar) l.get(0));
+        assertEquals(c2, (Calendar) l.get(1));
+
+        // Remvoes all
+        schema.removeSequenceDateValue("test:importantDates", c2);
+        l = schema.getSequenceDateList("test:importantDates");
+        assertEquals(0, l.size());
+    }
+}

Added: incubator/pdfbox/trunk/jempbox/src/test/jempbox/xmp/package.html
URL: http://svn.apache.org/viewvc/incubator/pdfbox/trunk/jempbox/src/test/jempbox/xmp/package.html?rev=670399&view=auto
==============================================================================
--- incubator/pdfbox/trunk/jempbox/src/test/jempbox/xmp/package.html (added)
+++ incubator/pdfbox/trunk/jempbox/src/test/jempbox/xmp/package.html Sun Jun 22 12:09:15 2008
@@ -0,0 +1,9 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN">
+<html>
+<head>
+
+</head>
+<body>
+This package contains tests for the org.jempbox.xmp package.
+</body>
+</html>

Added: incubator/pdfbox/trunk/jempbox/website/.cvsignore
URL: http://svn.apache.org/viewvc/incubator/pdfbox/trunk/jempbox/website/.cvsignore?rev=670399&view=auto
==============================================================================
--- incubator/pdfbox/trunk/jempbox/website/.cvsignore (added)
+++ incubator/pdfbox/trunk/jempbox/website/.cvsignore Sun Jun 22 12:09:15 2008
@@ -0,0 +1 @@
+build

Added: incubator/pdfbox/trunk/jempbox/website/cli.xconf
URL: http://svn.apache.org/viewvc/incubator/pdfbox/trunk/jempbox/website/cli.xconf?rev=670399&view=auto
==============================================================================
--- incubator/pdfbox/trunk/jempbox/website/cli.xconf (added)
+++ incubator/pdfbox/trunk/jempbox/website/cli.xconf Sun Jun 22 12:09:15 2008
@@ -0,0 +1,312 @@
+<?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.
+-->
+<!--+
+    |  This is the Apache Cocoon command line configuration file. 
+    |  Here you give the command line interface details of where
+    |  to find various aspects of your Cocoon installation.
+    |
+    |  If you wish, you can also use this file to specify the URIs
+    |  that you wish to generate.
+    |
+    |  The current configuration information in this file is for
+    |  building the Cocoon documentation. Therefore, all links here 
+    |  are relative to the build context dir, which, in the build.xml 
+    |  file, is set to ${build.context} 
+    |
+    |  Options:
+    |    verbose:            increase amount of information presented
+    |                        to standard output (default: false)
+    |    follow-links:       whether linked pages should also be 
+    |                        generated (default: true)
+    |    precompile-only:    precompile sitemaps and XSP pages, but 
+    |                        do not generate any pages (default: false)
+    |    confirm-extensions: check the mime type for the generated page
+    |                        and adjust filename and links extensions
+    |                        to match the mime type 
+    |                        (e.g. text/html->.html)
+    |
+    |  Note: Whilst using an xconf file to configure the Cocoon 
+    |        Command Line gives access to more features, the use of 
+    |        command line parameters is more stable, as there are 
+    |        currently plans to improve the xconf format to allow 
+    |        greater flexibility. If you require a stable and
+    |        consistent method for accessing the CLI, it is recommended 
+    |        that you use the command line parameters to configure 
+    |        the CLI. See documentation at:
+    |        /userdocs/offline/index.html and Wiki:CommandLine
+    |
+    +-->
+    
+<cocoon verbose="true"  
+        follow-links="true" 
+        precompile-only="false" 
+        confirm-extensions="false">
+
+   <!--+
+       |  The context directory is usually the webapp directory
+       |  containing the sitemap.xmap file.
+       |
+       |  The config file is the cocoon.xconf file.
+       |
+       |  The work directory is used by Cocoon to store temporary
+       |  files and cache files.
+       |
+       |  The destination directory is where generated pages will
+       |  be written (assuming the 'simple' mapper is used, see 
+       |  below)
+       +-->
+   <context-dir>.</context-dir>
+   <config-file>WEB-INF/cocoon.xconf</config-file>
+   <work-dir>../tmp/cocoon-work</work-dir>
+   <dest-dir>../site</dest-dir>
+   
+   <!--+
+       |  A checksum file can be used to store checksums for pages
+       |  as they are generated. When the site is next generated, 
+       |  files will not be written if their checksum has not changed.
+       |  This means that it will be easier to detect which files 
+       |  need to be uploaded to a server, using the timestamp.
+       +-->
+   <!--   <checksums-uri>build/work/checksums</checksums-uri>-->
+
+   <!--+
+       | Broken link reporting options:
+       |   Report into a text file, one link per line:
+       |     <broken-links type="text" report="filename"/>
+       |   Report into an XML file:
+       |     <broken-links type="xml" report="filename"/>
+       |   Ignore broken links (default):
+       |     <broken-links type="none"/>
+       |
+       |   Two attributes to this node specify whether a page should
+       |   be generated when an error has occured. 'generate' specifies 
+       |   whether a page should be generated (default: true) and
+       |   extension specifies an extension that should be appended
+       |   to the generated page's filename (default: none)
+       |
+       |   Using this, a quick scan through the destination directory
+       |   will show broken links, by their filename extension.
+       +-->
+   <broken-links type="xml" 
+                 file="../brokenlinks.xml"
+                 generate="false"
+                 extension=".error"/>
+   
+   <!--+
+       |  Load classes at startup. This is necessary for generating
+       |  from sites that use SQL databases and JDBC.
+       |  The <load-class> element can be repeated if multiple classes
+       |  are needed.
+       +-->
+   <!--
+   <load-class>org.firebirdsql.jdbc.Driver</load-class>
+   -->
+
+   <!--+
+       |  Configures logging. 
+       |  The 'log-kit' parameter specifies the location of the log kit 
+       |  configuration file (usually called logkit.xconf. 
+       | 
+       |  Logger specifies the logging category (for all logging prior 
+       |  to other Cocoon logging categories taking over)
+       |
+       |  Available log levels are:
+       |    DEBUG:        prints all level of log messages.
+       |    INFO:         prints all level of log messages except DEBUG 
+       |                  ones.
+       |    WARN:         prints all level of log messages except DEBUG 
+       |                  and INFO ones.
+       |    ERROR:        prints all level of log messages except DEBUG, 
+       |                  INFO and WARN ones.
+       |    FATAL_ERROR:  prints only log messages of this level
+       +-->
+   <!-- <logging log-kit="WEB-INF/logkit.xconf" logger="cli" level="ERROR" /> -->
+
+   <!--+
+       |  Specifies the filename to be appended to URIs that
+       |  refer to a directory (i.e. end with a forward slash).
+       +-->
+   <default-filename>index.html</default-filename>
+
+   <!--+
+       |  Specifies a user agent string to the sitemap when
+       |  generating the site.
+       |
+       |  A generic term for a web browser is "user agent". Any 
+       |  user agent, when connecting to a web server, will provide
+       |  a string to identify itself (e.g. as Internet Explorer or
+       |  Mozilla). It is possible to have Cocoon serve different
+       |  content depending upon the user agent string provided by
+       |  the browser. If your site does this, then you may want to
+       |  use this <user-agent> entry to provide a 'fake' user agent
+       |  to Cocoon, so that it generates the correct version of your
+       |  site.
+       | 
+       |  For most sites, this can be ignored.
+       +-->
+   <!--
+   <user-agent>Cocoon Command Line Environment 2.1</user-agent>
+   -->
+
+   <!--+
+       |  Specifies an accept string to the sitemap when generating
+       |  the site.
+       |  User agents can specify to an HTTP server what types of content
+       |  (by mime-type) they are able to receive. E.g. a browser may be 
+       |  able to handle jpegs, but not pngs. The HTTP accept header 
+       |  allows the server to take the browser's capabilities into account,
+       |  and only send back content that it can handle.
+       |
+       |  For most sites, this can be ignored.
+       +-->
+
+   <accept>*/*</accept>
+   
+   <!--+
+       | Specifies which URIs should be included or excluded, according
+       | to wildcard patterns. 
+       | 
+       | These includes/excludes are only relevant when you are following
+       | links. A link URI must match an include pattern (if one is given) 
+       | and not match an exclude pattern, if it is to be followed by
+       | Cocoon. It can be useful, for example, where there are links in
+       | your site to pages that are not generated by Cocoon, such as 
+       | references to api-documentation.
+       | 
+       | By default, all URIs are included. If both include and exclude
+       | patterns are specified, a URI is first checked against the 
+       | include patterns, and then against the exclude patterns.
+       | 
+       | Multiple patterns can be given, using muliple include or exclude
+       | nodes. 
+       | 
+       | The order of the elements is not significant, as only the first 
+       | successful match of each category is used.
+       | 
+       | Currently, only the complete source URI can be matched (including
+       | any URI prefix). Future plans include destination URI matching 
+       | and regexp matching. If you have requirements for these, contact
+       | dev@cocoon.apache.org.
+       +-->
+
+   <exclude pattern="**/"/>
+   <exclude pattern="**apidocs**"/>
+   <exclude pattern="**javadoc**"/>
+   <exclude pattern="api/**"/>
+   <exclude pattern="**/images/**"/>
+   
+   <exclude pattern="site:**"/>
+   <exclude pattern="ext:**"/>
+      
+   <!-- Exclude tokens used in URLs to ASF mirrors (interpreted by a CGI) -->
+   <exclude pattern="[preferred]/**"/>
+   <exclude pattern="[location]"/>
+   
+   <!--   <include-links extension=".html"/>-->
+   
+   <!--+
+       |  <uri> nodes specify the URIs that should be generated, and 
+       |  where required, what should be done with the generated pages.
+       |  They describe the way the URI of the generated file is created
+       |  from the source page's URI. There are three ways that a generated
+       |  file URI can be created: append, replace and insert.
+       |
+       |  The "type" attribute specifies one of (append|replace|insert):
+       |
+       |  append:
+       |  Append the generated page's URI to the end of the source URI:
+       |
+       |   <uri type="append" src-prefix="documents/" src="index.html"
+       |   dest="build/dest/"/>
+       |
+       |  This means that 
+       |   (1) the "documents/index.html" page is generated
+       |   (2) the file will be written to "build/dest/documents/index.html"
+       |
+       |  replace:
+       |  Completely ignore the generated page's URI - just 
+       |  use the destination URI:
+       |
+       |   <uri type="replace" src-prefix="documents/" src="index.html" 
+       |   dest="build/dest/docs.html"/>
+       |  
+       |  This means that 
+       |   (1) the "documents/index.html" page is generated
+       |   (2) the result is written to "build/dest/docs.html"
+       |   (3) this works only for "single" pages - and not when links
+       |       are followed
+       |
+       |  insert:
+       |  Insert generated page's URI into the destination 
+       |  URI at the point marked with a * (example uses fictional 
+       |  zip protocol)
+       |
+       |   <uri type="insert" src-prefix="documents/" src="index.html" 
+       |   dest="zip://*.zip/page.html"/>
+       |
+       |  This means that 
+       |   (1)
+       |
+       |  In any of these scenarios, if the dest attribute is omitted,
+       |  the value provided globally using the <dest-dir> node will 
+       |  be used instead.
+       +-->
+   <!--
+   <uri type="replace" 
+        src-prefix="samples/" 
+        src="hello-world/hello.html"
+        dest="build/dest/hello-world.html"/>
+   -->
+
+   <!--+
+       | <uri> nodes can be grouped together in a <uris> node. This 
+       | enables a group of URIs to share properties. The following
+       | properties can be set for a group of URIs:
+       |   * follow-links:       should pages be crawled for links
+       |   * confirm-extensions: should file extensions be checked
+       |                         for the correct mime type
+       |   * src-prefix:         all source URIs should be 
+       |                         pre-pended with this prefix before
+       |                         generation. The prefix is not 
+       |                         included when calculating the 
+       |                         destination URI
+       |   * dest:               the base destination URI to be
+       |                         shared by all pages in this group
+       |   * type:               the method to be used to calculate
+       |                         the destination URI. See above 
+       |                         section on <uri> node for details.
+       | 
+       | Each <uris> node can have a name attribute. When a name
+       | attribute has been specified, the -n switch on the command
+       | line can be used to tell Cocoon to only process the URIs
+       | within this URI group. When no -n switch is given, all 
+       | <uris> nodes are processed. Thus, one xconf file can be 
+       | used to manage multiple sites.
+       +-->
+   <!--
+   <uris name="mirrors" follow-links="false">
+     <uri type="append" src="mirrors.html"/>
+   </uris>
+   -->
+
+   <!--+
+       |  File containing URIs (plain text, one per line).
+       +-->
+   <!--
+   <uri-file>uris.txt</uri-file>
+   -->
+</cocoon>

Added: incubator/pdfbox/trunk/jempbox/website/forrest.properties
URL: http://svn.apache.org/viewvc/incubator/pdfbox/trunk/jempbox/website/forrest.properties?rev=670399&view=auto
==============================================================================
--- incubator/pdfbox/trunk/jempbox/website/forrest.properties (added)
+++ incubator/pdfbox/trunk/jempbox/website/forrest.properties Sun Jun 22 12:09:15 2008
@@ -0,0 +1,166 @@
+# 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.
+
+##############
+# These are the defaults, un-comment them only if you need to change them.
+#
+# You can even have a completely empty file, to assist with maintenance.
+# The file obtained from 'forrest seed-sample' shows the defaults.
+##############
+
+# 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
+# See list at http://forrest.apache.org/docs/skins.html
+#project.skin=pelt
+
+# codename: Dispatcher
+# uncomment the following skin
+#project.skin=leather-dev
+# Dispatcher is using a fallback mechanism for theming.
+# You can configure the theme name and its extension here
+#project.theme-extension=.fv
+#project.theme=pelt
+
+
+# Descriptors for plugins and skins
+# comma separated list, file:// is supported
+#forrest.skins.descriptors=http://forrest.apache.org/skins/skins.xml,file:///c:/myskins/skins.xml
+#forrest.plugins.descriptors=http://forrest.apache.org/plugins/plugins.xml,http://forrest.apache.org/plugins/whiteboard-plugins.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.configfile=${project.home}/cli.xconf
+#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
+
+#project.build-dir=${project.home}/build
+#project.site=site
+#project.site-dir=${project.build-dir}/${project.site}
+#project.temp-dir=${project.build-dir}/tmp
+
+##############
+# Cocoon catalog entity resolver properties
+# A local OASIS catalog file to supplement the default Forrest catalog
+#project.catalog=${project.schema-dir}/catalog.xcat
+
+##############
+# 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=false
+#forrest.validate.xdocs=false
+#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
+# Note: If you do add an "excludes" list then you need to specify site.xml too.
+# e.g.
+#forrest.validate.xdocs.excludes=site.xml, samples/subdir/**, samples/faq.xml
+#forrest.validate.xdocs.excludes=site.xml
+
+
+##############
+# 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
+# Projects would use their own issue tracker, of course.
+#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. Based on the locale request for the browser.
+#If you want to use it for static site then modify the JVM system.language
+# and run once per language
+#project.i18n=false
+
+# The names of plugins that are required to build the project
+# comma separated list (no spaces)
+# You can request a specific version by appending "-VERSION" to the end of
+# the plugin name. If you exclude a version number, the latest released version
+# will be used. However, be aware that this may be a development version. In
+# a production environment it is recommended that you specify a known working
+# version.
+# Run "forrest available-plugins" for a list of plug-ins currently available.
+project.required.plugins=org.apache.forrest.plugin.output.pdf,org.apache.forrest.plugin.input.projectInfo
+
+projectInfo.changes.includeCommitterList=false
+projectInfo.changes.includeContributorList=false
+projectInfo.changes.sort=false
+projectInfo.url=http://www.jempbox.org/
+
+
+# codename: Dispatcher
+# Add the following plugins to project.required.plugins:
+#org.apache.forrest.plugin.input.viewHelper.xhtml.ls,org.apache.forrest.plugin.output.themer,org.apache.forrest.plugin.internal.structurer
+
+# Proxy configuration
+# - proxy.user and proxy.password are only needed if the proxy is an authenticated one...
+# proxy.host=myproxy.myhost.com
+# proxy.port=<ProxyPort>
+# proxy.user=<login, if authenticated proxy>
+# proxy.password=<password, if authenticated proxy>

Added: incubator/pdfbox/trunk/jempbox/website/src/documentation/classes/CatalogManager.properties
URL: http://svn.apache.org/viewvc/incubator/pdfbox/trunk/jempbox/website/src/documentation/classes/CatalogManager.properties?rev=670399&view=auto
==============================================================================
--- incubator/pdfbox/trunk/jempbox/website/src/documentation/classes/CatalogManager.properties (added)
+++ incubator/pdfbox/trunk/jempbox/website/src/documentation/classes/CatalogManager.properties Sun Jun 22 12:09:15 2008
@@ -0,0 +1,62 @@
+# 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
+# The project catalog is expected to be at ../resources/schema/catalog.xcat
+#catalogs=../resources/schema/catalog.xcat
+# FIXME: Workaround FOR-548 "project DTD catalogs are not included
+# when running as a servlet WAR". 
+# Same catalog, different path
+catalogs=../resources/schema/catalog.xcat;../../project/src/documentation/resources/schema/catalog.xcat
+
+# 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

Added: incubator/pdfbox/trunk/jempbox/website/src/documentation/content/locationmap.xml
URL: http://svn.apache.org/viewvc/incubator/pdfbox/trunk/jempbox/website/src/documentation/content/locationmap.xml?rev=670399&view=auto
==============================================================================
--- incubator/pdfbox/trunk/jempbox/website/src/documentation/content/locationmap.xml (added)
+++ incubator/pdfbox/trunk/jempbox/website/src/documentation/content/locationmap.xml Sun Jun 22 12:09:15 2008
@@ -0,0 +1,76 @@
+<?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.
+-->
+<locationmap xmlns="http://apache.org/forrest/locationmap/1.0">
+  <components>
+    <matchers default="lm">
+      <matcher name="lm" src="org.apache.forrest.locationmap.WildcardLocationMapHintMatcher"/>
+    </matchers>
+    <!--
+      * Can contain any sitemap selector with the following syntax. * 
+    <selectors default="exists">
+      <selector name="exists" logger="sitemap.selector.exists"  
+          src="org.apache.forrest.sourceexists.SourceExistsSelector" />
+    </selectors>
+    -->
+  </components>
+
+  <!--
+    * Can contain a mount statement as a sibling to components and locator *
+    <mount src="somelocation.xml"/>
+  -->
+
+  <locator>
+    <!--
+      * Can contain a mount within a selector where a selector is valid. 
+    <select>
+      <mount src="somelocation.xml"/>
+    </select>
+    -->
+
+    <match pattern="rewriteDemo/**">
+      <location src="http://www.burrokeet.org/{1}.html"/>
+    </match>
+    <match pattern="remoteDemo/**.xml">
+      <location src="http://svn.apache.org/repos/asf/forrest/trunk/main/fresh-site/src/documentation/content/xdocs/{1}.xml"/>
+    </match>
+
+    <!-- 
+      * Can use a selector inside a match.  *
+    <match pattern="somepattern/**">
+      <select>
+        <location src="first-location-attempted"/>
+        <location src="second-location-attempted"/>
+        <location src="third-location-attepted"/>
+      </select>
+    </match>
+    -->
+    <!--
+     To locate all your source documents in a slide repository you can do:
+
+    <match pattern="tabs.xml">
+      <location src="http://127.0.0.1:8080/slide/files/tabs.xml"/>
+    </match>
+    <match pattern="site.xml">
+      <location src="http://127.0.0.1:8080/slide/files/site.xml"/>
+    </match>
+    <match pattern="**.xml">
+      <location src="http://127.0.0.1:8080/slide/files/{1}.xml"/>
+    </match>
+    -->
+  </locator>
+</locationmap>

Added: incubator/pdfbox/trunk/jempbox/website/src/documentation/content/test1.html
URL: http://svn.apache.org/viewvc/incubator/pdfbox/trunk/jempbox/website/src/documentation/content/test1.html?rev=670399&view=auto
==============================================================================
--- incubator/pdfbox/trunk/jempbox/website/src/documentation/content/test1.html (added)
+++ incubator/pdfbox/trunk/jempbox/website/src/documentation/content/test1.html Sun Jun 22 12:09:15 2008
@@ -0,0 +1,37 @@
+<!--
+  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.
+-->
+<html>
+  <head>
+		<title>Raw un-processed HTML page (test1)</title>
+  </head>
+	<body>
+		<h1>raw un-processed HTML page (test1)</h1>
+		<p>
+		This raw HTML page is linked to from xdocs/samples/static.xml
+    and from xdocs/samples/linking.xml
+		</p>
+		<p>All linked-to pages (for example: 
+     <a href="test2.html">&lt;a href="test2.html"&gt;</a>) are
+		also available.
+    </p>
+		<hr />
+    <p>
+		[return to <a href="index.html">Index</a>]<br>
+		[return to <a href="samples/linking.html">Linking demonstration</a>]
+    </p>
+	</body>
+</html>

Added: incubator/pdfbox/trunk/jempbox/website/src/documentation/content/xdocs/images/Logo.gif
URL: http://svn.apache.org/viewvc/incubator/pdfbox/trunk/jempbox/website/src/documentation/content/xdocs/images/Logo.gif?rev=670399&view=auto
==============================================================================
Binary file - no diff available.

Propchange: incubator/pdfbox/trunk/jempbox/website/src/documentation/content/xdocs/images/Logo.gif
------------------------------------------------------------------------------
    svn:mime-type = application/octet-stream

Added: incubator/pdfbox/trunk/jempbox/website/src/documentation/content/xdocs/images/group-logo.gif
URL: http://svn.apache.org/viewvc/incubator/pdfbox/trunk/jempbox/website/src/documentation/content/xdocs/images/group-logo.gif?rev=670399&view=auto
==============================================================================
Binary file - no diff available.

Propchange: incubator/pdfbox/trunk/jempbox/website/src/documentation/content/xdocs/images/group-logo.gif
------------------------------------------------------------------------------
    svn:mime-type = application/octet-stream

Added: incubator/pdfbox/trunk/jempbox/website/src/documentation/content/xdocs/images/group.svg
URL: http://svn.apache.org/viewvc/incubator/pdfbox/trunk/jempbox/website/src/documentation/content/xdocs/images/group.svg?rev=670399&view=auto
==============================================================================
--- incubator/pdfbox/trunk/jempbox/website/src/documentation/content/xdocs/images/group.svg (added)
+++ incubator/pdfbox/trunk/jempbox/website/src/documentation/content/xdocs/images/group.svg Sun Jun 22 12:09:15 2008
@@ -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" 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="40%" y="60%" style="font-size:24pt; font-family:Verdana ; text-anchor: middle">
+    <for:group-name />
+    </text>
+  </g>
+</svg>

Added: incubator/pdfbox/trunk/jempbox/website/src/documentation/content/xdocs/images/icon.png
URL: http://svn.apache.org/viewvc/incubator/pdfbox/trunk/jempbox/website/src/documentation/content/xdocs/images/icon.png?rev=670399&view=auto
==============================================================================
Binary file - no diff available.

Propchange: incubator/pdfbox/trunk/jempbox/website/src/documentation/content/xdocs/images/icon.png
------------------------------------------------------------------------------
    svn:mime-type = application/octet-stream

Added: incubator/pdfbox/trunk/jempbox/website/src/documentation/content/xdocs/images/project-logo.gif
URL: http://svn.apache.org/viewvc/incubator/pdfbox/trunk/jempbox/website/src/documentation/content/xdocs/images/project-logo.gif?rev=670399&view=auto
==============================================================================
Binary file - no diff available.

Propchange: incubator/pdfbox/trunk/jempbox/website/src/documentation/content/xdocs/images/project-logo.gif
------------------------------------------------------------------------------
    svn:mime-type = application/octet-stream

Added: incubator/pdfbox/trunk/jempbox/website/src/documentation/content/xdocs/images/project.svg
URL: http://svn.apache.org/viewvc/incubator/pdfbox/trunk/jempbox/website/src/documentation/content/xdocs/images/project.svg?rev=670399&view=auto
==============================================================================
--- incubator/pdfbox/trunk/jempbox/website/src/documentation/content/xdocs/images/project.svg (added)
+++ incubator/pdfbox/trunk/jempbox/website/src/documentation/content/xdocs/images/project.svg Sun Jun 22 12:09:15 2008
@@ -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>

Added: incubator/pdfbox/trunk/jempbox/website/src/documentation/content/xdocs/images/usemap.gif
URL: http://svn.apache.org/viewvc/incubator/pdfbox/trunk/jempbox/website/src/documentation/content/xdocs/images/usemap.gif?rev=670399&view=auto
==============================================================================
Binary file - no diff available.

Propchange: incubator/pdfbox/trunk/jempbox/website/src/documentation/content/xdocs/images/usemap.gif
------------------------------------------------------------------------------
    svn:mime-type = application/octet-stream

Added: incubator/pdfbox/trunk/jempbox/website/src/documentation/content/xdocs/index.xml
URL: http://svn.apache.org/viewvc/incubator/pdfbox/trunk/jempbox/website/src/documentation/content/xdocs/index.xml?rev=670399&view=auto
==============================================================================
--- incubator/pdfbox/trunk/jempbox/website/src/documentation/content/xdocs/index.xml (added)
+++ incubator/pdfbox/trunk/jempbox/website/src/documentation/content/xdocs/index.xml Sun Jun 22 12:09:15 2008
@@ -0,0 +1,22 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE document PUBLIC "-//APACHE//DTD Documentation V2.0//EN" "http://forrest.apache.org/dtd/document-v20.dtd">
+<document> 
+  <header> 
+    <title>JempBox - XMP Compatible Java Library</title>
+    <meta name="keywords">Java XMP Library, XMP Java, XMP, PDF metadata</meta>
+  </header> 
+  <body> 
+    <section>
+      <title>Introduction</title>
+      <p>JempBox is an open source Java library that implements Adobe's XMP<SMALL><SUP>TM</SUP></SMALL> specification.</p>
+    </section>
+
+    <section>
+      <title>Features</title>
+      <ul>
+        <li>Reading/Writing XMP streams</li>
+        <li>High level API to standard XMP schemas</li>
+      </ul>
+    </section>
+  </body>
+</document>

Added: incubator/pdfbox/trunk/jempbox/website/src/documentation/content/xdocs/license.xml
URL: http://svn.apache.org/viewvc/incubator/pdfbox/trunk/jempbox/website/src/documentation/content/xdocs/license.xml?rev=670399&view=auto
==============================================================================
--- incubator/pdfbox/trunk/jempbox/website/src/documentation/content/xdocs/license.xml (added)
+++ incubator/pdfbox/trunk/jempbox/website/src/documentation/content/xdocs/license.xml Sun Jun 22 12:09:15 2008
@@ -0,0 +1,44 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE document PUBLIC "-//APACHE//DTD Documentation V2.0//EN" "http://forrest.apache.org/dtd/document-v20.dtd">
+<document> 
+  <header> 
+    <title>JempBox License - Java XMP Library</title>
+    <meta name="keywords">Java XMP Library, jempbox, xmp, adobe, xmp schema, Ben Litchfield, License</meta>
+  </header> 
+  <body>
+    <section>
+      <title>License</title>
+      <p>
+      JempBox is licensed under the BSD License.
+      </p>
+      <table width="300px"><tr><td>
+      <pre>
+Copyright (c) 2006-2007, www.jempbox.org
+All rights reserved.
+
+Redistribution and use in source and binary forms, with or without
+modification, are permitted provided that the following conditions are met:
+
+1. Redistributions of source code must retain the above copyright notice,
+   this list of conditions and the following disclaimer.
+2. Redistributions in binary form must reproduce the above copyright notice,
+   this list of conditions and the following disclaimer in the documentation
+   and/or other materials provided with the distribution.
+3. Neither the name of pdfbox; nor the names of its
+   contributors may be used to endorse or promote products derived from this
+   software without specific prior written permission.
+
+THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
+AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+DISCLAIMED.  IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE FOR ANY
+DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
+(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
+LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON
+ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
+SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+      </pre></td></tr></table>
+    </section>
+  </body>
+</document>

Added: incubator/pdfbox/trunk/jempbox/website/src/documentation/content/xdocs/site.xml
URL: http://svn.apache.org/viewvc/incubator/pdfbox/trunk/jempbox/website/src/documentation/content/xdocs/site.xml?rev=670399&view=auto
==============================================================================
--- incubator/pdfbox/trunk/jempbox/website/src/documentation/content/xdocs/site.xml (added)
+++ incubator/pdfbox/trunk/jempbox/website/src/documentation/content/xdocs/site.xml Sun Jun 22 12:09:15 2008
@@ -0,0 +1,62 @@
+<?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.
+-->
+
+<!--
+Forrest site.xml
+
+This file contains an outline of the site's information content.  It is used to:
+- Generate the website menus (though these can be overridden - see docs)
+- Provide semantic, location-independent aliases for internal 'site:' URIs, eg
+<link href="site:changes"> links to changes.html (or ../changes.html if in
+  subdir).
+- Provide aliases for external URLs in the external-refs section.  Eg, <link
+  href="ext:cocoon"> links to http://cocoon.apache.org/ 
+
+See http://forrest.apache.org/docs/linking.html for more info
+-->
+
+<!-- The label attribute of the outer "site" element will only show
+  in the linkmap (linkmap.html).
+  Use elements project-name and group-name in skinconfig to change name of 
+  your site or project that is usually shown at the top of page.
+  No matter what you configure for the href attribute, Forrest will
+  always use index.html when you request http://yourHost/
+  See FAQ: "How can I use a start-up-page other than index.html?"
+-->
+
+<site label="JempBox" href="" xmlns="http://apache.org/forrest/linkmap/1.0" tab="">
+
+  <about label="About">
+    <index label="Index" href="index.html" description="Welcome to JempBox"/>
+    <download label="Download" href="http://sourceforge.net/project/showfiles.php?group_id=164503" description="Download JempBox" />
+    <nightly_release label="Nightly Build" href="http://www.jempbox.org/dist/" description="Download a nightly release of JempBox" />
+    <mailing_list label="Mailing List" href="http://sourceforge.net/mail/?group_id=164503" description="Discuss JempBox" />
+    <issues label="Issues" href="http://sourceforge.net/tracker/?group_id=164503&amp;atid=831987" description="Submit an issue" />
+    <sourceforge label="SourceForge" href="http://www.sf.net/projects/jempbox" description="SourceForge Site" />
+    <!--<references label="References" href="references.html" description="References" />-->
+    <!--<donations label="Donations" href="donations.html" description="Donations" />-->
+    <license label="License" href="license.html" description="JempBox License" />
+    <releaasenotes label="Release Notes" href="changes.html" description="Release Notes" />
+  </about>
+  
+  <userguide label="Developers Guide">
+    <index label="Index" href="userguide/index.html" description="A note on the docs" />
+    <javadoc label="Javadoc" href="./javadoc/index.html" description="Javadoc API" />
+  </userguide>
+
+</site>

Added: incubator/pdfbox/trunk/jempbox/website/src/documentation/content/xdocs/tabs.xml
URL: http://svn.apache.org/viewvc/incubator/pdfbox/trunk/jempbox/website/src/documentation/content/xdocs/tabs.xml?rev=670399&view=auto
==============================================================================
--- incubator/pdfbox/trunk/jempbox/website/src/documentation/content/xdocs/tabs.xml (added)
+++ incubator/pdfbox/trunk/jempbox/website/src/documentation/content/xdocs/tabs.xml Sun Jun 22 12:09:15 2008
@@ -0,0 +1,49 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+  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.
+-->
+<!DOCTYPE tabs PUBLIC "-//APACHE//DTD Cocoon Documentation Tab V1.1//EN" "http://forrest.apache.org/dtd/tab-cocoon-v11.dtd">
+
+<tabs software="JempBox"
+  title="JempBox"
+  copyright="www.jempbox.org"
+  xmlns:xlink="http://www.w3.org/1999/xlink">
+
+  <!-- The rules for tabs are:
+    @dir will always have '/@indexfile' added.
+    @indexfile gets appended to @dir if the tab is selected. Defaults to 'index.html'
+    @href is not modified unless it is root-relative and obviously specifies a
+    directory (ends in '/'), in which case /index.html will be added
+    If @id's are present, site.xml entries with a matching @tab will be in that tab.
+
+   Tabs can be embedded to a depth of two. The second level of tabs will only 
+    be displayed when their parent tab is selected.    
+  -->
+
+  <tab id="" label="Home" dir="." indexfile="index.html"/>
+  <!--<tab id="samples" label="Samples" dir="samples" indexfile="sample.html">
+    <tab id="samples-index" label="Index" dir="samples" indexfile="index.html"/>
+    <tab id="samples-sample2" label="Sample2" dir="samples" indexfile="static.html"/>
+  </tab>
+  <tab label="Apache XML Projects" href="http://xml.apache.org">
+    <tab label="Forrest" href="http://forrest.apache.org"/>
+    <tab label="Xerces" href="http://xml.apache.org/xerces"/>
+  </tab>-->
+  <!-- Add new tabs here, eg:
+  <tab label="How-Tos" dir="community/howto/"/>
+  <tab label="XML Site" dir="xml-site/"/>
+  -->
+
+</tabs>

Added: incubator/pdfbox/trunk/jempbox/website/src/documentation/content/xdocs/userguide/index.xml
URL: http://svn.apache.org/viewvc/incubator/pdfbox/trunk/jempbox/website/src/documentation/content/xdocs/userguide/index.xml?rev=670399&view=auto
==============================================================================
--- incubator/pdfbox/trunk/jempbox/website/src/documentation/content/xdocs/userguide/index.xml (added)
+++ incubator/pdfbox/trunk/jempbox/website/src/documentation/content/xdocs/userguide/index.xml Sun Jun 22 12:09:15 2008
@@ -0,0 +1,22 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE document PUBLIC "-//APACHE//DTD Documentation V2.0//EN" "http://forrest.apache.org/dtd/document-v20.dtd">
+<document> 
+  <header> 
+    <title>JempBox - XMP Compatible Java Library</title>
+    <meta name="keywords">Java XMP Library, XMP Java, XMP, PDF metadata</meta>
+  </header> 
+  <body> 
+    <section>
+      <title>Introduction</title>
+      <p>Coming Soon.</p>
+    </section>
+    <section>
+		<title>How to commit changes</title>
+		<p>Before committing a patch to Jempbox please make sure that if you build 
+		the project using the build.xml ant-script there are no compilation problems 
+		using a JDK 1.4 target and passing the checkstyle- and junit-tests. Additionally 
+		please add a action-item to the current release in the status.xml (in the folder website)
+		that characterises the changes that you made.</p>
+	</section>		
+  </body>
+</document>

Added: incubator/pdfbox/trunk/jempbox/website/src/documentation/resources/schema/catalog.xcat
URL: http://svn.apache.org/viewvc/incubator/pdfbox/trunk/jempbox/website/src/documentation/resources/schema/catalog.xcat?rev=670399&view=auto
==============================================================================
--- incubator/pdfbox/trunk/jempbox/website/src/documentation/resources/schema/catalog.xcat (added)
+++ incubator/pdfbox/trunk/jempbox/website/src/documentation/resources/schema/catalog.xcat Sun Jun 22 12:09:15 2008
@@ -0,0 +1,33 @@
+<?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.
+-->
+<!DOCTYPE catalog PUBLIC "-//OASIS//DTD Entity Resolution XML Catalog V1.0//EN"
+"http://www.oasis-open.org/committees/entity/release/1.0/catalog.dtd">
+
+<!-- OASIS XML Catalog for Forrest Documents -->
+<catalog xmlns="urn:oasis:names:tc:entity:xmlns:xml:catalog"
+         prefer="public">
+
+<!-- Example catalog entry -->
+<public publicId="-//Acme//DTD Hello Document V1.0//EN"
+        uri="hello-v10.dtd"/>
+
+<!-- Sets of symbols. e.g. for string replacements -->
+<public publicId="-//Apache Forrest//ENTITIES Symbols Project v1.0//EN"
+        uri="symbols-project-v10.ent"/>
+
+</catalog>

Added: incubator/pdfbox/trunk/jempbox/website/src/documentation/resources/schema/hello-v10.dtd
URL: http://svn.apache.org/viewvc/incubator/pdfbox/trunk/jempbox/website/src/documentation/resources/schema/hello-v10.dtd?rev=670399&view=auto
==============================================================================
--- incubator/pdfbox/trunk/jempbox/website/src/documentation/resources/schema/hello-v10.dtd (added)
+++ incubator/pdfbox/trunk/jempbox/website/src/documentation/resources/schema/hello-v10.dtd Sun Jun 22 12:09:15 2008
@@ -0,0 +1,51 @@
+<!--
+  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.
+-->
+<!-- ===================================================================
+
+     Apache Hello DTD (Version 1.0)
+
+PURPOSE:
+  
+
+TYPICAL INVOCATION:
+
+  <!DOCTYPE greeting PUBLIC
+       "-//Acme//DTD Hello Document Vx.y//EN"
+       "hello.dtd">
+
+  where
+
+    x := major version
+    y := minor version
+
+FIXME:
+
+CHANGE HISTORY:
+[Version 1.0]
+  20041009 Initial version. (JJP)
+
+==================================================================== -->
+
+<!-- =============================================================== -->
+<!-- Greeting type element -->
+<!-- =============================================================== -->
+
+<!ELEMENT greeting (#PCDATA)>
+
+<!-- =============================================================== -->
+<!-- End of DTD -->
+<!-- =============================================================== -->

Added: incubator/pdfbox/trunk/jempbox/website/src/documentation/resources/schema/symbols-project-v10.ent
URL: http://svn.apache.org/viewvc/incubator/pdfbox/trunk/jempbox/website/src/documentation/resources/schema/symbols-project-v10.ent?rev=670399&view=auto
==============================================================================
--- incubator/pdfbox/trunk/jempbox/website/src/documentation/resources/schema/symbols-project-v10.ent (added)
+++ incubator/pdfbox/trunk/jempbox/website/src/documentation/resources/schema/symbols-project-v10.ent Sun Jun 22 12:09:15 2008
@@ -0,0 +1,9 @@
+<!-- Typical invocation:
+  <!ENTITY % symbols-project
+      PUBLIC "-//Apache Forrest//ENTITIES Symbols Project v1.0//EN"
+      "symbols-project-v10.ent">
+  %symbols-project;
+-->
+<!ENTITY myp "My Project Name">
+<!ENTITY myp-s "<strong>My Project Name</strong>">
+<!ENTITY myp-t "My Project Name&trade;">

Added: incubator/pdfbox/trunk/jempbox/website/src/documentation/resources/stylesheets/hello2document.xsl
URL: http://svn.apache.org/viewvc/incubator/pdfbox/trunk/jempbox/website/src/documentation/resources/stylesheets/hello2document.xsl?rev=670399&view=auto
==============================================================================
--- incubator/pdfbox/trunk/jempbox/website/src/documentation/resources/stylesheets/hello2document.xsl (added)
+++ incubator/pdfbox/trunk/jempbox/website/src/documentation/resources/stylesheets/hello2document.xsl Sun Jun 22 12:09:15 2008
@@ -0,0 +1,39 @@
+<?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.
+-->
+
+<!--+
+    | Transforms Hello document format.
+    +-->
+
+<xsl:stylesheet version="1.0"
+                xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
+
+  <xsl:template match="/">
+    <document>
+      <header>
+        <title>
+          <xsl:value-of select="greeting"/>
+        </title>
+      </header>
+      <body>
+          <xsl:value-of select="greeting"/>
+      </body>
+    </document>
+  </xsl:template>
+ 
+</xsl:stylesheet>

Added: incubator/pdfbox/trunk/jempbox/website/src/documentation/sitemap.xmap
URL: http://svn.apache.org/viewvc/incubator/pdfbox/trunk/jempbox/website/src/documentation/sitemap.xmap?rev=670399&view=auto
==============================================================================
--- incubator/pdfbox/trunk/jempbox/website/src/documentation/sitemap.xmap (added)
+++ incubator/pdfbox/trunk/jempbox/website/src/documentation/sitemap.xmap Sun Jun 22 12:09:15 2008
@@ -0,0 +1,72 @@
+<?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.
+-->
+<map:sitemap xmlns:map="http://apache.org/cocoon/sitemap/1.0">
+
+  <map:components>
+    <map:actions>
+      <map:action logger="sitemap.action.sourcetype" name="sourcetype" src="org.apache.forrest.sourcetype.SourceTypeAction">
+        <sourcetype name="hello-v1.0">
+          <document-declaration public-id="-//Acme//DTD Hello Document V1.0//EN" />
+        </sourcetype>
+      </map:action>
+    </map:actions>   
+    
+    <map:selectors default="parameter">
+	    <map:selector logger="sitemap.selector.parameter" name="parameter" src="org.apache.cocoon.selection.ParameterSelector" />
+    </map:selectors>
+  </map:components>
+  
+  <map:resources>    
+    <map:resource name="transform-to-document">
+      <map:act type="sourcetype" src="{src}">
+        <map:select type="parameter">
+          <map:parameter name="parameter-selector-test" value="{sourcetype}" />
+
+          <map:when test="hello-v1.0">
+            <map:generate src="{project:content.xdocs}{../../1}.xml" />
+            <map:transform src="{project:resources.stylesheets}/hello2document.xsl" />
+            <map:serialize type="xml-document"/>
+          </map:when>
+        </map:select>
+      </map:act>
+    </map:resource>
+  </map:resources>
+  
+ <map:pipelines>
+  <map:pipeline>
+    <map:match pattern="old_site/*.html">
+     <map:select type="exists">
+      <map:when test="{project:content}{1}.html">
+        <map:read src="{project:content}{1}.html" mime-type="text/html"/>
+        <!--
+          Use this instead if you want JTidy to clean up your HTML
+          <map:generate type="html" src="{project:content}/{0}" />
+          <map:serialize type="html"/>
+        -->
+      </map:when>
+     </map:select>
+   </map:match>
+  
+   <map:match pattern="**.xml">
+      <map:call resource="transform-to-document">
+        <map:parameter name="src" value="{project:content.xdocs}{1}.xml" />
+      </map:call>
+    </map:match>
+  </map:pipeline>
+ </map:pipelines>
+</map:sitemap>