1. Lage og vise et enkelt XML-dokument



Like dokumenter
1. Mer om oppbyning av XML-dokument

1. XML Grunnlag

1. XHTML. Innhold Innledning

INF1040 Oppgavesett 5: XML

Intro til WWW, HTML5 og CSS

CASCADING STYLESHEETS (CSS)

Innstillinger. Endre Personalia

Læringsmål XML. Markering av tekst. SGML-familien. Forstå prinsippene bak XML og XHTML. Forstå hva XML kan brukes til og hvordan.

HØGSKOLEN I SØR-TRØNDELAG

(X)HTML, CSS og JavaScript HTML. Det første dokumentet Grunnleggende programmering i Java Monica Strand 26.

Semistrukturerte data og XML

Markeringsspråk og XML

Forsvunnet katt webside

OBLIG 1 - WEBUTVIKLING

Grunnleggende om websider og HTML-kode

I denne oppgaven blir du introdusert for programmeringsspråket JavaScript. Du skal gjøre den klassiske oppgaven Hei verden, med en katt.

Administrering av SafariSøk

Denne rapporten er beregnet for dataansvarlig på Grefsenhjemmet, den som skal installere, vedlikeholde og modifisere systemet.

HVA ER XML? extensible Markup Language En standardisert måte å strukturere ulike typer data Åpent format Enkelt:

Markeringsspråk og XML

Import av varer fra Excel

HØGSKOLEN I SØR-TRØNDELAG

BAAN IVc. BAAN Data Navigator - Brukerhåndbok

OBLIG 2 WEBUTVIKLING

Brukerhåndbok CabinWeb Bruker

HØGSKOLEN I SØR-TRØNDELAG

Dokumentasjon av XML strukturer for ByggSøk

1. NetBeans IDE: Lage en enkel mobilapplikasjon

Introduksjon til HyperText Markup Language

Oppgave 1 (Etter forelesning 31/8) Gå gjennom nettsiden arngren.net og list opp alle problemene du ser. Både i funksjonalitet/bruk og i koden bak.

2 Grafisk grensesnitt 1

HUMIT1731 Hypermedier

GS1 Validering Brukerdokumentasjon

Oppgavesamling til Webutvikling < >

Navngivning av XML elementer

2. Beskrivelse av mulige prosjektoppgaver

Retningslinjer for børsmeldinger via Internett

1. Profiler og variabler

INF109 - Uke 1a

Forberedelser; De sidene vi nå skal lage har etternavnet.htm eller.html. HypertextMarkupLanguage

Web fundamentals. Web design. Frontend vs. Backend Webdesign 17. januar Monica Strand

Brukermanual.

Side 1. Sniggabo CMS brukermanual rev. 2

HTML-del. 1. <!-- ikke slett min kode, vær så snill --> er a) en HTML stil-tag b) en CSS stil-tag c) en HTML kommentar-tag d) en CSS kommentar-tag

1. Relasjonsmodellen Kommentarer til læreboka

Retningslinjer for selskapsmeldinger via Internett

Skatteetaten Drosjesentraler Beskrivelse av filformatet for innsending av opplysninger til Skatteetaten Gjelder fra inntektsåret 2013 Versjon 1.0.

XML. Figur Et eksempel på et XML-dokument

HTML5. Skjemaer på nettsider. Skjemaer med. Informasjonsteknologi 1 og 2. Gløer Olav Langslet Sandvika VGS

Oblig 5 Webutvikling. Av Thomas Gitlevaag

Generell brukerveiledning for Elevportalen

User Input / Output Handling. Innocent Code kap 3-4 INF-329 Øystein Lervik Larsen oysteinl@ii.uib.no 7/11-05

Installasjons veiledning for QuickNG SuperService integrasjon

Oblig 1 Webutvikling av Jon-Håkon Rabben

TDT4102 Prosedyre og Objektorientert programmering Vår 2014

I denne oppgaven blir du introdusert for programmeringsspråket JavaScript. Du skal gjøre den klassiske oppgaven Hei verden, med en katt.

