XML - kurs. XML-kurs for nybegynnere. ICONS Management Elisabeth Buntz

Like dokumenter
1. XML Grunnlag

XML Schema. David Massey MBIB

1. XHTML. Innhold Innledning

1. Lage og vise et enkelt XML-dokument

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

1. Mer om oppbyning av XML-dokument

Markeringsspråk og XML Nettsider og XHTML

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

XML og JDOM. Helge Furuseth

Intro til WWW, HTML5 og CSS

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

Markeringsspråk og XML

MPEG-7. Problemstilling:

Semistrukturerte data og XML

NOIS-PIAH XML-import Filformat

XML. Figur Et eksempel på et XML-dokument

Semistrukturerte data og XML

XML. Databaser Leksjon 14c: XML - 1

Markeringsspråk og XML

Grunnleggende om websider og HTML-kode

INF1040 Oppgavesett 5: XML

CSS. Aud Marie Hauge ekspert i brukskvalitet og universell utforming i Epinova AS

Javascript. Mer om layout

og XML Where is the Life we have lost in living? Where is the wisdom we have lost in knowledge? Where is the knowledge we have lost in information?

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

Navngivning av XML elementer

MMT105 Internettprogrammering Uke 44, høst 2007

XSLT 2. David Massey MBIB

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

OBLIG 1 - WEBUTVIKLING

Web Services. Olav Lysne

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

XSLT 1. David Massey MBIB

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

Programmeringsrammeverk som kan installeres på Windows Mobiloperativsystem

HØGSKOLEN I SØR-TRØNDELAG

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

NCE TOURISM FJORD NORWAY. FJORDNETT INTERNETTFORUM 2012 Bergen, 12./13. juni 2012

Beskrivelse av filformatet for likningsoppgaven pass og stell av barn

EKSAMEN Web-publisering

XML Kurs for earkivar

Nettsider og XHTML. SGML-familien. Hvordan lage et nettsted

Produktinfo WebService. integrasjonsbeskrivelse

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

CASCADING STYLESHEETS (CSS)

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.

CSS-formatering: stilark med kommentarer

XML og XHTML. Hva er nå egentlig denne teksten? Et litt mer avansert XML-eksempel. Et meget enkelt XML-eksempel. For å få fortalt hva teksten er

Dobbelklikk på program-ikonet!

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

Hovedprosjekt i data ved Høgskolen i Oslo våren 2007

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

EKSAMEN. Elektronisk publisering. INNFØRING MED PENN, evt. trykkblyant som gir gjennomslag

extensible Markup Language XML

the web Introduksjon Lesson

Forsvunnet katt webside

HUMIT1731 Hypermedier

EndNote referansehåndteringsprogram. HiVe biblioteket

Digitale dokumenter 1

Teknisk håndbok SPESIFIKASJON. Påmelding i XML-FORMAT. versjon Status: Gjeldene. Påmelding XML format versjon 2.9

EKSAMEN Webpublisering

Gruppe prosjekt del 3. INFO134 Klientprogrammering Vår 2017 Kandidatnummer: 304, 298

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

Eksempeleksamenssett for Informasjons og publiseringsteknologi faget høsten 2005.

HTML: Del inn nettsiden

UDDI norsk katalog for registrering av tjenester (WMS, WFS, WCS, WS) i Norge digitalt

Beskrivelse av filformatet for opplysninger om "Kjøp fra primærnæring Pelsdyrskinn" til Skatteetaten

Teknisk håndbok efaktura Spesifikasjon Påmelding i XML-format Innhold

HØGSKOLEN I SØR-TRØNDELAG

Håkon Tolsby Håkon Tolsby

Pass og stell av barn

HØGSKOLEN I SØR-TRØNDELAG

XML og Mobilt Internett

Læringsmål og pensum. Hvordan virker webteknologi? (klient-tjener arkitektur) HTML - virkemåte. Nettleser: Firefox, Opera, Safari

- reklamebannere mobil og tablet

Presentasjon av avanserte lenkestrukturer

I denne oppgaven skal du lære hvordan du kan flytte rundt på elementer og gjemme elementene bak andre elementer ved hjelp av CSS.

Steg 1: Felix har forsvunnet!

Hvorfor ikke bruke Word?

Steg 1: Vi starter fra toppen

Rammer. Mer om Javascript

Grensesnittene mellom Legemiddelverket og de andre eresept-aktørene

