You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@tika.apache.org by ju...@apache.org on 2012/08/05 18:24:10 UTC

svn commit: r1369615 [10/15] - in /tika/site: ./ publish/ publish/0.10/ publish/0.5/ publish/0.6/ publish/0.7/ publish/0.8/ publish/0.9/ publish/1.0/ publish/1.1/ publish/1.2/ publish/css/ src/site/apt/1.2/

Modified: tika/site/publish/1.1/index.html
URL: http://svn.apache.org/viewvc/tika/site/publish/1.1/index.html?rev=1369615&r1=1369614&r2=1369615&view=diff
==============================================================================
--- tika/site/publish/1.1/index.html (original)
+++ tika/site/publish/1.1/index.html Sun Aug  5 16:24:07 2012
@@ -1,281 +1,281 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
-          "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-
-<!--
-  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.
--->
-
-
-
-
-
-
-
-<html xmlns="http://www.w3.org/1999/xhtml">
-  <head>
-    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
-    <title>Apache Tika - Apache Tika 0.8</title>
-    <style type="text/css" media="all">
-      @import url("../css/site.css");
-    </style>
-    <link rel="icon" type="image/png" href="../tikaNoText16.png" />
-    <script type="text/javascript">
-      function selectProvider(form) {
-        provider = form.elements['searchProvider'].value;
-        if (provider == "any") {
-          if (Math.random() > 0.5) {
-            provider = "lucid";
-          } else {
-            provider = "sl";
-          }
-        }
-        if (provider == "lucid") {
-          form.action = "http://search.lucidimagination.com/p:tika";
-        } else if (provider == "sl") {
-          form.action = "http://search-lucene.com/tika";
-        }
-        days = 90;
-        date = new Date();
-        date.setTime(date.getTime() + (days * 24 * 60 * 60 * 1000));
-        expires = "; expires=" + date.toGMTString();
-        document.cookie = "searchProvider=" + provider + expires + "; path=/";
-      }
-      function initProvider() {
-        if (document.cookie.length>0) {
-          cStart=document.cookie.indexOf("searchProvider=");
-          if (cStart!=-1) {
-            cStart=cStart + "searchProvider=".length;
-            cEnd=document.cookie.indexOf(";", cStart);
-            if (cEnd==-1) {
-              cEnd=document.cookie.length;
-            }
-            provider = unescape(document.cookie.substring(cStart,cEnd));
-            document.forms['searchform'].elements['searchProvider'].value = provider;
-          }
-        }
-        document.forms['searchform'].elements['q'].focus();
-      }
-    </script>
-  </head>
-  <body onLoad="initProvider();">
-    <div id="body">
-      <div id="banner">
-        <a href="http://tika.apache.org" id="bannerLeft" title="Apache Tika"
-          ><img src="http://tika.apache.org/tika.png" alt="Apache Tika"
-                width="292" height="100"/></a>
-        <a href="http://www.apache.org/" id="bannerRight"
-           title="The Apache Software Foundation"
-          ><img src="http://tika.apache.org/asf-logo.gif" alt="The Apache Software Foundation"
-                width="387" height="100"/></a>
-      </div>
-      <div id="content">
-        <!-- 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. --><div class="section"><h2>Apache Tika 1.1<a name="Apache_Tika_1.1"></a></h2><p>The most notable changes in Tika 1.1 ove
 r the previous release are:</p><ul><li>Link Extraction: The rel attribute is now extracted from links per the LinkConteHandler. (<a class="externalLink" href="http://issues.apache.org/jira/browse/TIKA-824">TIKA-824</a>)</li><li>MP3: Fixed handling of UTF-16 (two byte) ID3v2 tags (previously the last character in a UTF-16 tag could be corrupted) (<a class="externalLink" href="http://issues.apache.org/jira/browse/TIKA-793">TIKA-793</a>)</li><li>Performance: Loading of the default media type registry is now significantly faster. (<a class="externalLink" href="http://issues.apache.org/jira/browse/TIKA-780">TIKA-780</a>)</li><li>PDF: Allow controlling whether overlapping duplicated text should be removed. Disabling this (the default) can give big speedups to text extraction and may workaround cases where non-duplicated characters were incorrectly removed (<a class="externalLink" href="http://issues.apache.org/jira/browse/TIKA-767">TIKA-767</a>). Allow controlling whether text tok
 ens should be sorted by their x/y position before extracting text (<a class="externalLink" href="http://issues.apache.org/jira/browse/TIKA-612">TIKA-612</a>); this is necessary for certain PDFs. Fixed cases where too many <i>/p</i> tags appear in the XHTML output, causing NPE when opening some PDFs with the GUI (<a class="externalLink" href="http://issues.apache.org/jira/browse/TIKA-778">TIKA-778</a>).</li><li>RTF: Fixed case where a font change would result in processing bytes in the wrong font's charset, producing bogus text output (<a class="externalLink" href="http://issues.apache.org/jira/browse/TIKA-777">TIKA-777</a>). Don't output whitespace in ignored group states, avoiding excessive whitespace output (<a class="externalLink" href="http://issues.apache.org/jira/browse/TIKA-781">TIKA-781</a>). Binary embedded content (using \bin control word) is now skipped correctly; previously it could cause the parser to incorrectly extract binary content as text (<a class="externa
 lLink" href="http://issues.apache.org/jira/browse/TIKA-782">TIKA-782</a>).</li><li>CLI: New TikaCLI option &quot;--list-detectors&quot;, which displays the mimetype detectors that are available, similar to the existing &quot;--list-parsers&quot; option for parsers. (<a class="externalLink" href="http://issues.apache.org/jira/browse/TIKA-785">TIKA-785</a>).</li><li>Detectors: The order of detectors, as supplied via the service registry loader, is now controlled. User supplied detectors are prefered, then Tika detectors (such as the container aware ones), and finally the core Tika MimeTypes is used as a backup. This allows for specific, detailed detectors to take preference over the default mime magic + filename detector. (<a class="externalLink" href="http://issues.apache.org/jira/browse/TIKA-786">TIKA-786</a>)</li><li>Microsoft Project (MPP): Filetype detection has been fixed, and basic metadata (but no text) is now extracted. (<a class="externalLink" href="http://issues.apa
 che.org/jira/browse/TIKA-789">TIKA-789</a>)</li><li>Outlook: fixed NullPointerException in TikaGUI when messages with embedded RTF or HTML content were filtered (<a class="externalLink" href="http://issues.apache.org/jira/browse/TIKA-801">TIKA-801</a>).</li><li>Ogg Vorbis and FLAC: Parser added for Ogg Vorbis and FLAC audio files, which extract audio metadata and tags (<a class="externalLink" href="http://issues.apache.org/jira/browse/TIKA-747">TIKA-747</a>).</li><li>MP4: Improved mime magic detection for MP4 based formats (including QuickTime, MP4 Video and Audio, and 3GPP) (<a class="externalLink" href="http://issues.apache.org/jira/browse/TIKA-851">TIKA-851</a>).</li><li>MP4: Basic metadata extracting parser for MP4 files added, which includes limited audio and video metadata, along with the iTunes media metadata (such as Artist and Title) (<a class="externalLink" href="http://issues.apache.org/jira/browse/TIKA-852">TIKA-852</a>).</li><li>Document Passwords: A new ParseCo
 ntext object, PasswordProvider, has been added. This provides a way to supply the password for a document during processing. Currently, only password protected PDFs and Microsoft OOXML Files are supported. (<a class="externalLink" href="http://issues.apache.org/jira/browse/TIKA-850">TIKA-850</a>). </li></ul><p>The following people have contributed to Tika 1.1 by submitting or commenting on the issues resolved in this release:</p><ul><li>Alex Ott</li><li>Alexander Chow </li><li>Ali Oral </li><li>Andrzej Bialecki</li><li>Antoni Mylka</li><li>Arjohn Kampman</li><li>Bastian Mathes</li><li>Chris A. Mattmann</li><li>Craig Stires</li><li>David Tran</li><li>Etienne Jouvin</li><li>Fabian Lange</li><li>Geoff Jarrad</li><li>Jan H&#xfffd;ydahl</li><li>Jerome Lacoste</li><li>John Mastarone</li><li>Jukka Zitting</li><li>Julien Nioche </li><li>Ken Krugler</li><li>Lau Brino</li><li>Markus Jelsma </li><li>Maxim Valyanskiy</li><li>Michael McCandless</li><li>Nick Burch</li><li>Pablo Queixalos 
 </li><li>Paul Hill</li><li>Paul Pearcy </li><li>peter royal</li><li>PNS</li><li>Radek</li><li>Ray Gauss II </li><li>Stephan M&#xfffd;hlstrasser</li><li>Swapna Vuppala</li><li>Torsten Krah </li><li>William Seemann</li><li>Yegor Kozlov </li></ul><p>See <a class="externalLink" href="http://s.apache.org/Jn4">http://s.apache.org/Jn4</a> for more details on these contributions.</p></div>
-      </div>
-      <div id="sidebar">
-        <div id="navigation">
-                    <h5>Apache Tika</h5>
-            <ul>
-              
-    <li class="none">
-                    <a href="../index.html">Introduction</a>
-          </li>
-              
-    <li class="none">
-                    <a href="../download.html">Download</a>
-          </li>
-              
-    <li class="none">
-                    <a href="../mail-lists.html">Mailing Lists</a>
-          </li>
-              
-    <li class="none">
-                    <a href="http://wiki.apache.org/tika/" class="externalLink">Tika Wiki</a>
-          </li>
-              
-    <li class="none">
-                    <a href="https://issues.apache.org/jira/browse/TIKA" class="externalLink">Issue Tracker</a>
-          </li>
-          </ul>
-              <h5>Documentation</h5>
-            <ul>
-              
-          
-                    
-                  
-                  
-                  
-                  
-                  
-              
-        <li class="expanded">
-                    <a href="../1.2/index.html">Apache Tika 1.2</a>
-                  <ul>
-                  
-    <li class="none">
-                    <a href="../1.2/gettingstarted.html">Getting Started</a>
-          </li>
-                  
-    <li class="none">
-                    <a href="../1.2/formats.html">Supported Formats</a>
-          </li>
-                  
-    <li class="none">
-                    <a href="../1.2/parser.html">Parser API</a>
-          </li>
-                  
-    <li class="none">
-                    <a href="../1.2/parser_guide.html">Parser 5min Quick Start Guide</a>
-          </li>
-                  
-    <li class="none">
-                    <a href="../1.2/detection.html">Content and Language Detection</a>
-          </li>
-                  
-    <li class="none">
-                    <a href="../1.2/api/">API Documentation</a>
-          </li>
-              </ul>
-        </li>
-              
-                
-                    
-                  
-                  
-                  
-                  
-                  
-              
-            <li class="expanded">
-              <strong>Apache Tika 1.1</strong>
-                <ul>
-                  
-    <li class="none">
-                    <a href="../1.1/gettingstarted.html">Getting Started</a>
-          </li>
-                  
-    <li class="none">
-                    <a href="../1.1/formats.html">Supported Formats</a>
-          </li>
-                  
-    <li class="none">
-                    <a href="../1.1/parser.html">Parser API</a>
-          </li>
-                  
-    <li class="none">
-                    <a href="../1.1/parser_guide.html">Parser 5min Quick Start Guide</a>
-          </li>
-                  
-    <li class="none">
-                    <a href="../1.1/detection.html">Content and Language Detection</a>
-          </li>
-                  
-    <li class="none">
-                    <a href="../1.1/api/">API Documentation</a>
-          </li>
-              </ul>
-        </li>
-              
-                
-                    
-                  
-                  
-                  
-                  
-                  
-              
-        <li class="collapsed">
-                    <a href="../1.0/index.html">Apache Tika 1.0</a>
-                </li>
-              
-                
-                    
-                  
-                  
-                  
-                  
-                  
-              
-        <li class="collapsed">
-                    <a href="../0.10/index.html">Apache Tika 0.10</a>
-                </li>
-          </ul>
-              <h5>The Apache Software Foundation</h5>
-            <ul>
-              
-    <li class="none">
-                    <a href="http://www.apache.org/foundation/" class="externalLink">About</a>
-          </li>
-              
-    <li class="none">
-                    <a href="http://www.apache.org/licenses/" class="externalLink">License</a>
-          </li>
-              
-    <li class="none">
-                    <a href="http://www.apache.org/security/" class="externalLink">Security</a>
-          </li>
-              
-    <li class="none">
-                    <a href="http://www.apache.org/foundation/sponsorship.html" class="externalLink">Sponsorship</a>
-          </li>
-              
-    <li class="none">
-                    <a href="http://www.apache.org/foundation/thanks.html" class="externalLink">Thanks</a>
-          </li>
-          </ul>
-      
-          <div id="search">
-            <h5>Search with Apache Solr</h5>
-            <form action="http://search.lucidimagination.com/p:tika"
-                  method="get" id="searchform">
-              <input type="text" id="query" name="q"/>
-              <select name="searchProvider" id="searchProvider">
-                <option value="any">provider</option>
-                <option value="lucid">Lucid Find</option>
-                <option value="sl">Search-Lucene</option>
-              </select>
-              <input type="submit" id="submit" value="Search" name="Search"
-                     onclick="selectProvider(this.form)"/>
-            </form>
-          </div>
-
-          <div id="bookpromo">
-            <h5>Books about Tika</h5>
-            <p>
-              <a href="http://manning.com/mattmann/" title="Tika in Action"
-                ><img src="../mattmann_cover150.jpg"
-                      width="150" height="186"/></a>
-            </p>
-          </div>
-        </div>
-      </div>
-      <div id="footer">
-        <p>
-          Copyright &#169; 2012
-          <a href="http://www.apache.org/">The Apache Software Foundation</a>.
-          Site powered by <a href="http://maven.apache.org/">Apache Maven</a>. 
-          Search powered by
-          <a href="http://www.lucidimagination.com">Lucid Imagination</a>
-          and <a href="http://sematext.com">Sematext</a>.
-          <br/>
-          Apache Tika, Tika, Apache, the Apache feather logo, and the Apache
-          Tika project logo are trademarks of The Apache Software Foundation.
-        </p>
-      </div>
-    </div>
-  </body>
-</html>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+          "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+
+<!--
+  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.
+-->
+
+
+
+
+
+
+
+<html xmlns="http://www.w3.org/1999/xhtml">
+  <head>
+    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
+    <title>Apache Tika 0.8</title>
+    <style type="text/css" media="all">
+      @import url("../css/site.css");
+    </style>
+    <link rel="icon" type="image/png" href="../tikaNoText16.png" />
+    <script type="text/javascript">
+      function selectProvider(form) {
+        provider = form.elements['searchProvider'].value;
+        if (provider == "any") {
+          if (Math.random() > 0.5) {
+            provider = "lucid";
+          } else {
+            provider = "sl";
+          }
+        }
+        if (provider == "lucid") {
+          form.action = "http://search.lucidimagination.com/p:tika";
+        } else if (provider == "sl") {
+          form.action = "http://search-lucene.com/tika";
+        }
+        days = 90;
+        date = new Date();
+        date.setTime(date.getTime() + (days * 24 * 60 * 60 * 1000));
+        expires = "; expires=" + date.toGMTString();
+        document.cookie = "searchProvider=" + provider + expires + "; path=/";
+      }
+      function initProvider() {
+        if (document.cookie.length>0) {
+          cStart=document.cookie.indexOf("searchProvider=");
+          if (cStart!=-1) {
+            cStart=cStart + "searchProvider=".length;
+            cEnd=document.cookie.indexOf(";", cStart);
+            if (cEnd==-1) {
+              cEnd=document.cookie.length;
+            }
+            provider = unescape(document.cookie.substring(cStart,cEnd));
+            document.forms['searchform'].elements['searchProvider'].value = provider;
+          }
+        }
+        document.forms['searchform'].elements['q'].focus();
+      }
+    </script>
+  </head>
+  <body onLoad="initProvider();">
+    <div id="body">
+      <div id="banner">
+        <a href="http://tika.apache.org" id="bannerLeft" title="Apache Tika"
+          ><img src="http://tika.apache.org/tika.png" alt="Apache Tika"
+                width="292" height="100"/></a>
+        <a href="http://www.apache.org/" id="bannerRight"
+           title="The Apache Software Foundation"
+          ><img src="http://tika.apache.org/asf-logo.gif" alt="The Apache Software Foundation"
+                width="387" height="100"/></a>
+      </div>
+      <div id="content">
+        <!-- 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. --><div class="section"><h2>Apache Tika 1.1<a name="Apache_Tika_1.1"></a></h2><p>The most notable changes in Tika 1.1 ove
 r the previous release are:</p><ul><li>Link Extraction: The rel attribute is now extracted from links per the LinkConteHandler. (<a class="externalLink" href="http://issues.apache.org/jira/browse/TIKA-824">TIKA-824</a>)</li><li>MP3: Fixed handling of UTF-16 (two byte) ID3v2 tags (previously the last character in a UTF-16 tag could be corrupted) (<a class="externalLink" href="http://issues.apache.org/jira/browse/TIKA-793">TIKA-793</a>)</li><li>Performance: Loading of the default media type registry is now significantly faster. (<a class="externalLink" href="http://issues.apache.org/jira/browse/TIKA-780">TIKA-780</a>)</li><li>PDF: Allow controlling whether overlapping duplicated text should be removed. Disabling this (the default) can give big speedups to text extraction and may workaround cases where non-duplicated characters were incorrectly removed (<a class="externalLink" href="http://issues.apache.org/jira/browse/TIKA-767">TIKA-767</a>). Allow controlling whether text tok
 ens should be sorted by their x/y position before extracting text (<a class="externalLink" href="http://issues.apache.org/jira/browse/TIKA-612">TIKA-612</a>); this is necessary for certain PDFs. Fixed cases where too many <i>/p</i> tags appear in the XHTML output, causing NPE when opening some PDFs with the GUI (<a class="externalLink" href="http://issues.apache.org/jira/browse/TIKA-778">TIKA-778</a>).</li><li>RTF: Fixed case where a font change would result in processing bytes in the wrong font's charset, producing bogus text output (<a class="externalLink" href="http://issues.apache.org/jira/browse/TIKA-777">TIKA-777</a>). Don't output whitespace in ignored group states, avoiding excessive whitespace output (<a class="externalLink" href="http://issues.apache.org/jira/browse/TIKA-781">TIKA-781</a>). Binary embedded content (using \bin control word) is now skipped correctly; previously it could cause the parser to incorrectly extract binary content as text (<a class="externa
 lLink" href="http://issues.apache.org/jira/browse/TIKA-782">TIKA-782</a>).</li><li>CLI: New TikaCLI option &quot;--list-detectors&quot;, which displays the mimetype detectors that are available, similar to the existing &quot;--list-parsers&quot; option for parsers. (<a class="externalLink" href="http://issues.apache.org/jira/browse/TIKA-785">TIKA-785</a>).</li><li>Detectors: The order of detectors, as supplied via the service registry loader, is now controlled. User supplied detectors are prefered, then Tika detectors (such as the container aware ones), and finally the core Tika MimeTypes is used as a backup. This allows for specific, detailed detectors to take preference over the default mime magic + filename detector. (<a class="externalLink" href="http://issues.apache.org/jira/browse/TIKA-786">TIKA-786</a>)</li><li>Microsoft Project (MPP): Filetype detection has been fixed, and basic metadata (but no text) is now extracted. (<a class="externalLink" href="http://issues.apa
 che.org/jira/browse/TIKA-789">TIKA-789</a>)</li><li>Outlook: fixed NullPointerException in TikaGUI when messages with embedded RTF or HTML content were filtered (<a class="externalLink" href="http://issues.apache.org/jira/browse/TIKA-801">TIKA-801</a>).</li><li>Ogg Vorbis and FLAC: Parser added for Ogg Vorbis and FLAC audio files, which extract audio metadata and tags (<a class="externalLink" href="http://issues.apache.org/jira/browse/TIKA-747">TIKA-747</a>).</li><li>MP4: Improved mime magic detection for MP4 based formats (including QuickTime, MP4 Video and Audio, and 3GPP) (<a class="externalLink" href="http://issues.apache.org/jira/browse/TIKA-851">TIKA-851</a>).</li><li>MP4: Basic metadata extracting parser for MP4 files added, which includes limited audio and video metadata, along with the iTunes media metadata (such as Artist and Title) (<a class="externalLink" href="http://issues.apache.org/jira/browse/TIKA-852">TIKA-852</a>).</li><li>Document Passwords: A new ParseCo
 ntext object, PasswordProvider, has been added. This provides a way to supply the password for a document during processing. Currently, only password protected PDFs and Microsoft OOXML Files are supported. (<a class="externalLink" href="http://issues.apache.org/jira/browse/TIKA-850">TIKA-850</a>). </li></ul><p>The following people have contributed to Tika 1.1 by submitting or commenting on the issues resolved in this release:</p><ul><li>Alex Ott</li><li>Alexander Chow </li><li>Ali Oral </li><li>Andrzej Bialecki</li><li>Antoni Mylka</li><li>Arjohn Kampman</li><li>Bastian Mathes</li><li>Chris A. Mattmann</li><li>Craig Stires</li><li>David Tran</li><li>Etienne Jouvin</li><li>Fabian Lange</li><li>Geoff Jarrad</li><li>Jan H&#xfffd;ydahl</li><li>Jerome Lacoste</li><li>John Mastarone</li><li>Jukka Zitting</li><li>Julien Nioche </li><li>Ken Krugler</li><li>Lau Brino</li><li>Markus Jelsma </li><li>Maxim Valyanskiy</li><li>Michael McCandless</li><li>Nick Burch</li><li>Pablo Queixalos 
 </li><li>Paul Hill</li><li>Paul Pearcy </li><li>peter royal</li><li>PNS</li><li>Radek</li><li>Ray Gauss II </li><li>Stephan M&#xfffd;hlstrasser</li><li>Swapna Vuppala</li><li>Torsten Krah </li><li>William Seemann</li><li>Yegor Kozlov </li></ul><p>See <a class="externalLink" href="http://s.apache.org/Jn4">http://s.apache.org/Jn4</a> for more details on these contributions.</p></div>
+      </div>
+      <div id="sidebar">
+        <div id="navigation">
+                    <h5>Apache Tika</h5>
+            <ul>
+              
+    <li class="none">
+                    <a href="../index.html">Introduction</a>
+          </li>
+              
+    <li class="none">
+                    <a href="../download.html">Download</a>
+          </li>
+              
+    <li class="none">
+                    <a href="../mail-lists.html">Mailing Lists</a>
+          </li>
+              
+    <li class="none">
+                    <a href="http://wiki.apache.org/tika/" class="externalLink">Tika Wiki</a>
+          </li>
+              
+    <li class="none">
+                    <a href="https://issues.apache.org/jira/browse/TIKA" class="externalLink">Issue Tracker</a>
+          </li>
+          </ul>
+              <h5>Documentation</h5>
+            <ul>
+              
+          
+                    
+                  
+                  
+                  
+                  
+                  
+              
+        <li class="expanded">
+                    <a href="../1.2/index.html">Apache Tika 1.2</a>
+                  <ul>
+                  
+    <li class="none">
+                    <a href="../1.2/gettingstarted.html">Getting Started</a>
+          </li>
+                  
+    <li class="none">
+                    <a href="../1.2/formats.html">Supported Formats</a>
+          </li>
+                  
+    <li class="none">
+                    <a href="../1.2/parser.html">Parser API</a>
+          </li>
+                  
+    <li class="none">
+                    <a href="../1.2/parser_guide.html">Parser 5min Quick Start Guide</a>
+          </li>
+                  
+    <li class="none">
+                    <a href="../1.2/detection.html">Content and Language Detection</a>
+          </li>
+                  
+    <li class="none">
+                    <a href="../1.2/api/">API Documentation</a>
+          </li>
+              </ul>
+        </li>
+              
+                
+                    
+                  
+                  
+                  
+                  
+                  
+              
+            <li class="expanded">
+              <strong>Apache Tika 1.1</strong>
+                <ul>
+                  
+    <li class="none">
+                    <a href="../1.1/gettingstarted.html">Getting Started</a>
+          </li>
+                  
+    <li class="none">
+                    <a href="../1.1/formats.html">Supported Formats</a>
+          </li>
+                  
+    <li class="none">
+                    <a href="../1.1/parser.html">Parser API</a>
+          </li>
+                  
+    <li class="none">
+                    <a href="../1.1/parser_guide.html">Parser 5min Quick Start Guide</a>
+          </li>
+                  
+    <li class="none">
+                    <a href="../1.1/detection.html">Content and Language Detection</a>
+          </li>
+                  
+    <li class="none">
+                    <a href="../1.1/api/">API Documentation</a>
+          </li>
+              </ul>
+        </li>
+              
+                
+                    
+                  
+                  
+                  
+                  
+                  
+              
+        <li class="collapsed">
+                    <a href="../1.0/index.html">Apache Tika 1.0</a>
+                </li>
+              
+                
+                    
+                  
+                  
+                  
+                  
+                  
+              
+        <li class="collapsed">
+                    <a href="../0.10/index.html">Apache Tika 0.10</a>
+                </li>
+          </ul>
+              <h5>The Apache Software Foundation</h5>
+            <ul>
+              
+    <li class="none">
+                    <a href="http://www.apache.org/foundation/" class="externalLink">About</a>
+          </li>
+              
+    <li class="none">
+                    <a href="http://www.apache.org/licenses/" class="externalLink">License</a>
+          </li>
+              
+    <li class="none">
+                    <a href="http://www.apache.org/security/" class="externalLink">Security</a>
+          </li>
+              
+    <li class="none">
+                    <a href="http://www.apache.org/foundation/sponsorship.html" class="externalLink">Sponsorship</a>
+          </li>
+              
+    <li class="none">
+                    <a href="http://www.apache.org/foundation/thanks.html" class="externalLink">Thanks</a>
+          </li>
+          </ul>
+      
+          <div id="search">
+            <h5>Search with Apache Solr</h5>
+            <form action="http://search.lucidimagination.com/p:tika"
+                  method="get" id="searchform">
+              <input type="text" id="query" name="q"/>
+              <select name="searchProvider" id="searchProvider">
+                <option value="any">provider</option>
+                <option value="lucid">Lucid Find</option>
+                <option value="sl">Search-Lucene</option>
+              </select>
+              <input type="submit" id="submit" value="Search" name="Search"
+                     onclick="selectProvider(this.form)"/>
+            </form>
+          </div>
+
+          <div id="bookpromo">
+            <h5>Books about Tika</h5>
+            <p>
+              <a href="http://manning.com/mattmann/" title="Tika in Action"
+                ><img src="../mattmann_cover150.jpg"
+                      width="150" height="186"/></a>
+            </p>
+          </div>
+        </div>
+      </div>
+      <div id="footer">
+        <p>
+          Copyright &#169; 2012
+          <a href="http://www.apache.org/">The Apache Software Foundation</a>.
+          Site powered by <a href="http://maven.apache.org/">Apache Maven</a>. 
+          Search powered by
+          <a href="http://www.lucidimagination.com">Lucid Imagination</a>
+          and <a href="http://sematext.com">Sematext</a>.
+          <br/>
+          Apache Tika, Tika, Apache, the Apache feather logo, and the Apache
+          Tika project logo are trademarks of The Apache Software Foundation.
+        </p>
+      </div>
+    </div>
+  </body>
+</html>

Modified: tika/site/publish/1.1/parser.html
URL: http://svn.apache.org/viewvc/tika/site/publish/1.1/parser.html?rev=1369615&r1=1369614&r2=1369615&view=diff
==============================================================================
--- tika/site/publish/1.1/parser.html (original)
+++ tika/site/publish/1.1/parser.html Sun Aug  5 16:24:07 2012
@@ -1,302 +1,307 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
-          "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-
-<!--
-  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.
--->
-
-
-
-
-
-
-
-<html xmlns="http://www.w3.org/1999/xhtml">
-  <head>
-    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
-    <title>Apache Tika - The Parser interface</title>
-    <style type="text/css" media="all">
-      @import url("../css/site.css");
-    </style>
-    <link rel="icon" type="image/png" href="../tikaNoText16.png" />
-    <script type="text/javascript">
-      function selectProvider(form) {
-        provider = form.elements['searchProvider'].value;
-        if (provider == "any") {
-          if (Math.random() > 0.5) {
-            provider = "lucid";
-          } else {
-            provider = "sl";
-          }
-        }
-        if (provider == "lucid") {
-          form.action = "http://search.lucidimagination.com/p:tika";
-        } else if (provider == "sl") {
-          form.action = "http://search-lucene.com/tika";
-        }
-        days = 90;
-        date = new Date();
-        date.setTime(date.getTime() + (days * 24 * 60 * 60 * 1000));
-        expires = "; expires=" + date.toGMTString();
-        document.cookie = "searchProvider=" + provider + expires + "; path=/";
-      }
-      function initProvider() {
-        if (document.cookie.length>0) {
-          cStart=document.cookie.indexOf("searchProvider=");
-          if (cStart!=-1) {
-            cStart=cStart + "searchProvider=".length;
-            cEnd=document.cookie.indexOf(";", cStart);
-            if (cEnd==-1) {
-              cEnd=document.cookie.length;
-            }
-            provider = unescape(document.cookie.substring(cStart,cEnd));
-            document.forms['searchform'].elements['searchProvider'].value = provider;
-          }
-        }
-        document.forms['searchform'].elements['q'].focus();
-      }
-    </script>
-  </head>
-  <body onLoad="initProvider();">
-    <div id="body">
-      <div id="banner">
-        <a href="http://tika.apache.org" id="bannerLeft" title="Apache Tika"
-          ><img src="http://tika.apache.org/tika.png" alt="Apache Tika"
-                width="292" height="100"/></a>
-        <a href="http://www.apache.org/" id="bannerRight"
-           title="The Apache Software Foundation"
-          ><img src="http://tika.apache.org/asf-logo.gif" alt="The Apache Software Foundation"
-                width="387" height="100"/></a>
-      </div>
-      <div id="content">
-        <!-- 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. --><div class="section"><h2>The Parser interface<a name="The_Parser_interface"></a></h2><p>The <a href="#apiorgapachetika
 parserParser.html">org.apache.tika.parser.Parser</a> interface is the key concept of Apache Tika. It hides the complexity of different file formats and parsing libraries while providing a simple and powerful mechanism for client applications to extract structured text content and metadata from all sorts of documents. All this is achieved with a single method:</p><div><pre>void parse(
-    InputStream stream, ContentHandler handler, Metadata metadata,
-    ParseContext context) throws IOException, SAXException, TikaException;</pre></div><p>The <tt>parse</tt> method takes the document to be parsed and related metadata as input and outputs the results as XHTML SAX events and extra metadata. The parse context argument is used to specify context information (like the current local) that is not related to any individual document. The main criteria that lead to this design were:</p><dl><dt>Streamed parsing</dt><dd>The interface should require neither the client application nor the parser implementation to keep the full document content in memory or spooled to disk. This allows even huge documents to be parsed without excessive resource requirements.</dd><dt>Structured content</dt><dd>A parser implementation should be able to include structural information (headings, links, etc.) in the extracted content. A client application can use this information for example to better judge the relevance of different parts of the parsed docum
 ent.</dd><dt>Input metadata</dt><dd>A client application should be able to include metadata like the file name or declared content type with the document to be parsed. The parser implementation can use this information to better guide the parsing process.</dd><dt>Output metadata</dt><dd>A parser implementation should be able to return document metadata in addition to document content. Many document formats contain metadata like the name of the author that may be useful to client applications.</dd><dt>Context sensitivity</dt><dd>While the default settings and behaviour of Tika parsers should work well for most use cases, there are still situations where more fine-grained control over the parsing process is desirable. It should be easy to inject such context-specific information to the parsing process without breaking the layers of abstraction.</dd></dl><p>These criteria are reflected in the arguments of the <tt>parse</tt> method.</p><div class="section"><h3>Document input str
 eam<a name="Document_input_stream"></a></h3><p>The first argument is an <a class="externalLink" href="http://java.sun.com/j2se/1.5.0/docs/api/java/io/InputStream.html">InputStream</a> for reading the document to be parsed.</p><p>If this document stream can not be read, then parsing stops and the thrown <a class="externalLink" href="http://java.sun.com/j2se/1.5.0/docs/api/java/io/IOException.html">IOException</a> is passed up to the client application. If the stream can be read but not parsed (for example if the document is corrupted), then the parser throws a <a href="#apiorgapachetikaexceptionTikaException.html">TikaException</a>.</p><p>The parser implementation will consume this stream but <i>will not close it</i>. Closing the stream is the responsibility of the client application that opened it in the first place. The recommended pattern for using streams with the <tt>parse</tt> method is:</p><div><pre>InputStream stream = ...;      // open the stream
-try {
-    parser.parse(stream, ...); // parse the stream
-} finally {
-    stream.close();            // close the stream
-}</pre></div><p>Some document formats like the OLE2 Compound Document Format used by Microsoft Office are best parsed as random access files. In such cases the content of the input stream is automatically spooled to a temporary file that gets removed once parsed. A future version of Tika may make it possible to avoid this extra file if the input document is already a file in the local file system. See <a class="externalLink" href="https://issues.apache.org/jira/browse/TIKA-153">TIKA-153</a> for the status of this feature request.</p></div><div class="section"><h3>XHTML SAX events<a name="XHTML_SAX_events"></a></h3><p>The parsed content of the document stream is returned to the client application as a sequence of XHTML SAX events. XHTML is used to express structured content of the document and SAX events enable streamed processing. Note that the XHTML format is used here only to convey structural information, not to render the documents for browsing!</p><p>The XHTML SAX event
 s produced by the parser implementation are sent to a <a class="externalLink" href="http://java.sun.com/j2se/1.5.0/docs/api/org/xml/sax/ContentHandler.html">ContentHandler</a> instance given to the <tt>parse</tt> method. If this the content handler fails to process an event, then parsing stops and the thrown <a class="externalLink" href="http://java.sun.com/j2se/1.5.0/docs/api/org/xml/sax/SAXException.html">SAXException</a> is passed up to the client application.</p><p>The overall structure of the generated event stream is (with indenting added for clarity):</p><div><pre>&lt;html xmlns=&quot;http://www.w3.org/1999/xhtml&quot;&gt;
-  &lt;head&gt;
-    &lt;title&gt;...&lt;/title&gt;
-  &lt;/head&gt;
-  &lt;body&gt;
-    ...
-  &lt;/body&gt;
-&lt;/html&gt;</pre></div><p>Parser implementations typically use the <a href="#apidocsorgapachetikasaxXHTMLContentHandler.html">XHTMLContentHandler</a> utility class to generate the XHTML output.</p><p>Dealing with the raw SAX events can be a bit complex, so Apache Tika comes with a number of utility classes that can be used to process and convert the event stream to other representations.</p><p>For example, the <a href="#apiorgapachetikasaxBodyContentHandler.html">BodyContentHandler</a> class can be used to extract just the body part of the XHTML output and feed it either as SAX events to another content handler or as characters to an output stream, a writer, or simply a string. The following code snippet parses a document from the standard input stream and outputs the extracted text content to standard output:</p><div><pre>ContentHandler handler = new BodyContentHandler(System.out);
-parser.parse(System.in, handler, ...);</pre></div><p>Another useful class is <a href="#apiorgapachetikaparserParsingReader.html">ParsingReader</a> that uses a background thread to parse the document and returns the extracted text content as a character stream:</p><div><pre>InputStream stream = ...; // the document to be parsed
-Reader reader = new ParsingReader(parser, stream, ...);
-try {
-    ...;                  // read the document text using the reader
-} finally {
-    reader.close();       // the document stream is closed automatically
-}</pre></div></div><div class="section"><h3>Document metadata<a name="Document_metadata"></a></h3><p>The third argument to the <tt>parse</tt> method is used to pass document metadata both in and out of the parser. Document metadata is expressed as an <a href="#apiorgapachetikametadataMetadata.html">Metadata</a> object.</p><p>The following are some of the more interesting metadata properties:</p><dl><dt>Metadata.RESOURCE_NAME_KEY</dt><dd>The name of the file or resource that contains the document.<p>A client application can set this property to allow the parser to use file name heuristics to determine the format of the document.</p><p>The parser implementation may set this property if the file format contains the canonical name of the file (for example the Gzip format has a slot for the file name).</p></dd><dt>Metadata.CONTENT_TYPE</dt><dd>The declared content type of the document.<p>A client application can set this property based on for example a HTTP Content-Type header. T
 he declared content type may help the parser to correctly interpret the document.</p><p>The parser implementation sets this property to the content type according to which the document was parsed.</p></dd><dt>Metadata.TITLE</dt><dd>The title of the document.<p>The parser implementation sets this property if the document format contains an explicit title field.</p></dd><dt>Metadata.AUTHOR</dt><dd>The name of the author of the document.<p>The parser implementation sets this property if the document format contains an explicit author field.</p></dd></dl><p>Note that metadata handling is still being discussed by the Tika development team, and it is likely that there will be some (backwards incompatible) changes in metadata handling before Tika 1.0.</p></div><div class="section"><h3>Parse context<a name="Parse_context"></a></h3><p>The final argument to the <tt>parse</tt> method is used to inject context-specific information to the parsing process. This is useful for example when 
 dealing with locale-specific date and number formats in Microsoft Excel spreadsheets. Another important use of the parse context is passing in the delegate parser instance to be used by two-phase parsers like the <a href="#apiorgapacheparserpkgPackageParser.html">PackageParser</a> subclasses. Some parser classes allow customization of the parsing process through strategy objects in the parse context.</p></div><div class="section"><h3>Parser implementations<a name="Parser_implementations"></a></h3><p>Apache Tika comes with a number of parser classes for parsing <a href="#formats.html">various document formats</a>. You can also extend Tika with your own parsers, and of course any contributions to Tika are warmly welcome.</p><p>The goal of Tika is to reuse existing parser libraries like <a class="externalLink" href="http://www.pdfbox.org/">PDFBox</a> or <a class="externalLink" href="http://poi.apache.org/">Apache POI</a> as much as possible, and so most of the parser classes in
  Tika are adapters to such external libraries.</p><p>Tika also contains some general purpose parser implementations that are not targeted at any specific document formats. The most notable of these is the <a href="#apidocsorgapachetikaparserAutoDetectParser.html">AutoDetectParser</a> class that encapsulates all Tika functionality into a single parser that can handle any types of documents. This parser will automatically determine the type of the incoming document based on various heuristics and will then parse the document accordingly.</p></div></div>
-      </div>
-      <div id="sidebar">
-        <div id="navigation">
-                    <h5>Apache Tika</h5>
-            <ul>
-              
-    <li class="none">
-                    <a href="../index.html">Introduction</a>
-          </li>
-              
-    <li class="none">
-                    <a href="../download.html">Download</a>
-          </li>
-              
-    <li class="none">
-                    <a href="../mail-lists.html">Mailing Lists</a>
-          </li>
-              
-    <li class="none">
-                    <a href="http://wiki.apache.org/tika/" class="externalLink">Tika Wiki</a>
-          </li>
-              
-    <li class="none">
-                    <a href="https://issues.apache.org/jira/browse/TIKA" class="externalLink">Issue Tracker</a>
-          </li>
-          </ul>
-              <h5>Documentation</h5>
-            <ul>
-              
-          
-                    
-                  
-                  
-                  
-                  
-                  
-              
-        <li class="expanded">
-                    <a href="../1.2/index.html">Apache Tika 1.2</a>
-                  <ul>
-                  
-    <li class="none">
-                    <a href="../1.2/gettingstarted.html">Getting Started</a>
-          </li>
-                  
-    <li class="none">
-                    <a href="../1.2/formats.html">Supported Formats</a>
-          </li>
-                  
-    <li class="none">
-                    <a href="../1.2/parser.html">Parser API</a>
-          </li>
-                  
-    <li class="none">
-                    <a href="../1.2/parser_guide.html">Parser 5min Quick Start Guide</a>
-          </li>
-                  
-    <li class="none">
-                    <a href="../1.2/detection.html">Content and Language Detection</a>
-          </li>
-                  
-    <li class="none">
-                    <a href="../1.2/api/">API Documentation</a>
-          </li>
-              </ul>
-        </li>
-              
-                
-                    
-                  
-                        
-                  
-                  
-                  
-              
-            <li class="expanded">
-                    <a href="../1.1/index.html">Apache Tika 1.1</a>
-                  <ul>
-                  
-    <li class="none">
-                    <a href="../1.1/gettingstarted.html">Getting Started</a>
-          </li>
-                  
-    <li class="none">
-                    <a href="../1.1/formats.html">Supported Formats</a>
-          </li>
-                  
-    <li class="none">
-              <strong>Parser API</strong>
-        </li>
-                  
-    <li class="none">
-                    <a href="../1.1/parser_guide.html">Parser 5min Quick Start Guide</a>
-          </li>
-                  
-    <li class="none">
-                    <a href="../1.1/detection.html">Content and Language Detection</a>
-          </li>
-                  
-    <li class="none">
-                    <a href="../1.1/api/">API Documentation</a>
-          </li>
-              </ul>
-        </li>
-              
-                
-                    
-                  
-                  
-                  
-                  
-                  
-              
-        <li class="collapsed">
-                    <a href="../1.0/index.html">Apache Tika 1.0</a>
-                </li>
-              
-                
-                    
-                  
-                  
-                  
-                  
-                  
-              
-        <li class="collapsed">
-                    <a href="../0.10/index.html">Apache Tika 0.10</a>
-                </li>
-          </ul>
-              <h5>The Apache Software Foundation</h5>
-            <ul>
-              
-    <li class="none">
-                    <a href="http://www.apache.org/foundation/" class="externalLink">About</a>
-          </li>
-              
-    <li class="none">
-                    <a href="http://www.apache.org/licenses/" class="externalLink">License</a>
-          </li>
-              
-    <li class="none">
-                    <a href="http://www.apache.org/security/" class="externalLink">Security</a>
-          </li>
-              
-    <li class="none">
-                    <a href="http://www.apache.org/foundation/sponsorship.html" class="externalLink">Sponsorship</a>
-          </li>
-              
-    <li class="none">
-                    <a href="http://www.apache.org/foundation/thanks.html" class="externalLink">Thanks</a>
-          </li>
-          </ul>
-      
-          <div id="search">
-            <h5>Search with Apache Solr</h5>
-            <form action="http://search.lucidimagination.com/p:tika"
-                  method="get" id="searchform">
-              <input type="text" id="query" name="q"/>
-              <select name="searchProvider" id="searchProvider">
-                <option value="any">provider</option>
-                <option value="lucid">Lucid Find</option>
-                <option value="sl">Search-Lucene</option>
-              </select>
-              <input type="submit" id="submit" value="Search" name="Search"
-                     onclick="selectProvider(this.form)"/>
-            </form>
-          </div>
-
-          <div id="bookpromo">
-            <h5>Books about Tika</h5>
-            <p>
-              <a href="http://manning.com/mattmann/" title="Tika in Action"
-                ><img src="../mattmann_cover150.jpg"
-                      width="150" height="186"/></a>
-            </p>
-          </div>
-        </div>
-      </div>
-      <div id="footer">
-        <p>
-          Copyright &#169; 2012
-          <a href="http://www.apache.org/">The Apache Software Foundation</a>.
-          Site powered by <a href="http://maven.apache.org/">Apache Maven</a>. 
-          Search powered by
-          <a href="http://www.lucidimagination.com">Lucid Imagination</a>
-          and <a href="http://sematext.com">Sematext</a>.
-          <br/>
-          Apache Tika, Tika, Apache, the Apache feather logo, and the Apache
-          Tika project logo are trademarks of The Apache Software Foundation.
-        </p>
-      </div>
-    </div>
-  </body>
-</html>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+          "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+
+<!--
+  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.
+-->
+
+
+
+
+
+
+
+<html xmlns="http://www.w3.org/1999/xhtml">
+  <head>
+    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
+    <title>The Parser interface</title>
+    <style type="text/css" media="all">
+      @import url("../css/site.css");
+    </style>
+    <link rel="icon" type="image/png" href="../tikaNoText16.png" />
+    <script type="text/javascript">
+      function selectProvider(form) {
+        provider = form.elements['searchProvider'].value;
+        if (provider == "any") {
+          if (Math.random() > 0.5) {
+            provider = "lucid";
+          } else {
+            provider = "sl";
+          }
+        }
+        if (provider == "lucid") {
+          form.action = "http://search.lucidimagination.com/p:tika";
+        } else if (provider == "sl") {
+          form.action = "http://search-lucene.com/tika";
+        }
+        days = 90;
+        date = new Date();
+        date.setTime(date.getTime() + (days * 24 * 60 * 60 * 1000));
+        expires = "; expires=" + date.toGMTString();
+        document.cookie = "searchProvider=" + provider + expires + "; path=/";
+      }
+      function initProvider() {
+        if (document.cookie.length>0) {
+          cStart=document.cookie.indexOf("searchProvider=");
+          if (cStart!=-1) {
+            cStart=cStart + "searchProvider=".length;
+            cEnd=document.cookie.indexOf(";", cStart);
+            if (cEnd==-1) {
+              cEnd=document.cookie.length;
+            }
+            provider = unescape(document.cookie.substring(cStart,cEnd));
+            document.forms['searchform'].elements['searchProvider'].value = provider;
+          }
+        }
+        document.forms['searchform'].elements['q'].focus();
+      }
+    </script>
+  </head>
+  <body onLoad="initProvider();">
+    <div id="body">
+      <div id="banner">
+        <a href="http://tika.apache.org" id="bannerLeft" title="Apache Tika"
+          ><img src="http://tika.apache.org/tika.png" alt="Apache Tika"
+                width="292" height="100"/></a>
+        <a href="http://www.apache.org/" id="bannerRight"
+           title="The Apache Software Foundation"
+          ><img src="http://tika.apache.org/asf-logo.gif" alt="The Apache Software Foundation"
+                width="387" height="100"/></a>
+      </div>
+      <div id="content">
+        <!-- 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. --><div class="section"><h2>The Parser interface<a name="The_Parser_interface"></a></h2><p>The <a href="#apiorgapachetika
 parserParser.html">org.apache.tika.parser.Parser</a> interface is the key concept of Apache Tika. It hides the complexity of different file formats and parsing libraries while providing a simple and powerful mechanism for client applications to extract structured text content and metadata from all sorts of documents. All this is achieved with a single method:</p><div><pre>void parse(
+    InputStream stream, ContentHandler handler, Metadata metadata,
+    ParseContext context) throws IOException, SAXException, TikaException;
+</pre></div><p>The <tt>parse</tt> method takes the document to be parsed and related metadata as input and outputs the results as XHTML SAX events and extra metadata. The parse context argument is used to specify context information (like the current local) that is not related to any individual document. The main criteria that lead to this design were:</p><dl><dt>Streamed parsing</dt><dd>The interface should require neither the client application nor the parser implementation to keep the full document content in memory or spooled to disk. This allows even huge documents to be parsed without excessive resource requirements.</dd><dt>Structured content</dt><dd>A parser implementation should be able to include structural information (headings, links, etc.) in the extracted content. A client application can use this information for example to better judge the relevance of different parts of the parsed document.</dd><dt>Input metadata</dt><dd>A client application should be able to
  include metadata like the file name or declared content type with the document to be parsed. The parser implementation can use this information to better guide the parsing process.</dd><dt>Output metadata</dt><dd>A parser implementation should be able to return document metadata in addition to document content. Many document formats contain metadata like the name of the author that may be useful to client applications.</dd><dt>Context sensitivity</dt><dd>While the default settings and behaviour of Tika parsers should work well for most use cases, there are still situations where more fine-grained control over the parsing process is desirable. It should be easy to inject such context-specific information to the parsing process without breaking the layers of abstraction.</dd></dl><p>These criteria are reflected in the arguments of the <tt>parse</tt> method.</p><div class="section"><h3>Document input stream<a name="Document_input_stream"></a></h3><p>The first argument is an <a
  class="externalLink" href="http://java.sun.com/j2se/1.5.0/docs/api/java/io/InputStream.html">InputStream</a> for reading the document to be parsed.</p><p>If this document stream can not be read, then parsing stops and the thrown <a class="externalLink" href="http://java.sun.com/j2se/1.5.0/docs/api/java/io/IOException.html">IOException</a> is passed up to the client application. If the stream can be read but not parsed (for example if the document is corrupted), then the parser throws a <a href="#apiorgapachetikaexceptionTikaException.html">TikaException</a>.</p><p>The parser implementation will consume this stream but <i>will not close it</i>. Closing the stream is the responsibility of the client application that opened it in the first place. The recommended pattern for using streams with the <tt>parse</tt> method is:</p><div><pre>InputStream stream = ...;      // open the stream
