Rakenteiset dokumentit, kevät 2007



Samankaltaiset tiedostot
Rakenteiset dokumentit, kevät 2005

73275 Rakenteiset dokumentit (3 ov) Opettaja: Ossi Nykänen Sähköposti: Huone: TD309, matematiikan laitos / hypermedialaboratorio P

Rakenteisten dokumenttien jatkokurssi, syksy 2006

Johdatus rakenteisiin dokumentteihin

W3C ja Web-teknologiat

3 Verkkosaavutettavuuden tekniset perusteet

XML johdanto, uusimmat standardit ja kehitys

Tutkitaan sitten HTML-dokumenttien anatomiaa, jotta päästään käsiksi rakenteisten dokumenttien käsitteistöön esimerkkien kautta.

Rakenteiset dokumentit, kevät 2006

Semanttinen Web. Ossi Nykänen Tampereen teknillinen yliopisto (TTY), DMI / Hypermedialaboratorio W3C Suomen toimisto

Paikkatiedot ja Web-standardit

Verkkopalveluiden saavutettavuus

Verkkosisällön saavutettavuusohjeet 2.0: hyviä ohjeita monimuotoisen sisällön suunnitteluun ja arviointiin

Vaasan yliopiston toimintaa tukevat informaatiopalvelut ovat käytettävissä WWW:n kautta.

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

W3C ja Web-teknologiat

Est.kand Kandidaatintyö ja seminaari: L A T E Xin käyttöönotto

IT-OSAAJA, TIETOJENKÄSITTELYN ERIKOISTUMISOPINNOT

Laajuus 5 op Luennot: 12 x 2t Harjoitukset: 7 viikkoharjoitusta harjoitusten tekemiseen saatavissa apua 2 ryhmää / harjoitus

W3C: teknologia ja (tieto)yhteiskunta

Saavutettavuus, syksy 2004

W3C ja alueellinen standardointi

W3C-teknologiat ja yhteensopivuus

Rakenteisen oppimateriaalin tuottaminen verkossa esimerkki Rhaptos. Antti Auer Koordinaattori, HT Jyväskylän yliopisto Virtuaaliyliopistohanke

What You See Is What Yout Get (-live with it!)

Rakenteiset dokumentit, kevät 2008

2. PEHMEÄ XHTML XRAJAHTML

Uudelleenkäytön jako kahteen

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

Rakenteiset dokumentit Mitä hyötyä niistä on?

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

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

XPages käyttö ja edut Jarkko Pietikäinen toimitusjohtaja, Netwell Oy

Tähtitieteen käytännön menetelmiä Kevät 2009 Luento 9: L A T E X

Nspire CAS - koulutus Ohjelmiston käytön alkeet Pekka Vienonen

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

Semanttinen Web. Ossi Nykänen. Tampereen teknillinen yliopisto (TTY), Digitaalisen median instituutti (DMI), Hypermedialaboratorio W3C Suomen toimisto

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

T harjoitustyö, kevät 2012

Ctl160 Tekstikorpusten tietojenkäsittely p.1/15

W3C ja Web-teknologiat

ETAPPI ry JOOMLA 2.5 Mediapaja. Artikkeleiden hallinta ja julkaisu

C-ohjelmoinnin peruskurssi. Pasi Sarolahti

Verkkosivut perinteisesti. Tanja Välisalo

ATK yrittäjän työvälineenä

VERKKOSOVELLUSTEN OHJELMOINTI, JOHDATUS PHP:HEN

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

Ei raportteja roskiin

Alkuraportti. LAPPEENRANNAN TEKNILLINEN YLIOPISTO TIETOJENKÄSITTELYN LAITOS Ti Kandidaatintyö ja seminaari

Tähtitieteen käytännön menetelmiä Kevät 2009

YHDISTYKSEN VIESTINTÄ

VisualStudio Pikaopas, osa 1: WEB sivujen suunnittelu

StanForD-XML. Juha-Antti Sorsa, Tapio Räsänen, Vesa Imponen

W3C & verkkojulkaisun standardit

Kurssin aloitus. AS XML-kuvauskielten perusteet Janne Kalliola

Lukemisen ja kirjoittamisen kompensoivat apuvälineet. Marja-Sisko Paloneva lukiapuvälineasiantuntija Datero

