De presentatie wordt gedownload. Even geduld aub

De presentatie wordt gedownload. Even geduld aub

Marc de Graauw XML Alle tekortkomingen op een rijtje! (en een paar pluspunten...) Innovation DevDay 2009.

Verwante presentaties


Presentatie over: "Marc de Graauw XML Alle tekortkomingen op een rijtje! (en een paar pluspunten...) Innovation DevDay 2009."— Transcript van de presentatie:

1 Marc de Graauw XML Alle tekortkomingen op een rijtje! (en een paar pluspunten...) Innovation DevDay 2009

2 Marc de Graauw Marc de Graauw studeerde biologie & filosofie sinds 1989 in de ICT sinds 1996 zelfstandig consultant –semantiek –interoperabiliteit –XML & Web Services Landelijk Elektronisch Patiëntendossier, Strafrechtketen, verzekeraars, arbodiensten, UWV artikelen en presentaties: zie

3 Marc de Graauw De geschiedenis van XML SGML –Standard Generalized Markup Language –IBM: back to the sixties... –Markup: structuur, niet processing HTML: SGML spinoff 1998: XML –SGML voor het Web, zonder ballast 2002: Hype 2009: Waar staan we?

4 Marc de Graauw Waarom XML? XML als documentformaat –uitgevers: een bron, veel weergaven –SGML is te complex XML voor gegevensuitwisseling –ASCII, CSV is te simpel en foutgevoelig –EDI is te duur XML voor het Web –HTML kan geen semantiek uitdrukken –XML volgende generatie (‘Semantic Web’)

5 Marc de Graauw XML en Unicode

6 Marc de Graauw HTML - een voorbeeld Marc de Graauw Marc de Graauw Geslacht: Man Opleidingen VWO kandidaats Biologie doctoraal filosofie

7 Marc de Graauw XML - een voorbeeld Graauw de Marc VWO kandidaats Biologie doctoraal filosofie

8 Marc de Graauw Vóór Unicode 7 bits, 128 tekens, 95 afdrukbaar Engels: cijfers, letters, leestekens niet: Frans: ê ç Duits: ß ä Grieks: ε Ω Nederlands: ë ï Spaans, Arabisch, Fins, Russisch, Chinees, Thais, etc. etc. bits bytes dec bytes hex6d asciimarc

9 Marc de Graauw Vóór Unicode ASCII DEC Multi- national Character Set code page 850 code page 473 bytes bytes Engels, meeste Frans, Duits IBM PC ISO-Latin + œ, € ISO-Latin + ‘IJ’sland + ‘œ’uf ISO (ISO-Latin) West- Europees ISO Windows 1252 West Europees + Á ß Shift- JIS Japans EBCDIC IBM mainframe etc. etc. etc....

10 Marc de Graauw Vóór Unicode CP 437 CP 850 Windows 1252 ISO- Latin-1 ISO- Latin-15 Unicode a áa0 e1 00e1 ä84 e4 00e4 €--80-a420ac õ-e4f5 00f5 Ç 80 c7 00c7 œ--9c-bd0153

11 Marc de Graauw Unicode code point U+006D karakter LATIN SMALL LETTER M (de letter ‘m’) glyph m m m m m

12 Marc de Graauw

13 Marc de Graauw

14 Marc de Graauw

15 Marc de Graauw

16 Marc de Graauw

17 Marc de Graauw Tengwar – Tolkien - niet officieel (private use range)

18 Marc de Graauw Unicode encodings Unicode –U+006D = ‘m’ –karakter 0 – 255: gelijk aan ISO-Latin-1 – code points (0 – 10FFFF) UTF-16 encoding –4 bytes –0000 – FFFF: gelijk aan Unicode nummer –Byte Order Mark U+FEFF (ZERO-WIDTH NO-BREAK SPACE) byte-swapped = U+FFFE = geen legaal karakter –efficiënt voor Chinees en Japans UTF-8 –1 tot 4 bytes –0 – 127: gelijk aan ASCII –ergo: ASCII tekst is altijd ook UTF-8 tekst –efficiënt voor Westerse talen

19 Marc de Graauw Unicode encodings tekencode point UTF-8UTF-16ISO- Latin-1 ASCII spatieU aU äU+00E4C3 A400 E4E4-

20 Marc de Graauw XML Java.NET

21 Marc de Graauw XML XML = SGML – ballast + Unicode –Een XML document is een boom –Een root node –Attributen, elementen, tekst

22 Marc de Graauw

23 Marc de Graauw Documenten opmaak kleur plaatjes in de tekst vetgedrukte en schuingedrukte tekst titel / paragraaf / lijst