Kom i gang med programmering i Java

the web Introduksjon Lesson

Unit4 Web Dokumentarkiv Dokumentarkiv og vedlegg i Unit4 Web

HUMIT1731. Tekstkoding. Koding/merking av tekst Uke 35. Tekster som teknologiske produkter. Koding/merking på flere nivå. Utvikling av notesystemet

3. Kravspesifikasjon. Experior - rich test editor for FitNesse -

Oblig 4 (av 4) INF1000, høsten 2012 Værdata, leveres innen 9. nov. kl

Brukerveiledning for hjemmesider

INF1040 Oppgavesett 4: CSS

1. Intro om SharePoint 2013

som blanker skjermen (clear screen). Du får en oversikt over alle kommandoene ved å skrive,

TDT4102 Prosedyreog objektorientert programmering Vår 2016

Øvingsforelesning i Python (TDT4110)

Brukerveiledning for identifisering med BankID

Oblig 2: Prototype. Oblig 2: Mulig sekvens. Oblig 2: Grovstruktur. Oblig 2: The Candy-community. Begrenset prototype Teste teknologi:

Oblig 1 Erlend Hannestad

Informasjon for nye brukere Versjon 1.0

1. Cascading Style Sheet (CSS)

INFORMASJON OM ELEKTRONISK FAKTURA TIL IVAR IKS

I denne oppgaven blir du introdusert for programmeringsspråket JavaScript. Du skal gjøre den klassiske oppgaven Hei verden, med en katt.

Leveringsguiden. tjeneste for henting av informasjon om Postens transportprodukter. Versjonshistorikk: nummer 30.mars à jour.

HTML: Del inn nettsiden

LO130A Webpublisering. Forelesning

Hvordan gjøre fjernhjelp til noen som ønsker hjelp med Hageselskapets portal? Av Ole Petter Vik, Asker Versjon

1 E-post og web-browsere

IDA 350, oppgave 4. André Børge Kjetil (gruppe2) 3. november 2005

Markeringsspråk og XML Nettsider og XHTML

Oppgave 1: Gå gjennom nettsiden arngren.net og list opp alle problemene du ser. Både i funksjonalitet/bruk og i koden bak.

Beskrivelse av filformatet for likningsoppgaven pass og stell av barn

Oppbygging av innhold på responsive nettsider.

Bruk av NetBeans i JSP-delen av Web-applikasjoner med JSP og JSF

Bruksanvisning for innlegging av nyheter på Tana kommunes nettsted

Hvordan man kobler til printeren, laster ned CardPresso, installerer skrifttypen og får kommet i gang med produktet.

Brukerdokumentasjon for registrering og rapportering beredskapsutstyr hos Post og Teletilsynet

Kravspesifikasjon Innholdsfortegnelse

BRUK AV TEKSTEDITOREN

4. Installasjonsveiledning. Experior - rich test editor for FitNesse -

Remote Desktop Services

Tema: Fronterdokument

EndNote referansehåndteringsprogram. HiVe biblioteket

Brukerdokumentasjon for LabOra portal - forfattere

1. Å lage programmer i C++

MMT105 Internettprogrammering Uke 44, høst 2007

Forelesning 23/9-08 Webprog 1. Tom Heine Nätt

Transkript:

Avdeling for informatikk og e-læring, Høgskolen i Sør-Trøndelag Lage og vise et enkelt XML-dokument Lene Hoff (revidert av Tore Mallaug) 1.9.2013 Lærestoffet er utviklet for faget XML Teknologi 1. Lage og vise et enkelt XML-dokument Resymé: I denne første leksjonen skal vi se på grunnleggende XML. Du vil lære å sette opp et enkelt XMLdokument, og hvilke regler som følger med det. Videre vil du lære en del grunnleggende byggeklosser i forbindelse med XML. Blant annet hvordan man kan sette opp attributter, tillate særnorske tegn og lignende. Innhold 1.1. INNLEDNING... 1 1.1.1. Elementet i XML-dokumenter... 2 1.2. LAGE ET XML-DOKUMENT... 3 1.2.1. Fremgangsmåte... 3 1.2.2. Oppbygning av et XML-dokument... 5 1.3. REGLER FOR VELFORMEDE XML-DOKUMENT... 6 1.4. ATTRIBUTTER... 7 1.5. PCDATA OG CDATA... 7 1.5.1. Entiteter... 8 1.5.2. CDATA-seksjoner... 9 1.6. ENCODING... 10 1.1. Innledning XML står for Extensible Markup Language og navnet forteller det meste. Extensible (utvidbart) betyr at man kan lage de elementene man vil, i motsetning til HTML hvor det er et fastsatt sett med elementer som skal brukes. HTML er dårlig på å beskrive en rekke dokumenttyper, for eksempel: - Dokumenter som ikke består av de typiske HTML-tagger som head, lister, tabeller o.l. Eksempel kan være å presentere matematiske dokumenter - Dokumenter som du ønsker å presentere i en trelignende struktur. Dette kan være å organisere en bok, med innholdsfortegnelse, kapitler o.l. Dette er vanskelig å beskrive ved hjelp av HTML på grunn av nøstingen av elementer og tekst. Her vil XML fungerer langt bedre fordi XML kan representere alle typer dokumenter på den måten en ønsker.

Lage og vise et enkelt XML-dokument side 2 av 11 XML kan ses på som en plass å lagre data. Det kan også kalles en data bank, der informasjon i XML-dokumentet kan presenteres på mange formater. Dataene kan inngå i alt fra avanserte programmer, f.eks. på Internett, til helt enkle websider. XML-dokumenter kan også brukes til å utveksle data mellom ulike systemer i et datanett. XML blir da et systemuavhengig meldingsformat. Det er ofte 3 typer filer som benyttes når XML-data brukes i programmer, f.eks. for å vise dataene i en nettleser: 1. XML-dokumentet (.xml) som inneholder selve dataene (innholdet). Dette representerer den semantiske delen 2. Stilark, f.eks. Cascading Stylesheet (CSS), som bestemmer hvordan dataene skal formateres og presenteres. Flere stilark kan knyttes opp mot det samme XML-dokumentet slik at de samme dataene kan vises på flere måter, eller på ulik type utstyr (håndholdte PC er, nettleservindu på en skjerm ol). For XML brukes det ofte to ulike standarder for stilark. Dette er CSS (kommer senere i kurset), og det er XSL (kommer senere i kurset) som er en mer avansert standarder for visning av XML-dokumenter. 3. Document Type Definition (DTD) eller XML-skjema brukes for å spesifisere regler for hvordan XML-elementene, attributtene og dataene skal struktureres og relateres. Begge disse skal vi se på senere i kurset. Et XML-dokument (.xml-fila) trenger ikke å være knyttet til verken stilark eller skjema, men for å utnytte XML-teknologien fullt ut kan XML-dokumentet knyttes til ett skjema (en DTD eller et XML-skjema), og et eller flere stilark etter behov. 1.1.1. Elementet i XML-dokumenter Elementet er den viktigste delen av et XML-dokument og er bygd opp på samme måte som i HTML/XHTML-dokumenter, som dere kanskje kjenner fra før. Et element består av startmerke, innhold og sluttmerke: innhold <title>primer</title> startmerke sluttmerke Innholdet til et element beskrives av navnet på merket (start- og sluttmerke). Derfor sier vi at XML er selvbeskrivende, og nettopp dette gjør XML anvendelig å bruke for eksempel i datautveksling. Vi kaller ofte navnet på et element for elementnavn. Trenger vi opplysninger om en person, kan vi for eksempel ha elementnavnene person, navn eller telefon. I XML kan vi også benytte tomme elementer som vi kjenner fra HTML. Disse må da skrives slik: <bilde /> Start- og sluttmerke kalles også for markup. Elementene kan også nøstes, slik at vi får et helt dokument:

