Luento 11: XSL-FO & SVG



Samankaltaiset tiedostot
Muotoilutoliot. XSL:n muotoiluoliot. Muotoiluolio. Muotoilualueet. Lohkoalueiden sijoittelu. Muotoilualueiden sijoittelu. Rivialueiden ominaisuuksia

Hohde Consulting 2004

Helsingin yliopisto/tktl XML-metakieli XSL-FO XSL-FO. XSL-FO sivut

XSL Formatting Objects

Helsingin yliopisto/tktl XML-metakieli XSL-FO XSL - extensible stylesheet language XSL-FO

9.16 XSLT ja nimiavaruudet (1/3): literaali oletusnimiavaruus

Digitaalisen median tekniikat. JSP ja XML

Digitaalisen median tekniikat. JSP ja XML Harri Laine 1

XML prosessori. XML prosessointi. XML:n kirjoittaminen. Validoiva jäsennin. Tapahtumaohjattu käsittely. Tapahtumaohjattu käsittely.

Tekstinkäsittelystä II. Tekstinkäsittelyohjelmien edistyneempiä piirteitä Tuki ryhmätyölle

Sisältö. XML, XHTML ja CSS XML XML. XML:n ja HTML:n ero. XML kieliä XML XHTML CSS XSL. T Hypermediadokumentin laatiminen 2002

8 XSLT-muunnoskieli XSLT-muunnoskieli

M. Merikanto 2012 XML. Merkkauskieli, osa 2

6 XML-työkalut 1. 6 XML-työkalut

Hohde Consulting 2004

HTML5 video, audio, canvas. Mirja Jaakkola

SATAKUNNAN AMMATTIKORKEAKOULU. Hakala Toni Varpelaide Heidi TEKSTINKÄSITTELYN OHJEET CASE: OPINNÄYTETYÖN RAPORTOINTI WORDILLA

Kotisivuohjeet. Eteläpohjalaiset Kylät ry. Sivupohjien rakenne

UpdateIT 2010: Editorin käyttöohje

Tee html-sivu, jossa on yllä olevat kaksi taulukkoa.

Putteri Käyttöliittymä ja ulkoasu

Kylänetti projektin sivustojen käyttöohjeita Dokumentin versio 2.10 Historia : 1.0, 1.2, 1.6 Tero Liljamo / Deserthouse, päivitetty 25.8.

Yhteentoimivuusvälineistö: Sanastoeditorin esittelytilaisuus klo Väestörekisterikeskus, Lintulahdenkuja 4, Helsinki

JWT 2016 luento 11. to klo Aulikki Hyrskykari. PinniB Aulikki Hyrskykari

Työvälineohjelmistot KSAO Liiketalous 1

Sen jälkeen Microsoft Office ja sen alta löytyy ohjelmat. Ensin käynnistä-valikosta kaikki ohjelmat

Johdatus L A TEXiin. 7. Taulukot ja kuvat. Dept. of Mathematical Sciences

Luento 2: Tulostusprimitiivit

XML, XHTML ja CSS. T Hypermediadokumentin laatiminen. Mikko Pohja

Luento 3: Tietorakenteiden esittäminen

Vesa Ollikainen, päivitys Juha Haataja

Kuvat. 1. Selaimien tunnistamat kuvatyypit

ETAPPI ry JOOMLA 2.5 Mediapaja. Artikkeleiden hallinta ja julkaisu

H T M L eli kuinka laadin itselleni päheät kotisivut. Janne Käki

Tekstinkäsittely 1. Peruskäyttö. Tietotekniikan perusteet Metropolia Ammattikorkeakoulu Vesa Ollikainen

H T M L eli kuinka laadin itselleni päheät kotisivut. Janne Käki

WWW-ohjelmoinnin kokonaisuus. WWW-OHJELMOINTI 1 Merkkauskielet. Merkkauskielten idea. Merkkauskielet (markup languages) Merkkauskielten merkitys

Suomalainen Verkkokauppa: Ohjeita verkkokaupan ulkoasun suunnittelijalle

Code Camp for Girls. Sanna Nygård. Lokakuussa

Luo mediaopas Tarinatallentimella

ejuttu ohjeet kuinka sitä käytetään.