24 Marc de Graauw wodovrzazo Zonneschijn (%) Neerslagkans (%) Neerslaghoeveelheid (mm) Minimumtemperatuur (°C)159/118/119/11 Middagtemperatuur (°C)1816/1917/20 16/19 WindrichtingWNWWWW Windkracht (bft)43323

25 Marc de Graauw tabellen, rijen, kolommen cijfers korte teksten datatypes: %, mm, °C, bft datatypes en structuur van een XML document vastleggen in een schema Data

26 Marc de Graauw Document Object Model (DOM) XML document wordt ingeladen in een object –de ‘DOM tree’ methoden –getElementsByTagName(...) –getAttribute(...) –createElement(...) dezelfde methoden in iedere taal: Java, C,.NET...

27 Marc de Graauw Namespaces een document kan meerdere vocabulaires herbergen wat is dan de betekenis van,... namespace voorbeelden: SOAP-ENV:MustUnderstand

28 Marc de Graauw Pro XML combineert documenten met data software breed beschikbaar geen problemen met –encoding –regeleinden –afspraken

29 Marc de Graauw Contra XML overhead door start- en eindtags DOM is complex DOM sluit niet goed aan op programmeertalen Namespaces zijn complex Redundantie

30 Marc de Graauw XPath en XSLT

31 Marc de Graauw XPath XPath: taal om nodes uit de boom te trekken /document root /bookalle elementen onder root elementen onder root met een ‘id’ attribuut

32 Marc de Graauw XSLT stylesheet XML bronbestandXML resultaat

33 Marc de Graauw XSLT demo (stylesheet – bron – resultaat) voordelen –snel –veel implementaties op veel platforms nadelen –verbose –namespaces zijn foutgevoelig

34 Marc de Graauw Schematalen

35 Marc de Graauw Schematalen 1998: XML, DOM, XPath 1999: Namespaces, XSLT 2001: XML Schema W3C versus ISO 1999: Schematron 2001: RelaxNG 2003: ISO RelaxNG 2006: ISO Schematron demo L1, L2

36 Marc de Graauw RelaxNG

37 Marc de Graauw XML Schema ongeldige constructie!

38 Marc de Graauw Schematron rules in XML alleen een XSLT processor nodig Schematron regels voor project X Stylesheet voor project X Rapport XML bestand project X XML bestand project X Schematron stylesheet(s)

39 Marc de Graauw Schematron

40 Marc de Graauw Schema pro en con Schema’s –zonder schema: eindeloze discussies XML Schema –is complex –kan veel simpele constraints niet uitdrukken –is overal aanwezig, m.n. in Microsoft en Web Services RelaxNG –simpeler –minder software Schematron –regelgebaseerd –XSLT processor is de hele toolkit

41 Marc de Graauw JSON en Ajax

42 Marc de Graauw JSON JavaScript Object Notation compact sluit goed aan op programmeertalen geen schemataal altijd Unicode; voorkeur UTF-8

43 Marc de Graauw Server Browser HTTP 200 OK + pagina HTTP GET HTML HTTP 200 OK + pagina HTTP GET

44 Marc de Graauw XML Server Browser HTTP 200 OK + pagina HTTP GET XMLHttpRequest HTTP 200 OK + pagina HTTP GET XMLHttpRequest

45 Marc de Graauw AJAX Asynchronous JavaScript and XML –XMLHttpRequest –‘XML’ is hier vaak JSON! –pulldowns, refresh, drag & drop –Javascript libraries –Prototype, jQuery e.v.a. AJAX –volledige applicatie in de browser –ASP

46 Marc de Graauw Web Services

47 Marc de Graauw Web Services basis XML voor de gegevens Schema voor –contract –design –codegeneratie –validatie Transport: SOAP en HTTP Servicebeschrijving: WSDL

48 Marc de Graauw Web Services stack (WS-*) Security –XML Signature, XML Encryption –XML Canonicalization (2x) –WS-Security, WS-SecureConversation, WS-Trust Transport –WS-Addressing –WS-ReliableMessaging –MTOM Metadata –WS-Policy Totaal: complex!

49 Marc de Graauw Waarom XML? XML als documentformaat –uitgevers: het werkt –SGML is grotendeels vervangen XML voor gegevensuitwisseling –veelgebruikt: EDI en CSV zijn geen alternatief –Web Services: complex... XML voor het Web –grotendeels mislukt –JSON vult een deel van deze niche

50 Marc de Graauw Vragen?


Download ppt "Marc de Graauw XML Alle tekortkomingen op een rijtje! (en een paar pluspunten...) Innovation DevDay 2009."

Verwante presentaties


Ads door Google