Add Sanselan site as a possible alternative to Confluence

git-svn-id: https://svn.apache.org/repos/asf/commons/proper/sanselan/trunk@793168 13f79535-47bb-0310-9956-ffa450edef68
diff --git a/src/site/site.xml b/src/site/site.xml
index 2ef1470..27ae702 100644
--- a/src/site/site.xml
+++ b/src/site/site.xml
@@ -33,6 +33,18 @@
       <item name="Download"                href="/download_sanselan.cgi"/>
     </menu>
 
+    <menu name="Documentation">
+      <item name="Why Use Sanselan"        href="/whysanselan.html"/>
+      <item name="Getting Started"         href="/gettingstarted.html"/>
+      <item name="Sample Usage"            href="/sampleusage.html"/>
+      <item name="Format Support"          href="/formatsupport.html"/>
+      <item name="Status &amp; History"    href="/history.html"/>
+      <item name="Justification"           href="/justification.html"/>
+      <item name="References"              href="/references.html"/>
+      <item name="Sample Images"           href="/sampleimages.html"/>
+      <item name="To Do"                   href="/todo.html"/>
+    </menu>
+
   </body>
 
 </project>
diff --git a/src/site/xdoc/formatsupport.xml b/src/site/xdoc/formatsupport.xml
new file mode 100644
index 0000000..95e64b0
--- /dev/null
+++ b/src/site/xdoc/formatsupport.xml
@@ -0,0 +1,192 @@
+<?xml version="1.0"?>
+<!--
+Licensed to the Apache Software Foundation (ASF) under one or more
+contributor license agreements.  See the NOTICE file distributed with
+this work for additional information regarding copyright ownership.
+The ASF licenses this file to You 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.
+-->
+<document>
+ <properties>
+  <title>Building</title>
+  <author email="dev@commons.apache.org">Commons Documentation Team</author>
+ </properties>
+<body>
+<!-- ================================================== -->
+<section name="Format Support">
+
+<table>
+  <tr>
+    <th>Format</th>
+    <th>Read</th>
+    <th>Write</th>
+    <th>Notes</th>
+    <th>References</th>
+  </tr>
+
+  <!-- PNG Format -->
+  <tr>
+    <td>PNG</td><td>yes</td><td>yes</td>
+    <td>
+        Supported through version 1.2/ISO/IEC standard (15948:2003).
+        Controlling the exact format when writing is incomplete.
+    </td>
+    <td>
+       <a href="http://www.libpng.org/pub/png/">spec</a>
+       <a href="http://en.wikipedia.org/wiki/Portable_Network_Graphics">wikipedia</a>
+    </td>
+  </tr>
+
+  <!-- GIF Format -->
+  <tr>
+    <td>GIF</td><td>yes</td><td>yes</td>
+    <td>
+        Both versions 87a and 89a Reading of animated GIFs is supported to the extent that
+        you can read all of the images contained in a GIF, but timing/loop info is ignored.
+        Controlling the exact format when writing is incomplete.
+    </td>
+    <td>
+       <a href="http://www.w3.org/Graphics/GIF/spec-gif89a.txt">spec</a>
+       <a href="http://en.wikipedia.org/wiki/GIF">wikipedia</a>
+    </td>
+  </tr>
+
+  <!-- TIFF Format -->
+  <tr>
+    <td>TIFF</td><td>yes</td><td>yes</td>
+    <td>
+        Supported through version 6.0. TIFFs is a open-ended container format, so it's not
+        possible to support every possibly variation. JPEG-compressed TIFFs are not supported.
+        Supports Bi-Level, Palette/Indexed, RGB, CMYK, YCbCr, CIELab and LOGLUV images.
+        Supports LZW, CCITT/Huffman and Packbits/RLE compression. Notably missing other forms
+        of compression, though, including CCITT 4 and 6 bilevel and JPEG.
+        Supports Tiled images.
+    </td>
+    <td>
+       <a href="http://partners.adobe.com/public/developer/tiff/index.html">Adobe</a>
+       <a href="http://partners.adobe.com/public/developer/en/tiff/TIFF6.pdf">spec</a>
+       <a href="http://en.wikipedia.org/wiki/TIFF">wikipedia</a>
+       <a href="http://www.awaresystems.be/imaging/tiff/tifftags.html">AWare Systems TIFF Tag Reference</a>
+    </td>
+  </tr>
+
+  <!-- JPEG/JFIF Format -->
+  <tr>
+    <td>JPEG/JFIF</td><td>no</td><td>no</td>
+    <td>
+        Can read image info, metadata and extract ICC Profiles. Both JFIF and DCF/EXIF.
+    </td>
+    <td>
+       <a href="http://www.jpeg.org/public/jfif.pdf">JFIF spec</a>
+       <a href="http://www.jpeg.org/jpeg/index.html">JPEG Group</a>
+       <a href="http://en.wikipedia.org/wiki/JPEG">wikipedia</a>
+    </td>
+  </tr>
+
+  <!-- JPEG/JFIF EXIF Metadata -->
+  <tr>
+    <td>JPEG/JFIF EXIF Metadata</td><td>yes</td><td>yes</td>
+    <td>
+        Can read and write EXIF data to and from exsiting JPEG/JFIF files WITHOUT modifying image data.
+    </td>
+    <td>
+       <a href="http://www.exif.org/">Exif Specs, etc.</a>
+       <a href="http://en.wikipedia.org/wiki/Exif">wikipedia</a>
+       <a href="http://www.awaresystems.be/imaging/tiff/tifftags.html">AWare Systems TIFF Tag Reference</a> (JPEG EXIF metadata is stored in TIFF directories)
+       <a href="http://www.sno.phy.queensu.ca/~phil/exiftool/index.html">Phil Harvey's exiftool and metadata reference</a>
+       <a href="http://www.sno.phy.queensu.ca/~phil/exiftool/writing.html">Phil Harvey on writing EXIF</a>
+    </td>
+  </tr>
+
+  <!-- JPEG/JFIF IPTC Metadata -->
+  <tr>
+    <td>JPEG/JFIF IPTC Metadata</td><td>yes</td><td>soon</td>
+    <td>
+        Can read IPTC data from exsiting JPEG/JFIF files WITHOUT modifying image data.
+    </td>
+    <td>
+       <a href="http://www.iptc.org/cms/site/index.html?channel=CH0108">IPTC Specs, etc.</a>
+       <a href="http://en.wikipedia.org/wiki/IPTC_(image_meta-data)">wikipedia</a>
+       <a href="http://www2.computer.org/portal/web/csdl/doi/10.1109/MMUL.2005.50">IEEE article</a>
+    </td>
+  </tr>
+
+  <!-- BMP Format -->
+  <tr>
+    <td>BMP</td><td>yes</td><td>yes</td>
+    <td>
+        Mostly Complete. May not read some cursors, icons and OS/2 bitmaps.
+        Controlling the exact format when writing is incomplete.
+    </td>
+    <td>
+       No spec, see:
+       <a href="http://en.wikipedia.org/wiki/Windows_bitmap">wikipedia</a>
+    </td>
+  </tr>
+
+  <!-- ico Format -->
+  <tr>
+    <td>ico</td><td>yes</td><td>no</td>
+    <td>
+        Not complete. Can do simple reads.
+    </td>
+    <td>
+       No spec, see:
+       <a href="http://en.wikipedia.org/wiki/ICO_(icon_image_file_format)">wikipedia</a>
+    </td>
+  </tr>
+
+  <!-- PNM/PGM/PBM/PPM Portable Pixmap -->
+  <tr>
+    <td>PNM/PGM/PBM/PPM Portable Pixmap</td><td>yes</td><td>yes</td>
+    <td>
+        Complete.
+    </td>
+    <td>
+       No spec, see:
+       <a href="http://en.wikipedia.org/wiki/Portable_pixmap">wikipedia</a>
+    </td>
+  </tr>
+
+  <!-- PSD/Photoshop Format -->
+  <tr>
+    <td>PSD/Photoshop</td><td>yes</td><td>no</td>
+    <td>
+        Basic support. Can only read the first Layer. No support for extra channels.
+        Supports all modes except Multichannel. Can read some image metadata.
+    </td>
+    <td>
+       <a href="http://www.fileformat.info/format/psd/egff.htm">Unofficial spec</a>
+       <a href="http://www.fileformat.info/format/psd/egff.htm">spec</a>
+       <a href="http://en.wikipedia.org/wiki/PSD">wikipedia</a>
+    </td>
+  </tr>
+
+  <!-- XMP Format -->
+  <tr>
+    <td>XMP</td><td>yes</td><td>yes</td>
+    <td>
+        Can read XMP XML (as as String) from TIFF, GIF, PNG, JPEG and PSD.
+        Can embed XMP XML when writing GIF, PNG and TIFF.
+        Can remove, insert and update XMP XML into existing JPEG files.
+    </td>
+    <td>
+       <a href="http://www.adobe.com/devnet/xmp/">Adobe site with Spec</a>
+       <a href="http://en.wikipedia.org/wiki/Extensible_Metadata_Platform">wikipedia</a>
+    </td>
+  </tr>
+
+</table>
+
+</section>
+</body>
+</document>
diff --git a/src/site/xdoc/gettingstarted.xml b/src/site/xdoc/gettingstarted.xml
new file mode 100644
index 0000000..6ad71b7
--- /dev/null
+++ b/src/site/xdoc/gettingstarted.xml
@@ -0,0 +1,74 @@
+<?xml version="1.0"?>
+<!--
+Licensed to the Apache Software Foundation (ASF) under one or more
+contributor license agreements.  See the NOTICE file distributed with
+this work for additional information regarding copyright ownership.
+The ASF licenses this file to You 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.
+-->
+<document>
+ <properties>
+  <title>Building</title>
+  <author email="dev@commons.apache.org">Commons Documentation Team</author>
+ </properties>
+<body>
+<!-- ================================================== -->
+<section name="Requirements">
+
+<p>
+  <ul>
+      <li>Sanselan requires Java 1.4 or higher. It could easily be converted to require only 1.2.</li>
+      <li>The question of porting to J2ME has been raised, but not yet pursued.</li>
+      <li>Sanselan has no dependencies.</li>
+      <li>It does not use ImageIO/AWT.</li>
+  </ul>
+</p>
+
+</section>
+
+<section name="Getting Started">
+
+<p>
+  <ul>
+      <li>Download the latest release from the <a href="download_sanselan.cgi">download page</a>.</li>
+      <li>Add the jar to your project's classpath.</li>
+      <li>See our <a href="samplecode.html">Sample Code</a> for examples.</li>
+      <li>Refer to the project's <a href="api-release/index.html">javadoc</a></li>
+      <li>Have questions? Subscribe to the commons user <a href="mail-lists.html">mailing list</a>.</li>
+  </ul>
+</p>
+
+</section>
+
+<section name="Building from the latest Source">
+<p>
+  There are two steps to building Commons Sanselan from the latest source:
+  <ul>
+      <li>Check out the latest source from <a href="source-repository.html">Subversion</a></li>
+          <ul>
+              <li>1. mkdir sanselan-snapshot</li>
+              <li>2. cd sanselan-snapshot</li>
+              <li>3. svn checkout <a href="https://svn.apache.org/repos/asf/incubator/sanselan/">https://svn.apache.org/repos/asf/incubator/sanselan/</a></li>
+          </ul>
+      <li>Build using <a href="http://maven.apache.org">Maven 2</a></li>
+          <ul>
+              <li>1. Install the latest version of Maven</li>
+              <li>2. cd sanselan-snapshot (if you are not already in the project directory)</li>
+              <li>3. mvn -Prc package</li>
+              <li>4. The build will be in the "target" folder.</li>
+          </ul>
+  </ul>
+</p>
+</section>
+
+</body>
+</document>
diff --git a/src/site/xdoc/history.xml b/src/site/xdoc/history.xml
new file mode 100644
index 0000000..8e56190
--- /dev/null
+++ b/src/site/xdoc/history.xml
@@ -0,0 +1,169 @@
+<?xml version="1.0"?>
+<!--
+Licensed to the Apache Software Foundation (ASF) under one or more
+contributor license agreements.  See the NOTICE file distributed with
+this work for additional information regarding copyright ownership.
+The ASF licenses this file to You 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.
+-->
+<document>
+ <properties>
+  <title>Building</title>
+  <author email="dev@commons.apache.org">Commons Documentation Team</author>
+ </properties>
+<body>
+<!-- ================================================== -->
+<section name="Project Status and History">
+
+<p>
+  Version 0.90 released January 31st, 2008.
+  <ul>
+    <li>Added some convenience functions for reading and writing GPS data.</li>
+    <li>These are demonstrated in the metadata sample usage classes.</li>
+  </ul>
+</p>
+
+<p>
+  Version 0.89 released January 22nd, 2008. <b>This release was mislabeled as 0.88</b>
+  <ul>
+    <li>Added EXIF insert/update/remove functionality. See WriteExifMetadataExample.java for examples.</li>
+    <li>Rewrote JPEG and TIFF parsing.</li>
+    <li>Greatly elaborated the unit test suite and test image suite.</li>
+    <li>In the process found and resolved many bugs.</li>
+    <li>Once again, I hope this is the last non-apache release. =)</li>
+  </ul>
+</p>
+
+<p>
+  Version 0.88 released November 17th, 2007.
+  <ul>
+    <li>Restored original package structure. (org.apache.sanselan.* -> org.cmc.sanselan.*)</li>
+    <li>Refactored "byte sources," improving performance reading image data from InputStreams.</li>
+    <li>More code cleanup, mostly removing debugging code and applying naming conventions.</li>
+    <li>Fixed two bugs around pngs: alpha channels weren't be written properly, and alpha channel was not being preserved when reading grayscale pngs.</li>
+    <li>Improved javadocs.</li>
+  </ul>
+</p>
+
+<p>
+  Version 0.87 released October 6th, 2007.
+  <ul>
+    <li>Fixed a number of bugs.</li>
+    <li>Began adding javadocs, starting with the facade classes: Sanselan, and every class returned by its methods.</li>
+    <li>This is probably the last pre-apache release.</li>
+  </ul>
+</p>
+
+<p>
+  Version 0.86 released September 17th, 2007.
+  <ul>
+    <li>Fixed bug with writing grayscale pngs.</li>
+    <li>Fixed bug with gamma correction when reading pngs.</li>
+    <li>Added image read param that allows control over BufferedImage creation.</li>
+    <li>Removed an erroneous javadoc.</li>
+    <li>Minor cleanup.</li>
+  </ul>
+</p>
+
+<p>
+  Version 0.85 released September 5th, 2007.
+  <ul>
+    <li>Cleaned up Tiff image parser and writer.</li>
+    <li>Added compression parameter to tiff image writer.</li>
+    <li>Added an example that illustrates image writing, optional parameters, etc.</li>
+  </ul>
+</p>
+
+<p>
+  Version 0.84 released September 3rd, 2007.
+  <ul>
+    <li>Fixed Tiff/Exif bug wherein rational number fields with a zero divisor prevented the metadata from being read, due to a "divide by zero" error.</li>
+  </ul>
+</p>
+
+
+<p>
+  Version 0.83 released August 30th, 2007.
+  <ul>
+    <li>Fixed Tiff/Exif bug wherein Private IFD Tags were not being properly read.</li>
+    <li>Added better metadata sample code.</li>
+  </ul>
+</p>
+
+<p>
+  Version 0.82 released August 30th, 2007.
+  <ul>
+    <li>Complete refactor of the image metadata methods. See the new MetadataExample class for a simple example.</li>
+    <li>Converted all of the Sanselan class's methods to static.</li>
+    <li>Cleaned up some old code.</li>
+  </ul>
+</p>
+
+<p>
+  Version 0.81 released August 17th, 2007.
+  <ul>
+    <li>Made a couple of methods of ImageInfo public (getColorType() and getColorTypeDescription()).</li>
+  </ul>
+</p>
+
+
+<p>
+  Version 0.80 released July 25th, 2007.
+  <ul>
+    <li>I've begun a overhaul of the codebase in anticipation of becoming an Apache Incubator project.</li>
+    <li>I've changed the package names (again) to be org.apache.sanselan.*.</li>
+    <li>I've removed the dependency on sharedlib.</li>
+    <li>I've removed a great deal of old cruft.</li>
+    <li>I've begun to apply a consistent naming convention to variables (lowerCamelCase) and constant names (ALL_CAPS).</li>
+  </ul>
+</p>
+
+<p>
+  Version 0.79 released June 21th, 2007.
+  <ul>
+    <li>I've fixed that pernicious bug in LZW compression. I've switched the default TIFF compression scheme back to LZW.</li>
+    <li>TIFF uses an unusual variation of LZW. For details, see this article. http://www.fileformat.info/mirror/egff/ch09_04.htm</li>
+    <li>In this case, the bug was: trailing EndOfInformation codes are sometimes omitted. That is, if a EndOfInformation code is the last code of a block, it may not appear.</li>
+  </ul>
+</p>
+
+<p>
+  Version 0.78 released June 20th, 2007.
+  <ul>
+    <li>LZW compression is buggy; this only effects writing TIFF. I've switched the default TIFF compression scheme to packbits which performs worse until this can be corrected.</li>
+  </ul>
+</p>
+
+
+<p>
+  Version 0.77 released June 16th, 2007.
+  <ul>
+    <li>I've open sourced the last dependency of this project, sharedlib.</li>
+    <li>I've also renamed almost all of the package names. Sorry about this; a simple global search and replace should be easy to do.</li>
+  </ul>
+</p>
+
+<p>
+  Version 0.76 released September 16th, 2006.
+</p>
+
+<p>
+  Version 0.75 released September 5th, 2006.
+</p>
+
+<p>
+  First released September 22nd, 2004.
+</p>
+
+</section>
+</body>
+</document>
diff --git a/src/site/xdoc/index.xml b/src/site/xdoc/index.xml
new file mode 100644
index 0000000..b4dd369
--- /dev/null
+++ b/src/site/xdoc/index.xml
@@ -0,0 +1,81 @@
+<?xml version="1.0"?>
+<!--
+   Licensed to the Apache Software Foundation (ASF) under one or more
+   contributor license agreements.  See the NOTICE file distributed with
+   this work for additional information regarding copyright ownership.
+   The ASF licenses this file to You 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.
+-->
+
+<document>
+
+ <properties>
+  <title>Commons</title>
+  <author email="dev@commons.apache.org">Commons Documentation Team</author>
+ </properties>
+
+ <body>
+
+<section name="Sanselan: a Pure-Java Image Library">
+
+<subsection name="Introduction">
+
+<p>
+  This Pure-Java library reads and writes a variety of image formats, including fast parsing
+  of image info (size, color space, icc profile, etc.) and metadata.
+</p>
+<p>
+  This library is pure Java. It's slow, consequently, but perfectly portable.
+  It's easier to use than ImageIO/JAI/Toolkit (Sun/Java's image support), supports
+  more formats (and supports them more correctly). It also provides easy access to metadata.
+</p>
+<p>
+  Although not yet version 1.0, sanselan is working and is used by a number of projects in production.
+</p>
+<p>
+  This project is Open Source; free as in freedom and free as in beer.
+  It is available under the ASF (Apache) License. This is a non-viral Open Source license.
+</p>
+<p>
+  <ul>
+    <li><a href="whysanselan.html">Why Use Sanselan?</a></li>
+    <li><a href="gettingstarted.html">Getting Started</a></li>
+  </ul>
+</p>
+
+</subsection>
+
+<subsection name="Downloads">
+<p>
+  Current release: 0.97, February 14th, 2009
+  <ul>
+    <li><a href="download_sanselan.cgi">Download latest release</a></li>
+  </ul>
+</p>
+
+<p>
+  API reference:
+  <ul>
+    <li><a href="api-release/index.html">Javadocs</a></li>
+    <ul>
+      <li>Start with the <a href="api-release/index.html?org/apache/sanselan/Sanselan.html">Sanselan class</a></li>
+    </ul>
+  </ul>
+</p>
+
+</subsection>
+
+</section>
+
+
+</body>
+</document>
diff --git a/src/site/xdoc/justification.xml b/src/site/xdoc/justification.xml
new file mode 100644
index 0000000..2f41eb7
--- /dev/null
+++ b/src/site/xdoc/justification.xml
@@ -0,0 +1,98 @@
+<?xml version="1.0"?>
+<!--
+Licensed to the Apache Software Foundation (ASF) under one or more
+contributor license agreements.  See the NOTICE file distributed with
+this work for additional information regarding copyright ownership.
+The ASF licenses this file to You 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.
+-->
+<document>
+ <properties>
+  <title>Building</title>
+  <author email="dev@commons.apache.org">Commons Documentation Team</author>
+ </properties>
+<body>
+<!-- ================================================== -->
+<section name="Justification">
+
+<p>
+    Why another image library? There are so many already.
+    see: <a href="http://fightingquaker.com/sanselan/#references">http://fightingquaker.com/sanselan/#references</a>
+</p>
+
+<p>
+    This library is Pure Java. Consequently it's slow, but perfectly portable.
+</p>
+
+<p>
+    It is designed to be very easy to use. See the Sample Usage section.
+</p>
+
+<p>
+    This library supports some variations and encodings missed by all or most other libaries.
+</p>
+
+<p>
+    Most other libraries offer little or incomplete support for ICC Profiles.
+    Sanselan can extract and (simply) parse embedded ICC Profiles.
+    Moreover, sanselan applies the icc profile by default, coverting read images to sRGB.
+    This means images are color-corrected by default.
+    see: <a href="http://en.wikipedia.org/wiki/International_Color_Consortium">http://en.wikipedia.org/wiki/International_Color_Consortium</a>,
+    <a href="http://en.wikipedia.org/wiki/SRGB">http://en.wikipedia.org/wiki/SRGB</a>
+</p>
+
+<p>
+    Sanselan also lets you read in image info (ie. width, height or colorspace) and metadata without
+    "reading" the entire image. It presents image info and metadata in a format-neutral manner.
+    It also gives easy, structured access to format-specific info.
+</p>
+
+<p>
+    This library was written with an eye to correctness and code clarity rather than efficiency.
+    Hopefully it is easy to use, easy to extend and can be used to explore images + image formats,
+    rather than just read images for display.
+</p>
+
+<p>
+    This library is Free Software/Open Source. It is available under the 
+    <a href="../license.html">Apache Software License</a>.
+</p>
+
+<p>
+    Ultimately, other libraries didn't quite fill my requirements, though there are many good ones out there.
+    What's really called for is a free, portable, feature complete library that ISN'T pure Java
+    - ie. one that uses JNI, at least for JPEG, anyhow. The obvious solution would be a JNI wrapper
+    around libtiff, libjpeg, libpng, libgif/libungif, etc. imageloader uses this approach, but
+    is unfinished.
+    see: <a href="http://www.libtiff.org/">http://www.libtiff.org/</a>, 
+         <a href="http://en.wikipedia.org/wiki/Libjpeg">http://en.wikipedia.org/wiki/Libjpeg</a>,
+         <a href="http://www.libpng.org/">http://www.libpng.org/</a>,
+         <a href="http://sourceforge.net/projects/libungif/">http://sourceforge.net/projects/libungif/</a>
+</p>
+
+<p>
+    Sanselan also includes a number of useful functions such as guess an image's format by examining its "magic numbers" (header info).
+</p>
+
+<p>
+    Sanselan aims to be transparent. There are no hidden buffers to dispose, no blocking calls, no native memory to free.
+</p>
+
+<p>
+    The ColorConversions class offers methods to convert between the following color spaces: CIE-L*CH°, CIE-L*ab, CIE-L*uv,
+    CMY, CMYK, HSL, HSV, Hunter-Lab, RGB, XYZ and Yxy (algorithms courtesy of EasyRGB's).
+    see: <a href="http://www.easyrgb.com/">http://www.easyrgb.com/</a>
+</p>
+
+</section>
+</body>
+</document>
diff --git a/src/site/xdoc/references.xml b/src/site/xdoc/references.xml
new file mode 100644
index 0000000..0e58451
--- /dev/null
+++ b/src/site/xdoc/references.xml
@@ -0,0 +1,55 @@
+<?xml version="1.0"?>
+<!--
+Licensed to the Apache Software Foundation (ASF) under one or more
+contributor license agreements.  See the NOTICE file distributed with
+this work for additional information regarding copyright ownership.
+The ASF licenses this file to You 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.
+-->
+<document>
+ <properties>
+  <title>Building</title>
+  <author email="dev@commons.apache.org">Commons Documentation Team</author>
+ </properties>
+<body>
+<!-- ================================================== -->
+<section name="References">
+
+<p>
+
+  <ul>
+    <li>Marco Schmidt's list of Java image libaries: 
+        <a href="http://www.geocities.com/marcoschmidt.geo/java-image-coding.html">http://www.geocities.com/marcoschmidt.geo/java-image-coding.html</a>
+    </li>
+    <li>Another list of Java image libaries 
+        <a href="http://dmoz.org/Computers/Programming/Languages/Java/Class_Libraries/Graphics/Data_Formats/">http://dmoz.org/Computers/Programming/Languages/Java/Class_Libraries/Graphics/Data_Formats/</a>
+    </li>
+    <li>File format cloud. <a href="http://www.fileformat.info/format/cloud.htm">http://www.fileformat.info/format/cloud.htm</a></li>
+    <li>ImageInfo an excellent Java class to extract image properties. 
+        <a href="http://www.geocities.com/marcoschmidt.geo/image-info.html">http://www.geocities.com/marcoschmidt.geo/image-info.html</a>
+    </li>
+    <li>EasyRGB's color conversion formulas.
+        <a href="http://www.easyrgb.com/">http://www.easyrgb.com/</a>
+    </li>
+    <li>AWare Systems TIFF Tag Reference (JPEG EXIF metadata is stored in TIFF directories).
+        <a href="http://www.awaresystems.be/imaging/tiff/tifftags.html">http://www.awaresystems.be/imaging/tiff/tifftags.html</a>
+    </li>
+    <li>Phil Harvey's exiftool and metadata reference 
+        <a href="http://www.sno.phy.queensu.ca/~phil/exiftool/index.html">http://www.sno.phy.queensu.ca/~phil/exiftool/index.html</a>
+    </li>
+  </ul>
+
+</p>
+
+</section>
+</body>
+</document>
diff --git a/src/site/xdoc/sampleimages.xml b/src/site/xdoc/sampleimages.xml
new file mode 100644
index 0000000..7caf24a
--- /dev/null
+++ b/src/site/xdoc/sampleimages.xml
@@ -0,0 +1,71 @@
+<?xml version="1.0"?>
+<!--
+Licensed to the Apache Software Foundation (ASF) under one or more
+contributor license agreements.  See the NOTICE file distributed with
+this work for additional information regarding copyright ownership.
+The ASF licenses this file to You 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.
+-->
+<document>
+ <properties>
+  <title>Building</title>
+  <author email="dev@commons.apache.org">Commons Documentation Team</author>
+ </properties>
+<body>
+<!-- ================================================== -->
+<section name="Test Image Suite and Sample Images">
+
+<p>
+  <ul>
+      <li>The original test image suite that Sanselan was developed against cannot be released, since we don't own the rights to many of the more interesting examples.</li>
+      <li>We are in the process of collecting</li>
+  </ul>
+</p>
+
+<subsection name="Sample Image Sources">
+<p>
+
+  This list is hardly comprehensive, but it is a good starting point; I'll elaborate when I get the chance.
+<a href=""></a>
+  <ul>
+      <li>Phil Harvey's large collection 
+          <a href="http://owl.phy.queensu.ca/~phil/exiftool/sample_images.html">http://owl.phy.queensu.ca/~phil/exiftool/sample_images.html</a>
+      </li>
+      <li>Drew Noakes' collection of images with EXIF 
+          <a href="http://www.drewnoakes.com/code/exif/exifImages/">http://www.drewnoakes.com/code/exif/exifImages/</a>
+      </li>
+      <li>RAWpository 
+          <a href="http://www.glasslantern.com/RAWpository/">http://www.glasslantern.com/RAWpository/</a>
+      </li>
+      <li>exif.org's Sample Images 
+          <a href="http://www.exif.org/samples.html">http://www.exif.org/samples.html</a>
+      </li>
+      <li>dpreview.com includes sample images with every one of their full reviews. 
+          <a href="http://www.dpreview.com/">http://www.dpreview.com/</a>
+      </li>
+      <li>flickr let's you search by camera type, which is invaluable, although not all images are
+          "out of camera" originals (many have been edited or scaled).
+          <a href="http://www.flickr.com/">http://www.flickr.com/</a>
+      </li>
+      <li>PNG official test suite More png sample images available here.
+          <a href="ftp://ftp.simplesystems.org/pub/libpng/png/images/suite/">ftp://ftp.simplesystems.org/pub/libpng/png/images/suite/</a>
+      </li>
+  </ul>
+</p>
+
+</subsection>
+
+</section>
+
+
+</body>
+</document>
diff --git a/src/site/xdoc/sampleusage.xml b/src/site/xdoc/sampleusage.xml
new file mode 100644
index 0000000..54d7ea7
--- /dev/null
+++ b/src/site/xdoc/sampleusage.xml
@@ -0,0 +1,125 @@
+<?xml version="1.0"?>
+<!--
+Licensed to the Apache Software Foundation (ASF) under one or more
+contributor license agreements.  See the NOTICE file distributed with
+this work for additional information regarding copyright ownership.
+The ASF licenses this file to You 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.
+-->
+<document>
+ <properties>
+  <title>Building</title>
+  <author email="dev@commons.apache.org">Commons Documentation Team</author>
+ </properties>
+<body>
+<!-- ================================================== -->
+<section name="Example Code and Sample Usage">
+
+<subsection name="Example Code">
+<p>
+  Can be found in the source distribution in org.apache.sanselan.sampleUsage package
+  <ul>
+      <li><a href="https://svn.apache.org/repos/asf/commons/proper/sanselan/trunk/src/test/java/org/apache/sanselan/sampleUsage/SampleUsage.java">SampleUsage.java</a>(includes the above code)</li>
+      <li><a href="https://svn.apache.org/repos/asf/commons/proper/sanselan/trunk/src/test/java/org/apache/sanselan/sampleUsage/MetadataExample.java">MetadataExample.java</a>(illustrates how to find JPEG EXIF metadata such as GPS, date and time photo taken, etc.)</li>
+      <li><a href="https://svn.apache.org/repos/asf/commons/proper/sanselan/trunk/src/test/java/org/apache/sanselan/sampleUsage/ImageWriteExample.java">ImageWriteExample.java</a>(illustrates how to write an image)</li>
+      <li><a href="https://svn.apache.org/repos/asf/commons/proper/sanselan/trunk/src/test/java/org/apache/sanselan/sampleUsage/ImageReadExample.java">ImageReadExample.java</a>(illustrates how to read an image)</li>
+  </ul>
+</p>
+</subsection>
+
+<subsection name="Sample Usage">
+<p>
+
+<source>
+import java.awt.Dimension;
+import java.awt.color.ICC_Profile;
+import java.awt.image.BufferedImage;
+import java.io.File;
+import java.io.InputStream;
+import java.io.OutputStream;
+import java.util.Hashtable;
+import java.util.Map;
+
+import org.apache.sanselan.*;
+
+// Code won't work unless these variables are properly initialized. 
+// Sanselan works equally well with File, byte array or InputStream inputs.
+BufferedImage someImage = null;
+byte someBytes[] = null;
+File someFile = null;
+InputStream someInputStream = null;
+OutputStream someOutputStream = null;
+
+// The Sanselan class provides a simple interface to the library.
+
+// how to read an image: 
+byte imageBytes[] = someBytes;
+BufferedImage image_1 = Sanselan.getBufferedImage(imageBytes);
+
+// methods of Sanselan usually accept files, byte arrays, or inputstreams as arguments. 
+BufferedImage image_2 = Sanselan.getBufferedImage(imageBytes);
+File file = someFile;
+BufferedImage image_3 = Sanselan.getBufferedImage(file);
+InputStream is = someInputStream;
+BufferedImage image_4 = Sanselan.getBufferedImage(is);
+
+// Write an image. 
+BufferedImage image = someImage;
+File dst = someFile;
+ImageFormat format = ImageFormat.IMAGE_FORMAT_PNG;
+Map optional_params = new Hashtable();
+Sanselan.writeImage(image, dst, format, optional_params);
+
+OutputStream os = someOutputStream;
+Sanselan.writeImage(image, os, format, optional_params);
+
+// get the image's embedded ICC Profile, if it has one. 
+byte icc_profile_bytes[] = Sanselan.getICCProfileBytes(imageBytes);
+
+ICC_Profile icc_profile = Sanselan.getICCProfile(imageBytes);
+
+// get the image's width and height. 
+Dimension d = Sanselan.getImageSize(imageBytes);
+
+// get all of the image's info (ie. bits per pixel, size, transparency, etc.) 
+ImageInfo image_info = Sanselan.getImageInfo(imageBytes);
+
+if (image_info.getColorType() == ImageInfo.COLOR_TYPE_GRAYSCALE)
+System.out.println("Grayscale image.");
+if (image_info.getHeight() > 1000)
+System.out.println("Large image.");
+
+// try to guess the image's format. 
+ImageFormat image_format = Sanselan.guessFormat(imageBytes);
+image_format.equals(ImageFormat.IMAGE_FORMAT_PNG);
+
+// get all metadata stored in EXIF format (ie. from JPEG or TIFF). 
+// org.w3c.dom.Node node = Sanselan.getMetadataObsolete(imageBytes); 
+IImageMetadata metdata = Sanselan.getMetadata(imageBytes);
+
+// print a dump of information about an image to stdout. 
+Sanselan.dumpImageFile(imageBytes);
+
+// get a summary of format errors. 
+FormatCompliance format_compliance = Sanselan
+.getFormatCompliance(imageBytes);
+</source>
+
+</p>
+
+</subsection>
+
+</section>
+
+
+</body>
+</document>
diff --git a/src/site/xdoc/todo.xml b/src/site/xdoc/todo.xml
new file mode 100644
index 0000000..43b8161
--- /dev/null
+++ b/src/site/xdoc/todo.xml
@@ -0,0 +1,48 @@
+<?xml version="1.0"?>
+<!--
+Licensed to the Apache Software Foundation (ASF) under one or more
+contributor license agreements.  See the NOTICE file distributed with
+this work for additional information regarding copyright ownership.
+The ASF licenses this file to You 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.
+-->
+<document>
+ <properties>
+  <title>Building</title>
+  <author email="dev@commons.apache.org">Commons Documentation Team</author>
+ </properties>
+<body>
+<!-- ================================================== -->
+<section name="To Do">
+
+<p>
+  <ul>
+      <li>Add a structured way to write IPTC image metadata to JPEG files.</li>
+      <li>Refactor interface. Rename Sanselan methods and public class names. Formats should subclass imagemetadata class to include format-specific info ie. GIF's transparency index.</li>
+      <li>More control over writing.</li>
+      <li>Share test image suite with comments.</li>
+      <li>Improve Javadoc and write more FAQs / examples.</li>
+      <li>Allow user to disable autoconvesion to sRGB/Grayscale.</li>
+      <li>Add support for more than 8 bits per channel.</li>
+      <li>Reading all images from .gif files isn't working. see: getAllBufferedImages().</li>
+      <li>Add request/hint params to ImageFactory, per Endre's suggestion.</li>
+      <li>Add DNG metadata/image info read. Perhaps some RAW formats as well.</li>
+      <li>Publish image library (possibly) and links to other libraries.</li>
+      <li>Develop suite of unit tests that only depend on images in the public domain.</li>
+      <li>Add support for reading and writing XMP metadata.</li>
+  </ul>
+</p>
+
+</section>
+
+</body>
+</document>
diff --git a/src/site/xdoc/whysanselan.xml b/src/site/xdoc/whysanselan.xml
new file mode 100644
index 0000000..42a32a8
--- /dev/null
+++ b/src/site/xdoc/whysanselan.xml
@@ -0,0 +1,60 @@
+<?xml version="1.0"?>
+<!--
+Licensed to the Apache Software Foundation (ASF) under one or more
+contributor license agreements.  See the NOTICE file distributed with
+this work for additional information regarding copyright ownership.
+The ASF licenses this file to You 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.
+-->
+<document>
+ <properties>
+  <title>Building</title>
+  <author email="dev@commons.apache.org">Commons Documentation Team</author>
+ </properties>
+<body>
+<!-- ================================================== -->
+<section name="Why use Sanselan?">
+
+<p>
+  <ul>
+      <li>This library is Free Software/Open Source. It is available under the <a href="license.html">Apache Software License</a>.</li>
+      <li>Sanselan is pure-Java. It will run on any jvm, on any platform without modification. It has no dependencies. Sanselan only requires Java 1.4 or later.</li>
+      <li>Sanselan is easy to use. It has a simple, clean interface. Most operations are a single Sanselan method call. See our Sample Code for examples.</li>
+      <li>The core functionality is reading and writing a variety of image formats. See the list of Supported Formats.</li>
+      <li>Sanselan supports a number of format variations and uncommon features not supported by other image libraries.</li>
+      <li>Sanselan does more than read and write images. Reading image info (image size, colorspace, bit depth, etc.) and metadata is easy and does not require reading the entire image.</li>
+      <li>Sanselan supports reading and writing a variety of metadata in a structured way, including EXIF metadata.</li>
+      <li>Sanselan provides a consistent api across a variety of image formats.</li>
+      <li>Sanselan is network-aware. Sanselan will only read the data it needs. Reading most image info and metadata only requires reading a header.</li>
+      <li>Sanselan was written with an eye to correctness and code clarity rather than efficiency.</li>
+      <li>Sanselan can extract and (simply) parse embedded ICC Profiles. Moreover, Sanselan applies the icc profile by default, coverting read images to sRGB.
+          This means images are color-corrected by default. see: 
+          <a href="http://en.wikipedia.org/wiki/International_Color_Consortium">http://en.wikipedia.org/wiki/International_Color_Consortium</a>, 
+          <a href="http://en.wikipedia.org/wiki/SRGB">http://en.wikipedia.org/wiki/SRGB</a>
+      </li>
+      <li>Sanselan is actively maintained.</li>
+  </ul>
+</p>
+
+
+
+
+
+
+
+
+
+
+</section>
+
+</body>
+</document>