Oppgavesamling til Webutvikling < >

file:///c:/users/michaelp/sites/dkdm/dw6/dreamweaver6.html

Brukerdokumentasjon. Webservices og webklient for kodeverk/ kodeverdi verifisering

CSS: Style nettsider. Introduksjon. Skrevet av: Arve Seljebu

Innstillinger. Endre Personalia

Information search for the research protocol in IIC/IID

Administrering av SafariSøk

OBLIG 2 WEBUTVIKLING

Innføring i SOAP. Agenda

Beskrivelse av filformatet for opplysninger fra drosjesentraler til Skatteetaten

Håkon Tolsby Håkon Tolsby

Webutvikling oblig 1 Marius Hanssen

Pen- tes'ng av webservices. Asbjørn Reglund Thorsen Gruppe- og utviklingsleder UIO/FSAT

Stilark Cascading Style Sheets - CSS

Stilark Cascading Style Sheets - CSS

Oblig 1 Webutvikling av Jon-Håkon Rabben

Markeringsspråk og XML

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

Transkript:

XML - kurs XML-kurs for nybegynnere ICONS Management Elisabeth Buntz

XML: kursoversikt XML syntaks, elementer, attributter, entiteter Visningsmåter: CSS, XSL DTD: Document Type Definition Namespace XML Schema XSLT, Xpath Hands-on koding! Kilder til videre studier 07.02.2011 ICONS Management 2

Hvorfor lære XML? Microsoft: XML vil revolusjonere web og være fundamentet for utvikling av neste generasjon web-løsninger XML vil være grunnleggende komponenter i alle fremtidige Microsoft produkter Oracle: XML har det som trengs for å bli det allmenne utvekslingsformat på web for både applikasjoner og dokumenter Vi får henge med å se hva dette har å by på for oss! 07.02.2011 ICONS Management 3

XML standarden World Wide Web Consortium utvikler XML XML 1.0 Recommendation XML Working Group februar 1998 5th ed 26. november 2008 http://www.w3.org/tr/rec-xml 07.02.2011 ICONS Management 4

Hva er XML? XML=eXtensible Markup Language Markeringspråk, kodespråk, mye likt HTML Utviklet for å beskrive data, ikke for å vise data Taggene er ikke predefinerte, du må definere dine egne tagger XML er: platform uavhengig, software uavhengig, hardware uavhengig, utvekslingsbart XML er ren tekst 07.02.2011 ICONS Management 5

XML introduksjon XML=eXtensible Markup Language XML er et subset av SGML (Standardized General Markup Language) XML har som mål å kunne sende, motta og behandle data over web mere effektivt, men like enkelt som med HTML XML må være lett tilgjengelig og kompatibelt med SGML og HTML XML er SGML light for web 07.02.2011 ICONS Management 6

SGML, HTML, XML, XHTML SGML har røtter tilbake til slutten av 1960 omfattende layout og utvekslingsformat HTML applikasjon av SGML med predefinert markup 1989 - XML subset, forenklet utgave av SGML 1998 - XHTML overgang fra HTML til XML. Man kan blande tagger i samme dokument. Strict HTML - Strengere regler for HTML koding. 07.02.2011 ICONS Management 7

HTML versus XML koding HTML The best picture in 1998 went to the film <I>Titanic</I> XML The best picture in 1998 went to the film <FILM>Titanic</FILM > XML The <ACADEMY-AWARD-CATEGORY>best picture </ACADEMY-AWARD-CATEGORY> in <YEAR>1998 </YEAR> went to the film<title MEDIA= film > Titanic</TITLE > 07.02.2011 ICONS Management 8

Hva kan XML brukes til? Dokumenter som ikke består av typiske komponenter, f eks noter, matematikk Databaser: http://pubmed.gov Dokumenter som du ønsker å organisere i en trestruktur Dokumenter som du ønsker å utveksle med andre applikasjoner/systemer!! 07.02.2011 ICONS Management 9

XML brukes til datautveksling Med XML kan data bli utvekslet mellom inkompatible systemer I den virkelige verden inneholder datasystemer og databaser inkompatible formater. Tidkrevende utfordringer for utviklere å utveksle data mellom slike systemer over Internett. Konvertering av dataene til XML kan redusere kompleksiteten og lage data som kan leses av forskjellige typer applikasjoner. 07.02.2011 ICONS Management 10

XML og B2B 07.02.2011 ICONS Management 11