Hohde Consulting 2004

Tasogeometriaa GeoGebran piirtoalue ja työvälineet

XML / DTD / FOP -opas Internal


TEEMA 3 TEKSTIDATAN KÄSITTELY JA JULKAISEMINEN LUENTO 5 TEKSTINKÄSITTELY

HTML & CSS. HTML (HyperText Markup Language) Antti Koivisto. ! HTML on sivujen kuvauskieli.

Kerro kuvin 3:n uudet ominaisuudet

Tekstinkäsittelyn jatko. KSAO Liiketalous 1

Entiteetit erotetaan muusta tekstistä & ja puolipiste. esim. copyright-merkki näkyy sivulla

Luento 12: XML ja metatieto

Taulukot Päivi Vartiainen 1

CSS - tyylit Seppo Räsänen

1. Skannaus ja tekstintunnistus (OCR) verkkoskannerilta

2016/07/05 08:58 1/12 Shortcut Menut

Tärkeimmät toiminnot. Kertausta ja uusia toimintoja Wordistä sekä tiedostonhallinnasta. Tärkeimmät toiminnot jatkuu...

Digitaalisen median tekniikat css tyylimääritykset Harri Laine 1

Digitaalisen median tekniikat css tyylimääritykset

Johdatus L A TEXiin. 7. Taulukot ja kuvat. Dept. of Mathematical Sciences

Johdatus L A TEXiin. 8. Taulukot ja kuvat. Matemaattisten tieteiden laitos

Ohjeita kirjan tekemiseen

Visma Fivaldi -Ohje Yleisraportin määritykset

Sisältö: Heli Ruoho Pikaopas Adobe PageMaker 6.5 -taitto-ohjelmaan (Fin) 1 Uuden julkaisun luominen ja työtilan esittely 1

ARVO - verkkomateriaalien arviointiin

Tekstinkäsittelyn jatko KSAO Liiketalous 1. Osanvaihto näkyy näytöllä vaakasuorana kaksoispisteviivarivinä ja keskellä riviä lukee osanvaihdon tyyppi

ARVO - verkkomateriaalien arviointiin

SeaMonkey pikaopas - 1

Digitaalisen median tekniikat. Luento 4: JavaScript

Helsingin yliopisto/tktl XML-metakieli k2013 CSS XML-dokumenttien käsittely. XML-dokumenttien käsittely

ASTERI KIRJANPITO KIELIVERSION OHJE

Condes. Quick Start opas. Suunnistuksen ratamestariohjelmisto. Versio 7. Quick Start - opas Condes 7. olfellows 1.

Taulukot. 1. Taulukon rakenne: ICT01D Elina Ulpovaara

Python-ohjelmointi Harjoitus 5

Moodlen lohkot. Lohkojen lisääminen: Lohkojen muokkaaminen: Tampereen yliopisto/tietohallinto 2017 Suvi Junes

Ulkoasun muokkaus CSS-tiedostossa

Kurssin hallinta -työväline

Ohjeita informaation saavutettavuuteen

Suvi Junes Tietohallinto / Opetusteknologiapalvelut 2012

Tähtitieteen käytännön menetelmiä Kevät 2009 Luento 4: Ohjelmointi, skriptaus ja Python

Java-kielen perusteet

Harjoitustyö: virtuaalikone

Alkuun HTML5 peliohjelmoinnissa

Helsingin yliopisto/tktl XML-metakieli CSS XML-dokumenttien käsittely. XML-dokumenttien käsittely

MOBISITE-TYÖKALUN SISÄLTÄMÄT TOIMINNOT

OpenOffice.org Impress 3.1.0

TEEMA 2 TAULUKKODATAN KÄSITTELY JA TIEDON VISUALISOINTI LUENTO 4

Väitöskirja -mallipohja

HARJOITUSTYÖ ITKP101 Ronja Saarinen

JAVA on ohjelmointikieli, mikä on kieliopiltaan hyvin samankaltainen, jopa identtinen mm. C++

PageMaker 6.5 -moniste

Gimp JA MUUT KUVANKÄSITTELYOHJELMAT

HTML5 -elementit jatkuu

Racket ohjelmointia osa 1. Tiina Partanen Lielahden koulu 2014

