XML. Figur Et eksempel på et XML-dokument



Like dokumenter
Markeringsspråk og XML

Markeringsspråk og XML

Markeringsspråk og XML Nettsider og XHTML

HØGSKOLEN I SØR-TRØNDELAG

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. XML Grunnlag

XML og JDOM. Helge Furuseth

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

Datamodellering med UML

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

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

1. XHTML. Innhold Innledning

XSLT 1. David Massey MBIB

Datamodellering med UML. Modellenes to formål. The Unified Modeling Language - UML

The Unified Modeling Language - UML

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

Semistrukturerte data og XML

Intro til WWW, HTML5 og CSS

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

HØGSKOLEN I SØR-TRØNDELAG

Navngivning av XML elementer

Datamodellering med UML. Modellenes to formål. The Unified Modeling Language - UML

MOD 250 Avansert programvareteknologi Extensible Markup Language, XML

OBLIG 1 - WEBUTVIKLING

INF1040 Oppgavesett 5: XML

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

Utvikling fra kjernen og ut

Utvikling fra kjernen og ut

Utvikling fra kjernen og ut

DRI2001 : Informasjonsinfrastrukturer Forelesning Arild Jansen, AFIN

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

Utvikling fra kjernen og ut

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?

EKSAMEN Webpublisering

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.

Systemutvikling fra kjernen og ut, fra skallet og inn

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

XSLT 2. David Massey MBIB

Kursdokumentasjon for Dreamweaver

Markeringsspråk og XML

Pass og stell av barn

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.

Ordliste 2. Byte (byte) En streng på 8 biter som behandles som en enhet.

Markeringsspråk og XML

Modellenes to formål. Datamodellering med UML (forts.) Fra naturlig språk til datamodell. Figur 5-2. Ogdens trekant

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

HØGSKOLEN I SØR-TRØNDELAG

1. Mer om oppbyning av XML-dokument

I dag: Neste gang: Hva er tekstkoding? Hva er en tekstfil? DASP107 Innføring i språk og data DASP108 Språk og data

Instruks for elektronisk arkivmateriale som avleveres eller overføres som depositum til IKA Møre og Romsdal IKS

XML Schema. David Massey MBIB

Utvikling fra kjernen og ut

MPEG-7. Problemstilling:

Løsningsskisse prøve IT1

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

1. Cascading Style Sheet (CSS)

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

Rammer. Mer om Javascript

Datamodellering med UML (forts.)

Konvertering av kommunale organisasjonsdata

Dagens tema. Den redundansfri datamodellen. Modellenes to formål. Den grunnleggende konstruksjonen det elementære utsagnet

Veilederdokumentenes forankring <UTKAST>

Hvem jeg er Lars Marius Garshol Hovedfag informatikk på Blindern Jobbet et par år med XML i STEP Infotek, før jeg og noen andre startet Ontopia Har sk

Håkon Tolsby Håkon Tolsby

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

CSS: Style nettsider Nybegynner

Modellenes to formål. Datamodellering med UML (forts.) Ugrupperte og grupperte modeller. Figur 5-2. Ogdens trekant

Datamodellering med ORM

CSS-formatering: stilark med kommentarer

CASCADING STYLESHEETS (CSS)

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

extensible Markup Language XML

MMT105 Internettprogrammering Uke 44, høst 2007

Reguleringsbestemmelser Behov for standardisering

HØGSKOLEN I SØR-TRØNDELAG

Semistrukturerte data og XML

Søndre Land kommune og elektronisk faktura/kreditnota

Framgangsmåte for klargjøring og avlevering av elektronisk arkivmateriale til arkivdepot Supplerende bestemmelser for kommuner tilknyttet IKAT

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

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

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

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

Antall oppgaver: 6. Alle trykte og skrevne hjelpemidler

Introduksjon til fagfeltet

Individuelle pensjonsordninger

HØGSKOLEN I SØR-TRØNDELAG

Skatteetaten Boligsameie Beskrivelse av filformatet for innsending av opplysninger til Skatteetaten Gjelder fra og med innrapportering i januar 2016

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

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

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

Steg 1: Animasjons-attributtet

2. Beskrivelse av mulige prosjektoppgaver

HUMIT1731 Hypermedier

EKSAMEN Web-publisering