+try {
+    parser.parse(stream, ...); // parse the stream
+} finally {
+    stream.close();            // close the stream
+}
+</pre></div><p>Some document formats like the OLE2 Compound Document Format used by Microsoft Office are best parsed as random access files. In such cases the content of the input stream is automatically spooled to a temporary file that gets removed once parsed. A future version of Tika may make it possible to avoid this extra file if the input document is already a file in the local file system. See <a class="externalLink" href="https://issues.apache.org/jira/browse/TIKA-153">TIKA-153</a> for the status of this feature request.</p></div><div class="section"><h3>XHTML SAX events<a name="XHTML_SAX_events"></a></h3><p>The parsed content of the document stream is returned to the client application as a sequence of XHTML SAX events. XHTML is used to express structured content of the document and SAX events enable streamed processing. Note that the XHTML format is used here only to convey structural information, not to render the documents for browsing!</p><p>The XHTML SAX events
  produced by the parser implementation are sent to a <a class="externalLink" href="http://java.sun.com/j2se/1.5.0/docs/api/org/xml/sax/ContentHandler.html">ContentHandler</a> instance given to the <tt>parse</tt> method. If this the content handler fails to process an event, then parsing stops and the thrown <a class="externalLink" href="http://java.sun.com/j2se/1.5.0/docs/api/org/xml/sax/SAXException.html">SAXException</a> is passed up to the client application.</p><p>The overall structure of the generated event stream is (with indenting added for clarity):</p><div><pre>&lt;html xmlns=&quot;http://www.w3.org/1999/xhtml&quot;&gt;
