XML Alle tekortkomingen op een rijtje! (en een paar pluspunten...) Marc de Graauw http://www.marcdegraauw.com/
De geschiedenis van XML <ul><li>SGML </li></ul><ul><ul><li>Standard Generalized Markup Language </li></ul></ul><ul><ul><li...
Waarom XML? <ul><li>XML als documentformaat </li></ul><ul><ul><li>uitgevers: een bron, veel weergaven </li></ul></ul><ul><...
XML en Unicode Marc de Graauw http://www.marcdegraauw.com/
XML <ul><li>XML = SGML – ballast + Unicode </li></ul><ul><ul><li>Een XML document is een boom </li></ul></ul><ul><ul><li>E...
Marc de Graauw http://www.marcdegraauw.com/
Documenten <ul><li>opmaak </li></ul><ul><li>kleur </li></ul><ul><li>plaatjes in de tekst </li></ul><ul><li>vetgedrukte  en...
Marc de Graauw http://www.marcdegraauw.com/ wo do vr za zo Zonneschijn (%) 20 40 50 40 40 Neerslagkans (%) 20 10 10 10 20 ...
<ul><li>tabellen, rijen, kolommen </li></ul><ul><li>cijfers </li></ul><ul><li>korte teksten </li></ul><ul><li>datatypes: %...
Document Object Model (DOM) <ul><li>XML document wordt ingeladen in een object </li></ul><ul><ul><li>de ‘DOM tree’ </li></...
Namespaces <ul><li>een document kan meerdere vocabulaires herbergen </li></ul><ul><li>wat is dan de betekenis van <name>, ...
Pro XML <ul><li>combineert documenten met data </li></ul><ul><li>software breed beschikbaar </li></ul><ul><li>geen problem...
Contra XML <ul><li>overhead door start- en eindtags </li></ul><ul><li>DOM is complex </li></ul><ul><li>DOM sluit niet goed...
XPath en XSLT Marc de Graauw http://www.marcdegraauw.com/
XPath <ul><li>XPath: taal om nodes uit de boom te trekken </li></ul>Marc de Graauw http://www.marcdegraauw.com/ / document...
Marc de Graauw http://www.marcdegraauw.com/ XSLT stylesheet XML bronbestand XML resultaat
XSLT <ul><li>demo (stylesheet – bron – resultaat) </li></ul><ul><li>voordelen </li></ul><ul><ul><li>snel </li></ul></ul><u...
Schematalen Marc de Graauw http://www.marcdegraauw.com/
Schematalen <ul><li>1998: XML, DOM, XPath </li></ul><ul><li>1999: Namespaces, XSLT </li></ul><ul><li>2001: XML Schema </li...
RelaxNG Marc de Graauw http://www.marcdegraauw.com/
XML Schema Marc de Graauw http://www.marcdegraauw.com/ ongeldige constructie! ongeldige constructie!
Schematron <ul><li>rules </li></ul><ul><li>in XML </li></ul><ul><li>alleen een XSLT processor nodig </li></ul>Marc de Graa...
Schematron Marc de Graauw http://www.marcdegraauw.com/
Schema pro en con <ul><li>Schema’s </li></ul><ul><ul><li>zonder schema: eindeloze discussies </li></ul></ul><ul><li>XML Sc...
JSON en Ajax Marc de Graauw http://www.marcdegraauw.com/
JSON <ul><li>JavaScript Object Notation </li></ul><ul><li>compact </li></ul><ul><li>sluit goed aan op programmeertalen </l...
HTML Marc de Graauw http://www.marcdegraauw.com/ Server Browser HTTP 200 OK + pagina HTTP GET HTTP 200 OK + pagina HTTP GET
XMLHttpRequest Marc de Graauw http://www.marcdegraauw.com/ XML Server Browser HTTP 200 OK + pagina HTTP GET HTTP 200 OK + ...
AJAX <ul><li>Asynchronous JavaScript and XML </li></ul><ul><ul><li>XMLHttpRequest </li></ul></ul><ul><ul><li>‘ XML’ is hie...
Web Services Marc de Graauw http://www.marcdegraauw.com/
Web Services basis <ul><li>XML voor de gegevens </li></ul><ul><li>Schema voor </li></ul><ul><ul><li>contract </li></ul></u...
Web Services stack (WS-*) <ul><li>Security </li></ul><ul><ul><li>XML Signature, XML Encryption </li></ul></ul><ul><ul><li>...
Waarom XML? <ul><li>XML als documentformaat </li></ul><ul><ul><li>uitgevers: het werkt </li></ul></ul><ul><ul><li>SGML is ...
Vragen? Marc de Graauw http://www.marcdegraauw.com/
Upcoming SlideShare
Loading in …5
×

