inf 329 kapittel 3 hypertekstmodell

40
Inf 329 Kapittel 3 Hypertekstmodell Arianna Kyriacou Eskil Saatvedt 30. August 2004

Upload: xerxes

Post on 19-Mar-2016

46 views

Category:

Documents


1 download

DESCRIPTION

30. August 2004. Inf 329 Kapittel 3 Hypertekstmodell. Arianna Kyriacou Eskil Saatvedt. Introduksjon. - PowerPoint PPT Presentation

TRANSCRIPT

Page 1: Inf 329 Kapittel 3 Hypertekstmodell

Inf 329Kapittel 3

Hypertekstmodell

Arianna KyriacouEskil Saatvedt

30. August 2004

Page 2: Inf 329 Kapittel 3 Hypertekstmodell

30. august. 2004 Arianna Kyriacou og Eskil Saatvedt 2

Introduksjon

Kapittel 3 omhandler WebML, (hypertext moduling language), som er basert på notasjon av enheter, sider og linker. Enheter beskriver innholdselementene som skal vises, sider indikerer hvordan enheter skal settes sammen og linker beskriver forbindelsen mellom enheter og/eller sider. Flere hypertekster, kalt nettsteds oversikt, kan defineres over samme innhold, og tilby flere forskjellige presentasjoner. Kapittelet tar for seg notasjonen og modellen bit for bit.

Page 3: Inf 329 Kapittel 3 Hypertekstmodell

30. august. 2004 Arianna Kyriacou og Eskil Saatvedt 3

Page 4: Inf 329 Kapittel 3 Hypertekstmodell

30. august. 2004 Arianna Kyriacou og Eskil Saatvedt 4

Enheter / Units• Enhetene er byggesteinene for en nettside.• Enheter er betegnelsen WebML bruker for å spesifisere

innholdet til en nettside. • WebML spesifiserer hvor innholdet stammer fra eller

hvordan det hentes.• WebML har fem forskjellige typer enheter:

– Dataenheter– Multidataenheter– Indeksenheter– Skrollbare enheter– Inntastinsenheter

For mer informasjon om notasjon og WebML grafisk syntaks se appendiks A og B i boka.

Page 5: Inf 329 Kapittel 3 Hypertekstmodell

30. august. 2004 Arianna Kyriacou og Eskil Saatvedt 5

Enheter• WebML har to konsepter for å vise hvor innhol

stammer fra– Kilden er navnet på entiten som enhetens innhold

hentes fra. Entiteten forteller hvilken type objekt som brukes for å generere enhetens innhold. En enhet kan assosieres med en eller flere entiteter.

– En velger (selector) er et predikat som brukes til å finne det eller de objektene og entitetene som brukes for å generere enhetens innhold.

Page 6: Inf 329 Kapittel 3 Hypertekstmodell

30. august. 2004 Arianna Kyriacou og Eskil Saatvedt 6

Enheters syntaks

• Entiteter er grafisk fremstil som et navngitt rektangel. Enhetens navn står inni rektangelet over ikonet. Ikonet sier noe om typen enhet. Kilden og velgeren settes under rektangelet.

Entity[conditions]

Data unit

Page 7: Inf 329 Kapittel 3 Hypertekstmodell

30. august. 2004 Arianna Kyriacou og Eskil Saatvedt 7

Dataenheter• Dataenheter publiserer et enkelt objekt fra

en gikk kilde.• Dataenheter karakteriseres ved:

– Navn: brukergitt navn på enheter– Kilde: entiteten innholdet hentes fra– Velger(valgfri): et predikat som

identifiserer et unikt objekt, som blir vist av enheten.

– Inkluderte atributter: settet av atributter fra entiten som skal vises.

• DataUnit Navn(source Kilde; selector Velger; attributes InkluderteAtributter)

• DataUnit Artist(source Artist; selector FirstName=”Celine”, LastName=”Dion”; attributes FirstName, LastName, Photo)

Entity[conditions]

Data unit

Artists[FirstName=”Celine”][LastName=”Dion”]

Artists

Page 8: Inf 329 Kapittel 3 Hypertekstmodell

30. august. 2004 Arianna Kyriacou og Eskil Saatvedt 8

Multidataenhet• Multidataenheter presenterer flere objekter