Esimerkkinä - ilmainen blogi-julkaisujärjestelmä. WordPress:stä on myös palvelimelle asennettava versio (WordPress.

Menetelmäraportti - Konfiguraationhallinta

Tekstinkäsittelyharjoitus

MS-C2128 Ennustaminen ja Aikasarja-analyysi, 5 op Esittely

OHJ-5201 Web-palveluiden toteutustekniikat. Kurssisisällöstä. Tarja Systä

OHJEET WORDPRESS-BLOGIN LUOMISEEN JA TAVALLISIMPIIN BLOGITOIMINTOIHIN

Sangen lyhyt L A T E X-johdatus

Muutoksen hallinta rakenteisen projektissa. Kari Kovanen Development manager Etteplan Technical Information

pikaperusteet 3.3. versio

Tieto- ja viestintätekniikka. Internetistä toimiva työväline, 1 ov (YV10TV2) (HUOM! Ei datanomeille)

ELEC-C1210 Automaatio 1 ELEC-C1220 Automaatio 2. Kurssien esittely lukukausi

Markkinoitten mallintaminen ja Internet-markkinat

VisualStudio Pikaopas, osa 1: WEB-sivujen suunnittelu

E-kirjan kirjoittaminen

kevät Rakenteiset dokumentit (3 ov) Luentokalvot Ossi Nykänen Rakenteiset dokumentit (3 ov)

lineitä oppimisen tueksi

Sangen lyhyt L A T E X-johdatus

Julkaiseminen verkossa

4. Lausekielinen ohjelmointi 4.1

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

Ohjelmistotekniikan menetelmät, Ohjelmistotuotannon työkaluista

TK Tietojenkäsittelyn seminaari 4 op Kevät Tietojenkäsittelyn seminaari

Purot.net Wiki. Tutkielma. Paavo Räisänen. Centria Ammattikorkeakoulu

ELM GROUP 04. Teemu Laakso Henrik Talarmo

Tervetuloa opiskelemaan DIGITAALI- TEKNIIKKAA! Digitaalitekniikan matematiikka Luku 0 Sivu 1 (9)

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

Interfacing Product Data Management System

Paikkatietorajapinnat IT arkkitehtuurin näkökulmasta

opiskelijan ohje - kirjautuminen

Julkaiseminen verkossa, esitysgrafiikkaa (laitteistosta, tietotekniikka ja tulevaisuus) H9T1: Tiedostojen vienti internetiin

Tieteellisen kirjoittamisen kurssi, kevät Teemu Kerola. Referaatti. Valitse tutkielman aihepiiriin sopiva artikkeli

JULKAISUTOIMINTA METROPOLIASSA. Liisa Salo

14. Hyvä ohjelmointitapa 14.1

Pedacode Pikaopas. Java-kehitysympäristön pystyttäminen

Digitaalisen median tekniikat. Esteettömyys ja käytettävyys

T harjoitustehtävät, syksy 2011

Alkuraportti. LAPPEENRANNAN TEKNILLINEN YLIOPISTO TIETOJENKÄSITTELYN LAITOS CT10A Kandidaatintyö ja seminaari

CQRS, -ES, PACS, DICOM, WTF?

Aloita oman blogisi luominen (järjestelmä lupaa sen tapahtuvan sekunneissa ;-))

Ohje tutkielman tekemiseen

SAS-ohjelmiston perusteet 2010

IIO10200 Tietokantaohjelmointi (4 op)

Dokumenttien tietosisällön hallinta

Kurssin hallinta -työväline

Transkriptio:

Rakenteiset dokumentit, kevät 2007 MATHM-47150 Rakenteiset dokumentit, 6 op, kevään 4-5 periodeilla Kotisivu: http://matriisi.ee.tut.fi/hmopetus/rd/index.html Suoritustapa: Luennot, harjoitukset ja tentti. Porkkanapisteitä jaossa. Opettaja: Ossi Nykänen, TD303, vastaanotto to 13-14 <ossi.nykanen@tut.fi> 1

