Skip to content
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
15 commits
Select commit Hold shift + click to select a range
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
2 changes: 1 addition & 1 deletion .github/workflows/deployment.yml
Original file line number Diff line number Diff line change
Expand Up @@ -31,7 +31,7 @@ jobs:
release_name: odftoolkit-${{ env.release_version }} # <--- Use environment variables that was created before
overwrite: true
file_glob: true
body: "Support of **ODF 1.2** and >=**JDK 11**\n
body: "Support of **ODF 1.3** and >=**JDK 11**\n
\n
Detailed documentation:\n
https://tdf.github.io/odftoolkit/ReleaseNotes.html#release-${{ env.release_version }}\n
Expand Down
24 changes: 12 additions & 12 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@ documents. Unlike other approaches which rely on runtime manipulation of heavy-w
editors via an automation interface, the ODF Toolkit is lightweight and ideal for
server use.

The ODF Toolkit consists of four subcomponents:
The ODF Toolkit consists of three subcomponents:

1. ODFDOM (odfdom-java-*.jar)
This is an Open Document Format (ODF) framework. Its purpose is to provide
Expand All @@ -17,20 +17,13 @@ The ODF Toolkit consists of four subcomponents:
provide the ODF developer community with an easy, lightweight programming API
portable to any object-oriented language.

2. Simple API (deprecated) - (simple-odf-*.jar)
The Simple Java API for ODF is an easy-to-use, high-level Java API
for creating, modifying and extracting data from ODF 1.2 documents.
It is written in pure Java and does not require that you install any
document editor on your system. The Simple Java API for ODF is a high
level abstraction of the lower-level ODFDOM API

