diff options
author | Jambunathan K <kjambunathan@gmail.com> | 2011-09-12 17:19:14 +0530 |
---|---|---|
committer | Jambunathan K <kjambunathan@gmail.com> | 2011-09-12 17:19:14 +0530 |
commit | 488a2e378caf5d3ab917814d969ab8efee0b0632 (patch) | |
tree | a774c35d838ca2868768b859cd78b1d5f3348e24 | |
parent | f1fcc592fd9eadeed2daeb2bc10a0de590459306 (diff) | |
download | org-mode-488a2e378caf5d3ab917814d969ab8efee0b0632.tar.gz |
Replace OrgOdtAutomaticStyles.xml with OrgOdtContentTemplate.xml
* contrib/odt/styles/OrgOdtAutomaticStyles.xml: Removed
* contrib/odt/styles/OrgOdtContentTemplate.xml: Added. This
file is now a fully-formed "content.xml" file but with "empty"
content. Note that the original "OrgOdtAutomaticStyles.xml"
was just an xml fragment.
* contrib/lisp/org-odt.el
(org-odt-document-content-header): Removed.
(org-export-odt-automatic-styles-file): Removed.
(org-export-odt-content-template-file): Renamed from
`org-export-odt-automatic-styles-file'.
(org-odt-data-dir): Update docstring.
(org-odt-begin-office-body, org-odt-begin-document-content):
Modified to accomodate changes introduced by the new
"OrgOdtContentTemplate.xml" file.
-rw-r--r-- | contrib/lisp/org-odt.el | 74 | ||||
-rw-r--r-- | contrib/odt/styles/OrgOdtContentTemplate.xml | 118 |
2 files changed, 136 insertions, 56 deletions
diff --git a/contrib/lisp/org-odt.el b/contrib/lisp/org-odt.el index 53bd993..da3fbd5 100644 --- a/contrib/lisp/org-odt.el +++ b/contrib/lisp/org-odt.el @@ -76,9 +76,9 @@ "Directory that holds auxiliary files used by the ODT exporter. The 'styles' subdir contains the following xml files - - 'OrgOdtStyles.xml' and 'OrgOdtAutomaticStyles.xml' - which are + 'OrgOdtStyles.xml' and 'OrgOdtContentTemplate.xml' - which are used as factory settings of `org-export-odt-styles-file' and - `org-export-odt-automatic-styles-file'. + `org-export-odt-content-template-file'. The 'etc/schema' subdir contains rnc files for validating of OpenDocument xml files.") @@ -148,9 +148,13 @@ OpenDocument xml files.") 'org-export-odt-preprocess-latex-fragments) nil) -(defcustom org-export-odt-automatic-styles-file nil - "Automatic styles for use with ODT exporter. -If unspecified, the file under `org-odt-data-dir' is used." +(defcustom org-export-odt-content-template-file nil + "Template file for \"content.xml\". +The exporter embeds the exported content just before +\"</office:text>\" element. + +If unspecified, the file named \"OrgOdtContentTemplate.xml\" +under `org-odt-data-dir' is used." :type 'file :group 'org-export-odt) @@ -428,16 +432,14 @@ PUB-DIR is set, use this as the publishing directory." ;;;_. control callbacks ;;;_ , document body (defun org-odt-begin-office-body () - (insert " - <office:body> - <office:text> - <text:sequence-decls> - <text:sequence-decl text:display-outline-level=\"0\" text:name=\"Illustration\"/> - <text:sequence-decl text:display-outline-level=\"0\" text:name=\"Table\"/> - <text:sequence-decl text:display-outline-level=\"0\" text:name=\"Text\"/> - <text:sequence-decl text:display-outline-level=\"0\" text:name=\"Drawing\"/> - <text:sequence-decl text:display-outline-level=\"0\" text:name=\"Equation\"/> - </text:sequence-decls>")) + ;; automatic styles + (insert-file-contents + (or org-export-odt-content-template-file + (expand-file-name "styles/OrgOdtContentTemplate.xml" + org-odt-data-dir))) + (goto-char (point-min)) + (re-search-forward "</office:text>" nil nil) + (delete-region (match-beginning 0) (point-max))) ;; Following variable is let bound when `org-do-lparse' is in ;; progress. See org-html.el. @@ -460,48 +462,8 @@ PUB-DIR is set, use this as the publishing directory." (org-lparse-insert-tag "</office:text>") (org-lparse-insert-tag "</office:body>"))) -(defconst org-odt-document-content-header - "<?xml version=\"1.0\" encoding=\"UTF-8\"?> -<office:document-content - 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\" - xmlns:table=\"urn:oasis:names:tc:opendocument:xmlns:table:1.0\" - xmlns:draw=\"urn:oasis:names:tc:opendocument:xmlns:drawing:1.0\" - xmlns:fo=\"urn:oasis:names:tc:opendocument:xmlns:xsl-fo-compatible:1.0\" - xmlns:xlink=\"http://www.w3.org/1999/xlink\" - xmlns:dc=\"http://purl.org/dc/elements/1.1/\" - xmlns:meta=\"urn:oasis:names:tc:opendocument:xmlns:meta:1.0\" - xmlns:number=\"urn:oasis:names:tc:opendocument:xmlns:datastyle:1.0\" - xmlns:svg=\"urn:oasis:names:tc:opendocument:xmlns:svg-compatible:1.0\" - xmlns:chart=\"urn:oasis:names:tc:opendocument:xmlns:chart:1.0\" - xmlns:dr3d=\"urn:oasis:names:tc:opendocument:xmlns:dr3d:1.0\" - xmlns:math=\"http://www.w3.org/1998/Math/MathML\" - xmlns:form=\"urn:oasis:names:tc:opendocument:xmlns:form:1.0\" - xmlns:script=\"urn:oasis:names:tc:opendocument:xmlns:script:1.0\" - xmlns:ooo=\"http://openoffice.org/2004/office\" - xmlns:ooow=\"http://openoffice.org/2004/writer\" - xmlns:oooc=\"http://openoffice.org/2004/calc\" - xmlns:dom=\"http://www.w3.org/2001/xml-events\" - xmlns:xforms=\"http://www.w3.org/2002/xforms\" - xmlns:xsd=\"http://www.w3.org/2001/XMLSchema\" - xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\" - xmlns:rpt=\"http://openoffice.org/2005/report\" - xmlns:of=\"urn:oasis:names:tc:opendocument:xmlns:of:1.2\" - xmlns:xodt=\"http://www.w3.org/1999/xodt\" - xmlns:field=\"urn:openoffice:names:experimental:ooo-ms-interop:xmlns:field:1.0\" office:version=\"1.2\"> -") - (defun org-odt-begin-document-content (opt-plist) - ;; document header - (insert org-odt-document-content-header) - - ;; automatic styles - (insert-file-contents - (or org-export-odt-automatic-styles-file - (expand-file-name "styles/OrgOdtAutomaticStyles.xml" - org-odt-data-dir))) - (goto-char (point-max))) + (ignore)) (defun org-odt-end-document-content () (org-lparse-insert-tag "</office:document-content>")) diff --git a/contrib/odt/styles/OrgOdtContentTemplate.xml b/contrib/odt/styles/OrgOdtContentTemplate.xml new file mode 100644 index 0000000..980f264 --- /dev/null +++ b/contrib/odt/styles/OrgOdtContentTemplate.xml @@ -0,0 +1,118 @@ +<?xml version="1.0" encoding="UTF-8"?> +<office:document-content + 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" + xmlns:table="urn:oasis:names:tc:opendocument:xmlns:table:1.0" + xmlns:draw="urn:oasis:names:tc:opendocument:xmlns:drawing:1.0" + xmlns:fo="urn:oasis:names:tc:opendocument:xmlns:xsl-fo-compatible:1.0" + xmlns:xlink="http://www.w3.org/1999/xlink" + xmlns:dc="http://purl.org/dc/elements/1.1/" + xmlns:meta="urn:oasis:names:tc:opendocument:xmlns:meta:1.0" + xmlns:number="urn:oasis:names:tc:opendocument:xmlns:datastyle:1.0" + xmlns:svg="urn:oasis:names:tc:opendocument:xmlns:svg-compatible:1.0" + xmlns:chart="urn:oasis:names:tc:opendocument:xmlns:chart:1.0" + xmlns:dr3d="urn:oasis:names:tc:opendocument:xmlns:dr3d:1.0" + xmlns:math="http://www.w3.org/1998/Math/MathML" + xmlns:form="urn:oasis:names:tc:opendocument:xmlns:form:1.0" + xmlns:script="urn:oasis:names:tc:opendocument:xmlns:script:1.0" + xmlns:ooo="http://openoffice.org/2004/office" + xmlns:ooow="http://openoffice.org/2004/writer" + xmlns:oooc="http://openoffice.org/2004/calc" + xmlns:dom="http://www.w3.org/2001/xml-events" + xmlns:xforms="http://www.w3.org/2002/xforms" + xmlns:xsd="http://www.w3.org/2001/XMLSchema" + xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" + xmlns:rpt="http://openoffice.org/2005/report" + xmlns:of="urn:oasis:names:tc:opendocument:xmlns:of:1.2" + xmlns:xodt="http://www.w3.org/1999/xodt" + xmlns:field="urn:openoffice:names:experimental:ooo-ms-interop:xmlns:field:1.0" office:version="1.2"> + <!-- scripts --> + <office:scripts/> + + <!-- font face declarations --> + <office:font-face-decls> + <style:font-face style:name="Tahoma1" svg:font-family="Tahoma"/> + <style:font-face style:name="courier" svg:font-family="courier, monospace"/> + <style:font-face style:name="Arial Unicode MS" svg:font-family="'Arial Unicode MS'" style:font-pitch="variable"/> + <style:font-face style:name="HG Mincho Light J" svg:font-family="'HG Mincho Light J'" style:font-pitch="variable"/> + <style:font-face style:name="Thorndale" svg:font-family="Thorndale" style:font-family-generic="roman" style:font-pitch="variable"/> + <style:font-face style:name="Times New Roman" svg:font-family="'Times New Roman'" style:font-family-generic="roman" style:font-pitch="variable"/> + <style:font-face style:name="Albany" svg:font-family="Albany" style:font-family-generic="swiss" style:font-pitch="variable"/> + <style:font-face style:name="SimSun" svg:font-family="SimSun" style:font-family-generic="system" style:font-pitch="variable"/> + <style:font-face style:name="Tahoma" svg:font-family="Tahoma" style:font-family-generic="system" style:font-pitch="variable"/> + </office:font-face-decls> + + <!-- automatic styles --> + <office:automatic-styles> + <style:style style:name="OrgTable" style:family="table"> + <style:table-properties style:rel-width="90%" table:align="center"/> + </style:style> + + <style:style style:name="OrgTableColumn" style:family="table-column"> + <style:table-column-properties style:rel-column-width="1*"/> + </style:style> + + <style:style style:name="OrgTblCell" style:family="table-cell"> + <style:table-cell-properties style:vertical-align="middle" fo:padding="0.159cm" fo:border-top="none" fo:border-bottom="none" fo:border-left="none" fo:border-right="none"/> + </style:style> + <style:style style:name="OrgTblCellL" style:family="table-cell"> + <style:table-cell-properties style:vertical-align="middle" fo:padding="0.159cm" fo:border-top="none" fo:border-bottom="none" fo:border-left="0.035cm solid #808080" fo:border-right="none"/> + </style:style> + <style:style style:name="OrgTblCellR" style:family="table-cell"> + <style:table-cell-properties style:vertical-align="middle" fo:padding="0.159cm" fo:border-top="none" fo:border-bottom="none" fo:border-left="none" fo:border-right="0.035cm solid #808080"/> + </style:style> + <style:style style:name="OrgTblCellLR" style:family="table-cell"> + <style:table-cell-properties style:vertical-align="middle" fo:padding="0.159cm" fo:border-top="none" fo:border-bottom="none" fo:border-left="0.035cm solid #808080" fo:border-right="0.035cm solid #808080"/> + </style:style> + <style:style style:name="OrgTblCellT" style:family="table-cell"> + <style:table-cell-properties style:vertical-align="middle" fo:padding="0.159cm" fo:border-top="0.035cm solid #808080" fo:border-bottom="none" fo:border-left="none" fo:border-right="none"/> + </style:style> + <style:style style:name="OrgTblCellTL" style:family="table-cell"> + <style:table-cell-properties style:vertical-align="middle" fo:padding="0.159cm" fo:border-top="0.035cm solid #808080" fo:border-bottom="none" fo:border-left="0.035cm solid #808080" fo:border-right="none"/> + </style:style> + <style:style style:name="OrgTblCellTR" style:family="table-cell"> + <style:table-cell-properties style:vertical-align="middle" fo:padding="0.159cm" fo:border-top="0.035cm solid #808080" fo:border-bottom="none" fo:border-left="none" fo:border-right="0.035cm solid #808080"/> + </style:style> + <style:style style:name="OrgTblCellTLR" style:family="table-cell"> + <style:table-cell-properties style:vertical-align="middle" fo:padding="0.159cm" fo:border-top="0.035cm solid #808080" fo:border-bottom="none" fo:border-left="0.035cm solid #808080" fo:border-right="0.035cm solid #808080"/> + </style:style> + <style:style style:name="OrgTblCellB" style:family="table-cell"> + <style:table-cell-properties style:vertical-align="middle" fo:padding="0.159cm" fo:border-top="none" fo:border-bottom="0.035cm solid #808080" fo:border-left="none" fo:border-right="none"/> + </style:style> + <style:style style:name="OrgTblCellBL" style:family="table-cell"> + <style:table-cell-properties style:vertical-align="middle" fo:padding="0.159cm" fo:border-top="none" fo:border-bottom="0.035cm solid #808080" fo:border-left="0.035cm solid #808080" fo:border-right="none"/> + </style:style> + <style:style style:name="OrgTblCellBR" style:family="table-cell"> + <style:table-cell-properties style:vertical-align="middle" fo:padding="0.159cm" fo:border-top="none" fo:border-bottom="0.035cm solid #808080" fo:border-left="none" fo:border-right="0.035cm solid #808080"/> + </style:style> + <style:style style:name="OrgTblCellBLR" style:family="table-cell"> + <style:table-cell-properties style:vertical-align="middle" fo:padding="0.159cm" fo:border-top="none" fo:border-bottom="0.035cm solid #808080" fo:border-left="0.035cm solid #808080" fo:border-right="0.035cm solid #808080"/> + </style:style> + <style:style style:name="OrgTblCellTB" style:family="table-cell"> + <style:table-cell-properties style:vertical-align="middle" fo:padding="0.159cm" fo:border-top="0.035cm solid #808080" fo:border-bottom="0.035cm solid #808080" fo:border-left="none" fo:border-right="none"/> + </style:style> + <style:style style:name="OrgTblCellTBL" style:family="table-cell"> + <style:table-cell-properties style:vertical-align="middle" fo:padding="0.159cm" fo:border-top="0.035cm solid #808080" fo:border-bottom="0.035cm solid #808080" fo:border-left="0.035cm solid #808080" fo:border-right="none"/> + </style:style> + <style:style style:name="OrgTblCellTBR" style:family="table-cell"> + <style:table-cell-properties style:vertical-align="middle" fo:padding="0.159cm" fo:border-top="0.035cm solid #808080" fo:border-bottom="0.035cm solid #808080" fo:border-left="none" fo:border-right="0.035cm solid #808080"/> + </style:style> + <style:style style:name="OrgTblCellTBLR" style:family="table-cell"> + <style:table-cell-properties style:vertical-align="middle" fo:padding="0.159cm" fo:border-top="0.035cm solid #808080" fo:border-bottom="0.035cm solid #808080" fo:border-left="0.035cm solid #808080" fo:border-right="0.035cm solid #808080"/> + </style:style> + </office:automatic-styles> + + <office:body> + <office:text> + <text:sequence-decls> + <text:sequence-decl text:display-outline-level="0" text:name="Illustration"/> + <text:sequence-decl text:display-outline-level="0" text:name="Table"/> + <text:sequence-decl text:display-outline-level="0" text:name="Text"/> + <text:sequence-decl text:display-outline-level="0" text:name="Drawing"/> + <text:sequence-decl text:display-outline-level="0" text:name="Equation"/> + </text:sequence-decls> + + </office:text> + </office:body> +</office:document-content> |