1 Johdanto Rakenteinen dokumentaatio lähtee liikkeelle siitä kuningasajatuksesta että tietoa (dataa) mallintava tietorakenne ja sen esitystapa tulee teknisesti erottaa toisistaan sovelluksissa. Motivaatio on tietojenkäsittelyn tehostaminen, usein vaiheistaminen ja tehtävien automatisointi (so. ohjelmallinen käsittely ilman ihmisen käsityötä). Työ nojautuu tietoteknisten välineiden käyttöön. Keskeistä on kyky mallintaa tehtäviä ja tietorakenteita "oikein", eli tarpeet, reunaehdot ja välineiden mahdollisuudet huomioiden. Dokumenttien sijaan tietoa voidaan mallintaa myös datalähtöisesti. Pääpaino on tietenkin sovelluksissa, ei tekniikassa. Laajemmin tarkasteltuna rakenteisen dokumentaation idea tähtää tietojenkäsittelyn prosessien haltuunottoon (käsittelyprosessien abstrahoinnin kautta). Huomattava osa rakenteisten dokumenttien sovelluksista perustuu nykyään erilaisiin XML-tekniikoihin. Laajennettavuutensa ansiosta XML tarjoaa yhteensopivat puitteet mitä moninaisempiin sovelluksiin. 2

1.1 Välisoitto ATK tähtää tehtävien automatisointiin Tämä onnistuu vain kuvaamalla tieto ja tehtävät siten että niiden mekanisointi on mahdollista Vaatimuksena on usein myös työtapojen muutos:...käsityön siirtäminen tietokoneisiin helpottaa esim. kopiointia muttei välttämättä paranna tiedon hallittavuutta Motto: on helppo kritisoida, hankalampaa on "tehdä oikein" 3

1.2 Opintojakson sisältö (1/2) Tällä opintojaksolla "Rakenteiset dokumentit" puhutaan mm. seuraavista asioista: - Tiedon mallinnus sen käsittelyn näkökulmasta - Tieto vs. tietorakenne vs. esitystapa (~rakdok) - Dokumenttistandardit ((X)HTML (vain aasinsilta!)) - XML-dokumentit ja niiden käsittely, dokumentin tyyppi - "XML" vs. XML-standardiperhe - XSL-muunnokset - Sovelluksia ja esimerkkejä, erityiskysymyksiä Huom. Kyse ei ole "HTML-kurssista"; HTML-kieltä käytetään aasinsiltana koska se "oletetaan tunnetuksi", kielellä on selkeä rooli RD-historiassa ja se on tärkeä RDsovellus 4

1.3 Opintojakson sisältö (2/2) Kurssilla ei juurikaan (suoraan) puhuta seuraavista: - käyttäjäkeskeisestä suunnittelusta (koska sen pitäisi olla kaiken suunnittelun perusoletus ilman eri mainintaa) - sovellusalueen X erityiskysymyksistä tai yksittäisistä ohjelmistoista (...vaan menetelmistä yleensä) - menetelmien erityiskysymyksistä (...vaan ideoista suodatettuna stdtekniikoihin) - (kovin paljoa) uusien dokumenttiprosessorien toteuttamisesta (...vaan nykyisten soveltamisesta) Opintojakso on perinteinen yo-kurssi - teorialuennot, sovellusluennot, vierailuluennot(?), harjoitukset, lopputentti 5

1.4 Opintojakson suoritustapa Arvosanan määrää lopputentti (4 * 6 pts = 24 pts). Hyvää kurssiarvosanaa voi varmistella keräämällä porkkanapisteitä kurssin aikana. Arvosanataulukko on seuraava: arvosana 0 pistemäärä 0-10 1 2 3 4 5 11-13 14-16 17-19 20-21 22-24 Mikäli porkkanapisteitä on kertynyt edullisesti, huonoimman tenttitehtävän pistesaalis korvataan maksimissaan kuudella porkkanapisteellä. Läpäisyn edellytyksenä on kuitenkin hyväksytty suoritus ilman porkkanapisteitä. Porkkanapisteitä saa tekemällä erikseen merkittyjä harjoitustehtäviä ja osallistumalla aktiivisesti vierailuluennoille. Porkkanapisteiden jakoperuste on opiskelijan oma aktiivisuus ja asioiden opiskelu silloin kun niitä opetetaan. Huom. Porkkanapisteiden lähtökohta on läsnäolo: suorituksia ei saa delegoida toisen merkittäväksi, eikä lähettää sähköpostitse tms. 6