Lage og vise et enkelt XML-dokument side 3 av 11 <bok> <tittel>xml Content and Data</tittel> <forfatter>kelly Carey</forfatter> <forfatter>stanko Blatnik</forfatter> <sider>408</sider> <pris>410 kroner</pris> </bok> 1.2. Lage et XML-dokument 1.2.1. Fremgangsmåte Nå er du klar til å lage ditt første XML-dokumentet. Først skal vi bare teste hvordan vi kan vise et XML-dokument i nettleseren. I kap 1.2.2 vil vi komme nærmere inn på selve oppsettet av dokumentet. Begynn med å skrive inn følgende kode i en teksteditor 1 : <?xml version="1.0"?> <!-- Filnavn: Boksamling.xml --> <!-- Forfatter: Lene Hoff --> <!-- Dato: 16.01.03 --> <boksamling> <bok> <tittel>xml Content and Data</tittel> <forfatter>kelly Carey</forfatter> <forfatter>stanko Blatnik</forfatter> <sider>408</sider> <pris>410 kroner</pris> </bok> <bok> <tittel>programmering i Java</tittel> <forfatter>else Lervik</forfatter> <forfatter>vegard Havdal</forfatter> <sider>795</sider> <pris>528 kroner</pris> </bok> </boksamling> Lagre dokumentet som Boksamling.xml. Nå kan du åpne XML-dokumentet i en nettleser. Hvis du ikke har noen skrivefeil, og du har fulgt alle regler for et velformet XML-dokument, vil dataene vises i nettleseren. Nettlesere viser XML-dokumentet på ulike måter hvis det ikke er knyttet noen stilark til dokumentet. Her vises Boksamling.xml i Internet Explorer: 1 En teksteditor kan være Notepad, eller mer avanserte som TextPad eller andre spesielle HTML-/XML-editorer, f.eks. XMLSpy eller 'Exchanger XML Lite'. Prinsipielt fungerer de enkle like godt som de mer avanserte editorene, men forskjellen ligger i hvor mye hjelp du får fra editoren. Med hjelp menes fargelegging av elementene, hjelp til å finne riktige elementer og lignende. Det er viktig at det brukes en teksteditor og ikke en tekstbehandler, som for eksempel Word. Tekstbehandlingsprogrammer legger til formateringer på selve teksten, mens filene vi lager i dette kurset må være ren tekst (ASCII). Det er også viktig (for læringen sin del) at du skriver XML-koden selv, og ikke bruker et verktøy som genererer kode for deg.

Lage og vise et enkelt XML-dokument side 4 av 11 Dersom du bruker Netscape Navigator eller Mozilla Firefox vil det se likedan ut som i Internet Explorer. Nettleseren Opera viser derimot siden på en annen måte (tidligere versjoner av Netscape Navigator viste XML-dokumentet på denne måten): Du velger selv hvilken nettleser du vil bruke, men det anbefales at du bruker de nyeste versjonene. Det er viktig at du minst har Internet Explorer 5.5 eller Netscape Navigator 5. I tillegg til disse finnes det en rekke andre gode nettlesere. Velger du å bruke noen av disse er det lurt å sjekke at de støtter XML og XSLT. Hver oppmerksom på at de ulike nettleserne viser XML-dokumenter på ulik måte. Dette ser vi i bildene over, men det gjelder også når vi for eksempel bruker et stilark som CSS i tilknytning til dokumentet.