Beskrivelse av filformatet for likningsoppgaven pass og stell av barn

INF1300 Introduksjon til databaser

I prinsippet er det 2 alternative måter å sende elektronisk faktura på:

I denne oppgaven forventer vi at du har vært gjennom HTML- og CSS-oppgavene så langt og/eller er kjent med <div> - og HTML5-taggene.

Veileder for harmonisering av geografiske data

Transkript:

Figur 13.1. Et eksempel på et XML-dokument <?xml version="1.0" encoding ="ISO-8859-1"?> XML jfr. Systemutvikling fra kjernen og ut, fra skallet og inn kapittel 13 <book> <description> <genre>systemutvikling</genre> <title>fra kjernen og ut, fra skallet og inn</title> <author> <first-name>gerhard</first-name> <last-name>skagestein</last-name> </author> </description> <body>. (se neste lysark) </body> </book> Vi snakker gjerne om et XMLdokument, selv om det kanskje ikke er meningen å skrive det ut på papir. Terminologien understreker imidlertid at XML er et tekstbasert format. INF102-XML--1 INF102-XML--2 Fig 13.1. Et eksempel på et XML-dokument (forts) <body> <chapter title = "Innledning"> <p>i dette kapitlet ser vi på hvordan den samfunnsmessige og teknologiske utviklingen påvirker systemutviklingsfaget, og hvilke konsekvenser dette har for de metoder og teknikker som brukes under utvikling av datamaskinbaserte systemer. </p> <subheading>en ny tid</subheading> <p>javel, så vi vil forsøke å forbedre verden ved hjelp av et nytt eller forbedret datamaskinbasert system? Ja, for ellers ville vi vel ikke bruke tid og penger på å utvikle det?</p> <p>ved hjelp av informasjonsteknologien har vi kunnet skape et informasjonssamfunn som vi ikke en gang kunne ane konturene av for mindre enn 50 år siden. Det moderne samfunn ville være utenkelig uten datamaskinbaserte informasjonssystemer. Mye av den velstand og de livskvaliteter vi har i dag kan tilskrives en fornuftig innsats av informasjons- og kommunikasjonsteknologi (IKT). </p>... </chapter> <chapter title = "Systemutviklingsprosessen"> <p>...</p> <image name="figur2.1.jpg"/> </chapter>... </body> Figur 13.2. Et annet eksempel på et XML-dokument <?xml version="1.0" encoding="iso-8859-1"?> <KOMMUNELISTE TYPE = "TABLE"> <KOMMUNENR TYPE="CHAR">0101</KOMMUNENR> <KOMMUNENAVN TYPE="VARCHAR2">Halden</KOMMUNENAVN> <AVFALLSMENGDE TYPE="NUMBER">10228</AVFALLSMENGDE> <INNBYGGERTALL TYPE="NUMBER">26417</INNBYGGERTALL> <AVFALLPERINNBYGGER TYPE="NUMBER">387,2</AVFALLPERINNBYGGER> <KOMMUNENR TYPE="CHAR">0104</KOMMUNENR> <KOMMUNENAVN TYPE="VARCHAR2">Moss</KOMMUNENAVN> <AVFALLSMENGDE TYPE="NUMBER">10423</AVFALLSMENGDE> <INNBYGGERTALL TYPE="NUMBER">25860</INNBYGGERTALL> <AVFALLPERINNBYGGER TYPE="NUMBER">403,1</AVFALLPERINNBYGGER> </KOMMUNELISTE> INF102-XML--3 INF102-XML--4

