Laste ned presentasjonen
Presentasjon lastes. Vennligst vent
PublisertMarte Halvorsen Endret for 9 år siden
1
XMLSchema
2
Innledende eksempler: 1. 2. 3. Tove 4. Janni 5. Huskelapp 6. Ikke glem avtalen til helgen 7. Vi har sett DTD’en til dette xml dok. Her kommer XMLSchema til samme dokument:
3
XMLSchema <xs:schema xmlns:xs=http://www.w3.org/2001/XMLSchema xmlns="http://www.osir.hihm.no/sfi/kurs/3ip80" targetNamespace="http://www.osir.hihm.no/sfi/kurs/3ip80">
4
XMLSchema I eksempelet ovenfor kan en se at notat er av kompleks type, fordi den inneholder flere elementer. De andre elementene er av simple typer fordi de ikke inneholder andre elementer. Referanse til et XMLSchema: <notat xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="notat.xsd"> Tove Janni Huskelapp Ikke glem avtalen til helgen
5
XMLSchema elementet er rot elementet i et XMLSchema. En schema deklarasjon ser ofte slik ut: <xs:schema xmlns:xs=http://www.w3.org/2001/XMLSchema targetNamespace =http://www.osir.hihm.no/sfi/kurs/3ip80 xmlns="http://www.osir.hihm.no/sfi/kurs/3ip80"> Følgende linje: xs:schema xmlns:xs=http://www.w3.org/2001/XMLSchema Indikerer at elementer og datatyper (schema, element, complexType, sequence, string, boolean, etc.) kommer fra http://www.w3.org/2001/XMLSchema navnerom, og at elementene og datatypene som kommer fra http://www.w3.org/2001/XMLSchema navnerommet skal ha :xs som prefiks. (denne url har til hensikt å beskrive navnerommet.)
6
XMLSchema xmlns=http://www.osir.hihm.no/sfi/kurs/3ip80 Standard navnerom targetNamespace=http://www.osir.hihm.no/sfi/kurs/3ip80 Indikerer at et xml dokument hvor elementene er deklarert til å tilhøre navnerommet til schemaet, skal valideres mot XMLScema.
7
XMLSchema Referanse til et XMLSchema: <notat xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="notat.xsd"> Første og andre linje: xmlns:xsi=http://www.w3.org/2001/XMLSchema-instance xsi:schemaLocation="notat.xsd” For å assosiere Schema med xml dokumentet. Bruker schemaLocation for å spesifisere schema fila.
8
XMLSchema Vi deklarerer elementer og definerer typer Enkle deklarasjoner lager enkle typer. Komplekse deklarasjoner lager komplekse typer.
9
XMLSchema – Enkle deklarasjoner Dette er en enkel deklarasjon av et enkelt element: Enkle elementer inneholder kun ”tekst” Enkle elementer inneholder ikke andre elementer eller attributter. En enkel deklarasjon gjelder for enkle elementer. Deklarasjonen består av element navn og en datatype: Olsen 35 1968
10
XMLSchema - komplekse deklarasjoner Dette er en kompleks deklarasjon av et komplekst element:
11
XMLSchema - komplekse deklarasjoner Komplekse elementer kan inneholde både tekst flere elementer og attributter. Dette er f.eks et komplekst element: Eller dette: John Smith
12
XMLSchema - attributter Deklarering av attributter: Angir navn på attributtet og datatypen F.eks: Olsen Standard verdier: Faste verdier: Påkrevet:
13
XMLSchema – simpleTypes (enkle typer) simpleType definisjoner brukes når det skal settes begrensninger på verdier. Noen eksempler: Alder kan ikke være under 0 og høyere enn 100.
14
XMLSchema – simpleTypes (enkle typer) Eks: Begrense tillatte verdier:
15
XMLSchema – simpleTypes (enkle typer) Eks: Begrense tillatte verdier ved å definere en serie:
16
XMLSchema – simpleTypes (enkle typer) Eks: Begrensning på lengde: Link til liste av restriksjoner
17
XMLSchema – complexTypes (komplekse typer) Definisjon av complekse typer gjøres ved bruk av elementet. Vanligvis vil inneholde element deklarasjoner, attributt deklarasjoner og element referanser.
18
XMLSchema – complexTypes (komplekse typer) Komplekse typer for tomme elementer: complexContent modellen signaliserer at vi ønsker å begrense eller utvide innholdsmodellen av en kompleks type. Her introduseres ingen elementer.
19
XMLSchema – complexTypes (komplekse typer) Komplekse typer for simpelt innhold(husk begrep fra xml terminologi: simplelt innhold). Hvis du skal bruke simpleContent må du definere enten en extention eller en restriction innenfor simpleContent elementet. 35
20
XMLSchema – complexTypes (komplekse typer) Komplekse typer med mixed innhold Dear Mr. John Smith Your order 1032 will be shipped on 2001-07-13
21
XMLSchema – complexTypes (komplekse typer) For at tekst kan forekomme mellom barn elementene må mixed være satt til true. Vi kan også gi complexType et navn og la ”letter” elementet få et attributt som ref. til den komplekse typen. Slik kan flere elementer referere til samme complexType.
22
XMLSchema – complexTypes. Indikatorer Vi kan kontrollere hvordan elementer brukes i dokumenter, med indikatorer. Det er sju typer indikatorer: Som gir orden: ANY Choice Sequence Som angir ant. Forekomster: minOccurs maxOccurs Som grupperer: Group name Attribute name
23
XMLSchema – complexTypes Indikatorer All: Barn nodene kan opptre i vilkårlig rekkefølge. Hvert barn element kan kun forekomme 1 gang. Choice: kun et av elementene innenfor en choice deklarasjon kan forekomme innenfor den ytre elementkontaineren. Sequence: spesifiserer at elementene må være i en bestemt rekkefølge
24
XMLSchema – complexTypes Indikatorer maxOccur: spesifiserer hvor mange ganger et element kan forekomme. minOccur: spesifiserer minimum antall ganger et element kan forekomme.
25
XMLSchema og datatyper XMLSchema har noen innebygde datatyper: String: bokstav og tegn, linjeskift, mellomrom og tabulator – tegn. Date: CCYY-MM-DD Time: hh:mm:ss dateTime: CCYY-MM-DDThh:mm.ss Boolean: true/false Binary: base64Binary (Base64-encoded binary data) hexBinary (hexadecimal-encoded binary data)
26
XMLSchema og datatyper. Eks: 2002-09-24 09:30:10.5 2002-05-30T09:30:10.5 John Smith 999
27
Oppsummering Alle XML schema består av komponenter, hovedsakelig elementer, attributter og type definisjoner. Når alt kommer til alt er kanskje ikke XMLSchema så vanskelig. XMLSchema er overlegen i detalj i forhold til DTD
Liknende presentasjoner
© 2024 SlidePlayer.no Inc.
All rights reserved.