Esittely latautuu. Ole hyvä ja odota

Esittely latautuu. Ole hyvä ja odota

Jyväskylän yliopisto/AHo, VLy, PTi Tutorial: Poem Publishers, Inc. goes to Web Käytännön kokemuksia verkkojulkaisemisesta Anne Honkaranta, Virpi Lyytikäinen,

Samankaltaiset esitykset


Esitys aiheesta: "Jyväskylän yliopisto/AHo, VLy, PTi Tutorial: Poem Publishers, Inc. goes to Web Käytännön kokemuksia verkkojulkaisemisesta Anne Honkaranta, Virpi Lyytikäinen,"— Esityksen transkriptio:

1 Jyväskylän yliopisto/AHo, VLy, PTi Tutorial: Poem Publishers, Inc. goes to Web Käytännön kokemuksia verkkojulkaisemisesta Anne Honkaranta, Virpi Lyytikäinen, Pasi Tiitinen Jyväskylän yliopisto, Digitaalinen media inSGML-projekti

2 Jyväskylän yliopisto/AHo, VLy, PTi English version Experiences of using XSLT and DOM http://insgml.it.jyu.fi/www/Runodemo/ Experiences.html

3 Jyväskylän yliopisto/AHo, VLy, PTi Sisältö Runokustannus Oy Runot Julkaisuympäristö Muunnokset Muunnostekniikat Muunnokset palvelin/asiakas -ympäristössä Muunnokset Runokustannus Oy:ssä Kohdattuja haasteita Mitä opittiin

4 Jyväskylän yliopisto/AHo, VLy, PTi Runokustannus Oy Kuvitteellinen yritys demonstroi muunnosten tarpeellisuutta, muunnostekniikoita, ja työkalujen käyttöä yksinkertaiset dokumentit Kustantaa runoja WWW:ssä Runot kirjoitetetaan XML-muodossa runo.dtd:n mukaisesti Runoista voidaan muodostaa kokoelmia

5 Jyväskylän yliopisto/AHo, VLy, PTi Yleiskuva julkaisuprosessista Sisällön tuottaja XML editori Runo DTD WWW - palvelin dokumenttien muunnokset Runojen lukija: WWW-selain CSS-tyylisivut XHTML/HTML DTD

6 Jyväskylän yliopisto/AHo, VLy, PTi Runo.dtd

7 Jyväskylän yliopisto/AHo, VLy, PTi Julkaisuympäristö Microsoft IIS server v. 5.0 Jscript, VBScript ASP 3.0 DOM II Internet Explorer 5.5 tai uudempi CSS Level 2 MSXML 3.0

8 Jyväskylän yliopisto/AHo, VLy, PTi Muunnokset Muunnos voi kohdistua dokumentin formaattiin rakenteeseen / tietomääritykseen (skeemaan) sisältöön tulostuvaan osaan (suodatetaan osa pois) kaikiin yllämainittuihin Muunnos  conversion, filtering, transformation

9 Jyväskylän yliopisto/AHo, VLy, PTi Miksi muunnoksia tarvitaan? Kirjoittajat/sisällön tuottajat tarvitsevat sisältöorientoituneen DTD:n Erilaiset päätelaitteet yleistyvät Dokumentteja hallinnoitaessa tarvitaan optimaalisin prosessoitava muoto dokumentista --> kolmivaiheinen julkaisuprosessi kirjoittaminen -- prosessointi -- tulostus

10 Jyväskylän yliopisto/AHo, VLy, PTi Muunnostekniikoita Tapahtumapohjaiset muunnostekniikat Puuperustaiset muunnotekniikat Esimerk- kejä muunnos- kielistä SAX-Simple API for XML Omnimark DOM (document object model) — API Balise XSLT language Edut / haitat nopea, käyttää laskentaresursseja tehokkaasti tulosdokumentin rakennetta (skeemaa) ei voi kovin hyvin kontrolloida jäsennyspuun laatiminen vaatii muistitilaa tulosdokumentin rakennetta voi kontrolloida hyvin sopii parhaiten monimutkaisiin muunnoksiin

11 Jyväskylän yliopisto/AHo, VLy, PTi ASP ja XML IIS 5.0 palvelimessa ”XML-valmius” ASP-”varuskomponentteja” (esim.) FileSystemObject, File- Folder-object Response ja Request object DOM (MSXML2.DOMDocument) ParseError ja Error object Jscript ja Vbscript (Debugger)