XML til litt av hvert - på fransk! 07.02.2011 ICONS Management 12

XML gjør dine data nyttigere XML filer kan gjøres tilgjengelig for annet enn standard browsere Andre klienter, applikajoner og lesemaskiner (agenter) kan få tilgang til dine XML filer som datakilder på samme måte som de har tilgang til databaser XML er laget for maskiner, men kan leses av folk også 07.02.2011 ICONS Management 15

XML: grunnlag for andre kodespråk XML er mor-språket til WAP / WML Wireless Application Protocol Wireless Markup Language er skrevet i XML og brukt til Internett-applikasjoner for hånd-holdte PC er og mobiltelefoner 07.02.2011 ICONS Management 16

XML syntaks Syntaksreglene for XML: er veldig enkle, men strenge er enkle å lære og enkle å bruke (?! ) Resultat: Det er enkelt å utvikle programvare som kan lese og behandle XML Oppgave: xml dokument 07.02.2011 ICONS Management 17

XML syntaks forts... XML dokumentet består av: Prolog: xml declaration, white space, kommentarer, DTD eller XML Schema, processing instructions gir informasjon til en bestemt applikasjon som skal lese XML-dokumentet Document elements rot-element og nøstede elementer 07.02.2011 ICONS Management 18

XML regler Et root element omslutter dokumentet Barn (child) elementer innenfor rotelementet Ingen tagger kan være empty Attributters verdier i anførselstegn Tagger må være nøstet korrekt Tagger er case sensitive og må matche Bare bones for et well-formed XML dokument! 07.02.2011 ICONS Management 19

XML elementer Elementer har innhold: Element content andre elementer Mixed content tekst og andre elementer Simple content bare tekst Empty content ingen informasjon <prod id= 33-657 > </prod> Attribute content attributt-verdipar i starttaggen Mixed content blandet innhold - eks: <title> Moby-Dick <subtitle>or, the Whale </subtitle> </title> 07.02.2011 ICONS Management 20

Navngiving av elementer Gi beskrivende navn, bruk eventuelt understrek: <bok_tittel> Ingen mellomrom er tillat Ikke bruk : som er del av syntaksen Ikke start navnet med et tall eller tegn unntatt _ Det anbefales å ikke bruke xml eller XML i navnet Det meste er tillat i elementnavn, norske bokstaver..., men tenk på eventuelle problemer med software som skal behandle dataene XML dokumenter har ofte en parallell database, hensiktsmessig at elementnavn samsvarer med feltnavn 07.02.2011 ICONS Management 21

XML attributter XML elementer kan ha attributter akkurat som HTML Attributter tilfører tilleggsinformasjon til elementene i HTML:<IMG SRC= computer.gif > i XML: <FILE TYPE= gif >computer.gif</file> Attributter tilfører ofte informasjon som ikke er en del av dataene, men viktig for applikasjonen som skal behandle... Attributtverdier må være omsluttet av anførselstegn En avveining om man skal bruke attributter eller lage nye elementer ingen klare regler... Eksemplet fra Medline databasen! 07.02.2011 ICONS Management 22

Attributter eller ikke? Noen problemer: Attributter: kan ikke ha flere verdier (barnelementer kan) er ikke så lette å forandre i fremtidige revideringer kan ikke beskrive struktur (barnelementer kan) er vanskelige å manipulere i programkode lar seg ikke lett teste mot en DTD En konklusjon kan være at metadata (data om data) kan lagres som attributter og at selve dataene skal lagres som elementer. 07.02.2011 ICONS Management 23

XML-attributter <note> <date> <day>12</day> <month>11</month> <year>2002</year> </date> <to>tove</to> <from>jani</from> <heading>reminder</heading> <body>don't forget me this weekend!</body> </note> <note day="12" month="11" year="2002" to="tove" from="jani" heading="reminder" body="don't forget me this weekend!"> </note> 07.02.2011 ICONS Management 24

Entiteter Innebygde tegn-entiteter erstatter tegn som har spesiell betydning i XML. Eks: < - > - & - " - &apos; Generelle entiteter defineres i en DTD og erstattes når de benyttes. Kan brukes i elementer og attributter: Eks: <p>&icons; kurs gir </p> Etter prosessering: <p>icons Managment kurs gir </p> 07.02.2011 ICONS Management 25

