Yleistä. Dokumentin mallintaminen. Dokumentin analysointi. Desktop publishing vs. XML. Tietokantakaavion analysointi. Dokumentin osien analysointi

Samankaltaiset tiedostot
XML johdatus: DTD. Jaana Holvikivi

XML kielioppi. Elementtien ja attribuuttien määrittely. Ctl230: Luentokalvot Miro Lehtonen

XML / DTD / FOP -opas Internal

WORD TYYLILLÄ. Tietohallintokeskus Miksi tyylit? Tyylien lisääminen: joko jälkikäteen tai etukäteen

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

XML-saatavuuskysely. XML-tiedoston kuvaus. versio

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

XML-merkkaus. Merkkidata, prosessointikomennot, kommentit

M. Merikanto 2012 XML. Merkkauskieli, osa 2

Poikkeusinfo XML-rajapinnan kuvaus, rajapinnan versio 2 Seasam Group

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

HELIA 1 (17) Outi Virkki Tiedonhallinta

Talotietojen päivittäminen

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

3 Verkkosaavutettavuuden tekniset perusteet

3. Käsiteanalyysi ja käsitekaavio

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

RADAR - RANDOM DATA GENERATOR

P e d a c o d e ohjelmointikoulutus verkossa

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

Päänäkymä Opiskelijan ohjeet Kurssin suorittaminen Opettajan ohjeet kurssin teko

käyttötapaukset mod. testaus

TEKSTINKÄSITTELY Aloitusharjoitus

Interaktiivisten järjestelmien arkkitehtuuriratkaisu, jolla käyttöliittymä erotetaan sovelluslogiikasta.

CSE-A1200 Tietokannat

WORD TYYLILLÄ (4 h) Tietohallintokeskus Miksi tyylit? Tyylien lisääminen: joko jälkikäteen tai etukäteen

Sivuston tiedotqbsupportcustom erservice.com

KÄYTTÖOHJE / Ver 1.0 / Huhtikuu WordPress KÄYTTÖOHJE Sotkamo 2016

Aktivoi dokumentin rakenteen tarkistamiseksi piilomerkkien näyttäminen valitsemalla valintanauhasta Kappale-kohdasta painike Näytä kaikki.

Talotietojen päivittäminen

Harjoitus 5. Esimerkki ohjelman toiminnasta: Lausekielinen ohjelmointi I Kesä 2018 Avoin yliopisto 1 / 5

Lomakkeiden suunnittelu. Aiheina

SELECT-lauseen perusmuoto

Lomakkeiden suunnittelu. Aiheina

virkailija.opintopolku.fi

Tietueet. Tietueiden määrittely

2. PEHMEÄ XHTML XRAJAHTML

ITKP102 Ohjelmointi 1 (6 op)

SQL-perusteet, SELECT-, INSERT-, CREATE-lauseet

6.1 Tekstialueiden valinta eli maalaaminen (tulee tehdä ennen jokaista muokkausta ym.)

Työvälineohjelmistot KSAO Liiketalous 1