12 Jyväskylän yliopisto/AHo, VLy, PTi DOM Dokumenttipuun solmut ”ajatellaan” olioiksi (object) joilla on rajapinta (Interface) Rajapintaan (Interface) liittyy ominaisuuksia ja metodeja Interface vastaa solmua, metodit määrittävät toiminnot, joita voidaan suorittaa Interfaceja (esim.): Document Interface (=dokumenttiolio) Node Interface (=kaikki solmut) Element Interface Attr Interface (Dokumentin attribuutit)

13 Jyväskylän yliopisto/AHo, VLy, PTi DOM-objektimalli -dokumentti- interface DOCUMENT Document- Type Processing- Instruction Comment Element Attribute Huom! vain 1 elementti- dokumentin juuri

14 Jyväskylän yliopisto/AHo, VLy, PTi Dom-objektimalli - elementInterface Element Attribute Processing- Instruction Comment Element Attribute CDATASection Entity- Reference Text

15 Jyväskylän yliopisto/AHo, VLy, PTi DOM; Document Interface Attribuutit: doctype, implementation ja documentElement Metodeja, mm. createElement createDocumentFragment createTextNode, createComment createCDATASection, createAttribute getElementsByTagName var rootEl=myDoc.DocumentElement; aseta dok.muuttuja.attribuutti Document.Element

16 Jyväskylän yliopisto/AHo, VLy, PTi Jäsennyspuu Alla on runo.dtd -ELM-rakennekaavio Huomaa: dtd-kuvaus kertoo mitä elementtejä runossa voi tai saa olla

17 Jyväskylän yliopisto/AHo, VLy, PTi Jäsennyspuu Jäsentäjän laatima jäsennyspuu kuvaa yksittäisen (runo- dokumentti-instanssin) rakenteen. Erään runo.xml- dokumentin jäsennyspuun kaaviokuva näyttää tältä: RUNO OTSIKKO RIVI TEKIJA Tasapää NIMI SAKEISTO RIVI SUKUNIMIETUNIMI AulisAnkkaTillin tallin tasapää Älä kasva enempää

18 Jyväskylän yliopisto/AHo, VLy, PTi Muunnokset palvelin/asiakas – ympäristössä ( XSLT/DOM) Vaihtoehtoja: käytetään PI:tä (Processing Instruction) XML- lähdedokumentissa (a) (PI voidaan kirjoittaa lähdedokumenttiin WWW-palvelimella) DOM-rajapintaa ja DOM-objekteja käytetään XML- lähdedokumentin ja XSLT:n lataamiseen (p/a) käytetään DOM-rajapintaa + skriptikieliä (Vbscript, Jscript) tai Javaa

19 Jyväskylän yliopisto/AHo, VLy, PTi Muunnosketju (esimerkki) Tulos HTML/ XHTML-dok. rendered CSS-muotoiltuna Tulos- dok. + linkki CSS:ään CSS dok. Lähde XML- dok. XSLT dok. Asiakas Palvelin/Asiakas

20 Jyväskylän yliopisto/AHo, VLy, PTi Esimerkki: PI XML- lähdedokumentissa <?xml-stylesheet type="text/xsl" href=”poem_html.xsl" ?> <!DOCTYPE POEM SYSTEM "Poem1.dtd">... <xsl:stylesheet..... <LINK rel="stylesheet” type="text/css” href="runo_htm.css" >

21 Jyväskylän yliopisto/AHo, VLy, PTi Esimerkki: DOM-objektit+XSLT Dim objDocument, objXSL, strXML Set objDoc = CreateObject("MSXML2.DOMDocument") Set objXSL = CreateObject ("MSXML2.DOMDocument") objDoc.async=false objXSL.async=false objDoc.Load "../Runot/Pinkku1.xml" objXSL.Load "runo1_htmlksi2.xsl" strXML=objDoc.transformNode(objXSL) Document.Write strXML

22 Jyväskylän yliopisto/AHo, VLy, PTi Esimerkki: VBscript+DOM Inspect nodes of poem Dim root, xmlDoc, child Set xmlDoc = CreateObject("Msxml2.DOMDocument") xmlDoc.async = False xmlDoc.load("Runot/Pinkku1.xml") 'Walk from the document to each of its child nodes: For Each child In xmlDoc.childNodes document.write ”type of node:" & child.nodeType & " | " document.write ”name of node:" & child.nodeName & " | " document.write ”content of node:" & child.text & " " Next