CSS-kielen avulla määritellään HTML-dokumentin tyyli. CSS avulla voidaan tarkemmin määritellä eri elementtien ominaisuuksia.

Kotisivujen teko. Jan Lindholm Kirkkonummen kansalaisopisto Syksy koodari.eu jsbin.com

Tekstinkäsittelystä. H4: Tekstinkäsittelyn perusharjoitus. Toimisto ohjelmista

HAKUKONEMARKKINOINTI KOTISIVUJEN PÄIVITYSOHJE

- Voit muodostaa PDF-dokumentin myöskin Office tuotteisiin asentuneen PDF-XChange pluginin kautta

Kuvien lisääminen ja käsittely

Sisältö. 1 Ylä- ja alatunnisteet Makropaketti titleps Makropaketti fancyhdr Sivutyylien toteutus L A TEXissa...

Transkriptio:

Luento 11: XSL-FO & SVG AS-0.110 XML-kuvauskielten perusteet Janne Kalliola XSL-FO & SVG XSL-FO Dokumentin rakenne Sivupohja ja sivujaksopohja Sisältö Muut ominaisuudet Dokumentin laadinta ja käyttö XSL-FO:n ongelmat SVG Scalable Vector Graphics SVG-dokumentti Grafiikkaoliot symbolit ryhmittely Dynaamisuus SVG:n tuottaminen ja käyttö www.hohde.com Hohde Consulting 2004 2 1

XSL-FO XSL Formatting Objects (XSL-FO) on kieli ulkoasun kuvaamiseksi kielen avulla voidaan luoda esimerkiksi tulostettavia dokumentteja kieli sisältää toimintoja myös online-julkaisuun ja tekstin ääneen lukemiseen pohjautuu voimakkaasti Cascading Stylesheets (CSS) versioon 2 lisää ja muokkaa CSS:n määrityksiä Kieli on sangen monimutkainen ei kannata kirjoittaa käsin - ainakaan suuria määriä yleensä XSL-FO-dokumentti syntyy XSLT-tyylisivun avulla on olemassa myös XSL-FO-pohjaisia ohjelmia valitettavan aikaisessa kehitysvaiheessa tosin Tällä luennolla ei käsitellä kaikkia FO:n piirteitä koodiesimerkeissä ei välttämättä ole kaikkea tarpeellista www.hohde.com Hohde Consulting 2004 3 FO-dokumentin rakenne FO-dokumentti koostuu pohjien määrittelyistä sivupohjista (page master) sivujaksopohjista (page sequence master) sivujaksoista (page sequence) Dokumentin kaikki elementit ovat elementin <fo:root> sisällä kaikki FO:n elementit ovat nimiavaruudessa http://www.w3.org/1999/xsl/transform nimiavaruus lyhennetään yleensä fo: <fo:root xmlns:fo="http://www.w3.org/1999/xsl/format">... </fo:root> www.hohde.com Hohde Consulting 2004 4 2

Sivupohja Sivupohja määrittelee dokumentissa käytettävän yksittäisen sivun koon samalla sivupohjaan määritellään käytössä olevat alueet (region) alueita on maksimissaan viisi (ylös, alas, vasen, oikea, keskellä) alueiden sisältö määritellään myöhemmin toisin kuin tekstinkäsittely- ja DTP-ohjelmissa, FO:n sivupohjissa ei määritellä mitään näkyvää sivupohjia voi olla useita ja ne voivat olla erikokoisiakin www.hohde.com Hohde Consulting 2004 5 Sivupohjaesimerkki Sivupohja määritellään seuraavalla elementillä <fo:simple-page-master master-name="body" page-height="29.7cm" page-width="21cm" margin-top="2cm" margin-bottom="2cm" margin-left="2cm" margin-right="2cm"> <fo:region-after extent="2cm" region-name="footer"/> <fo:region-body margin-top="1cm" margin-bottom="1cm"/> </fo:simple-page-master> www.hohde.com Hohde Consulting 2004 6 3

