pear:packages:opendocument
Differences
This shows you the differences between two versions of the page.
Both sides previous revisionPrevious revisionNext revision | Previous revisionNext revisionBoth sides next revision | ||
pear:packages:opendocument [2011/04/06 10:59] – external edit 127.0.0.1 | pear:packages:opendocument [2011/08/24 06:29] – Some thoughts on how to continue to structure this package samwilson | ||
---|---|---|---|
Line 1: | Line 1: | ||
====== OpenDocument ====== | ====== OpenDocument ====== | ||
- | OpenDocument is a package to create | + | ^ Package home: | http:// |
+ | ^ Current version: | ||
+ | ^ Source repository: | https:// | ||
+ | ^ Bug tracker: | ||
+ | |||
+ | OpenDocument is a package to create, read and update [[http:// | ||
+ | |||
+ | This wiki page coordinates the development of OpenDocument. | ||
+ | |||
+ | Development of the OpenDocument package was part of a [[: | ||
+ | |||
+ | ===== Other PHP ODF APIs ===== | ||
+ | * **OpenDocumentPHP** by Norman Markgraf and Alex Latchford: http:// | ||
+ | * **Dio** by Étienne Bersac: http:// | ||
+ | |||
+ | ===== API Design ===== | ||
+ | The current ([[https:// | ||
+ | |||
+ | ^Super-class | ||
+ | | | OpenDocument | ||
+ | | | OpenDocument_Document | ||
+ | | | OpenDocument_Manifest | ||
+ | | | OpenDocument_Style | ||
+ | | PEAR_Exception | ||
+ | | | OpenDocument_Element | ||
+ | | | ||
+ | | | ||
+ | | | ||
+ | | | ||
+ | | | ||
+ | | | OpenDocument_Storage | ||
+ | | | ||
+ | |||
+ | ===== Specification Structure ===== | ||
+ | |||
+ | The specification has the following structure: | ||
+ | |||
+ | **Namespaces: | ||
+ | |||
+ | ODF documents have two file-level organisational paradigms: the most common one is a //packaged zip file// containing a number of XML and other files; the second is a stand-alone single XML file. Both follow the standard file extension nomenclature: | ||
+ | |||
+ | Within these various XML files are the following elements: | ||
+ | |||
+ | ^ Filename | ||
+ | ^ Stand-alone XML file: ||| | ||
+ | | filename.ext | office: | ||
+ | | | | office: | ||
+ | | | | office: | ||
+ | | | | office: | ||
+ | | | | office: | ||
+ | | | | office: | ||
+ | | | | office: | ||
+ | | | | office: | ||
+ | ^ Packaged file (4 root elements): | ||
+ | | content.xml | ||
+ | | | | office: | ||
+ | | | | office: | ||
+ | | | | office: | ||
+ | | styles.xml | ||
+ | | | | office: | ||
+ | | | | office: | ||
+ | | | | office: | ||
+ | | meta.xml | ||
+ | | settings.xml | office: | ||
+ | |||
+ | The < | ||
+ | |||
+ | ===== Examples ===== | ||
+ | |||
+ | * [[http:// | ||
+ | * https:// | ||
+ | |||
+ | ===== Future Development ===== | ||
+ | |||
+ | Some notes about possibilities for the further development of this package... | ||
+ | |||
+ | * '' | ||
+ | * All elements to be sub-classes of '' | ||
+ | * The five root elements to be subclasses of '' | ||
+ | * Each of the seven ODF document types to be represented by '' | ||
+ | * The '' | ||
+ | * A couple of use cases: | ||
+ | * <code php> | ||
+ | // A new text document, saved. | ||
+ | $textDoc = new OpenDocument_Text(); | ||
+ | $heading = new OpenDocument_Element_Text_H(); | ||
+ | $heading-> | ||
+ | $textDoc-> | ||
+ | $textDoc-> | ||
+ | </ | ||
+ | * <code php> | ||
+ | // An existing spreadsheet, | ||
+ | $spreadsheet = new OpenDocument_Spreadsheet(' | ||
+ | $spreadsheet-> | ||
+ | $spreadsheet-> | ||
+ | </ | ||
+ | * There will be additional convenience methods at various levels, things like '' | ||
+ | |||
+ | The (incomplete) hierarchy would then be along these lines: | ||
+ | |||
+ | ^Super-class | ||
+ | | | OpenDocument | ||
+ | | | ||
+ | | | ||
+ | | | ||
+ | | | ||
+ | | | ||
+ | | | ||
+ | | | OpenDocument_Storage | ||
+ | | | ||
+ | | | ||
+ | | DOMDocument | ||
+ | | | OpenDocument_Element_Office_DocumentContent | ||
+ | | | OpenDocument_Element_Office_DocumentStyles | ||
+ | | | OpenDocument_Element_Office_DocumentMeta | ||
+ | | | OpenDocument_Element_Office_DocumentSettings | | | ||
+ | | PEAR_Exception | ||
+ | | DOMElement | ||
+ | | | ||
+ | | | ||
+ | | | ||
+ | | | ||
+ | | | ||
+ | | | ||
+ | | | ||
+ | | | ||
+ | | | ||
+ | | | ||
+ | | | ||
+ | | | ||
+ | | | ||
+ | | | ||
+ | | | ||
+ | | | ||
+ | | | ||
+ | | | ||
+ | | | ||
+ | | | ||
+ | | | ||
+ | | | ||
+ | | | ||
+ | | | ||
+ | | | ||
+ | | | ||
+ | | | ||
+ | | | ||
+ | | | ||
+ | | | ||
+ | | | ||
+ | | | ||
+ | | | ||
+ | | | ||
+ | | | ||
+ | | | ||
+ | | | ||
+ | | | ||
+ | | | ||
+ | | | ||
+ | | | ||
+ | | | ||
+ | | | ||
+ | | | ||
+ | | | ||
+ | | | ||
+ | | | ||
+ | | | ||
+ | | | ||
+ | | | ||
+ | | | ||
+ | | | ||
+ | | | ||
+ | | | ||
+ | | | ||
+ | | | ||
+ | | | ||
+ | | | ||
+ | | | ||
+ | | | ||
+ | | | ||
+ | | | ||
+ | | | ||
+ | | | ||
+ | | | ||
- | It was a [[gsoc]] project. | ||
- | ==== Examples ==== | ||
- | [[http:// |
pear/packages/opendocument.txt · Last modified: 2017/09/22 13:28 by 127.0.0.1