Lage og vise et enkelt XML-dokument side 5 av 11 1.2.2. Oppbygning av et XML-dokument XML-dokumenter er delt inn i en prolog og et rotelement (dokumentelementet). Vi vil nå se nærmere på hver av disse delene. Prologen Prologen består i eksemplet over av: - XML-deklarasjonen (<?xml version= 1.0?>). Denne må alltid stå helt først i XMLdokumentet og forteller at dette er et XML-dokument - Kommentarer (<!-- Filnavn: Boksamling.xml -->) - Blanke linjer Alle delene i listen over kan droppes helt, men vi anbefaler sterkt å ta dem med. XMLdeklarasjonen er nødvendig hvis vi vil bruke norske tegnsett (kommer tilbake til dette i kapittel 1.6). Tabellen på side 19 i læreboken 2 har en oversikt over de deler en XMLdeklarasjon kan bestå av. Noen av attributtene vil vi se nærmere på senere i denne leksjonen. Alle linjer som starter med <!-- og avsluttes med -->, oppfattes som kommentarer. Kommentarene ignoreres av XML-prosessoren 3 og har til hensikt å hjelpe programmereren å lese XML-dokumentet. Kommentarer om hvem som har laget filen, når den ble laget, filnavnet og lignende bør alltid være med i en prolog. Blanke linjer brukes for å skille mellom de ulike delene av prologen som gjør et dokument lettere å lese. På samme måte som med kommentarer ignoreres de av XML-prosessoren. Prologen kan også inneholde - DOCTYPE-deklarasjon. Denne deklarasjonen brukes for å henvise til en Dokument Type-Deklarasjon (DTD) som gjør XML-dokumenter lovlige. Et eks kan se ut som <!DOCTYPE boksamling SYSTEM boksamling.dtd >. Mer om dette i en senere leksjon. - Prosessorinstruksjoner. Brukes for å sende mer informasjon til XML-prosessoren, for eksempel informasjon om stilsetting. Vi skal se nærmere på dette i neste leksjon. Rotelementet Rotelementet kalles også for dokumentelementet. Alle XML-dokumenter består av et, og bare et, rotelement. Alle andre elementer vil nøstes innenfor dette, noe som kan gjøre XMLdokumeter ganske komplekse. I eksemplet over er det boksamling-elementet som er rotelementet. Inni dette elementet ser vi at alle de andre elementene er nøstet. Det er bare mulig å ha et rotelement. 2 "XML Primer Plus" av Nicholas Chase (2003). 3 XML-prosessoren er leser XML-dokumentet og gjør strukturen og innholdet tilgjengelig for andre program (XML-applikasjoner). XML-prosessoren må følge definerte spesifikasjoner for XML, mens XMLapplikasjonene kan gjøre hva den vil med dataene.

Lage og vise et enkelt XML-dokument side 6 av 11 1.3. Regler for velformede XML-dokument Det er en rekke regler å følge ved oppbygning av XML-dokumenter. Her er en liste over dem: 1. Elementnavnet må starte med en bokstav eller understrek (_). Dette kan følges av bokstaver, tall, bindestrek, punktum eller flere understreker. Lengden på navnet er ubegrenset 2. Mellomrom og andre symboler er ikke tillatt i elementnavn 3. Kolon kan bare brukes i elementnavn når navnerom spesifisere. Beskrives nærmere i neste leksjon 4. Ingen egendefinerte elementnavn kan begynne med xml eller XML. Disse ordene er reservert til fremtidige spesifikasjoner 5. Alle XML-dokumenter må ha ett, og bare ett, rotelement 6. XML er casesensitivt, hvilket betyr at det skilles mellom store og små bokstaver. NAVN er ikke det samme som navn 7. Alle elementer som inneholder data (ikke er et tomt element), må ha et start- og et sluttmerke 8. Tomme elementer trenger ikke inneholde et sluttmerke, men må da ha en slash (/) på slutten som dette: <logo src= hist.gif /> 9. Alle merker må nøstes korrekt: <adresse><gate>...</gate></adresse> Elementer kan ikke avsluttes før alle barneelementene er avsluttet. Eksemplet her er derfor ulovlig: <adresse><gate>...</adresse></gate> Vi sier vi har et velformet XML-dokument hvis disse reglene følges. Alle XML-dokumenter må være velformet. Ved feil i et XML-dokument, vil for eksempel en nettleser komme opp med en feilmelding som sier hvor feilen ligger. Ved siden av velformede dokumenter har man også gyldige (lovlige) XML-dokumenter. Dette er XML-dokumenter som er knyttet sammen med en DTD eller et XML-skjema. Disse standardene bestemmer blant annet hvilke elementer og attributter et XML-dokument kan bestå av og hvordan de kan nøstes. For eksempel er alle elementer og attributter for et HTMLdokument definert i en DTD. Det er ikke noe krav om å ha et gyldig XML-dokument, men et valg programmereren har.