fra en entitet sammen ved å presentere flere dataenheter.

• Multidataenheter karakteriseres ved:– Navn: Brukerdefinert navn– Kilde: Entiteten innholdet hentes fra– Velger (valgfri): Et predikat som identifiserer et

unikt objekt, som blir vist av enheten.– Atributter: Settet av atributter fra entiteten som

skal vises.– Rekkefølge(valgfri): Rekkefølgen som objektene

skal vises i.• MultidataUnit <MultidataUnitName>

”(” source <EntityName> ”;”[ selector <SelectorDef>] ”;”[attributes <Attrname>] ”;”[orderby <OrderByDef> ] ”)”

Multidata unit

Entity[conditions]

MultiArtist

Artist

Page 9: Inf 329 Kapittel 3 Hypertekstmodell

30. august. 2004 Arianna Kyriacou og Eskil Saatvedt 9

Indeksenhet• Indeksenheter presenterer flere objekter

som en ”liste”• Indeksenheter blir karakterisert ved:

– Navn: Brukerdefinert navn– Kilde: Entiteten som innholdet hentes fra– Velger (valgfri): Et predikat som

identifiserer et unikt objekt, som blir vist av enheten.

– Atributter: Settet av atributter fra entiteten som skal vises.

– Rekkefølge (valgfri): Rekkefølgen objektene skal vises.

• Indeksenheter brukes typisk til å lage lister av linker.

• Det finnes tre typer indeksenheter:– Indeksenhet– Flervalgsindeksenhet– Hierarkiskindeksenhet

Index unit

Entity[conditions]

Multichoice Index

Entity[conditions]

HierarchicalIndex

Entity1[Selector1]

NEST Entity2[Selector2]

Page 10: Inf 329 Kapittel 3 Hypertekstmodell

30. august. 2004 Arianna Kyriacou og Eskil Saatvedt 10

Skrollbare enheter• Skrollbare enheter gir mulighet til å gå

igjennom objekter et (eller flere) av gangen.

• Skrollbare enheter blir karakterisert ved:– Navn: Brukerdefinert navn– Kilde: Entiteten innholdet hentes fra– Velger(valgfri): Et predikat som

identifiserer et unikt objekt, som blir vist av enheten.

– Blokkeringsfaktor (valgfri): Antallet objekter som skal skrolles av gangen, normalt en.

– Atributter: Settet av atributter fra entiteten som skal vises.

– Rekkefølge (valgfri): I hvilken rekkefølge objektene skal skrolles igjennom.

• Eksempel: visning av bilde nr 7 av 34.

Scroller unit

Entity[conditions]

Page 11: Inf 329 Kapittel 3 Hypertekstmodell

30. august. 2004 Arianna Kyriacou og Eskil Saatvedt 11

Inntastingsenhet• Inntastingsenheter er enheter som lar bruker

skrive inn data, vi kjenner dette som html <forms>

• Inntastingsenheter blir karakterisert ved:– Navn: brukerdefinert navn– Felter: Et sett av felter for input verdier.

• Felter blir karakterisert ved:– Navn: Brukerdefinert navn– Type: Datatypen til feltet, integer, date, string

etc– Standardverdi (valgfri): Verdien som står i

feltet ved første visning.– Forandrbar: Om det er lov til å endre feltet.– Korekthetspredikat: Bolsk verdi som forteller

om verdien skal sjekkes eller ikke.• Eksempler: Inntasting av brukernavn og

passord ved innlogging.

Entry unit

Page 12: Inf 329 Kapittel 3 Hypertekstmodell

30. august. 2004 Arianna Kyriacou og Eskil Saatvedt 12

Sider• Sider er en abstrakt versjon av den

siden som blir sendt til bruker. • Består av en eller flere enheter eller

sider.• Enhetene er fote gruppert sammen for

å danne et fungerende grensesnitt.• WebML er abstrakt og spesifiserer

ikke hvordan siden ser ut eller hvordan objekter ligger i forhold til hverandre.

• Sider spesifiseres ved navn og hvilke undersider og enheter den inneholder.

• Page AlbumPage(units AlbumIndex, ArtistIndex)

Page

Index unit

Entity[conditions]

Entity[conditions]

Data unit