CDATA sections CDATA tegndata character data Blir ikke parsed, tolket, av XML prosessoren F eks en kodesnutt som ikke skal XML-behandles: <![CDATA[ innhold som ikke skal tolkes. ]]> 07.02.2011 ICONS Management 26

Visning av XML dokumenter Hvordan skal nettleseren vite hvordan <BOOK>, BINDING>... skal vises? Det er hovedsakelig 3 metoder (i tillegg til å vise rå XML): 1) Style Sheet Linking 2) Data Binding & Data Islands 3) Scripting 07.02.2011 ICONS Management 27

Visning i Internet Explorer IE 5.0 og høyere støtter visning av XML dokumenter på følgende måter: Visning av rå XML dokumenter Visning med CSS Visning med XSL XML knyttet til HTML elementer, Data Binding XML inne i HTML som XML Data Island Javascripts - tilgang til DOM (Document Object Model) 07.02.2011 ICONS Management 28

Visning med CSS XML er utviklet for å lagre, bære og utveksle data ikke for å vise data! XML gjør ingenting! 07.02.2011 ICONS Management 29

Visning med CSS forts Cascading StyleSheet koding for XML er den samme som for HTML Eks: book { display: block; font-size: 10pt; } title { color: #006666; } 07.02.2011 ICONS Management 30

Visning med CSS forts Stilarkfilen er en helt vanlig tekstfil som lagres med extension.css Stilarfilen lenkes til XML-dokumentet med en processing instruction plassert rett over rotelementet: <?xml-stylesheet type= text/css href= filnavn.css?> Oppgave: visning med css 07.02.2011 ICONS Management 31

XML i Data Islands XML kan hentes inn i HTML sider i Data Islands med den uoffisielle <xml> taggen: <xml id= book > <book>... (hele XML en her altså)</book> </xml> Eller en separat XML fil kan legges inn: <xml id= book src= book.xml ></xml> <xml> taggen er en HTML tagg ikke en XML tagg I begge tilfeller legges koden i html <body> 07.02.2011 ICONS Management 32

Data Binding Data Islands bindes til HTML elementer: <span> og <div> brukes mye <html> <body> <xml id="cdcat" src="cd_catalog.xml"></xml> <table border="1" datasrc="#cdcat"> <tr> <td><span datafld="artist"></span></td> <td><span datafld="title"></span></td> </tr> </table> </body> </html> Oppgave Data Island & Binding 07.02.2011 ICONS Management 33

Visning med scripts Javascript og andre språk kan vise XML i tolkeren - Internet Explorer i vårt tilfelle: <script type="text/javascript"> var xmldoc = new ActiveXObject("Microsoft.XMLDOM") xmldoc.async="false" xmldoc.load("note.xml") //... processing the document goes here </script> 07.02.2011 ICONS Management 34

Visning med scripts forts. Lasting av en tekst-streng: <script type="text/javascript"> var text="<note>" text=text+"<to>tove</to><from>jani</from>" text=text+"<heading>reminder</heading>" text=text+"<body>don't forget me this weekend!</body>" text=text+"</note> var xmldoc = new ActiveXObject("Microsoft.XMLDOM") xmldoc.async="false xmldoc.loadxml(text) //... processing the document goes here </script> 07.02.2011 ICONS Management 35

Valide XML dokumenter XML med riktig syntaks er Well-formed (Hittil har våre dokumenter vært velformede.) XML som i tillegg er i henhold til en DTD (Document Type Definition) eller et XML Schema er Valid XML Dokumentets prolog må inkludere en: Document Type Definition (DTD) eller et Schema Resten av dokumentet må rette seg etter strukturen definert i DTD en eller XML-skjemaet 07.02.2011 ICONS Management 36

Valide dokumenter forts. Det er nyttig å gjøre XML-dokumentene valide for å skape enhet i grupper av liknende dokumenter Det blir grammatikken for en klasse dokumenter Det finnes ferdig utviklede DTDer og skjema for forskjellige fagområder. Man behøver ikke lage sine egne DTDer og skjema Gratis DTDer og skjema kan lastes ned fra Internet etc. 07.02.2011 ICONS Management 37

Hva er en DTD? En DTD definerer de lovlige elementene i et XML dokument Hensikten med en DTD er å definere en stram struktur som passer på at man bruker gyldige elementer og at den logiske strukturen i dokumentet følges DTDen lister opp hvilke navn som kan brukes for forskjellige elementer, hvor de kan forekomme og hvordan det hele skal settes sammen 07.02.2011 ICONS Management 38

Hvordan ser en DTD ut? Den relevante delen av en DTD for et dokument som innholder en liste med listepunkter kan se slik ut: <!ELEMENT Liste (Listepunkt)+> <!ELEMENT Listepunkt (#PCDATA)> Programmer leser DTDen før de leser dokumentet slik at applikasjonene (editorer, nettlesere, søkemaskiner, databaser etc) vet hva de trenger å vite på forhånd og kan innstille seg korrekt for å behandle data i dokumentet. Lagres som.dtd hvis ekstern DTD. 07.02.2011 ICONS Management 39

DTD forts <Liste> <Listepunkt>Langrenn</Listepunkt> <Listepunkt>Slalom</Listepunkt> <Listepunkt>Utfor</Listepunkt> </Liste> 07.02.2011 ICONS Management 40

<!DOCTYPE INVENTORY [ <!ELEMENT INVENTORY (BOOK)*> <!ELEMENT BOOK (TITLE, AUTHOR, BINDING, PAGES, PRICE)> <!ATTLIST BOOK InStock (yes no) #REQUIRED> <!ELEMENT TITLE (#PCDATA SUBTITLE)*> <!ELEMENT SUBTITLE (#PCDATA)> <!ELEMENT AUTHOR (#PCDATA)> <!ATTLIST AUTHOR Born CDATA #IMPLIED> <!ELEMENT BINDING (#PCDATA)> <!ELEMENT PAGES (#PCDATA)> <!ELEMENT PRICE (#PCDATA)> ] > 07.02.2011 ICONS Management 41

Elementdeklarasjoner i DTD:? 0 eller én forekomst (hvis utelatt, så én og bare én forekomst) * 0 eller flere forekomster + 1 eller flere forekomster ^ Obligatorisk og én forekomst, Elementene skal komme i den rekkefølge de er listet opp Et eller flere av disse elementene kan komme i tilfeldig rekkefølge Oppgave: valid dokument. Oppgave: lage en dtd 07.02.2011 ICONS Management 42

<!DOCTYPE NEWSPAPER [ <!ELEMENT NEWSPAPER (ARTICLE+)> <!ELEMENT ARTICLE (HEADLINE, BYLINE, LEAD, BODY, NOTES)> <!ELEMENT HEADLINE (#PCDATA)> <!ELEMENT BYLINE (#PCDATA)> <!ELEMENT LEAD (#PCDATA)> <!ELEMENT BODY (#PCDATA)> <!ELEMENT NOTES (#PCDATA)> <!ATTLIST ARTICLE AUTHOR CDATA #REQUIRED> <!ATTLIST ARTICLE EDITOR CDATA #IMPLIED> <!ATTLIST ARTICLE DATE CDATA #IMPLIED> <!ATTLIST ARTICLE EDITION CDATA #IMPLIED> <!ENTITY NEWSPAPER "Vervet Logic Times"> <!ENTITY PUBLISHER "Vervet Logic Press"> <!ENTITY COPYRIGHT "Copyright 1998 Vervet Logic Press"> ]> 07.02.2011 ICONS Management 43

Ekstern DTD Vi har hittil brukt interne DTDer. Vi kan også ha DTDen som ekstern fil og lenke den inn i XML dokumentet: <?xml version="1.0" encoding="utf-8"?> <!--File Name: Inventory02.xml--> <?xml-stylesheet type="text/css" href="inventory02.css"?> <!DOCTYPE inventory SYSTEM "valid.dtd"> <inventory> etc etc </inventory> 07.02.2011 ICONS Management 44

XML Namspaces (navnerom) <table> <tr> <td>apples</td> <td>bananas</td> </tr> </table> <table> <name>african Coffee Table</name> <width>80</width> <length>120</length> </table> 07.02.2011 ICONS Management 45

XML Namespaces forts. 1. Sette prefiks til elementet: <f:table> <f:name>african Coffee Table</f:name> <f:width>80</f:width> <f:length>120</f:length> </f: table> 2. xmlns attribute for å gi element-prefikset et qualified name assosiert med et namespace: <f:table xmlns:f= http://www.w3schools.com/furniture > 07.02.2011 ICONS Management 46

Namespaces forts. <elementnavn xmlns:navn= uri > Eks: <kurs xmlns:kurs= http://www.icons.no/foreleser> Kvalifisert elementnavn angis slik: <kurs:foreleser> Angir at elementet og dets barn tilhører det samme navnerommet For å unngå navnekonflikter når flere XML-dokumenter slås sammen til ett URLen som oppgis er ikke henvisning til en DTD, men beskriver navnerommet 07.02.2011 ICONS Management 47

Hva er XML Schema? XML schema definerer: Hvilke elementer, attributter og barnelementer som kan forekomme i et dokument Rekkefølgen og antall barnelementer Om et element er empty eller ikke Hvilke datatyper for elementer og attributter Standard (default) og faste (fixed) verdier for elementer og attributter 07.02.2011 ICONS Management 48

Hva er XML Schema? DTD tilhører SGML verden, men brukes også for XML og HTML dokumenter XML Schema er et XML basert alternativ til DTD sannsynligvis arvtakeren til DTD XML Schema er XML-dokumenter XML Schema støtter data typer XML Schema støtter navnerom XML Schema kan transformeres med XSLT 07.02.2011 ICONS Management 49

XSD elements XML Schema Language er også kalt XML Schema Definition (XSD) Syntaks for å deklarere et simple element: <xs:element name= nnn type= nnn /> <lastname>buntz</lastname> <age>67</age> <dateborn>1943-03-13</dateborn> <xs:element name="lastname" type="xs:string" /> <xs:element name="age" type="xs:integer" /> <xs:element name="dateborn" type="xs:date" /> 07.02.2011 ICONS Management 50

XML skjema: Datatypes xs:string: xs:boolean: xs:decimal: xs:integer: xs:date: en streng med tekst verdien true eller false desimaltall heltall dato på formatet yyyy-mm-dd 07.02.2011 ICONS Management 51

XML Schema: deklarere elementer Deklarere elementer som bruker datatypene gjøres med: xs:element Deklarerer et navn-element: <xs:element name= navn type= xs:string > Deklarere et person-element med utgangspunkt i XML-dokumentet: <person> <navn>nina T. Svendsen</navn> <tlf>34343434</tlf> </person> 07.02.2011 ICONS Management 52

Deklarere elementer forts Person-elementet er av complextype. Vi bruker datatypen xs:string på navn-elementet og xs:integer på tlf-elementet: <xs:element name= person > <xs:complextype> <xs:sequence> <xs:element name= navn type= xs:string /> <xs:element name= tlf type= xs:integer /> </xs:sequence> </xs:complextype> </xs:element> 07.02.2011 ICONS Management 53

Deklarere attributter Vi kan deklarere attributter til elementene i XMLdokumentet. I følgende eksempel har elementet person et attributt personnr: <person personnr= 12345678912 > <navn>nina T. Svendsen</navn> <tlf>34343434</tlf> </person> <xs:attribute name= personnr type= xs:integer /> 07.02.2011 ICONS Management 54

Deklarere elementer og attributter Atributter deklareres til slutt i skjemaet <?xml version= 1.0?> <xs:schema xmlns:xs= http://www.w3.org/2001/xmlschema > <xs:element name= person > <xs:complextype> <xs:sequence> <xs:element name= navn type= xs:string /> <xs:element name= tlf type= xs:integer /> </xs:sequence> <xs:attribute name= personnr type= xs:integer /> </xs:complextype> </xs:element> </xs:schema> 07.02.2011 ICONS Management 55

Bruk av attributter Attributtet, use, angir hvordan det deklarerte attributtet skal brukes. Use har følgende verdier: required: attributtet må være med fixed: verdien er satt i XML-skjemaet. Brukes sammen med valueattributtet som angir verdien default: setter en standardverdi hvis ikke annet er oppgitt. Brukes sammen med value-attributtet som angir verdien optional: valgfritt om attributtet er med prohibited: attributtet kan ikke brukes <xs:attribute name= valuta type= xs:string use= required /> 07.02.2011 ICONS Management 56

XSD Restrictions/Facets Elementet age kan ikke være lavere enn 0 eller større enn 100: <xs:element name="age"> <xs:simpletype> <xs:restriction base="xs:integer"> <xs:mininclusive value="0"/> <xs:maxinclusive value="100"/> </xs:restriction> </xs:simpletype> </xs:element> 07.02.2011 ICONS Management 57

XSD Restrictions/Facets Elementet gender kan bare ha verdien male eller female <xs:element name="gender"> <xs:simpletype> <xs:restriction base="xs:string"> <xs:pattern value="male female"/> </xs:restriction> </xs:simpletype> </xs:element> 07.02.2011 ICONS Management 58

Hvordan ser et XML Schema ut? <?xml version= 1.0?> <xs:schema xmlns:xs= http:www-w3.org/2001/xmlschema > <xs:element name= book > <xs:complextype> <xs:sequence> <xs:element name= title type= xs:string /> <xs:element name= author type= xs:string /> <xs:sequence> <xs:complextype> </xs:element> </xs:schema> Lagres som.xsd Oppgave: schema 07.02.2011 ICONS Management 59

Hvordan ser et XML skjema ut? 07.02.2011 ICONS Management 60

XSL stilark extensible Stylesheet Language er en mer effektiv måte å få frem alle deler av dokumentet i nettleser på enn CSS XSL er den foretrukne stilark-visning for XML dokumenter XSL kan sortere og filtrere data... søkefunksjoner... XSL stilark transformerer XML til HTML etc for visning XML stilark skrives som et velformet dokument etter XML syntaks og lagres med extension.xsl i samme mappe som XML dokumentet XSL stilarket lenkes til XML dokumentet i form av en processing instruction i prologen: <?xml-stylesheet type= text/xsl href= Inventory.xsl?> 07.02.2011 ICONS Management 61

XSL stilark forts Det startet med XSL og endte opp med XSLT, Xpath og XSL-FO XSLT er språket for å transformere XML dokumenter XPath er språket for å definere deler av et XML dokument XSL-FO er språket for å formatere XML dokumenter Formelt nå bare kalt XSL 07.02.2011 ICONS Management 62

XSLT som språk En applikasjon av XML Et XSLT-dokument må derfor være velformet XSLT-instrukser gjenkjennes på et eget navnerom som angis med prefikset xsl: Baserer seg på maler (templates) for transformering Malene gjelder for noder som adresseres med Xpath uttrykk. Xpath uttrykk likner på katalogangivelser i Unix 07.02.2011 ICONS Management 63

XPath XSLT bruker XPath til å definere matching patterns for transformering XSLT bruker altså XPath til å definere deler av kildedokumentet source som match en eller flere maler templates. Når et samsvar er funnet, transformerer XSLT de matching deler av sourcedokumentet til resultat-dokumentet. <td><xsl:value-of select="catalog/cd/title" /></td> <td><xsl:value-of select="catalog/cd/artist" /></td> 07.02.2011 ICONS Management 64

XSL stilark forts Stilarket må lenkes til XML dokumentet: <?xml version="1.0" encoding="iso-8859-1"?> <?xml-stylesheet type="text/xsl" href="cdcatalog.xsl"?> <catalog> <cd> <title>empire Burlesque</title> <artist>bob Dylan</artist> <country>usa</country> <company>columbia</company> <price>10.90</price> <year>1985</year> </cd>... </catalog> Oppgave: xsl 07.02.2011 ICONS Management 65

XML Linking Language XML er en hel familie av teknologier, XSL, Schema... Flere av teknologiene har med lenking i XML dokumenter å gjøre: XLink (XML Linking Language) XPointer (XML Pointer Language) XLink gir mange flere muligheter enn vanlig lenking i HTML og sammen men XPointer kan det lenkes til hvor som helst i et måldokument 07.02.2011 ICONS Management 66

Andre XML teknologier SOAP: Simple Object Access Protocol kommunikasjonsprotokoll for utveksling av informasjon over http protokoll for å aksessere en Web service WSDL: Web Services Description Language beskriver Web services og hvordan aksessere dem RDF: Resource Description Framework språk for å beskrive web ressurser, innhold, tittel, forfatter, copyright, tilgjengelighet med mer Flere XML-forkortelser i kurskompendiet! 07.02.2011 ICONS Management 67

Lenker til videre studier World Wide Web Consortium www.w3.org/xml/ World Wide Web School www.w3schools.com/xml/ The XML FAQ www.ucc.ie/xml/ Cover Pages (Hosted by Oasis) xml.coverpages.org/xml.html 07.02.2011 ICONS Management 68

Bøker til videre studier Castro, Elizabeth: XML for the World Wide Web Tittel, Ed: XML for Dummies: et oppslagsverk for oss alle Young, Michael: XML Step by Step 07.02.2011 ICONS Management 69

Search the web! Chances are extremely good that you find what you seek! 07.02.2011 ICONS Management 70