Lage og vise et enkelt XML-dokument side 7 av 11 1.4. Attributter Attributter brukes for å beskrive ytterligere informasjon om et element. Det består av et navn og en verdi, og må stå i startmerket til et element: <bok innbinding= myk perm >...</bok> Rundt verdien må det alltid stå eller. Det er stor uenighet om hvor attributter skal brukes. Noen mener det er bedre å legge alle dataene i et element, fordi dette gir større fleksibilitet. Vi kunne skrevet bok-elementet vårt over med bare attributter: <bok tittel= XML Content and Data forfatter= Kelly Carey sider= 408 pris= 410 kroner /> Hvis vi vil skrive et element slik er det ikke mulig å ha flere like attributtnavn. Av den grunn er det bare tatt med et forfatter-attributt, mens det i utgangspunktet fantes to forfatterelementer. Det viser en av svakhetene med attributter. I dette kurset vil vi bruke begge deler, så kan dere se selv avgjøre hva dere mener er best mot slutten av kurset. 1.5. PCDATA og CDATA Alle XML-dokumenter består av karakterer/tekst. Dette deles opp i to kategorier: - PCDATA (Parsed Character Data). Karakterer/tekst som må parses 4 - CDATA (Character Data). Karakterer/tekst som ikke parses Innhold til elementer består av PCDATA, mens attributter består av CDATA. Siden PCDATA må parses, vil det være en del tegn som er ulovlig fordi parseren ikke skjønner hva det betyr. Hvis for eksempel tegnet < brukes midt inni et elementinnhold, tror parseren dette indikerer starten på et nytt merke. Dette tegnet brukes i forbindelse med markup (start- og sluttmerkene) og kan derfor ikke være en del av innholdet til et element. Andre tegn som brukes i forbindelse med markup er >,, og &. 4 En parser analyserer XML-dokumentet for å sjekke om syntaksen er rett. Vi kommer nærmere tilbake til dette i neste leksjon.

Lage og vise et enkelt XML-dokument side 8 av 11 1.5.1. Entiteter Løsningen på problemet over kan være å bruke en tegnverdi, eller et forhåndsdefinert navn istedenfor selve tegnet. Tegnene vi nevnte over har forhåndsdefinerte navn: Karakter Forhåndsdefinert navn Tegnverdi < lt > gt quot apos & amp 60 62 34 39 38 For å anvende disse tegnene må de settes opp på en spesiell måte. Ved de forhåndsdefinerte navnene må det stå & foran navnet og ; bak navnet. Tenk deg at vi ønsker å ha denne teksten i et betingelse-element: a < b & c > d For å gjøre dette innholdet gyldig, byttes de ulovlige tegnene ut med de forhåndsdefinerte navnene fra tabellen. Dette vil se ut som: <betingelse>a < b & c > d</betingelse> Alternativt kan også tegnverdiene fra tabellen over brukes. Oppsettet begynner da med &# foran selve tegnverdien, og avsluttes med ;. Her er betingelse-elementet med bruk av tegnverdiene: <betingelse>a < b & c > d</betingelse> Merk forskjellen på bruken av de forhåndsdefinerte navnene og tegnverdiene. Tegnverdiene har altså en ekstra # med. NB! Hvis du ha et innhold som ligner på markup som her <test><innhold> tekst</test> ville du med entitetene over skrevet slik <test><innhold> tekst</test> I Internet Explorer vil allikevel <innhold> oppfattes som markup og vil gi et ikkevelformet XML-dokument. For å unngå dette må mellomrom legges inn mellom < og innhold, som her: <test>< innhold > tekst</test> Vi kan også lage våre egne navn på andre spesielle tegn. I Norge vil det være naturlig å ha med æ, ø og å som innhold i XML-dokumenter. For å ta i bruk disse må vi enten lage våre egne entiteter eller benytte et spesielt tegnsett. Entiteter kommer vi nærmere inn på i neste leksjon, mens spesifisering av tegnsett blir gjennomgått i kap 1.6.

