Xml teori og praktisk bruk
This presentation is the property of its rightful owner.
Sponsored Links
1 / 54

XML - Teori og praktisk bruk PowerPoint PPT Presentation


  • 86 Views
  • Uploaded on
  • Presentation posted in: General

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

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.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


Xml teori og praktisk bruk

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 innholdEMPTY >

<!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:

    <!--entitetsnavnentitet-->

    <!ENTITYXML “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-stylesheethref=”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


Kobling mellom en rekke systemer

Kobling mellom en rekke systemer


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!


Presentasjon i web www uio no studier tilbud

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


Programpresentasjon

Programpresentasjon


Fra emnepresentasjon til emnets hjemmeside

Fra emnepresentasjon til emnets ”hjemmeside”


Administrer

Administrer


Rettigheter rediger vis p web

Rettigheter, rediger, vis på web…


Rediger

Rediger


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


  • Login