1 / 44

Tone Merete Bruvik HIT-seminar 3. desember 1999 Innføring i XSL

XSL : XML med stil. Eksempler fra Ibsen-prosjektet og MALVINE. Tone Merete Bruvik HIT-seminar 3. desember 1999 Innføring i XSL. Oversikt. Litt om MALVINE -prosjektet Og litt om prosjektet Henrik Ibsens skrifter Bakgrunn og status for XSL Verktøy Eksempler på bruk Virkemåte Hvor er vi?.

fausto
Download Presentation

Tone Merete Bruvik HIT-seminar 3. desember 1999 Innføring i XSL

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. XSL : XML med stil. Eksempler fra Ibsen-prosjektet og MALVINE. Tone Merete BruvikHIT-seminar 3. desember 1999Innføring i XSL

  2. Oversikt • Litt om MALVINE-prosjektet • Og litt om prosjektet Henrik Ibsens skrifter • Bakgrunn og status for XSL • Verktøy • Eksempler på bruk • Virkemåte • Hvor er vi?

  3. MALVINE prosjektet • Manuscripts and Letters Via Integrated Networks in Europe • Oppstart: juli 1998; Avsluttes: desember 2000 • Delfinansiert av EU, IV rammeprogram. • Http://www.malvine.org/

  4. Mål • MALVINE-prosjektet vil bedre tilgangen til katalogene ved en del sentrale manuskriptsamlinger i Europa ved å utvikle et felles brukergrensesnitt over Internett mot de ulike katalogdatabasene. • Bruker multi-site søkemotorer, OPAC, Z39.50, konverteringsverktøy.

  5. MALVINE konsortium • 18 partnere, fra 9 land i Europa: • Prosjektkoordinator: Staatsbibliothek zu Berlin. • Prosjektstyring: Crossnet Systems Ltd. • Utviklere: • HIT-senteret. • Joanneum Research, Østerrike. • Fraunhofer-Institut für Software- und Systemtechnik, Tyskland.

  6. Dataleverandører: Biblioteca de Universidad Complutense Biblioteca Nacional de Portugal British Library Deutsches Literaturarchiv Forschungsstelle und Dokumentationszentrum für Österreichische Philosophie Goethe- und Schiller-Archiv

  7. Institut für Wissenschaftstheorie und Wissenschaftsforschung der Universität Wien Institut Mémoires de l'Edition Contemporaine Nationalmuseet i Danmark Österreichische Nationalbibliothek Swiss National Library K.G. Saur Verlag Testbruker: Institut des Textes et Manuscrits Modernes

  8. SGML brukbarhetsstudie • Mål: Lage konverteringsverktøy mellom ulike katalogformater og SGML/XML. Opparbeide og formidle erfaring med bruk av SGML/XML innen arkiv- og biblioteks-sektoren.

  9. Valg av DTD • Bruker EAD - Encoded Archival Description - utviklet og vedlikehold av Society of American Archivists i samarbeid med Library of Congress. • EAD ble valgt fordi den er laget for arkivformål, godt dokumentert og i bruk. • Både i SGML- og XML-versjon • Http://www.loc.gov/ead/

  10. Konvertering av kataloger til XML/SGML • http://helmer.hit.uib.no/malvine/EADpage.html Perl skript Lokal katalog Eksport XML Konv. tabell Konv. tabell Konv. tabell Konv. tabell Konv. tabell

  11. Anvendelse i MALVINE Lokal katalog u/Z39.50 Søkemotor XSL Perl skript Fil Prosesserer EAD katalog Lokale kataloger m/Z39.50 Kopi av katalog m/Z39.50

  12. Henrik Ibsens skrifter • En ny historisk-kritisk og kommentert utgave av alle Henrik Ibsens skrifter, trykte og utrykte: skuespill, dikt, artikler, foredrag, brev, utkast, notater. • Prosjektet blir finansiert av Norges forskningsråd i samarbeid med universitetene i Oslo, Bergen og Trondheim, samt Nasjonalbiblioteket. • Se http://ibsentexts.hit.uib.no/nor-1.htm

  13. SGML i Ibsen-prosjektet • All tekst blir transskribert i SGML. • Bruker en TEI-DTD : • Text Encoding Initivative • Text Encoding and Interchange • http://www.tei-c.org/

  14. MALVINE: Koding av kataloginformasjon (metadata). Automatisk konvertering av eksisterende elektroniske filer. Ibsens skrifter: Koding av kildemateriale. Transkribering av trykte og håndskrevne tekster. SGML i MALVINE og Ibsen-prosjektet

  15. Hva er XSL? • Extensible Stylesheet Language • Utviklet innen W3C (World Wide Web Consortium). • XSL-dokumenter er skrevet i XML. • XSL er et transformeringsspråk for XML-dokumenter.

  16. Hvorfor XSL? • XML beskriver struktur, ikke stil eller layout • For å pressentere XML-dokumenter i en eller annen form: WWW, på papir … • Kan omforme XML til en helt annen struktur. • Resultatet kan være XML, HTML eller en generell tekst i et hvilket som helst format.

  17. Status for XSL

  18. Hvordan fungerer det? For eksempel: -IE5.0 -IBM alphaWorks XML enabler -XT XSL dokument Resultat dokument XSL prosesserer XML dokument http://www.w3.org/Style/XSL/#browsers

  19. Internet Explorer 5.0 (IE5.0) • Støtter delvis XSL-versjonen fra desember 1998. • Oversetter til HTML. • Støtter ikke formateringsdelen i XSL (må bruke CSS til det). • Har ventet med å oppdatere til XSL var anbefalt av W3C.

  20. XSL i Ibsen-prosjektet • Ved hjelp av to ulike XSL stilark kan man se samme XML tekst i to ulike versjoner. • Norma i hundreårsutgaven og førstetrykk: • http://ellida.uio.no/his/stilvelg.html

  21. XML uten stilark i IE5.0 • Bruker standard-stilarket, som er å vise XML-koden med litt layout. • Prøv valget ”XML source code” for Norma: • http://ellida.uio.no/his/stilvelg.html

  22. Koble XML-dokument til stilark • I andre linje i et XML dokument: • <?xml version="1.0" encoding="ISO-8859-1"?> • <?xml-stylesheet type="text/xsl" href="/his/ft.xsl" ?> • <!DOCTYPE TEI.2 SYSTEM "/his/mypizza.dtd">

  23. XSL i MALVINE • Utdrag fra kataloger tilgjengelig i MALVINE-prosjektet: • http://helmer.hit.uib.no/malvine/EADpage.html

  24. Det minste XSL-stilarket • <?xml version="1.0"?> • <xsl:stylesheet xmlns:xsl="http://www.w3.org/TR/WD-xsl”> <xsl:template match=“/”> <xsl:value-of /> </xsl:template> • </xsl:stylesheet>

  25. Eksempel på XML-dokument • <?xml version="1.0" encoding="ISO-8859-1"?> • <?XML-STYLESHEET type="text/xsl" href="mini.xsl" ?> • <!DOCTYPE page [ • <!-- My DTD is a very simple DTD to demontrate how a DTD may look like --> • <!-- ELEMENTS CONTENT --> • <!ELEMENT page (title, body) > • <!ELEMENT title (#PCDATA) > • <!ELEMENT body (subhead, textline+)* > • <!ELEMENT subhead (#PCDATA) > • <!ELEMENT textline (#PCDATA) >]> • <page> • <title>Short introdution to SGML</title> • <body> • <subhead>There are several text markup languages, for example:</subhead> • <textline>HTML (HyperText Markup Language)</textline> • <textline>XML (eXtensible Markup Language)</textline> • <textline>SGML (Standard Generalized Markup Language)</textline> • </body> • </page>

  26. Resultatet

  27. Stilark 2 • Ett litt mer avansert stilark finnes her: • http://helmer.hit.uib.no/malvine/apage.xsl

  28. Resultat av stilark 2

  29. Templates Mønster • <xsl:template match="title"> • <H1> • <xsl:apply-templates /> • </H1> • <HR /> • </xsl:template> Handling

  30. Generell template • <xsl:template> • <xsl:value-of /> • </xsl:template>

  31. Operatorer • / - child path operator • // - recursive descent • . - current context • @ - attribute path operator • * - wild char

  32. Eksempel på mønster med operator • <xsl:template match="ead/eadheader/eadid"> • <H3> <xsl:apply-templates /> </H3> • </xsl:template>

  33. Filtre • [ operator pathern ], f.eks.: • <xsl:template match="c01//*[not(@encodinganalog)]"> • <xsl:apply-templates /> • </xsl:template>

  34. Noen XSL-elementer • xsl:stylesheet • xsl:template • xsl:apply-template • xsl:value-of • xsl:copy

  35. Løkker og valg • xsl:for-each • xsl:if • xsl:choose • xsl:when • xsl:otherwise

  36. Eksempel på bruk avif • <xsl:template match="eadheader//date"> • <xsl:apply-templates select="@encodinganalog" /> • <xsl:if test="@type"> • (Type : <xsl:apply-templates select="@type" /> ) • </xsl:if> • <xsl:apply-templates /> • </xsl:template>

  37. Lage XML-element i resultattreet • xsl:attribute • xsl:cdata • xsl:comment • xsl:element • xsl:entity-ref • xsl:pi

  38. Lage element med attributt • XML element: • <extref href="http://www.uib.no/">University of Bergen</extref> • XSL template: • <xsl:template match="frontmatter//extref"> • <a><xsl:attribute name="href"> • <xsl:value-of select="@href" /></xsl:attribute> • <xsl:value-of /></a></xsl:template> • Gir i resultattreet: • <a href = ‘http://www.uib.no’>Universitetet i Bergen</a>

  39. Sortering • <xsl:for-each select=“//c01” order-by = “unitid”> • <xsl:apply-templates /> • </xsl:for-each>

  40. Spesifisere element-rekkefølgen • <xsl:template match="c01"> • #008 • <xsl:apply-templates select="@langmaterial" /> • <xsl:apply-templates select="did/unitid" /> • <xsl:apply-templates select="did/repository" /> • ... • </xsl:template>

  41. Skript i XSL • function newLabel(e) { var result = e.getAttribute("encodinganalog"); • result = result.replace('malvine_meta1.',' '); • return result; } • <xsl:template match="c01//*[@encodinganalog]"> • <xsl:eval>newLabel(this);</xsl:eval> • : <xsl:apply-templates />

  42. Hvor er vi? • XSLT og XPath er W3C anbefalinger. • Mye testprogramvare tilgjengelig, få ferdige produkter: • http://www.w3.org/Style/XSL/#browsers • Bruk CSS hvis du kan, bruk XSL hvis du må.

  43. Referanser • MALVINE-prosjektet: • http://www.malvine.org • Ibsen-prosjektet: • http://ibsentexts.hit.uib.no/nor-1.htm • XML i MALVINE-prosjektet: • http://helmer.hit.uib.no/malvine/EADpage.html • XSL: • http://www.w3.org/Style/XSL/

  44. Litteratur • Alex Homer: XML in IE5.0 Programmer’s Reference, Wrox Press ltd. • Chapter 14 of the XML Bible : XSL Transformations, se http://metalab.edu/xml/books/bible/updates/14.html • XSL Transformations (XSLT) Version 1.0 W3C Recommendation 16 November 1999 • http://www.w3.org/TR/xslt

More Related