Hva er XML? XML Extensible Markup Language Et standardisert format for data + beskrivelse av data Bygger (i likhet med HTML) på SGML Standard Generalized Markup Language o Standardisert ISO 8879:1985 o Brukt i en årrekke i trykkeribransjen Forskjeller mellom XML og HTML XML sier bare noe om hva dataene er, ikke hvordan de skal vises fram I XML kan du definere dine egne koder ( tagger ) XML har mye strengere krav til syntaks o Må ha både startkode og sluttkode <kode> </kode>, evt en kombinert start- og sluttkode <kode/> o startkode innhold sluttkode utgjør et element o Elementer må være perfekt nøstet startkode sluttkode Et element: attributt med attributtverdi INF102-XML--5 INF102-XML--6 Velstrukturerte og gyldige XML-dokumenter Et XML-dokument er velstrukturert dersom det tilfredsstiller enkle syntaktiske krav: o Et XML- dokument må ha ett eneste rotelement o Alle andre elementer må være perfekt nøstet dvs. danne en hierarkisk struktur Strengere regler kan pålegges ved hjelp av en Dokumenttypedefinisjon Document Type Definition (DTD) eller et XML-Schema Et XML-dokument kan da være gyldig i henholdt til en gitt DTD eller et gitt XML Schema Er XML-dokumentet velstrukturert? <?xml version="1.0" encoding="iso-8859-1"?> Error: Mismatched end tag: expected, got </KOMMUNELISTE> in unnamed entity at line 20 char 15 of.. <KOMMUNELISTE TYPE = "TABLE"> <KOMMUNENR TYPE="CHAR">0101</KOMMUNENR> <KOMMUNENAVN TYPE="VARCHAR2">Halden</KOMMUNENAVN> <AVFALLSMENGDE TYPE="NUMBER">10228</AVFALLSMENGDE> <INNBYGGERTALL TYPE="NUMBER">26417</INNBYGGERTALL> <AVFALLPERINNBYGGER TYPE="NUMBER">387,2</AVFALLPERINNBYGGER> <KOMMUNE/> <KOMMUNENR TYPE="CHAR">0104</KOMMUNENR> <KOMMUNENAVN TYPE="VARCHAR2">Moss</KOMMUNENAVN> <AVFALLSMENGDE TYPE="NUMBER">10423</AVFALLSMENGDE> <INNBYGGERTALL TYPE="NUMBER">25860</INNBYGGERTALL> <AVFALLPERINNBYGGER TYPE="NUMBER">403,1</AVFALLPERINNBYGGER> <KOMMUNE/> </KOMMUNELISTE> INF102-XML--7 INF102-XML--8

Figur 13.5. XML-dokument med dokumenttypedeklarasjon <?xml version="1.0" encoding="iso-8859-1"?> Dokumenttypedeklarasjon <!DOCTYPE KOMMUNELISTE SYSTEM kommuneliste.dtd > <KOMMUNELISTE TYPE = "TABLE"> <KOMMUNENR TYPE="CHAR">0101</KOMMUNENR> <KOMMUNENAVN TYPE="VARCHAR2">Halden</KOMMUNENAVN> <AVFALLSMENGDE TYPE="NUMBER">10228</AVFALLSMENGDE> <INNBYGGERTALL TYPE="NUMBER">26417</INNBYGGERTALL> <AVFALLPERINNBYGGER TYPE="NUMBER">387,2</AVFALLPERINNBYGGER> <KOMMUNENR TYPE="CHAR">0104</KOMMUNENR> <KOMMUNENAVN TYPE="VARCHAR2">Moss</KOMMUNENAVN> <AVFALLSMENGDE TYPE="NUMBER">10423</AVFALLSMENGDE> <INNBYGGERTALL TYPE="NUMBER">25860</INNBYGGERTALL> <AVFALLPERINNBYGGER TYPE="NUMBER">403,1</AVFALLPERINNBYGGER> </KOMMUNELISTE> Er XML-dokumentet gyldig med hensyn på dokumenttypedefinisjonen på kommuneliste.dtd? Figur 13.3. En Dokumenttypedefinisjon - DTD På filen kommuneliste.dtd: <!ELEMENT KOMMUNELISTE (KOMMUNE)*> <!ATTLIST KOMMUNELISTE TYPE CDATA #REQUIRED> <!ELEMENT KOMMUNE (FYLKENR, KOMMUNENR, KOMMUNENAVN, AVFALLSMENGDE, INNBYGGERTALL, AVFALLPERINNBYGGER)*> <!ATTLIST KOMMUNE TYPE CDATA #REQUIRED> <!ELEMENT FYLKENR (#PCDATA)> <!ELEMENT KOMMUNENR (#PCDATA)> <!ELEMENT KOMMUNENAVN (#PCDATA)> <!ELEMENT AVFALLSMENGDE (#PCDATA)> <!ELEMENT INNBYGGERTALL (#PCDATA)> <!ELEMENT AVFALLPERINNBYGGER (#PCDATA)> <!ATTLIST FYLKENR TYPE CDATA #REQUIRED> <!ATTLIST KOMMUNENR TYPE CDATA #REQUIRED> <!ATTLIST KOMMUNENAVN TYPE CDATA #REQUIRED> #PCDATA = Parced Character Data, dvs. tekst <!ATTLIST AVFALLSMENGDE TYPE CDATA #REQUIRED> <!ATTLIST INNBYGGERTALL TYPE CDATA #REQUIRED> <!ATTLIST AVFALLPERINNBYGGER TYPE CDATA #REQUIRED> INF102-XML--9 INF102-XML--10 To innvendinger mot DTD: DTD er en døende hest Språket er ikke omfattende nok Det avviker fra XML hvilket er unødvendig (hvorfor være tvunget til å lære to språk når det holder med ett?) Derfor vil DTD bli avløst av XML-Schema INF102-XML--11 Figur 13.4. Et XML-skjema <?xml version="1.0" encoding="iso ="ISO-8859 8859-1"?> xsd:schema schema xmlns:xsd xsd="http:// ="http://www www.w3.org/2001/.w3.org/2001/xmlschema XMLSchema"> name= KOMMUNELISTE KOMMUNELISTE > ref = "KOMMUNE" maxoccurs = "500" /> > name = "KOMMUNE"> name = "FYLKENR" type="xsd xsd:string string"/> name = "KOMMUNENR" type="xsd xsd:string string"/> name = "KOMMUNENAVN" type="xsd xsd:string string"/> name = "AVFALLSMENGDE" type="xsd xsd:integer integer"/> name = "INNBYGGERTALL" type="xsd xsd:integer integer"/> name = "AVFALLPERINNBYGGER" type="xsd xsd:decimal decimal"/> > xsd:schema schema> INF102-XML--12

