P06 W3C Recommendations XML (02)

Frank Allan Hansen & Bent Otto Guldbjerg Christensen

World Wide Web Consortium er et forum for diskussioner om yderligere udvikling af nettet. Webbets arkitektur består af URLer (Universal Resource Locator) adresseringssystem, HTTP (HyperText Transfer Protocol) og HTML (HyperText Markup Language). Links udtrykt i html er retningsbestemt i een retning og indlejret i dokumenterne. De kan types, men browserunderstøttelsen er mangelfuld, kun få, ex. “stylesheet”, “start” og “næste” er standardiserede.

XML blev udviklet som en simpel mekanisme til at strukturere, lagre og levere information. Udviklet med baggrund i det meget komplicerede SGML og det meget simple HTML.

XML kan ses som en simpel tekstfil med markup tags. Start<> og slut </> tag. En tag har en attribut og en value. Der findes også deklarationselementer markeret ved <!>, f.eks en kommentar <!– og –> og processing instruction elementer (ikke almindeligt forekommende).

Et data objekt er et XML dokument, hvis det er velformet: Dokumentet starter med en XML deklaration. Der er et rod element som alle andre elementer indeholdes i. Alle elementer skal være ordentligt indeholdt; der må ikke være overlappende elementer.

En DTD declaration definerer nye elementer, og hvad de må indeholde. Definitionen af indholdet kaldes en modelgruppe. Når en modelgruppe indeholder flere tokens (atomiske data ojekter (som hedder hvad på dansk?!) kan der bruge sekvens kontrol angivet ved “,”.

Attributterne deklareres adskilt fra element deklarationen i en ATTLIST, hvor attributterne defineres i par som attr_ name attr_type. Mest almindelige attributtype er CDATA – character data.

- og så stod jeg af et stykke tid-

DTD specifikationen blev udformet med tanke på traditionelle textdokumenter, så koncepterne for datatyper er ret svage. XML Schema er et alternativ til DTD’er. De kan bruges uafhængigt og i det samme dokument.

XML specifikationen definerer mekanismer til fysisk at adskille og isolere hver enkelt del af et XML dokument, f.eks hvert kapitel i en bog eller hver template i et stylesheet. Delene kaldes enheder, “entities”. Enheder bruges 1. når den samme information skal bruges flere gange; 2. en XML dokument er så stort, at de skal deles op i flere dele; 3. der er brug for en reference til noget som ikke er XML data.

En enhed skal først deklareres, før man kan referere til den.

<!DOCTYPE rod_element_navn [
<! ENTITY enheds_navn ...>
]>

Enheder kan være både interne og eksterne. De kan også udtrykkes med andre karakterer, f.eks < for <

Namespaces – navnerum giver en “scoping mechanism” , dvs favner alle enheder. Motivationen for at bruge namespaces er at undgå sammenstød mellem element og attributnavne.

Adjunct (extra, but subordinate) standards.

URLer bruges i HTML til at specificere link destinationer, i XML til at lokalisere enheder, give unik id til navnerum og til sted-specifiere i XLink. URI standarden er nyere og inkluderer URL.

“http” (protokol) : // “fahbentor.daimi.au.dk” (domæne) / “xpect/index.html” (path). I HTML kan der yderligere linkes til prædefinerede ankre ved hjælp af #. XPointer har samme funktion i XML, men men understøtter også lokaliseringen af fragmenter ved hjælp af kontekst.

XPath – det er for svært.

XLink-modellen består af Links som indeholder de andre komponenter og som kan tilføjes en beskrivelse af linket som helhed. Participants kan være hele XML- eller andre resurser eller fragmenter heraf, Arcs (som hedder hvad på dansk?!) forbinder participants og angiver start- og slutpunkter for links. Der kan tilføjes metadata for at beskrive hver arc. Metadata deles i to slags; titler som mennesker kan læse og roller som maskiner kan bearbejde (parse).

XLink understøtter to slags links: simple= udgående links med to resurser; og udvidede= så mange resurser man vil, indgående og tredjepartslinks. For at angive betydningen af de indeholdte links indlejres XLink type elementerne: locator, arc, title og resource.

Linkbaser= Dokumenter som udelukkende indeholder indgående og tredjepartslinks.

Formattering (XSL-FO) og transformation (XLST) (XSL= eXtensible Stylesheet Language)

SVG Scalable Vector Graphics

Skriv en kommentar