Suomi:

The Free and Open Productivity Suite
New: Apache OpenOffice 4.1.0 released!

Vapaa ja avoin toimisto-ohjelmisto

XML-asiakirjat » Johdanto

OpenOffice.orgin XML-tiedostomuoto

Sekä vanha OpenOffice.org 1.1.x että uusi OpenOffice.org 2.0 käyttävät samankaltaista XML-pohjaista tiedostomuotoa. Uusi OASIS OpenDocument -tiedostomuoto on kansainvälisen OASIS-standardisointikonsortion kehittämä avoin dokumenttistandardi, joka pohjautuu vahvasti OpenOffice.org 1.1.x:n tiedostomuotoon.

Asiakirjapaketin sisältö

OpenDocument-asiakirjat ovat todellisuudessa pakattuja Zip-paketteja, jotka sisältävät useita tiedostoja. Kaikki asiakirjan sisältämät grafiikat ja muut erikoisobjektit on tallennettu paketissa erilliseen alikansioon.

Asiakirjapaketin tärkeimmät tiedostot ja kansiot ovat:

Tiedosto/Kansio Kuvaus
mimetype Asiakirjan tiedostomuodon MIME-tyyppi.
content.xml Asiakirjan varsinainen sisältö.
styles.xml Asiakirjan tyylit.
meta.xml Asiakirjan metatiedot, kuten luojan ja viimeisen muokkaajan tiedot.
settings.xml Asiakirjakohtaiset asetukset.
Pictures/ Asiakirjan kuvat sisältävä kansio.

Huomaa, että vaikka tyylit on määritelty styles.xml-tiedostossa, myös content.xml-tiedostossa on tyylimäärittelyjä. Styles-tiedostossa on myös jonkin verran asiakirjan sisältöä, kuten ylä- ja alatunnisteet.

Oleellisin tiedostoista on content.xml, joka sisältää asiakirjan varsinaisen sisällön. Sen rakenne on suurinpiirtein seuraavanlainen:

<office:document-content>
  <office:font-face-decls>
    ...fonttimäärittelyjä...
  </office:font-face-decls>
  <office:automatic-styles>
    ...tyylimäärittelyjä...
  </office:automatic-styles>
  <office:body>
    <office:text>
      ...asiakirjan teksti ja rakennesisältö...
    </office:text>
  </office:body>
</office:document-content>

Tässä on esitetty tekstiasiakirjan yleisrakenne, muilla asiakirjoilla se on vastaava.

Asiakirjan käsittely XSLT:llä

Asiakirjojen muuntaminen toiseen muotoon tapahtuu helpoiten XSLT-kielellä, joskin muitakin ohjelmointikieliä ja -työkaluja voi käyttää.

XSLT-kielellä tehdyt muuntimet on mahdollista asentaa OpenOffice.orgiin suodattimiksi.

Tämä ohje ei syvenny XSLT-kielen käyttöön. Ainoa mainittava asia on nimiavaruusmäärittelyt, jotka täytyy tehdä XSLT-ohjelman alussa:

Nimiavaruusmäärittelyt

XSLT-ohjelmassa täytyy tehdä nimiavaruusmäärittelyt niiden XML-koodien osalta, joita ohjelmassa käsitellään.

OpenOffice.org 1.1:n asiakirjojen vaatimat määrittelyt ovat seuraavanlaiset:

<?xml version="1.0"?>
<xsl:stylesheet
  xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
  xmlns:office="http://openoffice.org/2000/office"
  xmlns:style="http://openoffice.org/2000/style"
  xmlns:text="http://openoffice.org/2000/text"
  xmlns:table="http://openoffice.org/2000/table"
  xmlns:draw="http://openoffice.org/2000/drawing"
  xmlns:fo="http://www.w3.org/1999/XSL/Format"
  xmlns:xlink="http://www.w3.org/1999/xlink"
  xmlns:number="http://openoffice.org/2000/datastyle"
  xmlns:svg="http://www.w3.org/2000/svg"
  xmlns:chart="http://openoffice.org/2000/chart"
  xmlns:dr3d="http://openoffice.org/2000/dr3d"
  xmlns:math="http://www.w3.org/1998/Math/MathML"
  xmlns:form="http://openoffice.org/2000/form"
  xmlns:script="http://openoffice.org/2000/script"
  office:class="text"
  office:version="1.0"
  version="1.0">

  <!-- ... XSLT-ohjelman sisältö tulee tähän ... -->

</xsl:stylesheet>

OpenOffice.org 2.0:n käyttämän OASIS OpenDocument -tiedostomuodon vaatimat määrittelyt ovat seuraavanlaiset:

<?xml version="1.0"?>
<xsl:stylesheet
  xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
  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="http://www.w3.org/1999/XSL/Format"
  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="http://www.w3.org/2000/svg"
  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"
  office:version="1.0"
  version="1.0">

  <!-- ... XSLT-ohjelman sisältö tulee tähän ... -->

</xsl:stylesheet>

Tässä on lueteltu kaikki nimiavaruusmäärittelyt; niistä kuitenkin tarvitaan vain ne, joita XSLT-ohjelmassa käytetään.

Esimerkkejä

Marko Grönroos
magi42@openoffice.org

Apache Software Foundation

Copyright & License | Privacy | Website Feedback | Contact Us | Donate | Thanks

Apache, the Apache feather logo, and OpenOffice are trademarks of The Apache Software Foundation. OpenOffice.org and the seagull logo are registered trademarks of The Apache Software Foundation. Other names appearing on the site may be trademarks of their respective owners.