<!DOCTYPE html>
<html><head>
<title>OpenOffice.org XML File Format</title>
<meta HTTP-EQUIV="content-type" CONTENT="text/html; charset=UTF-8">
</head>
<body>
<link rel="stylesheet" type="text/css" href="xmloff.css" media="screen" />

<h1>OpenOffice.org XML File Format</h1>
<h2>File Format Specification and General Information</h2>

<p><em><b>Note:</b>The information provided on this page is related to the OpenOffice.org XML file format used by OpenOffice.org 1.0 only. Please visit the <a href="http://www.oasis-open.org/committees/tc_home.php?wg_abbrev=office">OASIS OpenDocument Technical Committee web pages</a> for information regarding the OASIS OpenDocument file format used by OpenOffice.org 2.0.</em></p>
<h3>Mission</h3>
    <a name="mission"></a>     
<p align="justify"> Our mission is to create an open and ubiquitous XML-based 
 file format for office documents and to provide an open reference implementation 
 for this format. </p>
<h4> Core Requirements <small>(these items are absolutely required)</small>
    </h4>
        
<ol>
     <li> The file format must be capable of being used as an office program's
  native file format.  The format must be "non-lossy" and must support (at
 least) the full capability of a StarOffice/OpenOffice document.  The format
 is likely to be used for document interchange but that use alone is not
enough.    </li>
     <li> Structured content should make use of XML's structuring capabilities 
 and be represented in terms of XML elements and attributes. </li>
     <li> The file format must be fully documented and have no "secret" features. 
   </li>
     <li> OpenOffice must be the reference implementation for this file format. 
   </li>
        
</ol>
        
<h4> Core Goals <small>(these items are highly desired)</small> </h4>
        
<ol>
     <li> The file format should be developed in such a way that it will
be  accepted by the community and can be placed under community control for
future  development and format evolution. </li>
     <li> The file formats should be suitable for all office types: text
processing,   spreadsheet, presentation, drawing, charting, and math. </li>
     <li> The file formats should reuse portions of each other as much as 
possible  (so for example a spreadsheet table definition can work also as 
a text processing  table definition). </li>
        
</ol>

<h3>OASIS File Format Standardization</h3>

<p>XML file formats allow users to regain ownership to his/her own
data, by allowing access and manipulation of office documents by
arbitrary tools which support the file format. To make such capability
ubiquitous, we believe it is necessary to standardize file
formats. Thus, we have contributed the OpenOffice.org XML File
Format to <a href="http://www.oasis-open.org/">OASIS</a>. The further development of the format now takes place in the <a
href="http://www.oasis-open.org/committees/office/">OASIS OpenDocument
Technical Committee</a>.</p>
        

<h3>General Information on the XML File Format</h3>

<p>The definition of the XML File Format has been developed through
OpenOffice.org. The resulting reference material, such as the specification and
DTD may be downloaded here:</p>

<table class="infotable">
 <thead>
  <tr>
   <td colspan="3">OpenOffice.org XML File Format Specification</td>
  </tr>
  <tr>
   <th>Document</th>
   <th>Summary</th>
   <th>Format</th>
  </tr>
 </thead>
 <tbody>
  <tr>
   <td><a href="xml_specification.pdf">XML File Format Specification</a></td>
   <td>This documents defines the XML file format used OpenOffice.org. It
   serves as reference for the format.</td>
   <td>PDF, ca.&nbsp;1.5MB</td>
  </tr>
  <tr>
   <td><a href="/source/browse/xml/xmloff/dtd/">XML File Format DTD</a></td>
   <td>The document type definition provides a handy reference against which
   all OpenOffice.org XML files can be validated against.</td>
   <td>text, ca.&nbsp;200KB</td>
  </tr>
 </tbody>
</table>

<p>Some supplementary information and resources on the OpenOffice.org XML File
Format are available as well:</p>

<table class="infotable">
 <thead>
  <tr>
   <td colspan="3">General Information on the Format</td>
  </tr>
  <tr>
   <th>Document</th>
   <th>Summary</th>
   <th>Format</th>
  </tr>
 </thead>
 <tbody>
  <tr>
   <td><a href="faq.html">xmloff FAQ</a></td>
   <td>The FAQ list some frequently asked question, together with answers from
   the xmloff development team.</td>
   <td>HTML</td>
  </tr>
  <tr>
   <td><a href="xml_advocacy.html">XML Advantages</a></td>
   <td>This page explains our motivation for using an XML based file
   format. It lists advantages of our new file format, and discusses how these
   will benefit different groups of users.</td>
   <td>HTML</td>
  </tr>
  <tr>
   <td><a href="package.html">Package Format Rationale</a></td>
   <td>This document explains the rationale behind the ZIP-based package
   format. The decision was made after an elaborate discussion on the XML dev
   mailing list, whose <a href="http://xml.openoffice.org/xml-dev/">
   archive</a> can be consulted for additional detail.</td>
   <td>HTML</td>
  </tr>
  <tr>
   <td><a href="filters.html">XML-based filters</a></td>
   <td><p>Filters and transformations making use of the OpenDocument or OpenOffice.org XML File Formats.</p></td>
   <td>HTML</td>
  </tr>
  <tr>
   <td><a href="uses.html">Uses and Applications</a></td>
   <td><p>Information on how to make use of the OASIS OpenDocument and OpenOffice.org XML File Format 
 outside of the OpenOffice.org application.</p></td>
   <td>HTML</td>
  </tr>
  <tr>
   <td><a href="research.html">Resources</a></td>
   <td><p>Books, articles, reports and research documents covering the OpenDocument and OpenOffice.org XML file formats.</p></td>
   <td>HTML</td>
  </tr>
 </tbody>
</table>
</body>
</html>

