Afsnittet er temmelig teoretisk. Er du mere til det praktiske, går du blot til det næste afsnit.



Relaterede dokumenter
Krav i Leverancekontrakt Bilag 2 krav lyder (jf. ændringsforslag 18) således:

Encoding:...1 Et tegn sæt (character set):...1 UTF-8 og UTF-16 (Unicode):...2

Manual til opsætning af Jit-klient version 1.0. Opsætning. Copyright Jit-Danmark Aps Find mere information på

SUP-specifikation, version 2.0. Bilag 14. SUP-Styregruppen. Ordliste (informativ) Udkast af 12. juni Udarbejdet for

TravelTales; håndtering af konfigurationsfil

BILAG 1 GENERELLE BETINGELSER INTERN (VERSION 1.0 AF 31. MAJ 2005) (I DET FØLGENDE KALDET GENERELLE BETINGELSER) OIO STANDARDAFTALE FOR WEB SERVICES

Namespaces. Vi kan kvalificere elementer på denne måde: <?xml version="1.0" encoding="iso "?>

It og informationssøgning Forelæsning november 2006 Jakob Grue Simonsen. Hypertekst og Python. Andersen & Simonsen: kap. 12

Håndbog Til CPR services. Bilag 8 GCTP-standard m.m. CPR-kontoret

Generelt Udtræk leveres som Zip-filer indeholdende udtræk i det format, som man som kunde har valgt.

DAVAR Omdøbt til SagDokumentFormat. Attention er skilt ud i et selvstændigt format, AttentionFormat.

Digitale Videnssystemer: Notater

XML webservice for pensionsordninger. Version 1.0 Draft A

Lav dine egne hjemmesider/websider

Hjemmeside på SkoleKom

Gitte Smed, Styrelsen for biblioteker og medier. Midtvejstest af tilgængeligheden til nyt netsted

Langtved Data A/S Nyhedsbrev

Eksempel på transformation: XML -> RTF dokument:

Dokumentation. Udbyder : sms1919.dk Service : sms-grupper Static FBML Facebook. : Facebook Integration med sms-grupper.

Vejledning i skabelse og test af metadata

PHP Quick Teknisk Ordbog

Opmog opm- om HTML og XML

Webside score dictionary.com

HTML5 fortsat: Underside, links og tekstelementer på din hjemmeside

Hvorfor skal vi bruge objekt orienteret databaser?

Daglig brug af JitBesked 2.0

Web Services Light. Karen Thomsen. Silkeborg Bibliotek. Karen Thomsen

DanDasGraf og XML. v. Jesper Stahl Madsen Orbicon Informatik Orbicon Leif Hansen A/S

VANSEnvelope TESTPROTOKOL FOR DEN GODE VANSENVELOPE. Namespace: urn:oio:medcom:vans-envelope: VANS

Fra Informationsmodel til en DTD

e-conomic modul til Magento

DM536. Rapport og debug

Udgivelsen er beskyttet af Creative Commons license, Navngivning 2.5

Seriel kommunikation RS232 / RS485

Dokumentering af umbraco artikeleksport:

I denne artikel, vil der blive gennemgået de grundlæggende PHP-funktioner, såsom udskrift til skærmen, tid og dato og if-sætningen.

Denne artikel er til dem der ønsker at vide mere om hvad CSS er og hvad CSS kan bruges til hvad angår WWW.

Web 2.0. World Wide Web (www)

Bilag 10. Dataindhold i SUP-databaser. Udkast af 12. juni Udarbejdet for. SUP-Styregruppen

Integration af online tilbud

Syntaks og struktur i EDI-meddelelser

Sådan kan du sende data fra din egen hjemmeside til JitBesked via en HTML-JDF.

GRAFISK PRODUKTION & WORKFLOW. Endotest website

Dokumentationsguide for dansk Bankkonto

Kort om baggrund for kurset, aktører, kodning.dk