1.5 Johdattelevia esimerkkejä rakenteisista dokumenteista (maalaus, näytelmäesitys, eväsretki) piirros, kauppalappu luentomuistiinpano luentopruju artikkeli, runo, näytelmä kirja, kalenteri kuva, audioesitys, animaatio tietokoneohjelman talletustiedosto tekstinkäsittelyohjelman tuottama dokumentti viesti tietokoneohjelmien välillä Hyviä huomioita - tarpeet? käytössä olevat välineet? eri toimijat? ymmärtääkö käsittelijä? tuotannon tehokkuus? käsittelyn tehokkuus? käsittely osissa? - standardit ja siirrettävyys? tiedon uudelleenkäyttö? versiointi ja virkistäminen? lisensointi? sitoutuminen yhteen toimittajaan?... 7

1.6 Dokumenttituotannon roolijaosta Wanhaan hyvään aikaan tekstin prosessointi sujui kutakuinkin seuraavasti: - kirjoittaja kirjoitti käsikirjoituksen (kirjoituskoneella) ja lähetti sen kustantajalle - käsikirjoituksen hyväksymisen, oikolukemisen, editoimisen, yms. jälkeen kustantajan taittaja suunnitteli tuotettavan teoksen ulkoasun (sommittelu, taitto (layout)) kirjoittamalla käsin (merkkaamalla) ulkoasun ohjeet käsikirjoituksen marginaaliin (palstat, kirjasimet, fonttikoot, tekstin välistys, ) - seuraavaksi latoja latoi käsikirjoituksen annettujen ohjeiden perusteella, tuloksena konkreettinen ohje esim. kirjan painamiseksi (+kannet) - lopuksi tuotos julkaistiin käyttäen erilaisia markkinointi- ja jakelukanavia Erityyppisillä töillä siis eri vaiheet ja eri tekijät - tosin ammattikirjoittajat siirtyivät hiljalleen käyttämään suoraan myös erilaisia formatointikieliä 8

1.7 What You See Is What Yout Get (-live with it!) Nykyiset tekstinkäsittely- ja julkaisuohjelmat (ns. desktop publishing) tarjoavat näennäisen helpon tavan tehdä kaiken itse yhdeltä istumalta 80-luvulta alkanut WYSIWYG-buumi, hyvää: - kehittyneet ohjelmat helppokäyttöisiä ja intuitiivisia (työpöytämetaforat) - mahdollisuus lopputuloksen näkemiseen jo kirjoitusvaiheessa, joten esimerkiksi pienimuotoinen julkaisutoiminta on mahdollista helposti - mukana monipuolisia formatointi ja taittoominaisuuksia, Internetin myötä myös jakelu Ongelma: työstä tulee helposti käsityötä (suuret dokumentit!) - dokumenttien suunnittelu jää helposti puolitiehen (=tehdään huonosti) - rakenne (rämettyminen) ja kirjoittajan rooli epäselvä (ohjeistus!) Ratkaisuja: hyvä suunnittelu(!), tyylit, etsi/korvaa-toiminnot, mallit, 9

1.8 Dinosaurus, joka elää & voi hyvin: LaTeX Kaikki eivät kuitenkaan kirjoita tuotoksiaan XX Wordillä - erityisesti korkeakoulumaailmassa huomattava osa akateemisista kirjoittajista vannoo LaTeXin nimeen TeX on (alunperin) tekstin ja matemaattisten kaavojen ladontaan tarkoitettu pitkän linjan tietokoneohjelma, jonka ensimmäinen versio julkaistiin 1982 (D. Knuth). Nykyään useille eri käyttöjärjestelmille LaTeX on TeXin varaan rakentuva makropakkaus avulla kirjoittajat voivat latoa ja tulostaa dokumentteja ammattimaisen taittomallin mukaisesti Työskentely LaTeXilla tapahtuu periaatteessa ohjelmankehitystyöstä tuttujen pelisääntöjen mukaisesti - kirjoittaja kirjoittaa lähdekoodit tekstimuodossa (ns. käsikirjoitustiedostot) tekstinkäsittelyohjelmalla.tex-tiedostoiksi - lähdekoodi käännetään (tyypillisesti komentorivipohjaisella) latexohjelmalla graafiseen muotoon.dvi-tiedostoiksi, joka voidaan edelleen muuntaa tulostettavaan muotoon (tai lähdekoodia voi korjata) 10