Tietokanta projektin alussa: create table kurssin_tila ( NOT NULL VARCHAR2(60) create table kurssin_tyyppi ( create table opintojakson_tyyppi (

6 DTD ja dokumentin tyyppimääritys

Yhdiste, leikkaus, erotus ym.

ITKP102 Ohjelmointi 1 (6 op)

Ohjelmistotekniikan menetelmät, kesä 2008

031010P MATEMATIIKAN PERUSKURSSI I 5,0 op

Väitöskirja -mallipohja

ehops Henkilökohtainen opintosuunnitelma

YKSIKÖT Tarkista, että sinulla on valittuna SI-järjestelmä. Math/Units Ohjelma tulostaa/käyttää laskennassaan valittua järjestelmää.

Verkkojulkaiseminen Minna Väisänen. HTML5-tehtävä

Sivuston tiedotqbooksupportpho nenumber.com

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

Lomakkeiden suunnittelu. Aiheina

XML rakenteen suunnittelu. Jaana Holvikivi

W3C-teknologiat ja yhteensopivuus

TIEDONHALLINTA - SYKSY Luento 7. Pasi Ranne /10/17 Helsinki Metropolia University of Applied Sciences

Johdatus rakenteisiin dokumentteihin

Monikielinen verkkokauppa

HAAGA-HELIA ammattikorkeakoulu Ohje 1 (5) Raportin tekeminen

14. Hyvä ohjelmointitapa 14.1

Harjoitus 5 (viikko 41)

TYYLIT. Word Tyylit

Ohjelmistojen mallintaminen, kesä 2009

Luento 7: XML-ohjelmointirajapinnat

Kehitysohje. ETL-työkalu. ExtraTerrestriaLs / Aureolis Oy

Tentissä ratkaistaan neljä ohjelmointitehtävää Javalla. Tehdään sähköisesti mikroluokan Windows-koneilla.

Helsingin yliopisto Tietojenkäsittelytieteen laitos XML-metakieli (2011) Harri Laine 1. Jäsennys ja sarjallistaminen

virkailija.opintopolku.fi

Mittaustietojen SAF-aineistokuvaus kaasudatahubiin

Basware toimittajaportaali

Ylioppilaskokeisiin ilmoittautuminen

Tentti erilaiset kysymystyypit

13. Hyvä ohjelmointitapa (osa 1) 13.1

Väitöskirja -mallipohja

Discendum Oy

YLÄ JA ALATUNNISTE...

Kurssin aloitus. AS XML-kuvauskielten perusteet Janne Kalliola

XML Technologies and Applications - harjoitustyö -

Opinnäytteen nimi ja mahdollinen alaotsikko (tämä pohja toimii parhaiten Word2010-versiolla)

Harjoitus 5 (viikko 41)

031075P MATEMATIIKAN PERUSKURSSI II 5,0 op

Testidatan generointi

6 DTD ja dokumentin tyyppimääritys

Sivuston tiedotmysiteworthcheck.com

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

Interaktiivisten järjestelmien arkkitehtuuriratkaisu, jolla käyttöliittymä erotetaan sovelluslogiikasta.

Rakenteiset tietotyypit Moniulotteiset taulukot

POLKU LUOKKAKAAVIOISTA TAULUJEN TOTEUTUKSEEN

Syksyn 2018 ylioppilaskokeet

Sivuston tiedotreviewproducts.org

ividays BLOG Design Elina / Tomi / Timo / Otso /

031075P MATEMATIIKAN PERUSKURSSI II 5,0 op

Ohjelmoinnin jatkokurssi, kurssikoe

OHJ-7400 Graafisen käyttöliittymän ohjelmointi, Harjoitustyö

3. Muuttujat ja operaatiot 3.1

Ohjelmistojen suunnittelu

PROJEKTISIVUJEN PAÄ IVITTAÄ MISEN OHJEET

MOODLE-KURSSIN LAATIMINEN /OPETTAJAN OHJEET

UML- mallinnus: Tilakaavio

Transkriptio:

Dokumentin mallintaminen Yleistä Dokumentin analysointi DTD:n suunnittelu Standardi DTD:t Esimerkki: uuden DTD:n laatiminen Muuta Yleistä DTD:t tärkeitä rakenne validointi DTD:n muutokset voivat johtaa ongelmiin hyvä suunnittelu tärkeä vaatii usein useamman asiantuntijan yhteistyötä testaus Dokumentin analysointi Usein XML järjestelmä vanhan järjestelmän tilalle siirryttäessä XML:ään joka voidaan käyttää standardi DTD mahdolliset muutokset luoda uusi DTD tukea esim. yrityksen dokumenttimalleista Desktop publishing vs. XML Desktop publishing taiteellinen vapaus erityisesti ulkoasu XML kaikki proseduraaliset piirteet eivät mahdollisia takaa sen että XML dokumentit seuraavat samanlaista rakennetta julkaisemisen tehokkuus, monelle medialle (edustavista) esimerkkidokumenteista sekä niiden tekijöiltä Dokumentin osien analysointi Dokumentin piirteestä, selvitä jos sillä on nimi jos se voi puuttua jos se esiintyy kerran/useamman kerran mikä informaatio edeltää ja seuraa sitä (aina) jos sitä voidaan jakaa osiin (joista voidaan selvittää nämä samat kysymykset) jos se sisältää vakiotekstiä (jota voitaisiin generoida automaattisesti) Tietokantakaavion analysointi XML dokumentti (tai sen osa) ehkä generoidaan suoraan tietokannasta Silloin voi DTD:n kirjoittamisessa käyttää hyväksi mm. mahdolliset tietokantakaaviot SQL, UML tai ER kaaviot: yhdestä yhteen relaatiot: chapter (title,...) yhdestä moneen relaatiot: chapter (para+), chapter (para*) eivät kerro osien järjestystä DTD:n käyttö tulevaisuudessa Suunnittelijan pitäisi pystyä ennakoimaan miten DTD:tä tullaan käyttämään jatkossa rakenteisuus <name>matti Meikäläinen</name> vs. <name><fs>matti</fs><ln>meikäläinen</ln> </name> linkkausstrategia yksikäsitteiset tunnisteet DTD:n suunnittelu standardi DTD vai uusi? mitkä nimet pitäisi käyttää? elementti vs. attribuutti, kumpi valitaan? sääntöjen järjestys? kommentit? modulaarisuus? säännöt? nykyversiossa piilotetut linkit

Nimeäminen Johdonmukainen tyyli Huom! Isot vs. pienet kirjaimet käytä vain pieniä kirjaimia <newname> tai vain isoja kirjaimia <NEWNAME> tai johdonmukaista sekoitusta <NewName> tai muuta <new_name> Itsekuvaava vs. lyhyt nimi vaatii enemmän tai vähemmän tilaa Elementti Elementti tai attribuutti rakenteisuus: jos on alirakenteita (alielementtejä) järjestys: jos tietty järjestys pakollinen sisältö: sisältö on oleellinen osa ympäröivää elementtiä poista ja lue sisältö: onko kokonaisuus järkevä jos näkyy tulostuksessa mutta sisältöä ei voi rajoittaa tasapaino pituuden ja selkeyden suhteen Elementti tai attribuutti, jatk. Attribuutti rakenteisuus: jos ei ole alirakenteita (tai ta) järjestys: järjestyksellä ei ole väliä sisältöä kuvaava: jos kuvaa elementin sisältöä ("adjektiivi") jos mahdollisia arvoja on vähän (lueteltu tyyppi) voidaan rajoittaa ja tarkistaa oletusarvot jos on hallinnollista tieto joka ei näy tulostuksessa Elementti tai attribuutti, jatk. joskus on huomioitava myös sovellus elementtien vs. attribuuttien käsittely voi olla hankalaa antaa attribuuttien arvoja keskeneräisissä prosessoreissa attribuuttien käsittely saattaa olla puutteellinen käyttäjän tottumukset ja taidot tietokantasuunnittelija vs. graafinen suunnittelija vs. olio ohjelmoija kokonaisuus yhtenäinen ks. http://www.cs.helsinki.fi/u/ruini/structure/xml/ ja http://www.oasis open.org/cover/elementsandattrs.html Standardi DTD:t "Standardoitu", sopimus, de facto tai de jure? Edut tiedon jakaminen Haitat harvemmin kahdella organisaatiolla on täysin samat tarpeet > omat sovitukset voi sisältää liian vähän tai paljon elementtejä liian monimutkainen, liian joustava? Standardi DTD vai oma Pragmaattinen valinta: valitse olemassa oleva Tee muutokset poista elmenttejä tiukenna konteksti ja esiintymäsääntöjä lisää elementtejä Onko edelleen yhteensopiva alkuperäisen DTD.n kanssa? tiukemmat säännöt: kyllä elementtien lisääminen ja poistaminen: yleensä ei Standardi DTD:t, esim. http://www.schema.net/ http://www.xml.org/xmlorg_registry/ http://www.xml.com/pub/rg/dtds http://xml.coverpages.org/ MathML, CML (kemia), UXF (UML exchange Format), SMIL (multimedia), RDF (Resource Description Framework), HumanML (luonnollinen kieli), DocBook, jne. DTD:n kirjoittaminen Tekstieditori tai DTD:n erikoiseditori kommentti seuraavista asioista tarkoitus soveltamisala tekijä päivämäärä ensisijainen käyttö

DTD:n sääntöjen järjestys 1. Notaatiot 2. Entiteetit 3. Elementit ja attibuutit esim. elementti ja sitten kaikki sen attribuutit tai attribuutit erikseen Mahdolliset kommentit missä tarpeen Sisältö, rakenne, ulkoasu Eri tapoja katsoa dokumenttia Sisältö, rakenne, ulkoasu kertovat eri asioita dokumentista näkyvät elementtien nimissä 1. <definition>... 2. <paragraph>... 3. <bold><italics>... Sisältöön perustuvat osat informaation merkitys abstraktissa mielessä todellisen maailman olioita esimerkit osoitteet, kadut, postinumerot tuotenimet, määrät, hinnat reseptit, ainekset, lämpötilat, valmistusajat enemmän prosessointimahdollisuuksia Rakenteeseen perustuvat osat osoittaa julkaisuasun voivat kuvata sekä sisältöä että ulkoasua esimerkit kappaleet listat ja alkiot luvut, aliluvut, jne. taulukot vähemmän prosessointimahdollisuuksia Ulkoasuun perustuvat komponentit kuvaavat ulkoasua esimerkit tietyt merkistöt ja koot rivin ja sivunvaihdot sisennykset lihavoinnit, kursivoinnit, värit ulkoasun täydellinen kontrolli (ei XML "filosofian" mukainen) Tavoite suunnittelussa vältä käyttämästä pelkästään ulkoasuun perustuvia kohtia muotoilija voi lisätä nämä asiat automaattisesti esim. ei sivunumeroita tunnista osat, jotka tulevat yhdestä ainoasta paikasta esim. marginaalit, alatunnisteet jos asia haetaan tietokannasta käytä sisältöön perustuvaa osaa tunnista sisäkkäiset osat, ryhmät Esmerkki: DTD:n laatiminen Lähteenä listaus kurssikokeista (ajoista ja paikoista) syksyllä 2001 1. Dokumentin analysointi 1. Tunnista loogiset osat 2. Selvitä osien esiintymiskerrat (0, 1, n) 3. Selvitä osien järjestys (yläelementissä) 4. Selvitä osien alirakenteet (ja toista nämä askeleet) 5. Selvitä osien vakiotekstit 6. Selvitä osien muut ominaisuudet Esimerkki: lähteenä kurssikokeet Kurssikokeet syksyllä 2001, Course exams in autumn 2001 Tarkista kokeen aika ja paikka WWW:stä päivää pari ennen koetta! Check the date, time and place from WWW one or two days before the exam. If you want the questions in English, contact the examiner.

Esimerkki: lähteenä kurssikokeet to 13.9. klo 16 20 sali 1 päärakennus 581324 7 Tietokone työvälineenä (pääaineopiskelijoille) Rytkönen pe 12.10. klo 14 18 Auditorio 581379 7 Muuntokoulutuksen peruskurssi (Java) Hyvönen ti 23.10. klo 16 20 sali 1 päärakennus 581390 4 Tietokone työvälineenä (sivuaineopiskelijoille) Rytkönen Tekijä@cs.helsinki.fi 14.11.2001 kurssikokeet järjestys: pääosa alirakenteet: otsikko, ohjeet, kokeet, tekijä, päiväys vakiotekstit: väliviivat, tyhjät välit osien välillä muut ominaisuudet: pääasiallinen kieli on suomi otsikko: Kurssikokeet syksyllä 2001, Course exams in autumn 2001 järjestys: 1 alirakenteet: mahdollisesti kieliversiot, lukukausi, vuosi vakiotekstit:, muut ominaisuudet: suomi, englanti kieliversio Kurssikokeet syksyllä 2001 Course exams in autumn 2001 n järjestys: 1, 2,... alirakenteet: lukukausi, vuosi vakiotekstit: in, llä muut ominaisuudet: suomi, englanti,? lukukausi järjestys: 1 vuosi järjestys: 2 ohjeet Tarkista kokeen aika ja paikka WWW:stä päivää pari ennen koetta! Check the date, time and place from WWW one or two days before the exam. If you want the questions in English, contact the examiner. esiintymiskerrat: 0 (?), 1, järjestys: 2 alirakenteet: kieliversiot (ks. otsikko) vakiotekstit: muut ominaisuudet: suomi, englanti koe to 13.9. klo 16 20 sali 1 päärakennus 581324 7 Tietokone työvälineenä (pääaineopiskelijoille) Rytkönen esiintymiskerrat: 0 n, järjestys: 3 alirakenteet: aika, paikka, kurssi, kuulustelija vakiotekstit: muut ominaisuudet: aika to 13.9. klo 16 20, järjestys: 1 alirakenteet: pvm aikaväli pvm:, alirakenteet: pv, pp, kk, järjestys: 1, vakiotekstit: pisteet aikaväli:, alirakenteet: alku, loppu, järjestys: 2, vakiotekstit: klo,

paikka sali 1 päärakennus tai Auditorio, järjestys: 2 alirakenteet: sali, rakennus sali:, järjestys: 1 rakennus: esiintymiskerrat: 0 1, järjestys: 2 kurssi 581324 7 Tietokone työvälineenä (pääaineopiskelijoille) järjestys: 3 alirakenteet: kurssitunnus, kurssin nimi, kenelle soveltuu vakiotekstit: sulut muut ominaisuudet: kurssitunnus, kurssin nimi, kenelle soveltuu 581324 7 Tietokone työvälineenä (pääaineopiskelijoille) järjestys: 1, 2, 3 alirakenteet: kuulustelija Rytkönen ( n?) järjestys: 4 alirakenteet: vakiotekstit: muut ominaisuudet: vakiotekstit: sulut muut ominaisuudet: väliviivat esiintymiskerrat: 0 n, järjestys: kokeiden erotin alirakenteet: vakiotekstit: on, voidaan tuottaa automaattisesti tekijä päiväys 14.11.2001 järjestys: 1 alirakenteet: pp kk vv (tarvitaanko eritellä?) vakiotekstit: pisteet Tekijä@cs.helsinki.fi esiintymiskerrat:1, järjestys: 4 alirakenteet: ilmeisesti sähköpostiosoite Esimerkki: DTD:n laatiminen Lähteenä dokumentin analysointi 2. DTD:n suunnittelu Onko osa elementti vai attribuutti Jos attribuutti, minkä elementin, mitä tyyppiä Valitse sisältöön perustuva selkeä nimi Kirjoita osan (elementin tai attribuutin) Aloita esim. lehtitasosta Ota huomioon osan esiintymiskerrat, järjestys, jne. Lisää tarvittaessa kommentteja lukukausi, vuosi, tekijä, päiväys (listan alalaidassa) osa: attribuutti (lueteltu, NMTOKEN, CDATA, CDATA; elementti: kurssikokeet) nimi: lukukausi, vuosi, tekijä, päivitys ks. elementtiä ks. elementtiä (Tee )

kieliversio nimi: otsikon_osa <!ELEMENT otsikon_osa (#PCDATA)> <!ATTLIST otsikon_osa xml:lang NMTOKEN "fi"> <otsikon_osa xml:lang="fi"> Kurssikokeet</otsikon_osa> <otsikon_osa xml:lang="en">course exams</otsikon_osa> otsikko nimi: otsikko <!ELEMENT otsikko (otsikon_osa)*> : <otsikko> <otsikon_osa xml:lang="fi"> Kurssikokeet</otsikon_osa> <otsikon_osa xml:lang="en">course exams</otsikon_osa> </otsikko> ohjeet, samalla tavalla kuin otsikko nimi: ohjeet (ohjeen_osa) <!ELEMENT ohjeet (ohjeen_osa)*> <!ELEMENT ohjeen_osa (#PCDATA)> <!ATTLIST ohjeen_osa xml:lang NMTOKEN "fi"> <ohjeet><ohjeen_osa xml:lang="fi">tarkista...</ohjeen_osa> <ohjeen_osa xml:lang="en">... </ohjeen_osa> </ohjeet> pv osa: attribuutti (lueteltu, pvm) nimi: pv ja : ks. elementtiä pvm pp, kk nimi: pp, kk ( ks. elementtiä pvm) <!ELEMENT pp (#PCDATA)> <!ELEMENT kk (#PCDATA)> pvm nimi: pvm <!ELEMENT pvm (pp, kk)> <!ATTLIST pvm pv (ma ti ke to pe) "ma"> <pvm pv="to"> <pp>13</pp><kk>9</kk></pvm> aikaväli nimi: aikaväli <!ELEMENT aikaväli (alkaa, loppuu)> <!ELEMENT alkaa (#PCDATA)> <!ELEMENT loppuu (#PCDATA)> <aikaväli><alkaa>16</alkaa> <loppuu>20</loppuu></aikaväli> aika nimi: aika <!ELEMENT aika (pvm, aikaväli)> <aika><pvm pv="to"> <pp>13</pp><kk>9</kk></pvm> <aikaväli><alkaa>16</alkaa> <loppuu>20</loppuu></aikaväli></aika> sali, rakennus nimi: sali, rakennus <!ELEMENT sali (#PCDATA)> <!ELEMENT rakennus (#PCDATA)> <sali>sali 1</sali> <rakennus>päärakennus</rakennus>

paikka nimi: paikka <!ELEMENT paikka (sali, rakennus?)> <paikka><sali>sali 1</sali> <rakennus>päärakennus</rakennus> </paikka> kurssitunnus, kenelle soveltuu osa attribuutti (NMTOKEN, lueteltu; kurssi) nimi: ktunnus, soveltuu ja, ks. elementtiä kurssi kurssin nimi nimi: knimi <!ELEMENT knimi (#PCDATA)> : ks. elementtiä kurssi kurssi nimi: kurssi <!ELEMENT kurssi (knimi)> <!ATTLIST kurssi ktunnus NMTOKEN #REQUIRED> <!ATTLIST kurssi soveltuu (pääaineopiskelijoille sivuaineopiskeli joille muuntokoulutettaville kaikille) "kaikille"> kurssi <kurssi ktunnus="581324 7" soveltuu="pääaineopiskelijoille"> <knimi>tietokone työvälineenä</knimi></kurssi> kuulustelija nimi: kuulustelija <!ELEMENT kuulustelija (#PCDATA)> : <kuulustelija>rytkönen</kuulustelija> koe nimi: koe <!ELEMENT koe (aika, paikka, kurssi, kuulustelija)> : <koe>... </koe> kurssikokeet nimi: kokeet <!ELEMENT kokeet (otsikko, ohjeet?, koe*)> <!ATTLIST kokeet lukukausi (syksy kevät kesä) "syksy"> <!ATTLIST kokeet vuosi NMTOKEN #REQUIRED> <!ATTLIST kokeet tekija CDATA #IMPLIED> <!ATTLIST kokeet paivitys CDATA #IMPLIED> Esimerkki: DTD:n testaaminen Evaluoi DTD:n Validoi XML dokumenttiasi Muuta testausta käyttäjät työkalut

Muita DTD:n ominaisuuksia Arkkitehtuurimuodot yhteinen kanoninen DTD eri DTD:iden mukaisia dokumentteja voidaan muuntaa noudattamaan yhtä kanonista muotoa toteutus attibuuttien avulla Taulukot erityisen vaativia, esim ulkoasun muotoilu sisältöperustainen vs. ulkoasu