210 likes | 353 Views
Introduktion til XML. Hvad er XML?. XML står for EXtensible Markup Language XML er en åben standard fra W3C XML er tekstbaseret ligesom HTML XML er et meta sprog – et koncept snarere end et sprog Man implementerer markup sprog ved hjælp af XML
E N D
Hvad er XML? • XML står for EXtensible Markup Language • XML er en åben standard fra W3C • XML er tekstbaseret ligesom HTML • XML er et meta sprog – et koncept snarere end et sprog • Man implementerer markup sprog ved hjælp af XML • Mange teknologier er i dag implementeret ved hjælp af XML • XHTML, SMIL, RSS, WAP, WML, SVG, MathML, Daisy, Office Open XML, OpenDocument, iWork
Hvad er XML? • XML er en standard, som understøtter maskinel behandling af information • Struktureret information som i en database • Mere løst narrativ som i skøn- eller faglitteratur • Klare og stringente regler for Indhold Struktur (velformede) Syntaks (valide) • XML programmer antager at XML dokumenter er velformede og valide
Hvad er XML? • Eksempel på XML fil • Alle Unicode tegn kan anvendes • Encoding skal specificeres • <?xml version="1.0" encoding="UTF-8" ?> • <?xml version="1.0" encoding="iso-8859-1"?> • Visse tegn er reserverede (kontroltegn) og skal skrives på særlig møde • < & • < > & ' " < > & ‘ “ • 中 eller 中
Referencedokumenter • http://www.w3.org/standards/xml/ • http://en.wikipedia.org/wiki/Xml
Talsystemer 10-talsystemet (decimale) 1 2 3 4 0 1 2 3 4 5 6 7 8 9 1 10 100 1000 2-talsystemet (binære) 1 0 0 0 1 1 0 1 0 1 1 8 4 2 64 32 16 128 16-talsystemet (hexadecimale) F A 2 5 0 1 2 3 4 5 6 7 8 9 A B C D E F 1 16 256 4096
Talsystemer 0 0 1 0 0 1 0 0 0 0 0 0 1 1 1 0 2 8 0 E (10.254)
Tegnsæt • 1 byte = 8 bits = 28 (256 kombinationer) • 2 bytes = 16 bits = 216 (65.536 kombinationer) • 3 bytes = 24 bits = 224 (16.777.216 kombinationer) • Single-byte tegnsæt • Fx ASCII, Codepage 1252, Codepage 1250 • Multi-byte tegnsæt • Fx Unicode, UTF8 • Unicode range 0x0000-0x0FFF • Unicode range 0x2000-0x2FFF <?xml version="1.0" encoding="UTF-8"?> <外语>Китайська мова</外语>
Øvelser • Find og installer en Unicode skrifttype • Code2000 • Vælg Code2000 som skrifttype i Notepad • Opret en større tekstfil i Notepad og gem den i forskellige kodninger • ANSI, UTF-8, Unicode • Tjek størrelsen af de tre filer • Hvad betyder følgende Unicode tegn 0x2803 0x2817 0x2801 0x280A 0x2807 0x2807 0x2811 • Brug RoboBraille til at skabe lidt punktskrift i Unicode. Kopier det ind i tekstfilen
Markup, tags og indhold • XML-filer består af markup og indhold (content) • Markup kaldes også tags. • Tre typer tags: • Start tags (open tags): <section> • End tags (close tags): </section> • Empty-element tags <newline/> (self-closing tags) • Tags er ikke nødvendigvis definerede på forhånd
Markup, tags og indhold • XML er case-sensitiv: <section> <Section> • Tags kan have attributter • <headingtext=”Hallo, dette er en prøve”/> • <namelanguage=”da”>Her er en tekst.</name> • Elementer • Open + close tags + attributter til open tags + tekst og tags mellem open og close tags • Self-closing tags incl attributter <p>As Yogi Berra said, <q>"It ain't over 'til it's over."</q></p>
Velformet (well-formed) • XML kode skal være velformet, herunder: • Koden skal bestå af prolog og rod-element <?xml version="1.0" encoding="UTF-8"?> <book> … </book> • Koden skal bestå af lovlige tegn • Koden skal indeholde mindst et element (rod elementet) • Elementer skal struktureres korrekt • Tags for tomme elementer skal afsluttes med /> • Start tags skal sluttes med end tags • Samme stavemåde og case i start og end tags
Velformet (well-formed) • Rod-elementet skal indeholde samtlige andre elementer i dokumentet • Alle elementer skal nestes strengt hierarkisk <employee> <name> <lastname>Kelly</lastname> <firstname>Grace</firstname> </name> <hiredate>October 15, 2005</hiredate> <projects> <project> <product>Printer</product> <id>111</id> <price>$111.00</price> </project> <project> <product>Laptop</product> <id>222</id> <price>$989.00</price> </project> </projects> </employee>
Velformet (well-formed) • Attributnavne i samme element skal være entydige • Alle attributværdier skal sættes i anførselstegn – enkelt eller dobbelt <img src=”mountains.jpg”/>
Øvelse Hvorfor er nedenstående XML kode ikke velformet? <?xml version = "1.0" standalone="yes"?> <employee> <name>Frank</name> <position>Chef</position> </employee> <employee> <name>Ronnie</name> <position>Chef</position> </employee>
Øvelse Hvorfor er nedenstående XML kode ikke velformet? <?xml version = "1.0" standalone="yes"?> <employee> <kitchen_staff/> <name language=en>Frank</name> <new_hire /> <position language=en>Chef</position> </employee>
DTD: Syntaks og validitet • Tjek af velformethed har begrænsninger • Ofte behov for at tjekke om elementer står de rigtige steder, har de rette attributter • Document Type Definition (DTD) • Placering • Indhold • Attributter • Tjek i forhold til DTD kaldes validering • XML dokumenter med DTD skal være valide • Daisy defineret ved hjælp af DTD
Øvelser • Find og installer XML Copy Editor • Sæt hak i ”Enable network access for DTD validation”
Øvelser • Tjek at dokumenterne i mappen www.sensus.dk/kursus/markup/validering er velformede og valide • Ret eventuelle fejl