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
|