Figur 13.6. Element eller attributt? <description> <genre>systemutvikling</genre> <title>fra kjernen og ut, fra skallet og inn</title> <author> <first-name>gerhard</first-name> <last-name>skagestein</last-name> </author> </description> eller <description> <genre>systemutvikling</genre> <title>fra kjernen og ut, fra skallet og inn</title> <author first-name= Gerhard last-name = Skagestein > </author> </description>? Analogt med diskusjonen om noe skal oppfattes som et attributt til noe eller som et selvstendig objekt OBS: Liten trykkfeil i læreboka! To anvendelser av XML Som et lingua franca mellom systemer o Endelig en standard! o Emneorienterte koder må defineres (begge systemer må ha samme oppfatning av <KOMMUNE>) o Er tekstiig format alltid hensiktsmessig? o Stor datamessig overhead Men: Store muligheter for komprimering: XML-fil for alle kommuner: 142 KB. Zip et: 10 KB (7 %) Lagring av XML-dokumenter i en database o Native XML-database o Trenger vi enda en type database? Enda et DDL, DML og et spørrespråk INF102-XML--13 INF102-XML--14 Figur 13.7. XML i databasen og på datanettet Er en XML database en database? Vi har Lagring av data (XML-dokumenter) XML! Skjemaer (DTD, XML Schema) Spørrespråk (Xquery, Xpath, XQL, XML-QL, QUILT, ) XML? XML? Programmeringsgrensesnitt (APIer) (SAX, DOM, JDOM, ) Vi har ikke Kan også være: Mobiltelefoner Måleinstrumenter Skrivere Tekst-TV. Dataintegritet Transaksjoner Flerbrukertilgang Sikkerhetsmekanismer Spørringer på tvers av dokumenter INF102-XML--15 INF102-XML--16

