1 / 21

Introduktion til XML

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

Download Presentation

Introduktion til XML

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Introduktion til XML

  2. 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

  3. 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

  4. 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;

  5. Referencedokumenter • http://www.w3.org/standards/xml/ • http://en.wikipedia.org/wiki/Xml

  6. 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

  7. Talsystemer 0 0 1 0 0 1 0 0 0 0 0 0 1 1 1 0 2 8 0 E (10.254)

  8. 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"?> <外语>Китайська мова</外语>

  9. Ø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

  10. 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

  11. 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>

  12. 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

  13. 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>

  14. 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”/>

  15. Ø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>

  16. Ø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>

  17. 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

  18. Øvelser • Find og installer XML Copy Editor • Sæt hak i ”Enable network access for DTD validation”

  19. Øvelser • Tjek at dokumenterne i mappen www.sensus.dk/kursus/markup/validering er velformede og valide • Ret eventuelle fejl

  20. Tag typer i XML

  21. Spørgsmål, kommentarer ?!

More Related