OpenDocument is a powerful XML vocabulary which is an ISO international standard for describing all of the document types that make up an office suite. This document does not describe OpenDocument XML, but instead describes how the Oracc software can be used to create and style OpenDocument Text files. There is also a short, less technical overview here.
OpenDocument | Processing | Configuring | Style files | XML files | Automatic
A sophisticated free software application, OpenOffice (NeoOffice on the Mac) uses the OpenDocument format, and the Oracc system is able to turn an extended form of ATF into Open Document XML, so that OpenOffice can be used to make PDFs or Word versions of anything from individual texts to entire books.
OpenDocument (OD) is an XML vocabulary which was developed by Oasis [http://www.oasis-open.org] and submitted to the ISO for ratification as an international standard. Both the Oasis version of the specification (in PDF format) and the ratified standard, ISO/iEC 26300:2006 (in XHTML format) are available online.
While the standards are large, and the specification admittedly has its trickier corners, OpenDocument is actually a fairly simple way of specifying text documents in XML (one reason the specifications are so large is that they cover spreadsheets, presentation software and other document types which are not normally germane to the Oracc system). At its core, an OpenDocument text is a collection of headings, sections, paragraphs and spans, any of which can be styled. A good introduction to OpenDocument is the book OpenDocument Essentials, which you can read online [http://books.evc-cit.info/] and also purchase in hard-copy. Chapters 3 and 4 of OpenDocument Essentials give a good introduction to the things most users will need to know to customize Oracc OpenDocument texts.
For everyday use, however, most users will find that the Oracc default settings, in combination with some project options will be all they need to make perfectly good printable versions of text editions, or to obtain versions of ATF transliterations which can be imported into OpenOffice or Word for use in preparing articles and books with traditional tools.
OD processing can be done directly on ATF files or on a file type
we call CDF
, or Oracc Document Format
. The
processing is done with a program which contains the ATF processor and
adds routines to understand CDF commands. CDF is documented here [http://oracc.org/ns/CDF/1.0/].
OD configuration is done via several mechanisms. The CDF processor automatically includes the project configuration file in the XML it generates where the options are then available to the scripts that do the final conversion into OpenDocument.
In addition, a special, simplified input form is available for OD styles. More complicated OD configuration is done with XML files which give configuration fragments to be read by the processor and embedded in its output in the appropriate places.
In all cases, projects can override the default Oracc OD
configuration by providing their own versions of the files mentioned
below. Project versions of files must be named according to the
guidelines in each section, and all must be maintained in the
project's 00lib/
directory.
Style files offer some simplification of OD rules for styling sections, headings, paragraphs, spans and tables.
The project style file is named project.sty
. Here is
an example, which comes from the RINAP project:
@style font "Times New Roman" svg:font-family="'Times New Roman'" style:font-family-generic=roman style:font-pitch=variable @style font UngkamBasic svg:font-family="Ungkam Book Basic" style:font-family-generic=roman style:font-pitch=variable @style font Arial svg:font-family=Arial style:font-family-generic=swiss style:font-pitch=variable @style font Arial1 svg:font-family=Arial style:font-family-generic=system style:font-pitch=variable @style section introduction fo:column-count=1 @style paragraph introduction.p fo:text-align=justify fo:margin-left=2.54cm fo:margin-right=2.54cm fo:text-indent=0cm fo:widows=0 fo:orphans=0 @style section discussion fo:column-count=2 fo:column-gap=3mm @style paragraph discussion.p fo:text-align=justify fo:text-indent=0cm fo:widows=0 fo:orphans=0 fo:font-size=10pt @style section bibliography fo:column-count=2 fo:column-gap=3mm @style paragraph bibliography.p fo:text-align=justify fo:text-indent=-1.2cm fo:margin-left=1.2cm fo:widows=0 fo:orphans=0 fo:font-size=8pt cdl:tab-stops="1.5cm left" @style paragraph #default-style fo:hyphenation-ladder-count=no-limit style:text-autospace=ideograph-alpha style:punctuation-wrap=hanging style:line-break=strict style:tab-stop-distance=0.4925in style:writing-mode=page [text] style:use-window-font-color=true style:font-name=UngkamBasic fo:font-size=12p fo:language=en fo:country=US style:letter-kerning=true style:font-name-asian=Arial1 style:font-size-asian=10.5pt style:language-asian=zxx style:country-asian=zxx style:font-name-complex=Arial1 style:font-size-complex=12pt style:language-complex=zxx style:country-complex=none fo:hyphenate=false fo:hyphenation-remain-char-count=2 fo:hyphenation-push-char-count=2 @style paragraph Standard style:class=text @style paragraph H.atftext fo:font-size=14pt fo:font-style=normal fo:font-weight=bold @style paragraph H.surface fo:font-size=14pt fo:font-style=normal fo:font-weight=bold @style paragraph H.column fo:font-size=13pt fo:font-style=normal fo:font-weight=bold @style paragraph H.title fo:text-align=center fo:font-size=14pt fo:font-style=normal fo:font-weight=bold @style paragraph h1 fo:text-align=center fo:font-size=14pt fo:font-style=normal fo:font-weight=bold @style paragraph h2 fo:text-align=center fo:font-size=12pt fo:font-style=normal fo:font-weight=bold @style table #default-style table:border-model=collapsing @style table-row #default-style fo:keep-together=auto @style table-column Col-lineno style:column-width=1cm @style table-column Col style:column-width=6cm @style page-layout #default-page-layout style:layout-grid-square-mode=false @style text akk fo:font-style=italic @style text compound fo:font-size=10pt @style text elx fo:font-style=italic @style text flags fo:font-style=normal style:text-position="super 70%" @style text i fo:font-style=italic @style text sac-sign fo:font-size=10pt @style text sub style:text-position="sub 70%" @style text sup style:text-position="super 70%" @style text supsub style:text-position="22% 50%" @style text supsup style:text-position="40% 50%" @style text sux fo:font-style=normal
XML configuration files give users direct control over OD features which are not accessible through the style files. Note that it is also possible to use OpenOffice as a graphical front end for managing these features, but the XML configuration file strategy allows production of complex documents like books to be completely automated.
The masters
configuration file is named
master-styles.xml
and provides the
office:master-styles
section of an OD text in its
entirety--the file is copied directly into the output without
being changed, and must therefore contain all of the code necessary
for the office:master-styles
section. The default
version of this file defines page masters for various formats and
purposes. The project version is also named
master-styles.xml
. Here is an example, again from the
RINAP project:
<office:master-styles xmlns:fo="urn:oasis:names:tc:opendocument:xmlns:xsl-fo-compatible:1.0" xmlns:office="urn:oasis:names:tc:opendocument:xmlns:office:1.0" xmlns:style="urn:oasis:names:tc:opendocument:xmlns:style:1.0" xmlns:text="urn:oasis:names:tc:opendocument:xmlns:text:1.0" style:name="Standard"> <style:master-page style:name="Standard" style:page-master-name="pm1" /> <style:master-page style:name="LandscapePage" style:page-master-name="pm2" style:next-style-name="Standard"> <style:header> <text:p text:style-name="P1">page header</text:p> </style:header> <style:footer> <text:p text:style-name="P2">page footer</text:p> </style:footer> </style:master-page> </office:master-styles>
Another XML configuration file contains data which is integrated
into the office:automatic-styles
section of the OD text
file. This differs from the master-styles configuration because
office:automatic-styles
contains a lot of information
from varying sources, including that derived from the style file.
This means that the automatic-styles configuration file gives only a
fragment of the automatic-styles data. The structure of the file
reflects this: it does not have an official
office:automatic-styles
top-level node, but one named
simply wrapper
. This node serves as a host for the
namespaces, but is otherwise discarded. The child-nodes of the
top-level wrapper are copied verbatim into the
office:automatic-styles
section of the document.
The RINAP version of this file looks like this:
<wrapper xmlns:style="urn:oasis:names:tc:opendocument:xmlns:style:1.0" xmlns:fo="urn:oasis:names:tc:opendocument:xmlns:xsl-fo-compatible:1.0" xmlns:text="urn:oasis:names:tc:opendocument:xmlns:text:1.0"> <style:page-layout style:name="pm2"> <style:page-layout-properties fo:page-width="8.5in" fo:page-height="11in" style:num-format="1" style:print-orientation="portrait" fo:margin-top="1in" fo:margin-bottom="1in" fo:margin-left="1in" fo:margin-right="1in" style:writing-mode="lr-tb" style:footnote-max-height="1in"> <style:footnote-sep style:width="0.0071in" style:distance-before-sep="0.0398in" style:distance-after-sep="0.0398in" style:adjustment="left" style:rel-width="25%" style:color="#000000"/> </style:page-layout-properties> <style:header-style> <style:header-footer-properties fo:min-height="0in" fo:margin-bottom="0.1965in"/> </style:header-style> <style:footer-style> <style:header-footer-properties fo:min-height="0in" fo:margin-top="0.1965in"/> </style:footer-style> </style:page-layout> </wrapper>18 Dec 2019
Steve Tinney
Steve Tinney, 'OpenDocument in the Oracc System', Oracc: The Open Richly Annotated Cuneiform Corpus, Oracc, 2019 [http://oracc.museum.upenn.edu/doc/about/standards/opendoc/]