Upload
aaron
View
58
Download
0
Embed Size (px)
DESCRIPTION
XML - Teori og praktisk bruk. Astrid Jenssen [email protected] 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 - PowerPoint PPT Presentation
Citation preview
© UNIVERSITETETS SENTER FOR INFORMASJONSTEKNOLOGI
UNIVERSITETET I OSLOUSIT
Side 1
XML - Teori og praktisk bruk
Astrid Jenssen
Universitetets senter for informasjonsteknologi
Universitetet i Oslo
© UNIVERSITETETS SENTER FOR INFORMASJONSTEKNOLOGI
UNIVERSITETET I OSLOUSIT
Side 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
© UNIVERSITETETS SENTER FOR INFORMASJONSTEKNOLOGI
UNIVERSITETET I OSLOUSIT
Side 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
© UNIVERSITETETS SENTER FOR INFORMASJONSTEKNOLOGI
UNIVERSITETET I OSLOUSIT
Side 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
© UNIVERSITETETS SENTER FOR INFORMASJONSTEKNOLOGI
UNIVERSITETET I OSLOUSIT
Side 5
Når og hvorfor XML?• Meningsfulle søk
• Utvikling av fleksible web-applikasjoner
• Utveksling av data (på web)
• Publisering på flere medier
© UNIVERSITETETS SENTER FOR INFORMASJONSTEKNOLOGI
UNIVERSITETET I OSLOUSIT
Side 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
© UNIVERSITETETS SENTER FOR INFORMASJONSTEKNOLOGI
UNIVERSITETET I OSLOUSIT
Side 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
HTML
XML
SGML
© UNIVERSITETETS SENTER FOR INFORMASJONSTEKNOLOGI
UNIVERSITETET I OSLOUSIT
Side 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”
© UNIVERSITETETS SENTER FOR INFORMASJONSTEKNOLOGI
UNIVERSITETET I OSLOUSIT
Side 9
Layout vs. Innhold
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
Tittel
AvsenderMottakerDato
Avsnitt
Times 20 pt, havlfet
Teksbehandler XML
© UNIVERSITETETS SENTER FOR INFORMASJONSTEKNOLOGI
UNIVERSITETET I OSLOUSIT
Side 10
Dokumentstruktur for artikkel
Artikkel
Tittel Seksjon+
tekst Avsnitt+
tekst
Tittel
tekst
© UNIVERSITETETS SENTER FOR INFORMASJONSTEKNOLOGI
UNIVERSITETET I OSLOUSIT
Side 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)
© UNIVERSITETETS SENTER FOR INFORMASJONSTEKNOLOGI
UNIVERSITETET I OSLOUSIT
Side 12
XML-systemet• Dokuminstanser
• DTD
• XML-prosessor
Applikasjoner
Bokk
CD-ROM
WWW
Database
© UNIVERSITETETS SENTER FOR INFORMASJONSTEKNOLOGI
UNIVERSITETET I OSLOUSIT
Side 13
DTD for notat<!ELEMENT notat (header, avsnitt+) >
<!ELEMENT header (mottaker,avsender,dato?)>
<!ELEMENT mottaker (#PCDATA) >
<!ELEMENT avsender (#PCDATA) >
<!ELEMENT dato (#PCDATA) >
© UNIVERSITETETS SENTER FOR INFORMASJONSTEKNOLOGI
UNIVERSITETET I OSLOUSIT
Side 14
Elementdeklarasjon
notat
header avsnitt
mottaker avsender dato
<!ELEMENT header (mottaker, avsender, dato?)>
…
header mottaker avsender dato
© UNIVERSITETETS SENTER FOR INFORMASJONSTEKNOLOGI
UNIVERSITETET I OSLOUSIT
Side 15
Hovedkomponentene i en DTD• Elementer
• Attributter
• Entiteter
• Elementer og tekst
• Operatorer– Kombinasjon av koder
– Påkrevd kode
– Valgfri kode
– …
© UNIVERSITETETS SENTER FOR INFORMASJONSTEKNOLOGI
UNIVERSITETET I OSLOUSIT
Side 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
© UNIVERSITETETS SENTER FOR INFORMASJONSTEKNOLOGI
UNIVERSITETET I OSLOUSIT
Side 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>
© UNIVERSITETETS SENTER FOR INFORMASJONSTEKNOLOGI
UNIVERSITETET I OSLOUSIT
Side 18
EMPTY-element• Elementet har ikke noe innhold
• Eksempel:– Markere innsettingspunkt for automatisk generert
innholdsfortegnelse
– Bilde (bildereferansen ligger i attributtverdien)
© UNIVERSITETETS SENTER FOR INFORMASJONSTEKNOLOGI
UNIVERSITETET I OSLOUSIT
Side 19
EMPTY-deklarasjonDTD:<!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>
© UNIVERSITETETS SENTER FOR INFORMASJONSTEKNOLOGI
UNIVERSITETET I OSLOUSIT
Side 20
Attributter• Et element kan ha visse egenskaper
– Språk; engelsk eller norsk
• Vi koder slike egenskaper i elementets attributter
© UNIVERSITETETS SENTER FOR INFORMASJONSTEKNOLOGI
UNIVERSITETET I OSLOUSIT
Side 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>
© UNIVERSITETETS SENTER FOR INFORMASJONSTEKNOLOGI
UNIVERSITETET I OSLOUSIT
Side 22
Attributtverdier• Forhåndsdefinerte verdier
– ”internt|offentlig”
– ”bullet|number|simple”
• Vilkårlig tekststreng– tall, tekststreng,…
• Filnavn
• m.m.
• Dette defineres i DTDen– Attributtdeklarasjonen
© UNIVERSITETETS SENTER FOR INFORMASJONSTEKNOLOGI
UNIVERSITETET I OSLOUSIT
Side 23
Default-verdier til attributt• #REQUIRED
– Attributtet må settes inn
DTD:<!ATTLIST notat type (internt|offentlig) #REQUIRED>
XML-fil:<notat type=”internt”>
<header>
…
</notat>
© UNIVERSITETETS SENTER FOR INFORMASJONSTEKNOLOGI
UNIVERSITETET I OSLOUSIT
Side 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>
© UNIVERSITETETS SENTER FOR INFORMASJONSTEKNOLOGI
UNIVERSITETET I OSLOUSIT
Side 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” >
© UNIVERSITETETS SENTER FOR INFORMASJONSTEKNOLOGI
UNIVERSITETET I OSLOUSIT
Side 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
© UNIVERSITETETS SENTER FOR INFORMASJONSTEKNOLOGI
UNIVERSITETET I OSLOUSIT
Side 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
© UNIVERSITETETS SENTER FOR INFORMASJONSTEKNOLOGI
UNIVERSITETET I OSLOUSIT
Side 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
– …
© UNIVERSITETETS SENTER FOR INFORMASJONSTEKNOLOGI
UNIVERSITETET I OSLOUSIT
Side 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
© UNIVERSITETETS SENTER FOR INFORMASJONSTEKNOLOGI
UNIVERSITETET I OSLOUSIT
Side 30
XML-systemet
Editering XML-genereringPresentasjon/utveksling
DB
XML-editor
Wordo.l.
Konvertering
XML-assamblering
XML www
© UNIVERSITETETS SENTER FOR INFORMASJONSTEKNOLOGI
UNIVERSITETET I OSLOUSIT
Side 31
XSL FO
XML på web
• Publisere XML direkte på web eller konvertere XML til HTML
• Flere relaterte standarder gjør dette mulig:
CSS
XSLT
XML
© UNIVERSITETETS SENTER FOR INFORMASJONSTEKNOLOGI
UNIVERSITETET I OSLOUSIT
Side 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)
© UNIVERSITETETS SENTER FOR INFORMASJONSTEKNOLOGI
UNIVERSITETET I OSLOUSIT
Side 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
}
© UNIVERSITETETS SENTER FOR INFORMASJONSTEKNOLOGI
UNIVERSITETET I OSLOUSIT
Side 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
© UNIVERSITETETS SENTER FOR INFORMASJONSTEKNOLOGI
UNIVERSITETET I OSLOUSIT
Side 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
© UNIVERSITETETS SENTER FOR INFORMASJONSTEKNOLOGI
UNIVERSITETET I OSLOUSIT
Side 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
© UNIVERSITETETS SENTER FOR INFORMASJONSTEKNOLOGI
UNIVERSITETET I OSLOUSIT
Side 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
© UNIVERSITETETS SENTER FOR INFORMASJONSTEKNOLOGI
UNIVERSITETET I OSLOUSIT
Side 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
© UNIVERSITETETS SENTER FOR INFORMASJONSTEKNOLOGI
UNIVERSITETET I OSLOUSIT
Side 39
XSLT og CSS i kombinasjonServer Klient
HTML
XML
Web browser
XSLT
CSS
Transfor-mering
XSLT engineDB
OS
© UNIVERSITETETS SENTER FOR INFORMASJONSTEKNOLOGI
UNIVERSITETET I OSLOUSIT
Side 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
© UNIVERSITETETS SENTER FOR INFORMASJONSTEKNOLOGI
UNIVERSITETET I OSLOUSIT
Side 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
© UNIVERSITETETS SENTER FOR INFORMASJONSTEKNOLOGI
UNIVERSITETET I OSLOUSIT
Side 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
© UNIVERSITETETS SENTER FOR INFORMASJONSTEKNOLOGI
UNIVERSITETET I OSLOUSIT
Side 43
Kobling mellom en rekke systemer
© UNIVERSITETETS SENTER FOR INFORMASJONSTEKNOLOGI
UNIVERSITETET I OSLOUSIT
Side 44
StudInfo Løsninger for innskrivere
XMetaLWeb-redigeringBruker- og filadministrasjonStø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
© UNIVERSITETETS SENTER FOR INFORMASJONSTEKNOLOGI
UNIVERSITETET I OSLOUSIT
Side 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!
© UNIVERSITETETS SENTER FOR INFORMASJONSTEKNOLOGI
UNIVERSITETET I OSLOUSIT
Side 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
© UNIVERSITETETS SENTER FOR INFORMASJONSTEKNOLOGI
UNIVERSITETET I OSLOUSIT
Side 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!
© UNIVERSITETETS SENTER FOR INFORMASJONSTEKNOLOGI
UNIVERSITETET I OSLOUSIT
Side 48
Presentasjon i Web www.uio.no/studier/tilbud
© UNIVERSITETETS SENTER FOR INFORMASJONSTEKNOLOGI
UNIVERSITETET I OSLOUSIT
Side 49
Programpresentasjon
© UNIVERSITETETS SENTER FOR INFORMASJONSTEKNOLOGI
UNIVERSITETET I OSLOUSIT
Side 50
Fra emnepresentasjon til emnets ”hjemmeside”
© UNIVERSITETETS SENTER FOR INFORMASJONSTEKNOLOGI
UNIVERSITETET I OSLOUSIT
Side 51
Administrer
© UNIVERSITETETS SENTER FOR INFORMASJONSTEKNOLOGI
UNIVERSITETET I OSLOUSIT
Side 52
Rettigheter, rediger, vis på web…
© UNIVERSITETETS SENTER FOR INFORMASJONSTEKNOLOGI
UNIVERSITETET I OSLOUSIT
Side 53
Rediger
© UNIVERSITETETS SENTER FOR INFORMASJONSTEKNOLOGI
UNIVERSITETET I OSLOUSIT
Side 54
Referanser• http://www.w3.org
– The World Wide Web Consortium
• www.xml.com
• www.xml.org
• www.perfectxml.com– Artikler
– Programvare (editorer m.m.)
– m.m.
• HTML/XML-editorer– www.usit.uio.no/prosjekter/htmleditor/grovsortering.html