400 likes | 494 Views
30. August 2004. Inf 329 Kapittel 3 Hypertekstmodell. Arianna Kyriacou Eskil Saatvedt. Introduksjon.
E N D
30. August 2004 Inf 329Kapittel 3Hypertekstmodell Arianna Kyriacou Eskil Saatvedt
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. Arianna Kyriacou og Eskil Saatvedt
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. Arianna Kyriacou og Eskil Saatvedt
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. Arianna Kyriacou og Eskil Saatvedt
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. Arianna Kyriacou og Eskil Saatvedt
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) Arianna Kyriacou og Eskil Saatvedt
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> ] ”)” Arianna Kyriacou og Eskil Saatvedt
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 Arianna Kyriacou og Eskil Saatvedt
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. Arianna Kyriacou og Eskil Saatvedt
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. Arianna Kyriacou og Eskil Saatvedt
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) Arianna Kyriacou og Eskil Saatvedt
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. Arianna Kyriacou og Eskil Saatvedt
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. Arianna Kyriacou og Eskil Saatvedt
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 Arianna Kyriacou og Eskil Saatvedt
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)] Arianna Kyriacou og Eskil Saatvedt
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å. Arianna Kyriacou og Eskil Saatvedt
Eksempel på automatisk link Arianna Kyriacou og Eskil Saatvedt
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. Arianna Kyriacou og Eskil Saatvedt
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. Arianna Kyriacou og Eskil Saatvedt
Set- og get-enhet • Linker til set-enheten er normalt en Transportlink. • En bruker set- og get-enhet for å sette og hente globale linker. Arianna Kyriacou og Eskil Saatvedt
Eksempel på setting av land Link CountryDataToSetCountry transport (from CountryData to SetCountry) setUnit SetCountry (parameter CurrentCountry) getUnit getCountry (parameter CurrentCountry) Arianna Kyriacou og Eskil Saatvedt
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 Arianna Kyriacou og Eskil Saatvedt
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). Arianna Kyriacou og Eskil Saatvedt
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. Arianna Kyriacou og Eskil Saatvedt
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. Arianna Kyriacou og Eskil Saatvedt
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. Arianna Kyriacou og Eskil Saatvedt
Eksempel Arianna Kyriacou og Eskil Saatvedt
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) Arianna Kyriacou og Eskil Saatvedt
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. Arianna Kyriacou og Eskil Saatvedt
Fordypende indeks • Fra en indeks til en annen over en bestemt entitet. Book [author2book] Author Book Arianna Kyriacou og Eskil Saatvedt
Filtrert indeks • Et søk gir en utlisting som svar. Arianna Kyriacou og Eskil Saatvedt
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. Arianna Kyriacou og Eskil Saatvedt
Gaidet tur /Guided tours • En gaidet tur er en forhåndsbestemt sekvens av sider. • Settes opp ved bruk av automatiske linker. Arianna Kyriacou og Eskil Saatvedt
Indeksert gaidet tur • En indeksert gaidet tur er en gaidet tur som støtter forflytning i sekvensen. Arianna Kyriacou og Eskil Saatvedt
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. Arianna Kyriacou og Eskil Saatvedt
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. Arianna Kyriacou og Eskil Saatvedt
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 Arianna Kyriacou og Eskil Saatvedt