xml teori og praktisk bruk
Download
Skip this Video
Download Presentation
XML - Teori og praktisk bruk

Loading in 2 Seconds...

play fullscreen
1 / 54

XML - Teori og praktisk bruk - PowerPoint PPT Presentation


  • 117 Views
  • Uploaded on

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

loader
I am the owner, or an agent authorized to act on behalf of the owner, of the copyrighted work described.
capcha
Download Presentation

PowerPoint Slideshow about ' XML - Teori og praktisk bruk' - aaron


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.While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server.


- - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - -
Presentation Transcript
xml teori og praktisk bruk

XML - Teori og praktisk bruk

Astrid Jenssen

[email protected]

Universitetets senter for informasjonsteknologi

Universitetet i Oslo

slide2
Tema
  • XML-standarden
    • Introduksjon
    • Syntaks
  • Bruk av XML i praksis
    • Editere dokumenter
    • Presentere og konvertere XML
    • Relaterte standarder
    • Organisatoriske aspekter
  • Eksempler fra UiO
    • StudInfo
historikk
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
fordeler med xml
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
n r og hvorfor xml
Når og hvorfor XML?
  • Meningsfulle søk
  • Utvikling av fleksible web-applikasjoner
  • Utveksling av data (på web)
  • Publisering på flere medier
eksempler p bruk
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
sgml xml
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

xml html xhtml
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”
layout vs innhold
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

dokumentstruktur for artikkel
Dokumentstruktur for artikkel

Artikkel

Tittel

Seksjon+

tekst

Tittel

Avsnitt+

tekst

tekst

xml grunnleggene prinsipper
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)
xml systemet
XML-systemet
  • Dokuminstanser
  • DTD
  • XML-prosessor

Applikasjoner

Bokk

CD-ROM

Database

WWW

dtd for notat
DTD for notat

<!ELEMENT notat (header, avsnitt+) >

<!ELEMENT header (mottaker,avsender,dato?)>

<!ELEMENT mottaker (#PCDATA) >

<!ELEMENT avsender (#PCDATA) >

<!ELEMENT dato (#PCDATA) >

elementdeklarasjon
Elementdeklarasjon

<!ELEMENT header (mottaker, avsender, dato?)>

header

avsender

dato

mottaker

notat

header

avsnitt

mottaker

avsender

dato

hovedkomponentene i en dtd
Hovedkomponentene i en DTD
  • Elementer
  • Attributter
  • Entiteter
  • Elementer og tekst
  • Operatorer
    • Kombinasjon av koder
    • Påkrevd kode
    • Valgfri kode
operatorer
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
elementer og tekst
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>
empty element
EMPTY-element
  • Elementet har ikke noe innhold
  • Eksempel:
    • Markere innsettingspunkt for automatisk generert innholdsfortegnelse
    • Bilde (bildereferansen ligger i attributtverdien)
empty deklarasjon
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>

attributter
Attributter
  • Et element kan ha visse egenskaper
    • Språk; engelsk eller norsk
  • Vi koder slike egenskaper i elementets attributter
attributtdeklarasjon
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>

attributtverdier
Attributtverdier
  • Forhåndsdefinerte verdier
    • ”internt|offentlig”
    • ”bullet|number|simple”
  • Vilkårlig tekststreng
    • tall, tekststreng,…
  • Filnavn
  • m.m.
  • Dette defineres i DTDen
    • Attributtdeklarasjonen
default verdier til attributt
Default-verdier til attributt
  • #REQUIRED
    • Attributtet må settes inn

DTD:<!ATTLIST notat type (internt|offentlig) #REQUIRED>

XML-fil:<notat type=”internt”>

<header>

</notat>

forh ndsdefinert verdi
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>

entitet deklarasjon
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” >

well formed og valid
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
eks valid
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

xml i praksis
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
editering
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
xml systemet1

XML-

editor

Word

o.l.

XML-systemet

Presentasjon/

utveksling

XML-generering

Editering

DB

XML-

assamblering

XML

www

Konvertering

xml p web
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

stylesheet stilark
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)
hvordan lage et css stilark
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

}

xsl ex tensible s tylesheet language
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
extensible style language transformation xslt
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
xpath xml path language
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
xsl formatting objects xsl fo
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
xslt engine
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
xslt og css i kombinasjon

Web browser

DB

HTML

OS

XSLT

XSLT og CSS i kombinasjon

Server

Klient

XML

XSLT engine

Transfor-

mering

CSS

kvalitetsreformen og usit
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
kost prosjektet
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
studinfo ble gradvis utviklet
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
studinfo
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
organisatoriske aspekter den store flaskehalsen
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!
involverte i prosessen
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
mange brukerhensyn
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!
referanser
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
ad