23 Jyväskylän yliopisto/AHo, VLy, PTi Runokustannus Oy:ssä testatut muunnostyypit XML-to-XML XML-to-HTML XML-to-XHTML

24 Jyväskylän yliopisto/AHo, VLy, PTi Runokustannus Oy:n muunnostarpeet Useamman lähdedokumentin yhdistäminen yhdeksi tulosdokumentiksi (runo+ylä- tai alatunniste, runolista, metatiedot runoista) Useamman lähdedokumentin yhdistäminen yhdeksi (runokokoelma) XSLT-muunnosdokumenttien yhdistäminen (runo+alatunniste)

25 Jyväskylän yliopisto/AHo, VLy, PTi Esimerkki: XSLT- muunnossivujen yhdistäminen <xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns="http://www.w3.org/1999/REC-html401"> !-- Filename: header.xsl --> <xsl:stylesheet xmlns:xsl= "http://www.w3.org/1999/XSL/Transform" version="1.0" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns="http://www.w3.org/1999/REC-html401">

26 Jyväskylän yliopisto/AHo, VLy, PTi Apuohjelmia MSTools for validating XML and viewing XSLT output MS Jscript/Vbscript Debugger MSXSL command line tool

27 Jyväskylän yliopisto/AHo, VLy, PTi Kohdattuja haasteita Ongelmien syitä jäsentimet ja niiden eri versiot merkkien koodaus kuvat ja linkit ”liian paljon” työkaluja, kieliä ja ohjelmia

28 Jyväskylän yliopisto/AHo, VLy, PTi Esimerkki: Merkkien koodaus ja jäsennin MSXML LÄHDE- Dok. MSXML 3.0 TULOS- Dok. lähdedokumentin koodaus saatettu käyttää merkki- entiteettejä entiteetit muutetaan oikeiksi merkkikoodeiksi muunnoksessa käyttää UTF-16:ta tunnistaa tulosteen koodauksen PI:stä jos oikeaa load/save –metodia on käytetty muutoin tulostaa UTF-16:ta jotain koodausta käytetty sisältää koodaus- määrityksen jompikumpi on ”väärä”

29 Jyväskylän yliopisto/AHo, VLy, PTi Encoding, MSXML ja ASP loadXML (UCS-2/UTF-16) load ->http-header ->2-byte BOM ->UTF-16 ->4-byte BOM ->UTF-32 ->UTF-8 (paitsi jos on encoding attribuutti XML- deklaraatiossa) ResponseXML - samat kuin Load:ssa ResponseText ->UTF-8 ResponseStream->IStream

30 Jyväskylän yliopisto/AHo, VLy, PTi Mahdollisuuksia Voit käyttää XSLT-tyylimäärityksiä komponentteina ja yhdistellä niitä Tyylisivu voidaan nähdä uudelleen käytettävänä komponenttina palvelimella Muunnoksia voi myös ketjuttaa Muunnosten avulla voit säilyttää tietoa sisältöorientoituneessa muodossa ja tulostaa sen tarvittavia tyylimäärityksiä käyttäen Ongelma: DTD:eiden, muunnoskomponenttien ja versioiden hallinta

31 Jyväskylän yliopisto/AHo, VLy, PTi Mitä opittiin Käytä samaa merkkikoodausta lähdedokumenteissa ja muunnossivuissa Sisällön tuottajalle on hyvä tarjota sisältöorientoitunut DTD; muunnoksia tarvitaan joka tapauksessa! Selaimet tukevat CSS:ää, XSLT:ä ja XML:ää vaihtelevasti XML-pohjaisen julkaisuympäristön rakentamiseen on olemassa työkaluja: varaa aikaa mahdollisten ongelmien ratkaisemiseksi Moninaiset taidot ovat tarpeen julkaisuympäristöä pystytettäessä, XML:n tunteminen ei riitä!

32 Jyväskylän yliopisto/AHo, VLy, PTi Lisää tietoa: inSGML-projekti http://haades.it.jyu.fi/inSGML/


Lataa ppt "Jyväskylän yliopisto/AHo, VLy, PTi Tutorial: Poem Publishers, Inc. goes to Web Käytännön kokemuksia verkkojulkaisemisesta Anne Honkaranta, Virpi Lyytikäinen,"

Samankaltaiset esitykset


Iklan oleh Google