Dokumentsentert XML Kommuneeksemplet er datasentrert Datasentrert XML Utformet (vanligvis) for menneskelig bruk XML blir brukt for datatransport Vanligvis håndkodet (enten direkte eller med verktøy) Utformet for å bli lest av maskiner Irregulær struktur XML-formatet er bare temporært og egentlig ikke viktig! Store elementer Blandet innhold Rekkefølgen på barneelementer er vanligvis signifikant Eksempler: Bøker, e-post, annonser, håndkodede web-sider Eksempler: Salgsordrer, flytidtabeller, aksjekurser, vitenskapelige målinger, avfallsdatabase Regulær struktur Små elementer Ikke blandet innhold Kommuneeksemplet (lysark XML-4) er datasentrert! Bokeksemplet (lysark XML-2 og XML-3) er dokumentsentrert! Rekkefølgen på barneelementer er vanligvis uviktig Data kan komme fra en database og vi eksporterer XML eller utenfra, og vi vil lagre i en (ikke XML) database INF102-XML--17 INF102-XML--18 Fremvisning av XML-dokumenter i en nettleser XML-dokumenter er ikke ment for direkte fremvisning To løsninger: Spesifisere hvordan de enkelte elementer skal vises fram ved hjelp av et stilark Cascading Style Sheet (CSS) knyttet til kodene (utgående løsning) <?xml-stylesheet type="text/css"href="kommuner.css"?> Oversette XML-dokumentet til HTML ved hjelp av XSLT (Extensible Style Language Translator) (fremtiden) <?xml-stylesheet type="text/xsl" href="kommuneliste.xsl"?> Figur 13.8. Et stilark ( Cascading Style Sheet ) CSS KOMMUNE background-color: #ffffff; width: 100%; FYLKENR display: block; margin-left: 0; KOMMUNENR, KOMMUNENAVN color: #FF0000; font-size: 14pt; AVFALLSMENGDE, INNBYGGERTALL, AVFALLPERINNBYGGER display: block; color: #000000; margin-left: 20pt; INF102-XML--19 INF102-XML--20

<?xml version="1.0" encoding="iso-8859-1"?> <xsl:stylesheet version="1.0 xmlns:xsl="http://www.w3.org/1999/xsl/transform"> <xsl:template match="/"> <html> <body> <table border="2" bgcolor="yellow"> <tr> <th>fylkenr</th> <th>kommunenr</th> <th>kommunenavn</th> </tr> <xsl:for-each select="kommuneliste/kommune"> <tr> <td><xsl:value-of select="fylkenr"/></td> <td><xsl:value-of select="kommunenr"/></td> <td><xsl:value-of select="kommunenavn"/></td> </tr> </xsl:for-each> </table> </body> </html> </xsl:template> </xsl:stylesheet> Figur 13.9. XSLT - Eksempel XSLT-prosess UI Fylke (fylkenr) XML med begreper og representasjoner eksempel fylkenr fylkenr Kommune (lokalt_knr) kommunenr fylkenavn NOT NULL kommunenavn XMLdokument HTMLdokument XSLTdokument Kommunenavn (kommunenavn) Fylkenavn (fylkenavn) Mengde (# tonn) avfallsmengde En gruppert ORM-modell! Antall (#) NOT NULL innbyggertall INF102-XML--21 INF102-XML--22 Figur 13.10. XML med begreper og representasjoner <?xml version='1.0'?> <!DOCTYPE skole SYSTEM avfall.dtd"> <Avfall> <Fylke> <fylkenr begrep= Fylke repr= fylkenr >01</fylkenr> <fylkenavn begrep = Fylkenavn repr= fylkenavn > Østfold</fylkenavn> </Fylke> <Fylke>... </Fylke> <Kommune> <fylkenr begrep= Fylke repr= fylkenr >01</fylkenr> <kommunenr repr= lokalt_knr >01</kommunenr> <kommunenavn begrep= Kommunenavn repr= kommunenavn >Halden</ kommunenavn>. </Kommune>.. </Avfall> INF102-XML--23 XML med begreper og representasjoner DTD Document Type Definition på fil avfall.dtd <!-- Avfall elements --> <!ELEMENT avfall (Fylke Kommune)*> <!-- ========= Fylke ========== --> <!ELEMENT Fylke (fylkenr, fylkenavn)> <!ELEMENT fylkenr (#PCDATA)> <!ATTLIST fylkenr <!ELEMENT fylkenavn (#PCDATA)> <!ATTLIST fylkenavn... <!-- ===== Kommune ========== --> <!ELEMENT Kommune (fylkenr, kommunenr, kommunenavn, avfallsmengde, innbyggertall)> <!ELEMENT fylkenr (#PCDATA)> <!ATTLIST fylkenr <!ELEMENT kommunenr (#PCDATA)> <!ATTLIST kommunenr <!ELEMENT kommunenavn (#PCDATA)> <!ATTLIST kommunenavn... INF102-XML--24