Page 13: Inf 329 Kapittel 3 Hypertekstmodell

30. august. 2004 Arianna Kyriacou og Eskil Saatvedt 13

Linker• Sider eksisterer ikke alene, vi lever i en nettverden

med massevis av linkete sider som inneholder relaterte biter av innhold, dette krever at brukeren gies mulighet til å samspille med programmet som genererer sidene.

• For å utrykke dette samspillet, kan sider og enheter linkes, vi ønsker å spesifisere den tillatte navigasjonen mellom sider, de valg gitt bruker og effekten av de valg bruker gjør sammen med det innholdet som vises.

Page 14: Inf 329 Kapittel 3 Hypertekstmodell

30. august. 2004 Arianna Kyriacou og Eskil Saatvedt 14

Linker• En link har følgende konsepter:

– Link: En rettet forbindelse mellom to enheter eller sider.– Parameter: En spesifikasjon av en bit informasjon som linken

transporterer med seg.– Parametrisk velger: En enhetsvelger der predikatet inneholder en

referanse til en link-parameter.• Eksempler på hva som kan oppfattes som en link:

– En link som refererer fra en side til en annen side.– En link som refererer fra et sted på en side til et annet sted på en

side.– En link som sender informasjon.

• Essensen av en link:– De lar brukeren navigere ved å flytte fokus fra en kilde på en side

til en destinasjon.– Transport av informasjon fra en enhet til en annen.

Page 15: Inf 329 Kapittel 3 Hypertekstmodell

30. august. 2004 Arianna Kyriacou og Eskil Saatvedt 15

Linker

• Flere-side-link: En link som går fra en side til en annen.

• Intern-link: En link som går fra et sted på en side til en destinasjon på samme side.

• Kontekstuelle link: En link som transporterer informasjon.

• Ikke-kontekstuelle link: En link som ikke transporterer informasjon

Page 16: Inf 329 Kapittel 3 Hypertekstmodell

30. august. 2004 Arianna Kyriacou og Eskil Saatvedt 16

Linker i WebML• En link representeres som en

rettet pil fra kilde til destinasjon.

