XML
XML programvare XML prosessor XML tolk XML applikasjon
Prolog XML deklarasjonen Document type declaration <?xml version=”1.0” encoding=”UTF-8” standalone=”no”?> Document type declaration Prosesseringsinstruksjoner <?Applikasjon instruksjon ?> Kommentar – som i html Blanke tegn
XML dokument Prolog Dokument element Elementene
Krav til velformet XML dokument Ett dokument element Ren fletting av elementer Taggene er case sensitive Alle tagger på avsluttes Start tag navnet må være lik slutt tag navnet
Elementene Navnet Innholdet Må starte med bokstav eller _ Kan videre ha tall, bokstav, punktum, - eller _ Navnet kan ikke starte med xml Innholdet Elementer Tegn data Tegn data kan ikke være <, >, & eller ]] Begge deler Tegnreferanser og entitetsferanser CDATA seksjoner - <![CDATA[….]]> Prosesseringsinstruksjoner Kommentarer
Behandling av blanke tegn XML prosessoren sender blanke tegn til xml applikasjonen xml:space attributtet gir xml applikasjonen informasjon om behandling av blanke tegn
Attributter Navneregler som for elementer Navn og verdi skilles med = Verdien skal stå i enkle eller doble apostrofer Verdien kan ikke inneholde samme apostrof som avgrenser den Verdien kan ikke inneholde & eller < Verdien kan inneholde referanser
Namespace Navneregler som for elementer Definisjonen – xmlns:prefix=”URI” Bruk - <prefix:tagnavn> Default namespace – xmlns=”URI” Omdefinering av default namespace Sletting av default namespace – xmlns=”” xml navnerommet er forhåndsdefinert
Gyldige XML dokumenter Er velformulert Inneholder eller refererer en DTD Document type declaration - <!DOCTYPE Dokument element [markup]> eller Refererer et XML schema dokument Definerer innholdet og strukturen i dokumentet
Innholdet i DTD Element type deklarasjon Attributt deklarasjoner Definerer element type, rekkefølge og innhold Attributt deklarasjoner Definerer attributtene til et element, datatype og standardverdi Entitetsdeklarasjoner Notasjonsdeklarasjoner Prosesseringsinstruksjoner Kommentarer Parameter entitets referanser
Element type deklarasjonen Syntaks - <!ELEMENT navn innhold> Innholdsspesifikasjon EMPTY ANY Elementer Sekvens - , Valg - | Betydningen av +, * og ? Elementer og tegndata Bare tegndata - #PCDATA Blandet innhold
Attributt deklarasjonen Syntaks - <!ATTLIST Elementnavn Attdef> Attdef : Navn Type Defaultdefinisjon Flere attributt deklarasjoner for samme element adderes Ved redefinisjon av attributt velges det første
Attributt typer CDATA – streng med alle lovlige tegn Tokenized type oppramsingstype
Tokenized type Verdi alle lovlige tegn Nøkkelord ID – unik verdi Må ha verdi som følger navneregel for XML IDREF – refererer ID i annet element IDREFS – liste av ID referanser ENTITY – navnet til en utolket entitet ENTITIES – liste av flere utolkede eniteter NMTOKEN – verdien kan starte med tall og inneholde kolon, men ikke som første tegn NMTOKENS – liste av NMTOKEN
Oppramsingstyper Liste av NMTOKEN skilt med | i paranteser NOTATON (liste av NOTATION navn adskilt av |) Ett element kan bare ha et attributt av type NOTATION
Default definisjon #REQUIRED – må spesifiseres #IMPLIED – valgfritt å spesifisere ”verdi” – angir standardverdi #FIXED ”verdi” – angir fast standardverdi
Namespace definisjon i DTD xmlns attributtet må defineres Verdien må spesifiseres (#REQUIRED) Elementdefinisjonen må inneholde prefix for namespace Et element navn som finnes i flere namespace må defineres for alle
Bruk av ekstern DTD Syntaks Bruk av både intern og ekstern DTD <!DOCTYPE Dokument-element SYSTEM ”URL”> Bruk av både intern og ekstern DTD Definer ekstern først fulgt av intern([]) Intern definisjon har prioritet Ignore, include for eksterne definisjoner Syntaks - <![IGNORE[….]]>
Entitetstyper Generell kontra parameter Intern kontra ekstern Tolket kontra utolket
Entitetstyper i XML Generell tolket intern Generell tolket ekstern Generell utolket ekstern Parameter tolket intern Parameter tolket ekstern
Deklarasjon av generell tolket intern Syntaks - <!ENTITY Navn Verdi> Navn må følge navneregler for XML Regler for Verdi Settes inn i enkle eller doble apostrofer Kan ikke inneholde samme apostrof som benyttes for å avgrense Bare & for å starte entitetsreferanse, ikke % Innholdet må være lovlig på stedet den settes inn Settes inn med &Navn;
Deklarasjon av generell tolket ekstern Syntaks - <!ENTITY Navn SYSTEM Url> Navn må følge XML navneregler Url settes i enkle eller doble apostrofer Innholdet må være lovlig på det stedet det settes inn Settes inn med &Navn;
Deklarasjon av generell utolket ekstern Syntaks - <!ENTITY Navn SYSTEM Url NDATA Notasjonsnavn Navn må følge XML navneregler Url settes i enkle eller doble apostrofer Notasjonsnavn er navnet på en deklarert notasjon Notasjonsdeklarasjonen beskriver et dataformat eller url for et program som kan behandle dataformatet Navn tilordnes en attributt av type ENTITY eller ENTITIES
Deklarasjon av NOTATION Syntaks - <!NOTATION Navn SYSTEM Systemidentifikator Navn følger regler for XML navn Informasjonen sendes til XML applikasjonen
Deklarasjon av intern tolket parameterentitet Syntaks - <!ENTITY % Navn Verdi> Parameteriserer innholdet DTD Settes inn med %Navn; Navn følger regler for XML navn Verdi omsluttes av enkle eller doble paranteser Verdi kan ikke inneholde apostrofen som avgrenser verdien Verdi kan ikke inneholde % og & bare som første tegn i generell entitetsreferanse
Deklarasjon av ekstern tolket parameterentitet Syntaks - <!ENTYTY % Navn SYSTEM Systemidentifikator> Settes inn med %Navn; Navn følger regler for XML navn Systemidentifikator omsluttes av enkle eller doble paranteser Systemidentifikator kan ikke inneholde apostrofen som avgrenser verdien Systemidentifikator er url til filen som inneholder DTD deklarasjoner
Tegnreferanser Innsettingssyntaks - &#desimaltall; eller &#hheksadesimalt-tall; Benyttes for å sette inn utilgjengelige tegn eller tegn som er ulovlige på innsettingsstedet Kan bare benyttes for tegn som er lovlige i et XML dokument Predefinerte entiteter