Lage og vise et enkelt XML-dokument side 9 av 11 1.5.2. CDATA-seksjoner Løsningen over fungerer greit hvis det ikke er mange ulovlige tegn som skal brukes. Tenk deg at det er for eksempel JavaScript-kode (eller lignende) som skal lagres som elementinnhold. I slike tilfeller vil det bli en rekke ulovlige tegn som må være med. En slik kode kan for eksempel se ut som: tekst= Hei alle sammen if(a < b && c == d){ document.write( <br/> + tekst + <br/> ) } Denne koden vil vi la stå i et jscript-element og den består av mange ulovlige tegn som ikke tillates som PCDATA. Istedenfor å legge inn en tegnverdi eller et forhåndsdefinert navn for alle disse tegnene, kan vi lage egne CDATA-seksjoner. Karakterer/tegn som kommer i slike seksjoner vil ikke bli parset, noe som gjør at alle tegn kan brukes. CDATA-seksjoner skrives på følgende form: <![CDATA[ ]]> JavaScript-koden over kan legges i en slik CDATA-seksjon: <jscript><![cdata[ tekst= Hei alle sammen if(a < b && c == d){ document.write( <br/> + tekst + <br/> ) } ]]></jscript> Legg merke til at vi legger CDATA-seksjonen rett innenfor jscript-elementet. Nå vil alt innholdet i jscript-elementet bli oppfattet som CDATA og ikke PCDATA (jmf. begynnelsen av kapittelet).

Lage og vise et enkelt XML-dokument side 10 av 11 1.6. Encoding I forrige kapittel ble det beskrevet en del tegn som er ulovlige å bruke som innhold i elementtekster. Mange land har tegn som er spesielle for sitt språk. Det er derfor opprettet mange tegnsett for å dekke de ulike landenes tegn og karakterer. Kravet til en parser for XML-dokumenter er å minst støtte Universal Characterset Transformastion Format (UTF); UTF-8 og UTF-16 Unicode. Her i Norge brukes tegnsettet ISO-8859-1, som blant annet dekker våre særnorske tegn. For å angi hvilket tegnsett som skal brukes i et XML-dokument, benyttes et encodingattributt i XML-deklarasjonen. For våre norske forhold vil vi skrive: <?xml version="1.0" encoding= ISO-8859-1?> For å demonstrere hva som skjer hvis dette attributtet ikke er med, kan vi vise følgende XMLdokument i en nettleser: <?xml version="1.0"?> <skole>høgskolen i Sør-Trøndelag</skole> Her ser du at vi bruker det særnorske tegnet; ø. De ulike nettleserne viser feilmelding på forskjellige måter. Her er hvordan ulike nettlesere viser XML-dokumentet over. Internet Explorer: Netscape Navigator/Mozilla Firefox:

Lage og vise et enkelt XML-dokument side 11 av 11 Opera: Alle nettlesere oppfatter ø som et ugyldig tegn, men viser dette på ulike måter. Legger vi til encoding-attributtet med verdier ISO-8859-1 i XML-deklarasjonen, slik: <?xml version="1.0" encoding= ISO-8859-1?> <skole>høgskolen i Sør-Trøndelag</skole> Her er resultatet når vi viser dette dokumentet i Internet Explorer: Standalone-attributtet XML-deklarasjonen kan inneholde et attributt til, nemlig standalone. Dette attributtet har verdiene yes eller no. Det brukes for å fortelle om relasjonen mellom XML-dokumentet og andre dokumenter. Hvis XML-dokumentet ditt står helt alene og ikke får noe informasjon fra eksterne DTD er (DTD en ligger i en egen fil), sier vi at det er frittstående. Da kan vi sette attributtet standalone til yes. I eksemplet over kan vi sette verdien til yes siden ingen informasjon skal importeres: <?xml version="1.0" encoding= ISO-8859-1 standalone= yes?> <skole>høgskolen i Sør-Trøndelag</skole>