+  &lt;head&gt;
+    &lt;title&gt;...&lt;/title&gt;
+  &lt;/head&gt;
+  &lt;body&gt;
+    ...
+  &lt;/body&gt;
+&lt;/html&gt;
+</pre></div><p>Parser implementations typically use the <a href="#apidocsorgapachetikasaxXHTMLContentHandler.html">XHTMLContentHandler</a> utility class to generate the XHTML output.</p><p>Dealing with the raw SAX events can be a bit complex, so Apache Tika comes with a number of utility classes that can be used to process and convert the event stream to other representations.</p><p>For example, the <a href="#apiorgapachetikasaxBodyContentHandler.html">BodyContentHandler</a> class can be used to extract just the body part of the XHTML output and feed it either as SAX events to another content handler or as characters to an output stream, a writer, or simply a string. The following code snippet parses a document from the standard input stream and outputs the extracted text content to standard output:</p><div><pre>ContentHandler handler = new BodyContentHandler(System.out);
+parser.parse(System.in, handler, ...);
+</pre></div><p>Another useful class is <a href="#apiorgapachetikaparserParsingReader.html">ParsingReader</a> that uses a background thread to parse the document and returns the extracted text content as a character stream:</p><div><pre>InputStream stream = ...; // the document to be parsed
+Reader reader = new ParsingReader(parser, stream, ...);
+try {
+    ...;                  // read the document text using the reader
+} finally {
+    reader.close();       // the document stream is closed automatically
+}
+</pre></div></div><div class="section"><h3>Document metadata<a name="Document_metadata"></a></h3><p>The third argument to the <tt>parse</tt> method is used to pass document metadata both in and out of the parser. Document metadata is expressed as an <a href="#apiorgapachetikametadataMetadata.html">Metadata</a> object.</p><p>The following are some of the more interesting metadata properties:</p><dl><dt>Metadata.RESOURCE_NAME_KEY</dt><dd>The name of the file or resource that contains the document.<p>A client application can set this property to allow the parser to use file name heuristics to determine the format of the document.</p><p>The parser implementation may set this property if the file format contains the canonical name of the file (for example the Gzip format has a slot for the file name).</p></dd><dt>Metadata.CONTENT_TYPE</dt><dd>The declared content type of the document.<p>A client application can set this property based on for example a HTTP Content-Type header. Th
 e declared content type may help the parser to correctly interpret the document.</p><p>The parser implementation sets this property to the content type according to which the document was parsed.</p></dd><dt>Metadata.TITLE</dt><dd>The title of the document.<p>The parser implementation sets this property if the document format contains an explicit title field.</p></dd><dt>Metadata.AUTHOR</dt><dd>The name of the author of the document.<p>The parser implementation sets this property if the document format contains an explicit author field.</p></dd></dl><p>Note that metadata handling is still being discussed by the Tika development team, and it is likely that there will be some (backwards incompatible) changes in metadata handling before Tika 1.0.</p></div><div class="section"><h3>Parse context<a name="Parse_context"></a></h3><p>The final argument to the <tt>parse</tt> method is used to inject context-specific information to the parsing process. This is useful for example when d
 ealing with locale-specific date and number formats in Microsoft Excel spreadsheets. Another important use of the parse context is passing in the delegate parser instance to be used by two-phase parsers like the <a href="#apiorgapacheparserpkgPackageParser.html">PackageParser</a> subclasses. Some parser classes allow customization of the parsing process through strategy objects in the parse context.</p></div><div class="section"><h3>Parser implementations<a name="Parser_implementations"></a></h3><p>Apache Tika comes with a number of parser classes for parsing <a href="#formats.html">various document formats</a>. You can also extend Tika with your own parsers, and of course any contributions to Tika are warmly welcome.</p><p>The goal of Tika is to reuse existing parser libraries like <a class="externalLink" href="http://www.pdfbox.org/">PDFBox</a> or <a class="externalLink" href="http://poi.apache.org/">Apache POI</a> as much as possible, and so most of the parser classes in 
 Tika are adapters to such external libraries.</p><p>Tika also contains some general purpose parser implementations that are not targeted at any specific document formats. The most notable of these is the <a href="#apidocsorgapachetikaparserAutoDetectParser.html">AutoDetectParser</a> class that encapsulates all Tika functionality into a single parser that can handle any types of documents. This parser will automatically determine the type of the incoming document based on various heuristics and will then parse the document accordingly.</p></div></div>