DocBook SGML/XML. Forhistorien for Linux Friheden til at vælge Dokumentation. I bestemmer :-) Motivation for DocBook Alternativer til DocBook Docbook

FESD-standardiseringsgruppen Att: Palle Aagaard IT- og Telestyrelsen IT-strategisk kontor Holsteinsgade København Ø

Manual til administration af online booking

Vejledning til listings-pakken

Brugervejledning til databrowseren

Effectiveness of Data

SWC Elementer i klassedefinition

SOSIGW. - Driftsvejledning for SOSIGW 1.0. Indeks

Kulturministeriets it-arkitekturpolitik

JSP, Tomcat. Tutorial lavet af Jákup W. Hansen TSU semester 10.october 2007

Database kursus Forår 2013

It og informationssøgning Forelæsning december 2006 Jakob Grue Simonsen. Diverse emner af almen interesse

Bogen om nøgletal af Jesper Laugesen og Anette Sand

Septimas høringssvar vedrørende dokumenteterne FKG datamodellen - Version Fysisk implementering.pdf og FKG_2_3_1_mssql.sql

Løsning af simple Ligninger

App til indmelding af glemt check ud

Integration af online tilbud

PHP Crash course. Databaser

DIVISIONSMATCHBEREGNING VERSION 1.07

CSS introduktion: Tekstformatering med CSS

Internet vs WWW. Internettet er IKKE det samme som www. Internettet Er et netværk af computere Gør det muligt af dele information

Vejledning i Opretning af formularer

R E D C A P M A N U A L. Importér data til REDCap fra CSV-fil. Opbyg din eksisterende database i REDCap Version 1.0

Webside score printersupportnu mbercare.blogspot.com

Semantic Web teknologier. RDF Resource Description Framework. Henrik Hvid Jensen

Projekt - Valgfrit Tema

Webservices. hvad er det og hvad kan det bruges til? Rikke Lose Databasekonsulent, DBC

Manual til indberetning. Ventelistelukning.dk

Vejledning i upload af serier til Danske tegneseriskaberes app.

Hillerød Kommune. It-sikkerhedspolitik Bilag 8. Kontrol og adgang til systemer, data og netværk

Begrænsninger i SQL. Databaser, efterår Troels Andreasen

IKT og Videnrepræsentationer

Punktskrift eller Tale Via

Nyt skoleår i SkoleIntra Vejledning 2017

De skjulte input typer:

Dokumentlog. Dato Version Beskrivelse Applikation version Ny godkendelsesproces. Reference Forfatter Godkender.

Webside score google.com

Listen over reserverede ord er meget lang, men de væsentligste vil jeg beskrive her i denne artikel:

OPBYGNING AF INSTRUMENTER. Online Designeren Record ID Felttyper Validering og variabelnavne

ABM standard arbejdsgruppen nedsat af Statens Arkiver, Biblioteksstyrelsen og Kulturarvsstyrelsen

Lav din egen forside i webtrees

Velkommen til REX onlinehjælp

SYSTEMDOKUMENTATION AF POC

GIA TESTPROGRAM. General Intelligence Assessment. VIGTIGT Læs venligst brochuren grundigt igennem, inden du gennemfører testningen

DataHub Forbrugeradgangsløsning Spørgsmål og svar

Nyt skoleår i SkoleIntra

På vej mod internationalt orienterede datastandarder

Energistyrelsens Tilskudsportal Vejledning for brugere

Hillerød Kommune. It-sikkerhedspolitik Bilag 10. Beredskabsplanlægning

Word-9: Brevfletning i Word 2003

Nej. Ikke RUC koden, men nogle koder bliver delt. Kæresten kender koden til Netflix. Nej.

2. BRUGEN AF EDIFACT. Indholdsfortegnelse

Webside score marking.seoonline.xyz

Sundhedsfagligt indhold (SFI)

Media College Aalborg Side 1 af 11

Transkript:

Afsnittet er temmelig teoretisk. Er du mere til det praktiske, går du blot til det næste afsnit. XML (eng. extensible Markup Language) XML er en måde at strukturere data på i tekstform. På samme måde som HTML anvendes til at præsentere data på i f.eks. en browser, anvendes XML til at definere/beskrive selve data. På det seneste er XML blevet udråbt, til at være løsningen på alle mulige problemer- og det kan også godt være, at det bliver det, men i sig selv kan XML ikke gøre noget. XML er udvidelig XML er et såkaldt beskrivende sprog (eng. Meta language), og ordet Extensible betyder, at det er muligt at tilføje nye elementer efter behovet. XML er ikke som HTML, der er ikke nogen forud definerede koder/elementer, som f.eks. <body> i HTML. XML koder og deres betydning kan defineres efter behov. Da XML kan udvides inden for rammerne af standarden, har man mulighed for at tilpasse det til den enkeltes behov, f.eks. ved at starte med simple datastrukturer og så udvide det i takt med, at behovet for mere sofistikerede datastrukturer opstår. XML er læsbart XML er almindelig tekst, selv om det ikke er beregnet til at skulle læses af mennesker. Til gengæld er det nemt at have et program til at læse og fortolke en sådan tekst. Der er således dukket mange standard programmer (og biblioteker) op i den sidste tid, som gør implementeringen af XML i egne programmer meget nemt. XML kan struktureres Da XML indeholder mulighed for at angive de såkaldte "Dokument type Definitioner" (DTD), dvs. mulighed for at beskrive, hvordan dokumentstrukturen er, har det givet mulighed for at definere standarder inden for forskellige brancher. Altså en mere simpel EDI/EDIFACT løsning. XML kan kontrolleres Hvis der findes en DTD til et XML dokument, og det er ikke altid tilfældet, kan strukturen af dokumentet kontrolleres af de føromtalte standard produkter. Dvs. at udviklingsomkostningerne ved udvidelse/implementering af XML begrænses til selve anvendelsen af XML-data, idet kontrollen af strukturen og syntaksen kan overlades til standardprodukter. Til sidst skal lige nævnes at en afløser til DTD, XML Schema, er stærkt på vej, og vil være at finde hos Kand.dk snart. Fordele ved XML XML har betydning for databeskrivelsen, ligesom HTML har det for datapræsentationen. Det er derfor, at XML er utrolig populært og dets anvendelse spredes mere og mere. Nogle af de helt åbenlyse betydninger er:

Ingen begrænsninger i antallet af elementer Flexibilitet med hensyn til udvidelse Egen fortolkning af elementer Mulighed for oprettelse af egne standarder inden for rammerne af XML Standard-værtøjer til fortolkning og validering af XML Simpel men kraftfuld mulighed for udveksling af data mellem forskelligartede applikationer, og dermed også mellem forskellige interessenter. Der findes sikkert også andre fordele, men også enkelte ulemper. Ulemperne ved XML Det faktum, at XML er tekstbaseret, og at dataelementer er "kodede", betyder, at selve beskrivelse af dokument strukturen (den såkaldte DTD'er) samt markering af data, ofte vil fylde mere end selve dataindholdet. Så selv om kapacitets krav ikke er noget man taler om, så skal XML ikke opfattes som en erstating af en database. Den er plads ineffektiv. Den kan heller ikke på en effektiv måde håndtere relationelle sammenhænge, selv om XQL har set dagens lys. Når XML er pladskrævende, er det samtidigt også et langsommere udvekslings format end f.eks. andre specifikke formater. I dette afsnit kommer vi ind på definitionen af et XML element, samt de helt generelle regler/syntaks der gælder for disse elementer. Den fulde XML syntaks fra World Wide Web Consortium (W3C) findes i kap. Syntaks til dette kursus. Grundregler Syntaksen for XML er ret simpel. Denne består af markeringer (også kaldet tags) og tekst. Se på følgende eksempel med en firma-markering: <firma>kurt Nielsen ApS</firma> En sådan linie i XML vil vi kalde for et XML-element (eller blot element). Det ovenstående element består af 3 dele: Start-markering <firma> Data-indhold Kurt Nielsen ApS Slut-markering </firma> Og nu kan vi præsentere de første 2 regler for et XML-element: Hvis der findes et start-markering, så skal der findes et slut-markering med samme navn. Start- og slut-markerings navnet skal være fuldstændig ens med hensyn til store og små bogstaver. Som følge heraf er følgende XML-dokument ikke korrekt udformet: <kunde> <firma>kurt Nielsen ApS

<telefon>12 34 56 78</Telefon> </kunde> idet slut-markering </firma> mangler og slut-markering </Telefon> anvender stort bogstav "T", hvor det skulle have været lille "t" Indskudte elementer I eksemplet er der ligeledes vist, at et element kan indeholde et andet element. Vi vil kalder det for et indskudte elementer. Og der gælder følgende regel : Slut-markering for indskudte elementer skal overholde hierarkiet. Det er altså ikke nok, at der er en slut-markering, og at navnet på denne er identisk med start-markeringen, det skal også forekomme symmetrisk (overholde hierarkiet). F.eks. er det næste XML-dokument derfor ikke korrekt udformet: <kunde> <telefon>12 34 56 78</kunde> </telefon> Den korrekte måde at skrive dette XML-dokument er: <kunde> <firma>kurt Nielsen ApS</firma> <telefon>12 34 56 78</telefon> </kunde> I øvrigt skal du være opmærksom på, at man ikke må navngive et element så det begynder med 'xml' (uanset om det er med store eller små bogstaver). Disse navne er reserveret af standardiserings organisationen (W3C). Tomme elementer Det er ikke altid, at et element har et indhold. Vi kalder dem "tomme elementer" og disse kan skrives på to måder: <telex></telex> eller <telex/> Begge notationer kan anvendes og det er tilladt at veksle mellem dem i et og samme dokument. Blandede elementer Sidst men ikke mindst, elementer kan både indeholde tekst og andre elementer på en og samme gang: <besked> Hej Tim, se lige det vedlagte billede! mvh

Kai <vedlagt>portrait.tiff</vedlagt> </besked> I det tidligere afsnit har vi set at elementer kan have et indhold, kan være tomme eller de kan indeholde andre elementer. I dette afsnit vil vi se, at man kan knytte egenskaber (også kaldt attributter) til elementer. Syntaks Den fulde XML syntaks fra W3C findes i kap. Syntaks til dette kursus. Her ser vi på de generelle regler omkring egenskaber. Men først et lille eksempel: <kontanter valuta='dkk'>24.00</kontanter> Og vi kan præsentere den første regel: En egenskab skal altid bestå af et navn/værdi par. For eksempel vil, en for HTML helt almindelig <option> markering, være ugyldig. <option value="1" selected>januar</option> I XML ville det se ud som følger: <option value="1" selected="">januar</option> Idet, Værdien af en egenskab altid skal placeres imellem to anførselstegn (enkelte ['] eller dobbelte ["]). Der må kun forefindes en egenskab med et og samme navn. Følgende XML har således begge fejl. <kassebeholdning> <checks valuta=dkk >154.00</checks> <kontanter valuta='dkk" valuta="sek" >254.00</kontanter> </kassebeholdning> Egenskaber vs. elementer Skal man designe et XML dokument, vil man meget ofte stille følgende spørgsmål: "Hvornår skal man anvende egenskaber (attributter), og hvornår skal man anvende indskudte elemnter?" Det er nemt at udskifte anvendelse af egenskaber med indskudte elementer. For eksempel kan følgende XML: <kassebeholdning> <kontanter valuta="dkk">200.00</kontanter> <kontanter valuta="sek">54.00</kontanter> </kassebeholdning> nemt omdannes til : <kassebeholdning>

<kontanter> <valuta>dkk</valuta> <belob>200.00</belob> </kontanter> <kontanter> <valuta>sek</valuta> <belob>54.00</belob> </kontanter> </kassebeholdning> Det modsatte er ikke altid lige oplagt. Men der er ikke noget krav i selve XML om, hvornår der skal anvendes det ene eller det andet. Den enkelte kan, inden for rammerne af syntaksen, selv afgøre dette. Der findes dog mange, som mener, at anvendelsen af egenskaber skal begrænses mest muligt. Hvorvidt dette passer til dig, eller om en mere intensiv anvendelse af egenskaber er optimalt for dig, må nok afgøres ud fra det du skal anvende XML til, end de mere generelle betragtninger. Du skal dog være opmærksom på følgende forhold, under dit designarbejde: egenskaber er een dimensionale, dvs. de kan ikke håndtere komplicerede struktur. egenskaber kan kun optræde een gang i et element (regel 3) og kan derfor ikke håndtere multiple forekomster i samme element (indskudte elementer kan). På nuværende tidspunkt burde du have en god ide om hvordan data kan markeres, så det overholder syntaksen. I dette kapitel vil vi beskæftige os lidt med den administration som kræves for at et XML-dokument kan blive anvendt i bredt forstand, f.eks af en "browser". Tegnsæt Har du lagt mærke til, at vi i det tidligere kapitel har benyttet markeringen <belob>, i stedt for <beløb>? Dette skyldes blandt andet, at almindelig browsere som f.eks IExplore, ikke kan forstå de danske specialtegn. Prøv selv : Derfor findes der en måde, hvorpå det er muligt at specificere, hvilket tegnsæt der anvendes. Dette er den såkaldte XML deklaration, og adskiller sig fra XML elementer ved at markeringen er udvidet med et '?' (spørgsmålstegn). <?xml version="1.0" encoding="iso-8859-1"?> Lige pludselig så virker det efter hensigten, vi kan anvende de danske tegn til navngivning af elementer samt egenskaber (attributter). Prøv selv.

Version Du har sikkert lagt mærke til, at der har sneget sig en anden egenskab ind i deklarationen. Dette er et "syntaktisk" krav, at versionen være angivet. Vil man anvende XML-deklarationen, så skal versionen være angivet. Den er tiltænkt fremtidig brug, men er altså påkrævet allerede nu. Prøv at gå tilbage til det foregående eksempel, fjern version="1.0" og se, hvad der sker. Ind imellem har man brug for at kunne kommentere et dokument, dvs. angive en tekst, som ikke skal være en del af XML data og som heller ikke skal fortolkes af det program eller bibliotek, der skal behandle dokumentet. Andre gange kan der være behov for at specificere yderligere instruktioner til det program eller bibliotek, der skal behandle dokumentet, dette kaldes "Proces Instruktioner" og er heller ikke en del af XML data. I dette kapitel vil vi kort komme ind på disse emner. <?xml version="1.0" encoding="iso-8859-1"?> <!-- En lille kommentar --> Men der knytter sig også nogle regler til en kommentar. 8. Kommentarer må ikke forekomme indenfor element markeringer. 9. Kommentarer må ikke indeholde '--' strengen. 10. Kommentarer må ikke slutte med et '-' tegn. Alle 3 regler er blevet overtrådt i følgende XML dokument: <?xml version="1.0" <!-- Anvendes ikke --> encoding="iso- 8859-1"?> <!-- Dette beløb er --alt-- for småt --> <!-- heldigvis er vi snart færdige ---> Proces Instruktioner Proces Instruktioner er meget lidt brugt af almindelige udviklere, men vi tager det med for en helheds skyld. Disse "Process Instruktioner" er instruktioner til den applikation der anvender fortolkerprogrammet eller biblioteket. Det er altså ikke en del af XML data, og det skal heller ikke bruges af fortolkeren. Notationen minder meget om XML deklarationen. Vi har tidligere set, hvordan deklarationer påvirkede selve fortolkeren uden at være en del af XML data. Men dette skyldes, at XML deklarationen er en "Proces Instruktion", blot beregnet på selve fortolkeren.