1 / 54

XML - Teori og praktisk bruk

XML - Teori og praktisk bruk. Astrid Jenssen astrid.jenssen@usit.uio.no Universitetets senter for informasjonsteknologi Universitetet i Oslo. Tema. XML-standarden Introduksjon Syntaks Bruk av XML i praksis Editere dokumenter Presentere og konvertere XML Relaterte standarder

aaron
Download Presentation

XML - Teori og praktisk bruk

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. XML - Teori og praktisk bruk Astrid Jenssen astrid.jenssen@usit.uio.no Universitetets senter for informasjonsteknologi Universitetet i Oslo

  2. Tema • XML-standarden • Introduksjon • Syntaks • Bruk av XML i praksis • Editere dokumenter • Presentere og konvertere XML • Relaterte standarder • Organisatoriske aspekter • Eksempler fra UiO • StudInfo

  3. Historikk • En standard vedtatt av W3C 10. februar 1998 • Utviket for bruk på web • Subsett av SGML • (Standard Generalized Markup Language) • Enklere å lage programvare for prosessering av XML

  4. Fordeler med XML • Uavhengig av programvare og maskinvare • Uavhengig av presentasjonsmedium • En kilde – mange applikasjoner • Effektiv for søk og gjenfinning • Automatisk prosessere informasjon • Gjenbruk av informasjon

  5. Når og hvorfor XML? • Meningsfulle søk • Utvikling av fleksible web-applikasjoner • Utveksling av data (på web) • Publisering på flere medier

  6. Eksempler på bruk • Digitalt bibliotek • Alexandria Digital Library • DUO – Digitale utgivelser ved UiO • Medisin • Strukturerer og utveksler bibliografisk informasjon og assosierte metadata for over 9 mill medisinske artikler (PubMed, MEDLINE) • Dokumenthåndtering • Artikler, tidsskrifter, bøker • Ordliste • Teknisk dokumentasjon • EDI (Electronic Data Interchange) • Eks: lånesøknad, faktura, prosjektstatus • LMS (e-læring) • MathML - matematiske formler på web

  7. SGML/XML • XML er et subsett av SGML (ISO-standard i 1986) • XML er SGML • Mange som før brukte SGML benytter nå XML • Har ikke bruk for alle SGMLs muligheter • Vanskelig å benytte SGML på Web • Tegnsett • SGML krever en DTD • Komplisert linking SGML XML HTML

  8. XML/HTML/XHTML • XML skiller innhold fra presentasjon • HTML markerer utseende og ikke struktur • HTML er dessuten tilpasset ulike nettlesere • XML gir bedre søkemuligheter • H1 vs KAPITTEL • P vs FORFATTER • XML kan uttrykke komplekse strukturer • HTML har en flat struktur • XML har mer avansert linking • Linker til mer enn en ressurs m.m. • HTML har bare A-elementet • XHTML: ”XMLifisert HTML”

  9. Layout vs. Innhold Teksbehandler XML Tittel NOTAT Til: De ansatte Fra: Adm. dir. Dato: 06/11-2003 God nyhet til alle! Lønnsøkningen blir ekstra stor i år. Times 24 pt Times 20 pt Avsender Mottaker Dato Times 20 pt, havlfet Avsnitt

  10. Dokumentstruktur for artikkel Artikkel Tittel Seksjon+ tekst Tittel Avsnitt+ tekst tekst

  11. XML grunnleggene prinsipper • Dokumentinstanser av samme dokumenttype er underlagt en felles struktur • Reglene for hvilke elementer som kan forekomme i dokumentinstansene kan beskrives i en DTD eller i XML skjema • Innhold (tekstelementer) • Struktur (kombinasjon av tekstelementer, rekkefølge, forekomster) • Parser (programvare) sjekker riktigheten • Programvare tolker kodingen og presenterer på ulike media, overfører data, transformere data • Eksempler her: DTD (Document Type Definition)

  12. XML-systemet • Dokuminstanser • DTD • XML-prosessor Applikasjoner Bokk CD-ROM Database WWW

  13. DTD for notat <!ELEMENT notat (header, avsnitt+) > <!ELEMENT header (mottaker,avsender,dato?)> <!ELEMENT mottaker (#PCDATA) > <!ELEMENT avsender (#PCDATA) > <!ELEMENT dato (#PCDATA) >

  14. Elementdeklarasjon <!ELEMENT header (mottaker, avsender, dato?)> header avsender dato mottaker notat … header avsnitt mottaker avsender dato

  15. Hovedkomponentene i en DTD • Elementer • Attributter • Entiteter • Elementer og tekst • Operatorer • Kombinasjon av koder • Påkrevd kode • Valgfri kode • …

  16. Operatorer • Rekkefølgeindikatorer • (a, b, c) pålagt sekvens • (a | b | c) sekvens uviktig • Forekomstindikatorer • dato? Ingen eller en dato • avsnitt+ Et eller flere avsnitt • avsnitt* Ingen eller flere avsnitt

  17. Elementer og tekst • Dokument: Det er svært viktig at alle husker på å låse dørene før dere går. • Elementer i XML-fil (dokumentinstansen):<avsnitt>Det er <uthev>svært</uthev> viktig at alle husker på å låse dørene før dere går.</avsnitt>

  18. EMPTY-element • Elementet har ikke noe innhold • Eksempel: • Markere innsettingspunkt for automatisk generert innholdsfortegnelse • Bilde (bildereferansen ligger i attributtverdien)

  19. EMPTY-deklarasjon DTD: <!ELEMENT bok (tittel, innhold, kapittel+)> <!ELEMENT innhold EMPTY > <!ELEMENT kapittel …. > XML-fil: <bok> <tittel>Haienes verden</tittel> <innhold/> <kapittel>…</kapittel> … <figur file=”tigerhai.jpg”/> … <kapittel>…</kapittel> </bok>

  20. Attributter • Et element kan ha visse egenskaper • Språk; engelsk eller norsk • Vi koder slike egenskaper i elementets attributter

  21. Attributtdeklarasjon DTD: <!ATTLIST notat type (internt|offentlig) #REQUIRED > XML-fil:<notat type=”internt”> <header> <mottaker>De ansatte</mottaker > <avsender>Adm. dir.</avsender> <dato>06/11-2003</dato> </header> <avsnitt>God nyhet til alle!</avsnitt> <avsnitt>Lønnsøkningen … </avsnitt></notat>

  22. Attributtverdier • Forhåndsdefinerte verdier • ”internt|offentlig” • ”bullet|number|simple” • Vilkårlig tekststreng • tall, tekststreng,… • Filnavn • m.m. • Dette defineres i DTDen • Attributtdeklarasjonen

  23. Default-verdier til attributt • #REQUIRED • Attributtet må settes inn DTD:<!ATTLIST notat type (internt|offentlig) #REQUIRED> XML-fil:<notat type=”internt”> <header> … </notat>

  24. Forhåndsdefinert verdi • Forhåndsdefinert attributtverdi: DTD:<!ATTLIST notat type (internt|offentlig) internt> XML-fil: <notat> … </notat> Attributtverdi fylles ut av parseren i output: <notat type=”internt”> … </notat>

  25. Entitet-deklarasjon • XML-fil:<AVSNITT>Her skal vi lære mer om &XML; og andre standarder</AVSNITT> • DTD: <!-- entitetsnavn entitet --> <!ENTITY XML “eXtensible Markup Language” >

  26. Well-formed og Valid • XML-dokumenter kan være av to typer • Well-formed • Dokumentet starter med XML-deklarasjon<?xml version=”1.0”?> • Rotelementet må inneholde alle de andre elementene • Alle elementene må være nestet • Valid • Well-formed • Parses i henhold til en DTD

  27. Eks Valid <?xml version=“1.0” ?> <!DOCTYPE winelist SYSTEM “winelist.dtd”> <winelist> <title>Winelist</title> <wine>Santa Carolina</wine> </winelist> <!ELEMENT winelist (title, wine+)> <!ELEMENT wine (#PCDATA)> <!ELEMENT title (#PCDATA)> winelist.dtd mywine.xml

  28. XML i praksis • XML liten verdi i seg selv • … må presenteres, overføres, behandles… • Mange aktører og roller • Modellere (utviklere, brukere m.fl) • Editere XML-dokumenter • Konvertere • Administrere og lagre dokumenter • Presentere på ulike media • Kvalitetssikring • Opplæring • Brukerstøtte • …

  29. Editering • Direkte i XML • Emacs • Notepad • XML-editor (eks XMetaL) • I Word/annen tekstbehandler • Krevende å konvertere fra ikke-strukturert materiale til XML • Konvertere til XML (neppe uten manuelle innslag) • Database

  30. XML- editor Word o.l. XML-systemet Presentasjon/ utveksling XML-generering Editering DB XML- assamblering XML www Konvertering

  31. XML på web • Publisere XML direkte på web eller konvertere XML til HTML • Flere relaterte standarder gjør dette mulig: CSS XML XSL FO XSLT

  32. Stylesheet - stilark • En enkel måte å formatere dokumenter på • Formatering av de ulike elementene i XML-dokumentet uttrykkes i form av regler • CSS – W3C standard for HTML/XML • XSL – W3C standard for XML • XSLT – W3C standard for å transformere XML til XML (del av XSL)

  33. Hvordan lage et CSS stilark • Bruk en teksteditor/stylesheet editor • Anbefaler å lagre stilarket i en egen fil • Legg til følgende i XML-dokumentet: <?xml-stylesheet href=”style.css” type=”text/css”?> • Eksempel på formateringsregel for tittel-element: tittel { font-family: Helvetica; font-size: 24pt; font-weight: bold }

  34. XSL- eXtensible Stylesheet Language • eXtensible Stylesheet Language (XSL) • Språk for å utrykke stilark og transformere XML-dokumenter • XSL består av tre deler • XSL Transformation (XSLT) • For å transformere XML-dokumenter • XML Path Language (Xpath) • For å adressere deler av et XML-dokument, • XSL Formatting Object (XSL-FO) • Vokabular for å spesifisere formattering

  35. eXtensible Style Language Transformation (XSLT) • Benytter XML-syntaks • Kan foreta komplekse transformasjoner av kildedokumentet • endring i dokumentstruktur, sortering, filtrering, duplisering av info. m.m. • Brukes også for å konvertere XML til HTML

  36. XPath – XML Path Language • For å referere til deler av et XML-dokument • Via trestrukturen • Går hånd-i-hånd med XSLT 2.0

  37. XSL Formatting Objects (XSL-FO) • Benytter XML-syntaks • Brukes bl.a. for å konvertere til PDF,TeX og PostScript • Kan uttrykke marginer, header, footer, sidenummerering, tabell mm

  38. XSLT engine • Prosessor som foretar transformering av et XML-dokument i hht spesifikasjoner i et XSLT-dokument • Implementasjoner, eks: • Java: XT, SAXON, Xalan-J, Oracle, Sun,… • C++: Transformiix, Xalan-C, Unicorn,… • Win32: Unicorn, Microsoft, Xport • Python: 4XSLT • Mer oppdatert liste: • Se oversikt på www.perfectxml.com

  39. Web browser DB HTML OS XSLT XSLT og CSS i kombinasjon Server Klient XML XSLT engine Transfor- mering CSS

  40. Kvalitetsreformen og USIT • USIT (Universitetets senter for IT) har vært og er tungt inne i flere prosjekter/aktiviteter med ulike roller og oppgaver • Felles Studentsystem (FS), studentportal, StudInfo, timeplanlegging, ClassFronter m.fl. • Krever mye samarbeid på tvers av USIT/UiO og integrasjon mellom mange systemer

  41. KOST-prosjektet • Prosjekt for omstrukturering og KOordinering av UiOs skriftlige STudieinformasjon • Revurderte all trykket og web-basert studieinformasjon mht struktur, hva som ble publisert i hvilke kanaler med mer • Skulle bl.a oppnå mindre duplisering av informasjon og mer skreddersydde informasjonsløsninger for den enkelte student/studentgruppe • Alle enheter ved UiO var involvert • 2-årig, avsluttet 31. desember 2003

  42. StudInfo ble gradvis utviklet • Publiseringsfase 1 • Presentasjon av bachelorprogram og –emner mm for potensielle studenter • Publisert 6. jan 2003 • Publiseringsfase 2 • Presentasjon av masterprogram og –emner mm • Publisert 15. mars 2003 • Publiseringsfase 3 • Semesterspesifikk informasjon (undervisning, faglige krav, forelesere, pensum, beskjeder...) • Primærmålgruppe: studenter på studiet • Publisering medio juni 2003 og framover

  43. Kobling mellom en rekke systemer

  44. StudInfo • Løsninger for innskrivere • XMetaL • Web-redigering • Bruker- og filadministrasjon • Støtte for arbeidsflyt • ”Kvern” som prosesserer XML-filer, info fra andre kilder og presenterer i Web • Kobling Felles studentsystem • Presentasjon i web • Vortex leverer funksjonalitet • administrasjon, redigering og visning (publisering) av strukturerte dokumenter

  45. Organisatoriske aspekter – den store flaskehalsen! • Overgang til XML et paradigmeskifte! • Mange brukere bruker lang tid på å snu tankegangen • Vær forberedt på motstand • Involver brukerne i beslutningsprosessene • Eierskap og medinnflytelse viktig • Bruk nok tid og ressurser på opplæring og riktig verktøy!

  46. Involverte i prosessen • Mange aktører • De som kjenner informasjonen og prosesser godt • De som redigerer informasjonen som skal over i XML • Økonomiske beslutningstakere • Driftspersonell • Personer som representerer andre berørte systemer • Utviklere

  47. Mange brukerhensyn • Mange innskrivere • StudInfo, FS, superbrukere, administrativt ansatte, forelesere, studenter • Struktur vs fleksibilitet • Valg av verktøy • Rutiner, arbeidsflyt • Gjenbruk og prosessering • Aksesskontroll • Presentasjon; Papir, Web, CD.rom, blindeskrift… • Søk og navigering • Index, stikkord, fulltekstsøk, hyperlinker • Opplæring, brukeroppfølging • Ikke undervurder behovet!

  48. Presentasjon i Web www.uio.no/studier/tilbud

  49. Programpresentasjon

  50. Fra emnepresentasjon til emnets ”hjemmeside”

More Related