Præsentation er lastning. Vent venligst

Præsentation er lastning. Vent venligst

XML og Skemaer Costanza Navarretta Center for Sprogteknologi, Københavns Universitet

Lignende præsentationer


Præsentationer af emnet: "XML og Skemaer Costanza Navarretta Center for Sprogteknologi, Københavns Universitet"— Præsentationens transcript:

1 XML og Skemaer Costanza Navarretta Center for Sprogteknologi, Københavns Universitet costanza@cst.dk

2 C. Navarretta: Noter om XML og Skemaer 2 Indhold fra sidst (XML-syntaks og hvornår er XML-dokumenter velformede?) hvad er skemaerne og hvad bruges de til? DTD’er URI Validering af XML-dokumenter der følger et skema Artikel Mærk Teksten

3 C. Navarretta: Noter om XML og Skemaer 3 Er dokumenter velformede? I Python er der flere ”biblioteker” til at arbejde med XML. Fx xmllib (default med python) Pyxml: er installeret i undervisningslokalet, hentes: http://prdownloads.sourceforge.net/pyxml/Py XML-0.8.4.win32-py2.4.exe?download http://prdownloads.sourceforge.net/pyxml/Py XML-0.8.4.win32-py2.4.exe?download

4 C. Navarretta: Noter om XML og Skemaer 4 Er dokumentet velformet? Man kan teste om dokumenter er velformede i python med følgende programlinier: Uden pyxml: #ikke validerende parser import xml.sax from xml.sax import handler, saxutils, xmlreader c=handler.ContentHandler() m= open("filename","r") xml.sax.parse(m,c) m.close()

5 C. Navarretta: Noter om XML og Skemaer 5 Er dokumenter velformede? - fortsat Med installeret pyxml: import xml.dom from xml.dom import minidom xmldoc=minidom.parse("filename") Øvelse: Test de filer i lavede i sidste uge

6 C. Navarretta: Noter om XML og Skemaer 6 Hvad bruges skemaer til? Skemaerne definerer hvilke elementer og attributter der gælder for et eller flere XML- dokumenter, dokumentets hierarkiske struktur, attributternes og elementernes type (lige som typer i Python), ders antal osv. Et skema kaldes et vokabular. Skemaerne giver muligheden for at validere XML-dokumenter: en XML-parser kontrollerer at XML-dokumenterne følger de specifikationer angivet i de relevante skemaer.

7 C. Navarretta: Noter om XML og Skemaer 7 Skemaer Der findes flere måder at definere skemaer på. De mest udbredte er følgende: DTD (Document Type Definition) XML Schema

8 C. Navarretta: Noter om XML og Skemaer 8 Hvis et dokument er gyldigt (valid) er den også velformet (XML-syntaksen er i orden) Et gyldigt XML-dokument er et dokument der inkluderer en reference til et eller flere skemaer og følger det vokabular som er beskrevet i skemaet/skemaerne.

9 C. Navarretta: Noter om XML og Skemaer 9 DTD DTD’er har en anden syntaks end XML. DTD- syntaksen blev opfundet for at validere SGML-dokumenter. Den blev skabt før XML. DTD’er er mindre udtryksfulde end fx XML Schema, dog kan man lave macroer i DTD’er og dette er ikke muligt i XML Schema. DTD anvendes meget i sproglige kredse, men er ikke brugt i RDF og OWL.

10 C. Navarretta: Noter om XML og Skemaer 10 DTD og XML-dokumenter internt DTD: er erklæret ind i XML-dokumentet. <!DOCTYPE rod_navn [ …. DTD specifikationer… ]> … eksternt DTD: er en selvstændig fil. I XML- dokumenter angives referencen til DTD'en med en URI efter XML-prologet: …

11 C. Navarretta: Noter om XML og Skemaer 11 URI: URL og URN URI (Uniforme Resource Identifier): standard for at identificere resurser på internettet: URL (Uniform Resource Locator): protocol+hostname+datapath, fx http://www.sis.ku.dk/ http://www.ku.dk URN (Uniform Resource Locator): betegner en resurse uafhængigt af fysisk adresse RDF

12 C. Navarretta: Noter om XML og Skemaer 12 Et DTD eksempel ]>

13 C. Navarretta: Noter om XML og Skemaer 13 Øvelse Lav et XML-dokument der følger DTD’en person.dtd og indeholder jeres data. Kontroller at det er velformet. Vi vil senere validere dokumentet ifølge DTD’en.

14 C. Navarretta: Noter om XML og Skemaer 14 Flere eksempler dokument med med internt DTD dokument med eksternt DTD eksternt film.dtd Bemærk at for at se DTD’en skal I gemme dokumentet og så åbne det med en editor.

15 C. Navarretta: Noter om XML og Skemaer 15 online-validatorer Valider film.xml og film_alone.xml som findes på adresserne: http://cst.dk/costanza/course/informasoeg/eksempler/film.xml http://cst.dk/costanza/course/informasoeg/eksempler/film_alone.xml med en af de to on line valideringsprogrammer: http://www.stg.brown.edu/service/xmlvalid/ http://www.cogsci.ed.ac.uk/%7Erichard/xml-check.html Valider først filerne hos cst.dk og dernæst gem filerne på jeres katalog og valider dem også der. Husk også at gemme DTD- filen: http://cst.dk/costanza/course/informasoeg/eksempler/films.dtd

16 C. Navarretta: Noter om XML og Skemaer 16 Øvelse 1.hent filen person.dtd på http://cst.dk/costanza/course/informasoeg/e ksempler/person.dtd http://cst.dk/costanza/course/informasoeg/e ksempler/person.dtd 2.gem det i samme katalog som jeres fil person.xml 3.bind person.xml til person.dtd eller sæt person.dtd i jeres xml-dokumentet 4.valider person.xml


Download ppt "XML og Skemaer Costanza Navarretta Center for Sprogteknologi, Københavns Universitet"

Lignende præsentationer


Annoncer fra Google