1.9 LaTeX-esimerkki Tyypillinen TeX-tiedosto näyttää seuraavalta: \documentclass[a4paper]{article} \begin{document} \title{latex-example} \author{ossi Nyk\"{a}nen} \maketitle \abstract{this article demonstrates LaTeX basics. Read some introductionary book for details.} \tableofcontents \section{introduction} \LaTeX{} really is something, especially if you want to input equations in your text\footnote{assuming you know \LaTeX codes, that is.}. Here's an example: \begin{equation}\label{pred} \forall x \in X: P(x). \end{equation} 11

If you wan't to know what \ref{pred} means, please consult your elementary logic book. \section{functional Descriptions} Function is a map $t:x \to Y$. The family of XML specifications defines many languages that allow defining functions, e.g., the Extensible Stylesheet Transformation Language \cite{xslt}. \begin{thebibliography}{longtitle} \bibitem{xslt} "XSL Transformations (XSLT) Version 1.0", J. Clark, editor, 16 November 1999. Available at http://www.w3.org/tr/xslt \end{thebibliography} \end{document} 12

1.10 Huomioita Erikoismerkit, käskyt, kommentit sekä tiedoston rakenne Jos kaikki tarvittava on työkoneella valmiiksi asennettuna, kääntäminen Unixissa tai Linuxissa sujuu helposti komennolla latex koe.tex Dokumentin katselu ja ps-tiedoston tuottaminen tulostamista varten on yhtä helppoa: xdvi koe.dvi & dvips -o koe.ps koe.dvi Tuloksena on ammattimaisen ulkoasun omaava sivupahanen, jossa ilmaiseksi saatiin varsin paljon dokumentin rakenne LaTeX-komennoilla merkkaamalla: - palstoitus ja marginaalit (alaviittaus) - eri tyylit tekstin eri osille (otsikko, tiivistelmä, vakiokentät, ) - otsikoiden numerointi, kaavan numerointi & viittaukset, jne. 13

1.11 Olennaista: keskittyminen sisältöön! Juuri tämä on LaTeXin idea: systeemi tarjoaa ammattimaisen rakenteen ja ulkoasun, kirjoittajan keskittyessä olennaiseen, eli sisällön tuottamiseen LaTeX-systeemissä "LaTeX taittaa" ja "TeX toimii latojana" Käytännössä tämä tarkoittaa sitä, että kirjoittaja muotoilee tekstinsä ja sen rakenteen LaTeXin käskyjen avulla halutuksi, josta esitysversio sitten "käännetään" LaTeX pyrkii tekemään teksteistä paitsi hyvän näköisiä, ennen kaikkea luettavia (sisäänrakennettu typografinen malli & johdonmukainen rakenne) LaTeXista on eri versioita (mutta kyse on aina "painetuksi tarkoitettavien julkaisujen" tekemisestä...entäpä jos halutaan tehdä muuta rakenteellista) WYSIWYG-käyttäjille LaTeX on aluksi "oma maailmansa" -- ideaan joko mieltyy tai sitten ei (nyrkkisääntö: jos kirjoittaa vähän eikä tarvitse esim. kaavoja, Latex tuntuu aluksi "työläältä"). 14

1.12 WWW & HTML Internetin suosion myötä tietoverkkojen arvo arkipäiväisen informaation levittelyssä huomattiin. Kirjoittaminen ei vain saisi olla kohtuuttoman vaikeaa World Wide Webin lanseeraama HTML esitteli 90-luvun alussa suurelle yleisölle yksinkertaisen mutta rakenteellisen merkintäkielen - idea: teksti + yksinkertainen merkkaus - nopea oppia perusideat leviävät ja HTML otetaan todella nopeasti laajamittaiseen käyttöön Ongelmia: - helppous johtaa löysyyteen, merkkaus sekaisin rakenne- ja ulkoasumäärityksiä ja selaimet sallivat #%&"-koodit mukisematta - ulkoasullisesta rajoittuneisuudesta johtuen kuvaileva merkkaus ei saa suosiota, vaan koodeja aletaan käyttää myös formatointiin Tulos: HTML lipsuu kohti formatointikieltä: WWW-WYSIWYG. Ei hyvä Oppiminen tapahtuu kantapään kautta: takaisin sorvin ääreen...xhtml 15

1.13 XHTML-esimerkki Tyypillinen XHTML-tiedosto näyttää seuraavalta: <?xml version="1.0" encoding="iso-8859-1"?> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/tr/xhtml11/dtd/xhtml11.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head><title>html-esimerkki</title></head> <body><!-- Tästä se alkaa... --> <h1>johdanto</h1> <p>valitse HTML kun haluat liittää kuvia ja linkkejä <em>websivulle</em> (ja tunnet HTML-merkkauksen perusteet). Esimerkki:</p> <p><img src="kuva.gif" alt="kuva"/> <a href="http://matriisi.ee.tut.fi/hmopetus/">hm ammattiaineen kotisivut</a></p> <p>jos et ymmärrä tämän dokumentin merkitystä, käy läpi HTMLkielen perusteet.</p> </body> </html> Huomaa: elementit, erikoismerkit, kommentit sekä dokumentin tyyppi 16

1.14 Mikä (X)HTML:ssä sitten on vikana? Ei niin paljoa kuin kuulee toisinaan väitettävän -- pulmat syntyvät vääristä olettamuksista Esimerkki: Halutaan julkaista laaja ohjekirja verkossa - HTML määrittelee vain rajapinnan joka mahdollistaa Websivujen kuvailun niin, että selaimet osaavat esittää niitä käyttäjille (usein käyttöliittymäkomponentteihin sulautuneena; esim. sisällysluettelo, murupolku, jne.) - käsikirjoitusta ei ole järkevä ylläpitää HTML-muodossa -...vaan sellaisessa muodossa... - jossa tekstin jäsentäminen, ylläpito ja tulostaminen on helppoa - johon voidaan esim. merkitä tieto asiasanoista ja lähdeviittauksista järkevästi, erottaa esipuhe yhteenvedosta jne. Ratkaisuja: DocBook? Oma dokumenttityyppi? Tietokantaesitys?... 17

1.15 Mikä WYSIWYG:issä sitten on vikana? Ei niin paljoa kuin kuulee toisinaan väitettävän -- pulmat syntyvät vääristä olettamuksista Esimerkki: Halutaan kirjoittaa laaja ohjekirja - WYSIWYG-kirjoittaminen tarjoaa helpon ja intuitiivisen tavan editoida yksittäisiä dokumentteja -...mutta on riski piilee siinä, että esim. julkaisussa tarvittavat rakennetiedot (kappaleet, asiasanat, viittaukset) merkitään epämääräisesti tai teknisesti heikosti saatavissa olevassa muodossa -...tai ei ymmärretä koko asiaa - jos tavoitteena on käsikirjoituksen julkaiseminen eri formaateissa, ei myöskään pelkkään printtijulkaisuun tarkoitettu WYSIWYG riitä (!) Ratkaisuja: suunnittelu ja ohjeistus(!), tehtävään soveltuvan WYSIWYGeditorin valinta, turhien kirjoittamisen vapauksien rajoittaminen ja testaus 18

1.16 Paluu juurille? Rakenteisten dokumenttien perusajatuksena on kohdistaa dokumenttien suunnittelun huomio oikeisiin kohtiin: - dokumenttien rakenteen suunnittelu asiasisällön (lue: käsittelyn) näkökulmasta, ei ulkoasun - tiedon ja sen käsittelyn paloittelu ja komponenttiajattelu (dokumenttien peruspalasia ovat elementit, käsittely koostuu vaiheista) - dokumenttien ulkoasun ei ole pakko suoraan vastata niiden sisällöllistä rakennetta ja päinvastoin! Kyseessä ei ole uusi asia! - rakenteisten dokumenttien moderni esiinmarssi alkoi käytännössä SGML-standardin (ISO 8879:1986) valmistuttua 1986 - SGML:n kehitystyö alkoi jo 1980, pohjana IBM:n GML (Generalized Markup Language) vuodelta 1969! (Goldfarb, Mosher, Lorris) SGML osoittautui kuitenkin varsin raskaaksi isojen poikien standardiksi (esimerkiksi IBM, USA:n Puolustusministeriö) - suppea käyttö ei suosittua 19

1.17 Kerran vielä (pojat tytöt)! SGML:n idea on hyvä, mutta iso spesifikaatio (~500 sivua) W3C:n SGML wg: XML 1.0 vuonna 1998 (~30 sivua) - XML on SGML:n sovellusprofiili - sovelluksissa tarvitaan muitakin standardeja sekä välineitä ja sovellusosaamista Yleisöystävälliset tavoitteet - yhteensopivuus SGML:n kanssa ja sen hyvät puolet, dokumenttien sekä niitä prosessoivien ohjelmien suunnittelun ja lukemisen "helppous" - spesifikaatiossa vähän valinnaisia piirteitä ja soveltaminen täsmällistä - XML-dokumenttien käyttö (Internetissä) "yksinkertaista" (...ohjelmointi) Pulmia - jos valmista sovellusta ei löydy on edessä suunnittelua, opiskelu(!), kirjoittajan roolin muutos(!), "byrokraattisuus/ teknisyys", editorit(!),... XML-standardiperheen ydin tällä hetkellä valmis ja XML:ää tukevien sovellusten kriittinen massa on ylitetty (soveltajia, työkaluja, dataa) 20

1.18 Standardiesimerkki rakenteisesta dokumentista looginen rakenne fyysinen rakenne <doc><title> XML 5 vuotta </title> <body> Paljon onnea XML! </body></doc> 10011000 10011000 Sovellus / prosessointi www w3c tut <?xml version= 1.0?> <xsl:stylesheet XML 5 Paljon onnea XML! www.w3c.tut.f esitys / näkymä (joskus (kohdedokumentti") rakenteinen (lähde-) dokumentti tyyli (esim. formatointi) kuva (mediaobjekti) 21

1.19 Käytännöllisiä haasteita Rakenteisen dokumentaation menetelmien ideat ja hyödyt ovat "tekniikan ammattilaisille" kohtuullisen opiskelun jälkeen melko selviä, esim. dokumentaation, tiedonhallinnan ja ohjelmistojenvälisen kommunikoinnin sovelluksissa Laajamittaisten ja avointen sovellusten toteuttaminen sen sijaan on suuri haaste koska "nopsaan koodaavat loppukäyttäjät" eivät aina ymmärrä tekniikoita - vrt. HTML-syntaksin ja wiki-syntaksin historiallinen kehitys ja "vanhojen virheiden toistuminen" Suuntaa-antavia lukuja (vuonna 2007): - legacy: 95% Web-sisällöstä on yhä toteutettu HTML 3/4 -tekniikoin (!) - markkinat: esim. selainvalmistajat eivät ole toistaiseksi kovin aktiivisesti osallistuneet esim. XHTML-kielen kehitykseen/käyttöönottoon (!) - trendi: jokaista mikrotietokonetta kohti on kymmenen mobiilipäätettä (!) 22

1.20 Huomioita RD-opiskelusta Aluksi tekniikka vie päähuomion, tietojen ja taitojen karttuessa työ kohdistuu tietoa tuottavien ja hallitsevien prosessien suunnitteluun ja ohjaamiseen Kyse on todellakin enemmänkin juuri suunnittelusta ja prosesseista kuin tekniikoista! - tekniikka X(ML) ei sinänsä ratkaise pulmia vaan tarjoaa välineitä (ja menetelmiä) niiden ratkaisuun (sekä esimerkkejä...) - WYSIWYG ja siihen liittyvät työkalut eivät ole "pahoja" ne sopivat tiettyihin tehtäviin erittäin hyvin (myös esim. MS Wordille on saatavilla hyviä artikkelipohjia yms.) -...itse asiassa ideaalitapauksessa esim. (rakenteinen) sisällöntuotanto piilotetaan WYSWIWYG-tyyppisten työkalujen alle (kun ko. käyttäjäryhmän ei tarvitse ymmärtää koko prosessia) - asiat voi yleensä tehdä useilla eri tavoilla, myös eri tekniikoita käyttäen 23