Introduktion til XML
-
Upload
amela-harrell -
Category
Documents
-
view
34 -
download
1
description
Transcript of Introduktion til XML
SensusSpecialister i tilgængelighedSensus
Specialister i tilgængelighed
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
SensusSpecialister i tilgængelighedSensus
Specialister i tilgængelighed
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
IndholdStruktur (velformede)Syntaks (valide)
• XML programmer antager at XML dokumenter er velformede og valide
SensusSpecialister i tilgængelighedSensus
Specialister i tilgængelighed
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 中
SensusSpecialister i tilgængelighedSensus
Specialister i tilgængelighed
Referencedokumenter• http://www.w3.org/standards/xml/ • http://en.wikipedia.org/wiki/Xml
SensusSpecialister i tilgængelighedSensus
Specialister i tilgængelighed
Talsystemer
11 22 33 44
10
00
10
0 10 1
10-talsystemet (decimale)
0 1 2 3 4 5 6 7 8 9
11 11 00 11
8 4 2 1
2-talsystemet (binære)
0 1
FF AA 22 55
40
96
25
6 16 1
16-talsystemet (hexadecimale)
0 1 2 3 4 5 6 7 8 9 A B C D E F
11 00 00 00
163264
12
8
SensusSpecialister i tilgængelighedSensus
Specialister i tilgængelighed
Talsystemer
00 11 00 00
22 88 00 EE
00 00 11 00 11 11 11 0000 00 00 00
(10.254)
SensusSpecialister i tilgængelighedSensus
Specialister i tilgængelighed
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"?>
<外语 >Китайська мова</外语 >
SensusSpecialister i tilgængelighedSensus
Specialister i tilgængelighed
Øvelser1. Find og installer en Unicode skrifttype
– Code2000
2. Vælg Code2000 som skrifttype i Notepad3. Opret en større tekstfil i Notepad og gem den i
forskellige kodninger– ANSI, UTF-8, Unicode– Tjek størrelsen af de tre filer
4. Hvad betyder følgende Unicode tegn0x2803 0x2817 0x2801 0x280A 0x2807 0x2807 0x2811
5. Brug RoboBraille til at skabe lidt punktskrift i Unicode. Kopier det ind i tekstfilen
SensusSpecialister i tilgængelighedSensus
Specialister i tilgængelighed
Markup, tags og indhold• XML-filer består af markup og indhold (content)• Markup kaldes også tags.• Tre typer tags:
1. Start tags (open tags): <section>2. End tags (close tags): </section>3. Empty-element tags <newline/>
(self-closing tags)
• Tags er ikke nødvendigvis definerede på forhånd
SensusSpecialister i tilgængelighedSensus
Specialister i tilgængelighed
Markup, tags og indhold• XML er case-sensitiv: <section> <Section>• Tags kan have attributter
– <heading text=”Hallo, dette er en prøve”/>– <name language=”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>
SensusSpecialister i tilgængelighedSensus
Specialister i tilgængelighed
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
SensusSpecialister i tilgængelighedSensus
Specialister i tilgængelighed
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>
SensusSpecialister i tilgængelighedSensus
Specialister i tilgængelighed
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”/>
SensusSpecialister i tilgængelighedSensus
Specialister i tilgængelighed
ØvelseHvorfor 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>
SensusSpecialister i tilgængelighedSensus
Specialister i tilgængelighed
ØvelseHvorfor 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>
SensusSpecialister i tilgængelighedSensus
Specialister i tilgængelighed
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
SensusSpecialister i tilgængelighedSensus
Specialister i tilgængelighed
Øvelser• Find og installer XML Copy Editor• Sæt hak i ”Enable network access for DTD
validation”
SensusSpecialister i tilgængelighedSensus
Specialister i tilgængelighed
Øvelser• Tjek at dokumenterne i mappen
www.sensus.dk/kursus/markup/validering er velformede og valide
• Ret eventuelle fejl
SensusSpecialister i tilgængelighedSensus
Specialister i tilgængelighed
Tag typer i XML
Objekt Formål Eksempel
Tomt element Information et bestemt sted i dokumentet
<xref linkend=”abc”/>
Almindeligt element
Sammenholder en række elementer
<p>Her er et afsnit.</p>
Erklæring Tilføjer ny parameter, entitet, grammatik
<!ENTITY author ”Erik Ray”>
Instruktion til processor
Instruktion til bestemt program
<?print-formatter force-linebreak?>
Kommentar Kommentar som ignoreres
<!–- dette er udeladt --!>
CDATA sektion Sektion, som ikke behandles
<![CDATA[Smiley! &&&:-)]]>
Reference til entitet
Indsætter tekst, som er defineret andetsteds
&firma-navn;