XML tekortkomingen en pluspunten

619 views
566 views

Published on

Published in: Technology
0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total views
619
On SlideShare
0
From Embeds
0
Number of Embeds
4
Actions
Shares
0
Downloads
2
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

XML tekortkomingen en pluspunten

  1. 1. XML Alle tekortkomingen op een rijtje! (en een paar pluspunten...) Marc de Graauw http://www.marcdegraauw.com/
  2. 2. De geschiedenis van XML <ul><li>SGML </li></ul><ul><ul><li>Standard Generalized Markup Language </li></ul></ul><ul><ul><li>IBM: back to the sixties... </li></ul></ul><ul><ul><li>Markup: structuur, niet processing </li></ul></ul><ul><li>HTML: SGML spinoff </li></ul><ul><li>1998: XML </li></ul><ul><ul><li>SGML voor het Web, zonder ballast </li></ul></ul><ul><li>2002: Hype </li></ul><ul><li>2009: Waar staan we? </li></ul>Marc de Graauw http://www.marcdegraauw.com/
  3. 3. Waarom XML? <ul><li>XML als documentformaat </li></ul><ul><ul><li>uitgevers: een bron, veel weergaven </li></ul></ul><ul><ul><li>SGML is te complex </li></ul></ul><ul><li>XML voor gegevensuitwisseling </li></ul><ul><ul><li>ASCII, CSV is te simpel en foutgevoelig </li></ul></ul><ul><ul><li>EDI is te duur </li></ul></ul><ul><li>XML voor het Web </li></ul><ul><ul><li>HTML kan geen semantiek uitdrukken </li></ul></ul><ul><ul><li>XML volgende generatie (‘Semantic Web’) </li></ul></ul>Marc de Graauw http://www.marcdegraauw.com/
  4. 4. XML en Unicode Marc de Graauw http://www.marcdegraauw.com/
  5. 5. XML <ul><li>XML = SGML – ballast + Unicode </li></ul><ul><ul><li>Een XML document is een boom </li></ul></ul><ul><ul><li>Een root node </li></ul></ul><ul><ul><li>Attributen, elementen, tekst </li></ul></ul>Marc de Graauw http://www.marcdegraauw.com/
  6. 6. Marc de Graauw http://www.marcdegraauw.com/
  7. 7. Documenten <ul><li>opmaak </li></ul><ul><li>kleur </li></ul><ul><li>plaatjes in de tekst </li></ul><ul><li>vetgedrukte en schuingedrukte tekst </li></ul><ul><li>titel / paragraaf / lijst </li></ul>Marc de Graauw http://www.marcdegraauw.com/
  8. 8. Marc de Graauw http://www.marcdegraauw.com/ wo do vr za zo Zonneschijn (%) 20 40 50 40 40 Neerslagkans (%) 20 10 10 10 20 Neerslaghoeveelheid (mm) 2 0 0 0 0-1 Minimumtemperatuur (°C) 15 9/11 8/11 9/11 9/11 Middagtemperatuur (°C) 18 16/19 17/20 17/20 16/19 Windrichting W NW W W W Windkracht (bft) 4 3 3 2 3
  9. 9. <ul><li>tabellen, rijen, kolommen </li></ul><ul><li>cijfers </li></ul><ul><li>korte teksten </li></ul><ul><li>datatypes: %, mm, °C, bft </li></ul><ul><li>datatypes en structuur van een XML document vastleggen in een schema </li></ul>Data Marc de Graauw http://www.marcdegraauw.com/
  10. 10. Document Object Model (DOM) <ul><li>XML document wordt ingeladen in een object </li></ul><ul><ul><li>de ‘DOM tree’ </li></ul></ul><ul><li>methoden </li></ul><ul><ul><li>getElementsByTagName(...) </li></ul></ul><ul><ul><li>getAttribute(...) </li></ul></ul><ul><ul><li>createElement(...) </li></ul></ul><ul><li>dezelfde methoden in iedere taal: Java, C, .NET... </li></ul>Marc de Graauw http://www.marcdegraauw.com/
  11. 11. Namespaces <ul><li>een document kan meerdere vocabulaires herbergen </li></ul><ul><li>wat is dan de betekenis van <name>, <id>... </li></ul><ul><li>namespace voorbeelden: </li></ul><ul><li><xs:schema xmlns:xs=&quot;http://www.w3.org/2001/XMLSchema&quot;> </li></ul><ul><li><schema xmlns=&quot;http://www.w3.org/2001/XMLSchema&quot;> </li></ul><ul><li><element name=&quot;purchaseOrder&quot; type=&quot;po:PurchaseOrderType&quot;/> </li></ul><ul><li><faultcode>SOAP-ENV:MustUnderstand</faultcode> </li></ul>Marc de Graauw http://www.marcdegraauw.com/
  12. 12. Pro XML <ul><li>combineert documenten met data </li></ul><ul><li>software breed beschikbaar </li></ul><ul><li>geen problemen met </li></ul><ul><ul><li>encoding </li></ul></ul><ul><ul><li>regeleinden </li></ul></ul><ul><ul><li>afspraken </li></ul></ul>Marc de Graauw http://www.marcdegraauw.com/
  13. 13. Contra XML <ul><li>overhead door start- en eindtags </li></ul><ul><li>DOM is complex </li></ul><ul><li>DOM sluit niet goed aan op programmeertalen </li></ul><ul><li>Namespaces zijn complex </li></ul><ul><li>Redundantie </li></ul><ul><li><mdg:auteur naam=&quot;Marc&quot; xmlns:mdg=&quot;http://www.marcdegraauw.com/voorbeeld/&quot;/> </li></ul><ul><li><auteur xmlns=&quot;http://www.marcdegraauw.com/voorbeeld/&quot; naam=&quot;Marc&quot;></auteur> </li></ul>Marc de Graauw http://www.marcdegraauw.com/
  14. 14. XPath en XSLT Marc de Graauw http://www.marcdegraauw.com/
  15. 15. XPath <ul><li>XPath: taal om nodes uit de boom te trekken </li></ul>Marc de Graauw http://www.marcdegraauw.com/ / document root /book alle <book> elementen onder root /book[@id] alle <book> elementen onder root met een ‘id’ attribuut
  16. 16. Marc de Graauw http://www.marcdegraauw.com/ XSLT stylesheet XML bronbestand XML resultaat
  17. 17. XSLT <ul><li>demo (stylesheet – bron – resultaat) </li></ul><ul><li>voordelen </li></ul><ul><ul><li>snel </li></ul></ul><ul><ul><li>veel implementaties op veel platforms </li></ul></ul><ul><li>nadelen </li></ul><ul><ul><li>verbose </li></ul></ul><ul><ul><li>namespaces zijn foutgevoelig </li></ul></ul>Marc de Graauw http://www.marcdegraauw.com/
  18. 18. Schematalen Marc de Graauw http://www.marcdegraauw.com/
  19. 19. Schematalen <ul><li>1998: XML, DOM, XPath </li></ul><ul><li>1999: Namespaces, XSLT </li></ul><ul><li>2001: XML Schema </li></ul><ul><li>W3C versus ISO </li></ul><ul><li>1999: Schematron </li></ul><ul><li>2001: RelaxNG </li></ul><ul><li>2003: ISO RelaxNG </li></ul><ul><li>2006: ISO Schematron </li></ul><ul><li>demo L1, L2 </li></ul>Marc de Graauw http://www.marcdegraauw.com/
  20. 20. RelaxNG Marc de Graauw http://www.marcdegraauw.com/
  21. 21. XML Schema Marc de Graauw http://www.marcdegraauw.com/ ongeldige constructie! ongeldige constructie!
  22. 22. Schematron <ul><li>rules </li></ul><ul><li>in XML </li></ul><ul><li>alleen een XSLT processor nodig </li></ul>Marc de Graauw http://www.marcdegraauw.com/ Schematron regels voor project X Stylesheet voor project X Rapport XML bestand project X XML bestand project X Schematron stylesheet(s)
  23. 23. Schematron Marc de Graauw http://www.marcdegraauw.com/
  24. 24. Schema pro en con <ul><li>Schema’s </li></ul><ul><ul><li>zonder schema: eindeloze discussies </li></ul></ul><ul><li>XML Schema </li></ul><ul><ul><li>is complex </li></ul></ul><ul><ul><li>kan veel simpele constraints niet uitdrukken </li></ul></ul><ul><ul><li>is overal aanwezig, m.n. in Microsoft en Web Services </li></ul></ul><ul><li>RelaxNG </li></ul><ul><ul><li>simpeler </li></ul></ul><ul><ul><li>minder software </li></ul></ul><ul><li>Schematron </li></ul><ul><ul><li>regelgebaseerd </li></ul></ul><ul><ul><li>XSLT processor is de hele toolkit </li></ul></ul>Marc de Graauw http://www.marcdegraauw.com/
  25. 25. JSON en Ajax Marc de Graauw http://www.marcdegraauw.com/
  26. 26. JSON <ul><li>JavaScript Object Notation </li></ul><ul><li>compact </li></ul><ul><li>sluit goed aan op programmeertalen </li></ul><ul><li>geen schemataal </li></ul><ul><li>altijd Unicode; voorkeur UTF-8 </li></ul>Marc de Graauw http://www.marcdegraauw.com/
  27. 27. HTML Marc de Graauw http://www.marcdegraauw.com/ Server Browser HTTP 200 OK + pagina HTTP GET HTTP 200 OK + pagina HTTP GET
  28. 28. XMLHttpRequest Marc de Graauw http://www.marcdegraauw.com/ XML Server Browser HTTP 200 OK + pagina HTTP GET HTTP 200 OK + pagina HTTP GET XMLHttpRequest
  29. 29. AJAX <ul><li>Asynchronous JavaScript and XML </li></ul><ul><ul><li>XMLHttpRequest </li></ul></ul><ul><ul><li>‘ XML’ is hier vaak JSON! </li></ul></ul><ul><ul><li>pulldowns, refresh, drag & drop </li></ul></ul><ul><ul><li>Javascript libraries </li></ul></ul><ul><ul><li>Prototype, jQuery e.v.a. </li></ul></ul><ul><li>AJAX </li></ul><ul><ul><li>volledige applicatie in de browser </li></ul></ul><ul><ul><li>ASP </li></ul></ul>Marc de Graauw http://www.marcdegraauw.com/
  30. 30. Web Services Marc de Graauw http://www.marcdegraauw.com/
  31. 31. Web Services basis <ul><li>XML voor de gegevens </li></ul><ul><li>Schema voor </li></ul><ul><ul><li>contract </li></ul></ul><ul><ul><li>design </li></ul></ul><ul><ul><li>codegeneratie </li></ul></ul><ul><ul><li>validatie </li></ul></ul><ul><li>Transport: SOAP en HTTP </li></ul><ul><li>Servicebeschrijving: WSDL </li></ul>Marc de Graauw http://www.marcdegraauw.com/
  32. 32. Web Services stack (WS-*) <ul><li>Security </li></ul><ul><ul><li>XML Signature, XML Encryption </li></ul></ul><ul><ul><li>XML Canonicalization (2x) </li></ul></ul><ul><ul><li>WS-Security, WS-SecureConversation, WS-Trust </li></ul></ul><ul><li>Transport </li></ul><ul><ul><li>WS-Addressing </li></ul></ul><ul><ul><li>WS-ReliableMessaging </li></ul></ul><ul><ul><li>MTOM </li></ul></ul><ul><li>Metadata </li></ul><ul><ul><li>WS-Policy </li></ul></ul><ul><li>Totaal: complex! </li></ul>Marc de Graauw http://www.marcdegraauw.com/
  33. 33. Waarom XML? <ul><li>XML als documentformaat </li></ul><ul><ul><li>uitgevers: het werkt </li></ul></ul><ul><ul><li>SGML is grotendeels vervangen </li></ul></ul><ul><li>XML voor gegevensuitwisseling </li></ul><ul><ul><li>veelgebruikt: EDI en CSV zijn geen alternatief </li></ul></ul><ul><ul><li>Web Services: complex... </li></ul></ul><ul><li>XML voor het Web </li></ul><ul><ul><li>grotendeels mislukt </li></ul></ul><ul><ul><li>JSON vult een deel van deze niche </li></ul></ul>Marc de Graauw http://www.marcdegraauw.com/
  34. 34. Vragen? Marc de Graauw http://www.marcdegraauw.com/

×