inf 329 kapittel 3 hypertekstmodell
DESCRIPTION
30. August 2004. Inf 329 Kapittel 3 Hypertekstmodell. Arianna Kyriacou Eskil Saatvedt. Introduksjon. - PowerPoint PPT PresentationTRANSCRIPT
Inf 329Kapittel 3
Hypertekstmodell
Arianna KyriacouEskil Saatvedt
30. August 2004
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.
30. august. 2004 Arianna Kyriacou og Eskil Saatvedt 3
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.
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.
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
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
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
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]
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]
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
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
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.
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.
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
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
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
30. august. 2004 Arianna Kyriacou og Eskil Saatvedt 18
Eksempel på automatisk link
Albums
AlbumIndex
Album Album
AlbumDetails
Albums
AlbumIndex
Album Album
AlbumDetails
A
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
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.
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
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
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
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
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
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
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
30. august. 2004 Arianna Kyriacou og Eskil Saatvedt 28
EksempelCompany siteview
CustomerInformationarea
AreaCorporateNewsarea
L
L
AreaHome
L
H
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)
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.
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
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
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.
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.
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
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.
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]
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
30. august. 2004 Arianna Kyriacou og Eskil Saatvedt 39
30. august. 2004 Arianna Kyriacou og Eskil Saatvedt 40