Sivujaksopohja Sivujaksopohja määrittelee käytettävien sivupohjien järjestyksen vähintään yhtä sivupohjaa täytyy käyttää sivupohjien käytölle voidaan asettaa ehtoja ensimmäinen tai viimeinen parillinen tai pariton tyhjä Dokumentti sivutetaan sivujaksopohjan perusteella sivujaksopohjia on useita, alla yksinkertaisin <fo:page-sequence-master master-name="bodyseq"> <fo:single-page-master-reference master-reference="body"/> </fo:page-sequence-master> www.hohde.com Hohde Consulting 2004 7 Sisältö FO-dokumentin sisältö sijoitetaan sivujakson sisään sivujaksossa voi olla useita staattisia lohkoja (static-content) ja yksi vuo (flow) sivujaksoja voi olla useita ja ne voivat käyttää eri sivujaksopohjia staattiset lohkot toistuvat sivusta toiseen samoina ylä- ja alaotsakkeet, sivunumerointi yms. vuo sisältää leipätekstin <fo:page-sequence master-reference="bodysec"> <fo:static-content flow-name="footer">.. </fo:static-content> <fo:flow flow-name="xsl-region-body">... </fo:flow> </fo:page-sequence> www.hohde.com Hohde Consulting 2004 8 4

Sisällön rakenne Sisältö koostuu sisäkkäisistä ja peräkkäisistä lohkoista (block) lohkojen välissä on aina rivinvaihto lohkot eivät voi olla rinnakkaisia ilman erikoisrakenteita taulukot (table) ja listat (list-block) Lohkon attribuuteilla säädellään lohkossa olevan tekstin ulkonäköä, lohkon ympärillä olevaa tyhjää tilaa ja muita vastaavia asioita <fo:block font-family="times" font-size="10pt" line-height="12pt" space-before.optimum="6pt" space-after.optimum="12pt">... </fo:block> www.hohde.com Hohde Consulting 2004 9 Lohkot Lohkon koko määräytyy sisällön perusteella yleensä joko lohkon leveys tai korkeus määräytyy lohkon ympärillä olevista elementeistä toinen mitta syntyy sisällön taittamisella lohkon sisään Lohkojen etäisyyttä toisistaan voidaan säädellä jokainen suunta erikseen tai kaikki yhdessä lohkolle voidaan määrittää samalla myös kehys Lohko voi olla tyhjä aiheuttaa rivinvaihdon www.hohde.com Hohde Consulting 2004 10 5

Rivin sisäiset rakenteet Lohkojen sisällä tekstin tyyliä voidaan muokata rivin sisäisillä rakenteilla korostukset yms. rivin sisäiset rakenteet eivät aiheuta rivinvaihtoa <fo:inline font-weight="bold">...</fo:inline> Edellä mainitun rakenteen lisäksi osa muistakin XSL-FO:n elementeistä on rivin sisäisiä kuvat viivat (leader) Lohko voidaan myös sijoittaa rivin sisälle elementillä <fo:block-container> www.hohde.com Hohde Consulting 2004 11 Attribuuttien perittävyys FO-dokumenteissa lähes kaikki asiat määritellään attribuuteilla attribuuttien nimet ovat selkeitä ja siksi pitkiä yleensä taitetussa materiaalissa sivut ja kappaleet muistuttavat toisiaan FO-dokumentin yksinkertaistamiseksi suurin osa attribuuteista on periytyviä attribuutin arvo siirtyy automaattisesti ulommalta elementiltä sisemmälle ellei sisempi määritä attribuuttia uudestaan kätevä tapa määrittää esimerkiksi koko dokumentissa käytettävä kirjasin suoraan juurielementissä mahdolliset poikkeukset käsitellään erikseen www.hohde.com Hohde Consulting 2004 12 6