3. ODF Validator (odfvalidator-*.war)
2. ODF Validator (odfvalidator-*.war)
This is a tool that validates Open Document Format (ODF) files and checks them
for conformance according to the ODF Standard. ODF Validator is available as an
online service and as a command line tool. This page primarily describes the
command line tool. Please visit the [ODF Validator documentation](https://tdf.github.io/odftoolkit/conformance/ODFValidator.html) for details.

4. ODF XSLT Runner(xslt-runner-*.jar, xslt-runner-task-*.jar)
3. ODF XSLT Runner(xslt-runner-*.jar, xslt-runner-task-*.jar)
ODF XSLT Runner is a small Java application that allows you to apply XSLT
stylesheets to XML streams included in ODF packages without extracting them
from the package. It can be used from the command line. A driver to use it
Expand All @@ -47,6 +40,13 @@ build system. To build ODF Toolkit, use the following command in this directory:

## Recent Releases

1. We have a *release 0.12.0* using >=JDK 11 for ODF 1.3-
Doing a full refactoring of the ODFDOM code generation and containing updates to the [new collaboration API](https://tdf.github.io/odftoolkit/odfdom/operations/operations.html):
*RELEASE (0.12.0)*:
* [ODFDOM](https://repo1.maven.org/maven2/org/odftoolkit/odfdom-java/0.12.0/)
* [ODF Validator](https://repo1.maven.org/maven2/org/odftoolkit/odfvalidator/0.12.0/)
* [XSLT Runner](https://repo1.maven.org/maven2/org/odftoolkit/xslt-runner/0.12.0/)

1. We have a *release 0.11.0* using >=JDK 11 for ODF 1.2-
Doing a full refactoring of the ODFDOM code generation and containing updates to the [new collaboration API](https://tdf.github.io/odftoolkit/odfdom/operations/operations.html):
*RELEASE (0.11.0)*:
Expand All @@ -60,12 +60,12 @@ For more details see the [release notes](https://tdf.github.io/odftoolkit/Releas

* [The Home Page for the ODF Toolkit](https://tdf.github.io/odftoolkit)
* [ODFDOM Getting Start Guide](https://tdf.github.io/odftoolkit/odfdom/index.html)
* [ODF Validator Getting Start Guide](https://tdf.github.io/odftoolkit/conformance/ODFValidator.html)
* [ODF XSLT Runner Getting Start Guide](https://tdf.github.io/odftoolkit/xsltrunner/ODFXSLTRunner.html)
* [Simple API (deprecated) - Getting Start Guide](https://tdf.github.io/odftoolkit/simple/gettingstartguide.html)
* [Simple API (deprecated) - Cookbook](https://tdf.github.io/odftoolkit/simple/document/cookbook/index.html)
* [Simple API (deprecated) - Demos](https://tdf.github.io/odftoolkit/simple/demo/index.html)
* [Simple API (deprecated) - Online JavaDoc](https://tdf.github.io/odftoolkit/simple/document/javadoc/index.html)
* [ODF Validator Getting Start Guide](https://tdf.github.io/odftoolkit/conformance/ODFValidator.html)
* [ODF XSLT Runner Getting Start Guide](https://tdf.github.io/odftoolkit/xsltrunner/ODFXSLTRunner.html)

## Mailing Lists

Expand Down
10 changes: 9 additions & 1 deletion docs/ReleaseNotes.html
Original file line number Diff line number Diff line change
Expand Up @@ -48,6 +48,14 @@ <h1>TDF</h1>
</div>
<div id="contenta">
<h1 id="odf-toolkit-release-notes">ODF Toolkit Release Notes</h1>
<h2 id="release-0.12.0">Release 0.12.0</h2>
<p><a href="https://repo1.maven.org/maven2/org/odftoolkit/odfdom-java/0.12.0/">ODFDOM 0.12.0</a> is released on December 22th, 2022. Git tag: "odftoolkit-0.12.0".</p>
<h3 id="github-issues-fixed-in-this-release-0.12.0">GitHub issues fixed in this release 0.12.0</h3>
<ul>
<li><a href="https://github.com/tdf/odftoolkit/issues/26">#26</a> Adding ODF 1.3 support to the ODF Toolkit</li>
</ul>
<h3 id="major-updates-with-0.12.0">Major updates with 0.12.0</h3>
<p>The typed ODFDOM DOM model is now based on the XML grammar of the <a href="https://www.oasis-open.org/committees/tc_home.php?wg_abbrev=office">OASIS ODF 1.3 standard</a>. <a href="https://docs.oasis-open.org/office/OpenDocument/v1.3/os/">All deliverables of the OASIS 1.3 standard are downloadable from OASIS</a>.</p>
<h2 id="release-0.11.0">Release 0.11.0</h2>
<p><a href="https://repo1.maven.org/maven2/org/odftoolkit/odfdom-java/0.11.0/">ODFDOM 0.11.0</a> is released on December 21th, 2022. Git tag: "odftoolkit-0.11.0".</p>
<h3 id="github-issues-fixed-in-this-release-0.11.0">GitHub issues fixed in this release 0.11.0</h3>
Expand All @@ -65,7 +73,7 @@ <h3 id="github-issues-fixed-in-this-release-0.11.0">GitHub issues fixed in this
<li><a href="https://github.com/tdf/odftoolkit/issues/189">#189</a> org.odftoolkit.odfdom.pkg.OdfName declares static StringBuilder -&gt; potential problem in multi-threaded environments</li>
<li><a href="https://github.com/tdf/odftoolkit/pull/198">#198</a> clean up static Map/Set/etc to avoid races and leaks</li>
</ul>
<h3 id="major-updates-with-this-version">Major updates with this version</h3>
<h3 id="major-updates-with-0.11.0">Major updates with 0.11.0</h3>
<h4 id="generation-&amp;-templates">Generation &amp; Templates</h4>
<ul>
<li>ODFDOM source generation (generator project) was <a href="https://github.com/tdf/odftoolkit/pull/182">completely refactored</a>, allowing to trigger generation from the ODFDOM project (<em><strong>mvn install -Dcodegen</strong></em>) to generate, copy and format the Java classes of the 3 XML grammars:
Expand Down
46 changes: 44 additions & 2 deletions docs/downloads.html
Original file line number Diff line number Diff line change
Expand Up @@ -49,10 +49,46 @@ <h1>TDF</h1>
<div id="contenta">
<h1 id="downloads">Downloads</h1>
<h2 id="current-version">Current Version</h2>
<p>The current version is the 0.11.0 supporting ODF 1.2. The future development is based on the <a href="https://github.com/tdf/odftoolkit">master branch</a>.<br> The releases of 0.11.0 was on December 21th, 2022.</p>
<p>The current version is the 0.12.0 supporting ODF 1.3. The future development is based on the <a href="https://github.com/tdf/odftoolkit">master branch</a>.<br> The releases of 0.12.0 was on February 1st, 2022.</p>
<h2 id="releases-(latest)">Releases (latest)</h2>
<p>The release 0.11.0 is using JDK 11 implementing <a href="http://docs.oasis-open.org/office/v1.2/os/">ODF 1.2</a>.<br> For more details see the <a href="./ReleaseNotes.html">release notes</a>. People interested should also follow the <a href="mailing-lists.html">mail list</a> to track progress.</p>
<p>The release 0.12.0 is using JDK 11 implementing <a href="http://docs.oasis-open.org/office/v1.3/os/">ODF 1.3</a>.<br> The release 0.11.0 is using JDK 11 implementing <a href="http://docs.oasis-open.org/office/v1.2/os/">ODF 1.2</a>.<br></p>
<p>For more details see the <a href="./ReleaseNotes.html">release notes</a>. People interested should also follow the <a href="mailing-lists.html">mail list</a> to track progress.</p>
<h2 id="project-releases-for-maven-(latest)">Project Releases for Maven (latest)</h2>
<h3 id="project-releases-for-maven-on-odf-1.3">Project Releases for Maven on ODF 1.3</h3>
<ul>
<li><strong><a href="./odfdom/index.html">ODFDOM</a>: <a href="https://repo1.maven.org/maven2/org/odftoolkit/odfdom-java/0.12.0/">0.12.0</a></strong></li>
</ul>
<div class="codehilite">
<pre><code class="language-shell">&lt;dependency&gt;
&lt;groupId&gt;org.odftoolkit&lt;/groupId&gt;
&lt;artifactId&gt;odfdom-java&lt;/artifactId&gt;
&lt;version&gt;0.12.0&lt;/version&gt;
&lt;/dependency&gt;
</code></pre>
</div>
<ul>
<li><strong><a href="./conformance/ODFValidator.html">ODF Validator</a>: <a href="https://repo1.maven.org/maven2/org/odftoolkit/odfvalidator/0.12.0/">0.12.0</a></strong></li>
</ul>
<div class="codehilite">
<pre><code class="language-shell">&lt;dependency&gt;
&lt;groupId&gt;org.odftoolkit&lt;/groupId&gt;
&lt;artifactId&gt;odfvalidator&lt;/artifactId&gt;
&lt;version&gt;0.12.0&lt;/version&gt;
&lt;/dependency&gt;
</code></pre>
</div>
<ul>
<li><strong><a href="./xsltrunner/ODFXSLTRunner.html">XSLT Runner</a>: <a href="https://repo1.maven.org/maven2/org/odftoolkit/xslt-runner/0.12.0/">0.12.0</a></strong></li>
</ul>
<div class="codehilite">
<pre><code class="language-shell">&lt;dependency&gt;
&lt;groupId&gt;org.odftoolkit&lt;/groupId&gt;
&lt;artifactId&gt;xslt-runner&lt;/artifactId&gt;
&lt;version&gt;0.12.0&lt;/version&gt;
&lt;/dependency&gt;

</code></pre>
</div>
<h3 id="project-releases-for-maven-on-odf-1.2">Project Releases for Maven on ODF 1.2</h3>
<ul>
<li><strong><a href="./odfdom/index.html">ODFDOM</a>: <a href="https://repo1.maven.org/maven2/org/odftoolkit/odfdom-java/0.11.0/">0.11.0</a></strong></li>
Expand Down Expand Up @@ -89,6 +125,12 @@ <h3 id="project-releases-for-maven-on-odf-1.2">Project Releases for Maven on ODF
</code></pre>
</div>
<h2 id="odf-toolkit-release-bundles-(latest)">ODF Toolkit Release Bundles (latest)</h2>
<h3 id="odf-toolkit-0.12.0-release-bundle-(odf-1.3-using-jdk-11)">ODF Toolkit 0.12.0 Release Bundle (ODF 1.3 using JDK 11)</h3>
<ul>
<li>Sources: <a href="https://github.com/tdf/odftoolkit/releases/download/v0.12.0/odftoolkit-0.12.0-src.zip">odftoolkit-0.12.0-src.zip</a> [<a href="https://github.com/tdf/odftoolkit/releases/download/v0.12.0/odftoolkit-0.12.0-src.zip.sha">sha</a>]</li>
<li>Binaries: <a href="https://github.com/tdf/odftoolkit/releases/download/v0.12.0/odftoolkit-0.12.0-bin.zip">odftoolkit-0.12.0-bin.zip</a> [<a href="https://github.com/tdf/odftoolkit/releases/download/v0.12.0/odftoolkit-0.12.0-bin.zip.sha">sha</a>]</li>
<li>Documentation: <a href="https://github.com/tdf/odftoolkit/releases/download/v0.12.0/odftoolkit-0.12.0-doc.zip">odftoolkit-0.12.0-doc.zip</a> [<a href="https://github.com/tdf/odftoolkit/releases/download/v0.12.0/odftoolkit-0.12.0-doc.zip.sha">sha</a>]</li>
</ul>
<h3 id="odf-toolkit-0.11.0-release-bundle-(odf-1.2-using-jdk-11)">ODF Toolkit 0.11.0 Release Bundle (ODF 1.2 using JDK 11)</h3>
<ul>
<li>Sources: <a href="https://github.com/tdf/odftoolkit/releases/download/v0.11.0/odftoolkit-0.11.0-src.zip">odftoolkit-0.11.0-src.zip</a> [<a href="https://github.com/tdf/odftoolkit/releases/download/v0.11.0/odftoolkit-0.11.0-src.zip.sha">sha</a>]</li>
Expand Down
3 changes: 2 additions & 1 deletion docs/index.html
Original file line number Diff line number Diff line change
Expand Up @@ -60,7 +60,8 @@ <h2 id="components-of-the-odf-toolkit-(java)">Components of the ODF Toolkit (Jav
</ol>
<p>Find our sources on <a href="https://github.com/tdf/odftoolkit">GitHub</a>. People interested should follow the <a href="mailing-lists.html">mail list</a> to track progress.</p>
<h2 id="history">History</h2>
<h3 id="2021-12-21-odf-toolkit-releases-of-0.11.0">2021-12-21 - ODF Toolkit releases of 0.11.0</h3>
<h3 id="2023-02-01-odf-toolkit-releases-of-0.12.0">2023-02-01 - ODF Toolkit releases of 0.12.0</h3>
<h3 id="2022-12-21-odf-toolkit-releases-of-0.11.0">2022-12-21 - ODF Toolkit releases of 0.11.0</h3>
<h3 id="2021-11-26-odf-toolkit-releases-of-0.9.0-and-0.10.0">2021-11-26 - ODF Toolkit releases of 0.9.0 and 0.10.0</h3>
<p>See the <a href="downloads.html">downloads page</a> for more details on the releases.</p>
<h3 id="2020-01-29-odf-toolkit-releases-of-0.9.0-rc-and-0.10.0-beta-(earlier/yet-named-1.0.0-beta)">2020-01-29 - ODF Toolkit releases of 0.9.0-rc and 0.10.0-beta (earlier/yet named 1.0.0-beta)</h3>
Expand Down
4 changes: 2 additions & 2 deletions docs/source.html
Original file line number Diff line number Diff line change
Expand Up @@ -62,13 +62,13 @@ <h3 id="odf-toolkit-==-0.9.0-using-jdk-8">ODF Toolkit == 0.9.0 using JDK 8</h3>
sudo apt-get install maven
</code></pre>
</div>
<h3 id="odf-toolkit->=-0.10.0-using-jdk->=-9">ODF Toolkit &gt;= 0.10.0 using JDK &gt;= 9</h3>
<h3 id="odf-toolkit->=-0.10.0-using-jdk->=11">ODF Toolkit &gt;= 0.10.0 using JDK &gt;=11</h3>
<div class="codehilite">
<pre><code class="language-shell">sudo apt-get install openjdk-11-jdk
sudo apt-get install maven
</code></pre>
</div>
<p><strong>Note:</strong> The previous instructions has been tested with an Ubuntu 20.04 installation. Other distros and versions should work fine, but might require some slight modifications.</p>
<p><strong>Note:</strong> The previous instructions has been tested with an Ubuntu 22.04 installation. Other distros and versions should work fine, but might require some slight modifications.</p>
<h2 id="build-setup-(windows)">Build Setup (Windows)</h2>
<p>For the setup of the build environment, please see <a href="https://openjdk.java.net/install/">Java JDK download for Windows</a> and <a href="https://maven.apache.org/guides/getting-started/windows-prerequisites.html">Maven setup on Windows</a></p>
<h2 id="building-(linux-&amp;-windows)">Building (Linux &amp; Windows)</h2>
Expand Down
2 changes: 1 addition & 1 deletion docs/xsltrunner/ODFXSLTRunner.html
Original file line number Diff line number Diff line change
Expand Up @@ -99,7 +99,7 @@ <h2 id="uri-resolution/document()-function">URI resolution/document() function</
</code></pre>
</div>
<h2 id="requirements">Requirements</h2>
<p><strong>ODF XSLT Runner</strong> requires <a href="https://openjdk.java.net/install/">Java RE 5</a>, or a later version of Java.</p>
<p><strong>ODF XSLT Runner</strong> requires <a href="https://openjdk.java.net/install/">Java 11</a>, or a later version of Java.</p>
<p>It further requires ODFDOM. This former NetBeans project is pre-configured to build ODFDOM while building <strong>ODF XSLT Runner</strong>. This requires that the ODFDOM sources are located in a folder <strong>odfdom</strong> next to the folder of the <strong>ODF XSLT Runner</strong> project.</p>
<p>Alternatively, the reference to the ODFDOM project in the compile time classpath of the <strong>ODF XSLT Runner</strong> project may be replaced with a reference to an already compiled <strong>odfdom.jar</strong>.</p>
<p>At run time, the <strong>odfdom.jar</strong> file must be either located in folder called <strong>lib</strong> next to the <strong>odfxsltrunner.jar</strong> file, or it must be in the classpath.</p>
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -264,7 +264,7 @@ public Set<Expression> getSingletons() {
/**
* Returns all child elements which are no singletons
*
* @return All child elements which can only occur one time
* @return All child elements which occur more than one time
*/
public Set<Expression> getMultiples() {
return mMultipleChildren;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -155,16 +155,15 @@ public SortedSet<String> getStyleFamilies() {
*/
public String getDefaultAttributeValue(String attributeName, String parentElementName) {
String defaultValue = null;
if (parentElementName.equals("table:table-cell") && attributeName.equals("table:protect")) {
System.err.println("YEAH!");
}
if (mAttributeDefaults == null || attributeName == null || attributeName.isBlank()) {
return null;
} else {
Map<String, String> defaultValueByElementParents = mAttributeDefaults.get(attributeName);
if (defaultValueByElementParents == null) {
return null;
}
// Not for ODF, but need extension if there are two attributes (same name)
// with different defaults in same named parent?
defaultValue = defaultValueByElementParents.get(parentElementName);
if (defaultValue == null) {
defaultValue = defaultValueByElementParents.get(ALL_ELEMENTS);
Expand Down
Loading