• Notasjon:Link <LinkName>”(” from <LinkSource> to <LinkDest>[”;” parameters <ParamDef>][”;” type (automatic | manual)][”;” newWindow ”:” (True | False)]

Params

Page 17: Inf 329 Kapittel 3 Hypertekstmodell

30. august. 2004 Arianna Kyriacou og Eskil Saatvedt 17

Automatiske linker

• I tillegg til navigasjon kan linker bli brukt til å spesifisere en bestemt informasjonsstrøm mellom enheter, som skjer uten brukers innblanding.

• Automatiske linker vises med en rettet pil med en innbokset A på.

Params

A

Page 18: Inf 329 Kapittel 3 Hypertekstmodell

30. august. 2004 Arianna Kyriacou og Eskil Saatvedt 18

Eksempel på automatisk link

Albums

AlbumIndex

Album Album

AlbumDetails

Albums

AlbumIndex

Album Album

AlbumDetails

A

Page 19: Inf 329 Kapittel 3 Hypertekstmodell

30. august. 2004 Arianna Kyriacou og Eskil Saatvedt 19

Transportlinker

• Transportlinker er linker som brukes til å sende informasjon fra en enhet til en annen, uten at de har et anker.

• De tegnes som en stiplete rettet pil.

Params

Page 20: Inf 329 Kapittel 3 Hypertekstmodell

30. august. 2004 Arianna Kyriacou og Eskil Saatvedt 20

Globale parametre• Dette er parametere som er globale for hele nettstedet.• Verdien til paramtereren er assosiert med brukerens

session.• Informasjonene sendes ikke fra enhet til enhet men kan

nåes globalt på nettstedet.• En global parameter inneholder:

– Navn: Brukerdefinert navn– Type: Datatype– Standardverdi (ikke påkrevd)

• Typisk eksempel på globale parameter er språk og innlogging.

Page 21: Inf 329 Kapittel 3 Hypertekstmodell

30. august. 2004 Arianna Kyriacou og Eskil Saatvedt 21

Set- og get-enhet

• Linker til set-enheten er normalt en Transportlink.

• En bruker set- og get-enhet for å sette og hente globale linker.

Set unit

Parameter

Get unit

Parameter

Page 22: Inf 329 Kapittel 3 Hypertekstmodell

30. august. 2004 Arianna Kyriacou og Eskil Saatvedt 22

Eksempel på setting av landLink CountryDataToSetCountry

transport(from CountryData to SetCountry)

setUnit SetCountry(parameter CurrentCountry)

getUnit getCountry(parameter CurrentCountry)

Country

SetCountry

CurrentCountryCountry

CountryData

Country

GetCountry

CurrentCountry Country

CountryData

Page 23: Inf 329 Kapittel 3 Hypertekstmodell

30. august. 2004 Arianna Kyriacou og Eskil Saatvedt 23

Hypertekst Organisering• Spesifikasjonen av store og

komplekse hypertekster kan organiseres hierarkisk ved å bruke modulariserings-konstruksjoner.

• Eksempler på slike er – oversikter(views) – områder(areas)– nøstede sider

Page 24: Inf 329 Kapittel 3 Hypertekstmodell

30. august. 2004 Arianna Kyriacou og Eskil Saatvedt 24

Nettstedsoversikt (Site-Views)• Er et sett med sider og/eller

områder som utformer en enhetlig oversikt over nettstedet.

• Multible nettstedsoversikter kan utformes over samme data-modell.

• Forskjellige typer nettstedsoversikter kan publiseres for forskjellige typer brukere.

• En Nettstedsoversikt kan være – public (tilgang for alle) eller – private(krever brukernavn og

passord for å få tilgang).

Siteview

Page 25: Inf 329 Kapittel 3 Hypertekstmodell

30. august. 2004 Arianna Kyriacou og Eskil Saatvedt 25

Hjemmesider, Landmerker og Områder

• Hjemmesiden er hovedsiden til et nettsted og må være unik innen nettstedsoversikten.

• Grafisk notasjon er en innbokset H.

• Det er normalt at hjemmesiden kan nåes fra hele nettstedet.

HomepageH

Page 26: Inf 329 Kapittel 3 Hypertekstmodell

30. august. 2004 Arianna Kyriacou og Eskil Saatvedt 26

Landmerker• Et landmerke er en side som kan

nåes fra alle sidene innen en nettstedsoversikt eller et superområde.

• Landmerke er globalt synlig innenfor nettstedsoversikten / området.

• Et landmerke tilsvarer en ikke-kontekstuell link implisitt definert fra alle sider, og reduserer betydelig antallet av slike linker som må tegnes opp i skjemaet.

• Grafisk notasjon er en innbokset L.

Landmark page

L

Page 27: Inf 329 Kapittel 3 Hypertekstmodell

30. august. 2004 Arianna Kyriacou og Eskil Saatvedt 27

Områder• Områder er et sett med logisk

homogene sider. Områdene kan være nøstet slik at subområder kan defineres inni områdene.

• Hvert område bør ha en default side eller et default område.

• En default side må være unik innen et område.

• Grafisk notasjon en inbokset D.

Company siteview

AreaCustomer informationarea L

Contact us Support

D

Page 28: Inf 329 Kapittel 3 Hypertekstmodell

30. august. 2004 Arianna Kyriacou og Eskil Saatvedt 28

EksempelCompany siteview

CustomerInformationarea

AreaCorporateNewsarea

L

L

AreaHome

L

H

Page 29: Inf 329 Kapittel 3 Hypertekstmodell

30. august. 2004 Arianna Kyriacou og Eskil Saatvedt 29

Nøstede sider

• Nøstede sider er en hierarkisk struktur av sidene. Ved å dele dem inn i sub-sider.

• Vi har to typer:– Conjunktive sider: AND-sub-sider, vises samtidig på

supersiden.– Disjunktive sider: OR-sub-sider, erstatter hverandre (kun

en vises av gangen)

Page 30: Inf 329 Kapittel 3 Hypertekstmodell

30. august. 2004 Arianna Kyriacou og Eskil Saatvedt 30

Mønstre for innholds publisering• Organiseringen av nettsider følger ofte typiske mønstre som dukker opp i

mange sammenhenger og på mange sider.• Boken nevner noen:

– Fordypende indeks: Fra en indeks til en underindeks. Eks bøker-kapitler-underkapitler

– Filtrert indeks: Et søk gir flere svar, hvorav et følges opp. – Filtrert skrollet indeks: et søk gir mange svar som vises side for side. Typisk for

søkemotorer.– Gaidete turer: En forhåndsoppsatt rekkefølge å se på sidene.– Indekserte gaidete turer: En forhåndsoppsatt rekkefølge på hvordan man skal se

sidene med mulighet til å forflytte seg i indeks.– Objektvisninger. En rekke av flere linkete dataenheter hvor hver dataenhet gir en

annen visning av objektet.– Nøstet data. En hierarkisk indeks bestående av to entiteter, slik at hvert toppnivå

er linket til andre nivå i en til en relasjoner.– Hierarkisk indeks med alternerende subside. En hierarkisk indeks med linker som

peker på forskjellige entiteter som vises i samme vindu.

Page 31: Inf 329 Kapittel 3 Hypertekstmodell

30. august. 2004 Arianna Kyriacou og Eskil Saatvedt 31

Fordypende indeks

• Fra en indeks til en annen over en bestemt entitet.

Author Book[author2book] Book

Page 32: Inf 329 Kapittel 3 Hypertekstmodell

30. august. 2004 Arianna Kyriacou og Eskil Saatvedt 32

Filtrert indeks

• Et søk gir en utlisting som svar.

AlbumSearch

Serach conditions

Albums

AlbumINdex

Album[Title contains AlbumTitle] implied

[Year = PublYear] implied

AlbumTitlePublYear

Album

Album

AlbumData

Page 33: Inf 329 Kapittel 3 Hypertekstmodell

30. august. 2004 Arianna Kyriacou og Eskil Saatvedt 33

Filtrert skrollet indeks• Samme som filtrert

indeks bare søket gir så mange funn at de listes ut side for side.

• Typisk eksempel er søkemotorer.

Page 34: Inf 329 Kapittel 3 Hypertekstmodell

30. august. 2004 Arianna Kyriacou og Eskil Saatvedt 34

Gaidet tur /Guided tours

• En gaidet tur er en forhåndsbestemt sekvens av sider.

• Settes opp ved bruk av automatiske linker.

Page 35: Inf 329 Kapittel 3 Hypertekstmodell

30. august. 2004 Arianna Kyriacou og Eskil Saatvedt 35

Indeksert gaidet tur

• En indeksert gaidet tur er en gaidet tur som støtter forflytning i sekvensen.

Artist Albums

Album

AlbumDataAlbumScroller

Album[ArtistToAlbum]

A

Artist

ArtistDetails

Page 36: Inf 329 Kapittel 3 Hypertekstmodell

30. august. 2004 Arianna Kyriacou og Eskil Saatvedt 36

Objektvisning• Objektvisning er å vise et objekt på forskjellige måter.• Typisk eksempel er et vindu som viser essensiell informasjon

og et vindu som viser utdypende informasjon.

Page 37: Inf 329 Kapittel 3 Hypertekstmodell

30. august. 2004 Arianna Kyriacou og Eskil Saatvedt 37

Nøstet data• En hierarkisk indeks bestående av to entiteter, slik at

elementet på toppnivå er linket til andre nivå i en til en eller mange til mange relasjoner.

Albums

AlbumIndex

AlbumNEST Artist

[AlbumToArtist]

Page 38: Inf 329 Kapittel 3 Hypertekstmodell

30. august. 2004 Arianna Kyriacou og Eskil Saatvedt 38

Hierarkisk indeks med alternerende subside

• En hierarkisk indeks med linker som peker på forskjellige entiteter som vises i samme vindu.

• I eksempelet bytter høyere vindu på å vise album og artistinformasjon

Outermost

Lefmost

AlbumIndex

ArtistNEST Album

[ArtistToAlbum]

Rightmost

Rightmost1

Artist[OID=Art]

ArtistInfo

Rightmost2

Album[OID=Alb]

AlbumInfo

Art:Artist.OID

Alb:Album.OID

Page 39: Inf 329 Kapittel 3 Hypertekstmodell

30. august. 2004 Arianna Kyriacou og Eskil Saatvedt 39

Page 40: Inf 329 Kapittel 3 Hypertekstmodell

30. august. 2004 Arianna Kyriacou og Eskil Saatvedt 40