Monikielisyys XSL-FO on suunniteltu kansainväliseksi standardiksi merkistö pohjautuu Unicodeen eri kielien aakkosia varten on erilaisia määrityksiä eri kielillä on erilaisia kirjoitussuuntia sekä rivin että sivun tasolla on mahdollista vaihtaa kirjoitussuunta esimerkiksi yhden sanan ajaksi XSL-FO:ssa sivun rakentaminen on eriytetty geometrisista määreistä sen sijaan puhutaan käsitteillä before, after (top, bottom) ja start, end (left, right) vaihdettaessa kirjoitussuuntaa käsitteet vaihtuvat vastaavasti itse XSL-FO-dokumentin rakennetta (tai sitä tuottavaa XSLTtyylisivua) ei tarvitse muokata www.hohde.com Hohde Consulting 2004 13 Muut ominaisuudet XSL-FO tukee aiempien ominaisuuksien lisäksi leijuvia elementtejä (fo:float) alaviitteitä (fo:footnote) dynaamisia efektejä online-julkaisuun ristiinviittauksia väriprofiileja (fo:color-profile) linkkejä (fo:basic-link) ulkoiset ja sisäiset ääniominaisuuksia näkövammaisille www.hohde.com Hohde Consulting 2004 14 7

XSL-FO-dokumentin laadinta Dokumentti laaditaan yleensä XSLT-tyylisivulla tyylisivun rakenteen määrittää alkuperäinen dokumentti alkuperäistä dokumenttia käsitteleviin mallineisiin sisällytetään fokoodi myös määritykset yleensä määritykset liitetään alkuperäisen dokumentin juurielementin mallineeseen vaarana tyylisivun ylenmääräinen monimutkaistuminen Muista, että XSL-FO on pelkästään ulkonäköä kuvaava kieli ei ole suurta väliä kuinka joku asia toteutetaan, kunhan lopputulos näyttää halutulta standardi on laaja, on useita erilaisia tapoja toteuttaa asioita www.hohde.com Hohde Consulting 2004 15 Dokumentin käyttö XSL-FO dokumentti näytetään tai tulostetaan erillisellä XSL-FO-ohjelmalla taittaa dokumentin XSL-FO-dokumentin ohjeiden mukaan sivutus tekstin ladonta kuvien liittäminen lopputulos voidaan muuttaa myös PDF:ksi Suurin osa nykyisistä ohjelmista ei ole graafisia komentorivityökaluja XSL-FO-dokumentin muuttamiseksi PDF:ksi www.hohde.com Hohde Consulting 2004 16 8

XSL-FO:n ongelmat XSL-FO on monimutkainen kieli layout-määrittelyjen kuvaaminen ei ole helppoa visualisointi hyvin vaikeaa standardi on laaja elementtien ja attribuuttien nimet ovat pitkiä XSL-FO:n tuki ei ole täydellistä yhdessäkään ohjelmassa Standardi ei ratkaise kaikkia ongelmia esimerkiksi indeksien numerointiin voi ilmestyä tuplia XSL-FO ei sisällä erityistukea millekään tuotettavalla muodolle PDF:lle olisi syytä olla lisätoimintoja kirjanmerkit Osaan näistä ongelmista on ratkaisut työn alla olevassa XSL-FO 1.1 -suosituksessa www.hohde.com Hohde Consulting 2004 17 SVG 9

SVG Scalable Vector Graphics (SVG) on XML-pohjainen kieli vektorigrafiikan esittämiseen tällä hetkellä käytössä versio 1.1 W3C määrittää versiota 1.2 SVG:sta on olemassa supistetut versiot langattomaan käyttöön SVG:lla pystyy esittämään kaikki oleelliset kaupallisista vektoripiirto-ohjelmista tutut ominaisuudet www.hohde.com Hohde Consulting 2004 19 SVG-dokumentti Dokumentin kaikki elementit ovat elementin <svg:svg> sisällä kaikki SVG:n elementit ovat nimiavaruudessa http://www.w3.org/2000/svg nimiavaruus lyhennetään yleensä svg: <svf:svg xmlns:svg=" http://www.w3.org/2000/svg ">... </svg:svg> Kuvan koko yms. määritellään juurielementissä juurielementin lapsielementit voivat olla suoraan piirtoprimitiivejä piirtoprimitiivien lisäksi dokumentti voi sisältää määrityksiä määrityksiin voidaan viitata myöhemmin dokumentista eräänlainen grafiikkakirjasto www.hohde.com Hohde Consulting 2004 20 10

