introduktion til xml

21
Sensus Specialisteri tilgæ ngelighed Sensus Specialisteri tilgæ ngelighed Introduktion til XML

Upload: amela-harrell

Post on 31-Dec-2015

34 views

Category:

Documents


1 download

DESCRIPTION

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 - PowerPoint PPT Presentation

TRANSCRIPT

SensusSpecialister i tilgængelighedSensus

Specialister i tilgængelighed

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

• < &• &lt; &gt; &amp; &apos; &quot; < > & ‘ “• &#20013; eller &#x4e2d;

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;

SensusSpecialister i tilgængelighedSensus

Specialister i tilgængelighed

Spørgsmål, kommentarer

?!