280 likes | 440 Views
XML. XML programvare. XML prosessor XML tolk XML applikasjon. Prolog. XML deklarasjonen <?xml version=”1.0” encoding=”UTF-8” standalone=”no”?> Document type declaration Prosesseringsinstruksjoner <?Applikasjon instruksjon ?> Kommentar – som i html Blanke tegn. XML dokument. Prolog
E N D
XML programvare • XML prosessor • XML tolk • XML applikasjon
Prolog • XML deklarasjonen • <?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 • 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 • 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 • <!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