Grafiikkaoliot SVG tukee kolmen tyyppisiä olioita vektoripohjaiset muodot (vector graphic shapes) koostuvat kaarien ja suorien viivojen muodostamista käyristä perusmuodot ovat nelikulmio (rect), ympyrä (circle), soikio (ellipsi), viiva (line), moniviiva (polyline) ja monikulmio (polygon) bittikuvat (images) teksti Kaikki grafiikkaoliot sijaitsevat kanvaasilla (canvas) Olioiden ulkonäköä säädellään Cascading Stylesheet (CSS) -määrityksillä CSS-koodi voidaan määritellä oliossa tai sen ulkopuolella olioihin voidaan liittää myös monimutkaisempia ulkonäköasetuksia liu'ut (gradient), maskit (mask) asetuksiin viitataan URI:lla, voivat olla dokumentin sisäisiäkin www.hohde.com Hohde Consulting 2004 21 Symbolit Symboli (svg:symbol) on kertaalleen määritelty kokoelma grafiikkaolioita symbolia voidaan käyttää (svg:use) uudestaan ja uudestaan symbolin kokoa ja muita ominaisuuksia voidaan säätää svg:use voi määrittää muunnoksia (transform) symbolin muokkaamiseksi SVG sallii myös viittaamiseen yksittäiseen grafiikkaolioon symbolin tapaan olio määritelty määrittelyosiossa www.hohde.com Hohde Consulting 2004 22 11

Ryhmittely Grafiikkaolioita voidaan sisällyttää ryhmiin osa olioiden asetuksista voidaan määritellä ryhmän tasolla ryhmän olioihin voidaan viitata ryhmän id:lla ryhmät voivat olla sisäkkäisiä Ryhmä piirretään symbolia ei piirretä ennen sen käyttöä ryhmää ei voida käyttää useita kertoja www.hohde.com Hohde Consulting 2004 23 Dynaamisuus SVG mahdollistaa dynaamiset kuvat animaatiot interaktiivisuus SVG-kuvaa voi muokata skriptikielellä (JavaScript) käytetään Document Object Model (DOM) -rajapintaa apuna lisäksi tapahtumakäsittelijät (event handlers) laukaisevat koodisirpaleita tapahtumien pohjalta esimerkiksi hiiren siirto tietyn grafiikkaolion päälle SVG-dokumentissa voi olla ehdollisia osioita osiot näytetään vain, jos SVG-näyttöohjelma kykenee tiettyihin toimintoihin samanlainen testi voidaan tehdä käyttäjän valitseman kielen pohjalta www.hohde.com Hohde Consulting 2004 24 12

SVG:n tuottaminen SVG-dokumentteja ei yleensä kannata laatia käsin hankalaa, hidasta ja virheherkkää Tuottaminen XSLT:lla soveltuu toistuvaan tuottamiseen esimerkiksi erilaiset käyrät XSLT-tyylisivu pitää silti tehdä käsin kannattaa varata aikaa Monet piirto-ohjelmat osaavat tallentaa SVG-muodossa osa osaa myös lukea SVG-tiedostoja esimerkiksi Adobe Illustrator 10, CorelDraw 11 On olemassa erillisiä SVG-pohjaisia piirto-ohjelmia yleensä Open Source -ohjelmia ovat vielä lapsenkengissään www.hohde.com Hohde Consulting 2004 25 SVG:n käyttö SVG-kuvat vaativat tällä hetkellä erillisen näyttöohjelman Adobe ja Corel tarjoavat ohjelmia ilmaiseksi Javaan löytyy SVG-kirjasto Osa uudemmista selaimista sisältää SVG-tuen Mozilla SVG:ta voidaan yleensä käyttää XSL-FO:n sisällä kuvina tuki riippuu XSL-FO-ohjelmasta standardi ei sinänsä ota kantaa SVG-kuva voi olla erillisessä tiedostossa tai XSL-FOdokumentin sisällä www.hohde.com Hohde Consulting 2004 26 13

Yhteenveto XSL Formatting Objects (XSL-FO) on kieli ulkoasun kuvaamiseksi monimutkainen alue, monimutkainen kieli vaatii pitkäjänteisyyttä ohjelmistotuki ei vielä riittävän pitkällä Scalable Vector Graphics (SVG) on kieli vektorigrafiikan esittämiseen www.hohde.com Hohde Consulting 2004 27 Kysymyksiä? Kommentteja? 14