+      </div>
+      <div id="sidebar">
+        <div id="navigation">
+                    <h5>Apache Tika</h5>
+            <ul>
+              
+    <li class="none">
+                    <a href="../index.html">Introduction</a>
+          </li>
+              
+    <li class="none">
+                    <a href="../download.html">Download</a>
+          </li>
+              
+    <li class="none">
+                    <a href="../mail-lists.html">Mailing Lists</a>
+          </li>
+              
+    <li class="none">
+                    <a href="http://wiki.apache.org/tika/" class="externalLink">Tika Wiki</a>
+          </li>
+              
+    <li class="none">
+                    <a href="https://issues.apache.org/jira/browse/TIKA" class="externalLink">Issue Tracker</a>
+          </li>
+          </ul>
+              <h5>Documentation</h5>
+            <ul>
+              
+          
+                    
+                  
+                  
+                  
+                  
+                  
+              
+        <li class="expanded">
+                    <a href="../1.2/index.html">Apache Tika 1.2</a>
+                  <ul>
+                  
+    <li class="none">
+                    <a href="../1.2/gettingstarted.html">Getting Started</a>
+          </li>
+                  
+    <li class="none">
+                    <a href="../1.2/formats.html">Supported Formats</a>
+          </li>
+                  
+    <li class="none">
+                    <a href="../1.2/parser.html">Parser API</a>
+          </li>
+                  
+    <li class="none">
+                    <a href="../1.2/parser_guide.html">Parser 5min Quick Start Guide</a>
+          </li>
+                  
+    <li class="none">
+                    <a href="../1.2/detection.html">Content and Language Detection</a>
+          </li>
+                  
+    <li class="none">
+                    <a href="../1.2/api/">API Documentation</a>
+          </li>
+              </ul>
+        </li>
+              
+                
+                    
+                  
+                        
+                  
+                  
+                  
+              
+            <li class="expanded">
+                    <a href="../1.1/index.html">Apache Tika 1.1</a>
+                  <ul>
+                  
+    <li class="none">
+                    <a href="../1.1/gettingstarted.html">Getting Started</a>
+          </li>
+                  
+    <li class="none">
+                    <a href="../1.1/formats.html">Supported Formats</a>
+          </li>
+                  
+    <li class="none">
+              <strong>Parser API</strong>
+        </li>
+                  
+    <li class="none">
+                    <a href="../1.1/parser_guide.html">Parser 5min Quick Start Guide</a>
+          </li>
+                  
+    <li class="none">
+                    <a href="../1.1/detection.html">Content and Language Detection</a>
+          </li>
+                  
+    <li class="none">
+                    <a href="../1.1/api/">API Documentation</a>
+          </li>
+              </ul>
+        </li>
+              
+                
+                    
+                  
+                  
+                  
+                  
+                  
+              
+        <li class="collapsed">
+                    <a href="../1.0/index.html">Apache Tika 1.0</a>
+                </li>
+              
+                
+                    
+                  
+                  
+                  
+                  
+                  
+              
+        <li class="collapsed">
+                    <a href="../0.10/index.html">Apache Tika 0.10</a>
+                </li>
+          </ul>
+              <h5>The Apache Software Foundation</h5>
+            <ul>
+              
+    <li class="none">
+                    <a href="http://www.apache.org/foundation/" class="externalLink">About</a>
+          </li>
+              
+    <li class="none">
+                    <a href="http://www.apache.org/licenses/" class="externalLink">License</a>
+          </li>
+              
+    <li class="none">
+                    <a href="http://www.apache.org/security/" class="externalLink">Security</a>
+          </li>
+              
+    <li class="none">
+                    <a href="http://www.apache.org/foundation/sponsorship.html" class="externalLink">Sponsorship</a>
+          </li>
+              
+    <li class="none">
+                    <a href="http://www.apache.org/foundation/thanks.html" class="externalLink">Thanks</a>
+          </li>
+          </ul>
+      
+          <div id="search">
+            <h5>Search with Apache Solr</h5>
+            <form action="http://search.lucidimagination.com/p:tika"
+                  method="get" id="searchform">
+              <input type="text" id="query" name="q"/>
+              <select name="searchProvider" id="searchProvider">
+                <option value="any">provider</option>
+                <option value="lucid">Lucid Find</option>
+                <option value="sl">Search-Lucene</option>
+              </select>
+              <input type="submit" id="submit" value="Search" name="Search"
+                     onclick="selectProvider(this.form)"/>
+            </form>
+          </div>
+
+          <div id="bookpromo">
+            <h5>Books about Tika</h5>
+            <p>
+              <a href="http://manning.com/mattmann/" title="Tika in Action"
+                ><img src="../mattmann_cover150.jpg"
+                      width="150" height="186"/></a>
+            </p>
+          </div>
+        </div>
+      </div>
+      <div id="footer">
+        <p>
+          Copyright &#169; 2012
+          <a href="http://www.apache.org/">The Apache Software Foundation</a>.
+          Site powered by <a href="http://maven.apache.org/">Apache Maven</a>. 
+          Search powered by
+          <a href="http://www.lucidimagination.com">Lucid Imagination</a>
+          and <a href="http://sematext.com">Sematext</a>.
+          <br/>
+          Apache Tika, Tika, Apache, the Apache feather logo, and the Apache
+          Tika project logo are trademarks of The Apache Software Foundation.
+        </p>
+      </div>
+    </div>
+  </body>
+</html>