Presentatie XML Marc de Graauw 2 maart 2000 (c) Marc de Graauw 2000 1 Presentatie XML • Wat is XML? • Waarom XML? Toepassingen van XML. • XML nu. State of the art, toekomst. (c) Marc de Graauw 2000 2 Wat is XML? • Extensible Markup Language, v 1.0 • World Wide Web Consortium (W3C) Recommendation 10 februari 1998 • Extensible: uitbreidbaar • Markup Language: opmaaktaal (c) Marc de Graauw 2000 3 Wat is XML? • • • • XML is een opmaaktaal voor Internet XML is een volgende stap na HTML HTML en XML zijn afgeleid van SGML SGML: uitgevers, gestructureerde complexe documenten • XML is “versimpeld” SGML (c) Marc de Graauw 2000 4 HTML - een voorbeeld <HTML> <HEAD> <TITLE>Marc de Graauw</TITLE> </HEAD> <BODY> <H1>Marc de Graauw</H1> <P>Geslacht: Man</P> <H2>Opleidingen</H2> <OL> <LI>VWO</LI> <LI>kandidaats Biologie</LI> <LI>doctoraal filosofie</LI> </OL> </BODY> </HTML> (c) Marc de Graauw 2000 5 XML - een voorbeeld <?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE persoon SYSTEM "persoon.dtd"> <persoon> <persoonsgegevens geslacht="Man"> <achternaam> Graauw </achternaam> <voorvoegsel> de </voorvoegsel> <voornaam> Marc </voornaam> </persoonsgegevens> <opleiding> VWO </opleiding> <opleiding> kandidaats Biologie </opleiding> <opleiding> doctoraal filosofie </opleiding> </persoon> (c) Marc de Graauw 2000 6 Document Type Definition <!ELEMENT persoon (persoonsgegevens , opleiding* )> <!ELEMENT persoonsgegevens (achternaam , voorvoegsel? , voornaam )> <!ATTLIST persoonsgegevens geslacht CDATA #REQUIRED > <!ELEMENT achternaam (#PCDATA )> <!ELEMENT voorvoegsel (#PCDATA )> <!ELEMENT voornaam (#PCDATA )> <!ELEMENT opleiding (#PCDATA )> (c) Marc de Graauw 2000 7 XML en DTD • XML is gestructureerd document – <begintag>inhoud<eindtag> – elementen, attributen, tekst • DTD beschrijft de structuur van een XML-document – welke elementen en attributen zijn toegestaan – welke inhoud is toegestaan – validatieregels (volgorde, optionaliteit et cetera) • met DTD kan XML-document gevalideerd worden (c) Marc de Graauw 2000 8 XML versus HTML • HTML kent vaste set elementen – <P>, <H1>, <H2>, <LI> • XML is uitbreidbaar • in DTD wordt structuur beschreven • in XML zit “kennis” over betekenis – <voornaam>Marc</voornaam> – <bedrag valuta=“EUR”>10000</bedrag> • XHTML: HTML wordt XML-dialect (c) Marc de Graauw 2000 9 XML hulpmiddelen • parser – valideert XML-source a.h.v. DTD – gedrag vastgelegd in XML-specificatie • browser – laat XML zien (IE5 ondersteunt groot deel XML) – valideert XML-source m.b.v. parser – geeft elementen door aan b.v. Javascript • editors – schrijven van valide XML o.b.v. DTD (c) Marc de Graauw 2000 10 W3C Recommendations • XML versie 1.0 • DOM: Document Object Model – stelt XML document beschikbaar aan programmeertaal – gedrag is vastgelegd in W3C Recommendation – geen vendor lock-in: DOM is gelijk bij Microsoft, IBM, etc. • Namespaces • XML Schema • XSL: Extensible Stylesheet Language (c) Marc de Graauw 2000 11 XML Schema • • • • beschrijft structuur van XML bestand vergelijkbaar met DTD maar: is zelf XML bestand krachtiger: datatypes, validatie, hergebruik • nu: W3C Working Draft (c) Marc de Graauw 2000 12 Waarom XML? Toepassingen van XML • stylesheets, views op een XMLdocument • integratie data en document • XML, mens en applicatie • XML en EDI (c) Marc de Graauw 2000 13 Stylesheets 1 • hoe laat de browser XML zien? – 1) standaardoplossing in IE5: boomstructuur – 2) zelf stylesheet maken • stylesheet beschrijft hoe XML weergegeven moet worden • twee mogelijkheden: – Cascading Style Sheets (CSS, ook in HTML) – Extensible Stylesheet Language (XSL) (c) Marc de Graauw 2000 14 XML, DTD en stylesheet auteur_dezes.xml ... <?xml:stylesheet href="http://...auteur.xsl" ...> <!DOCTYPE auteur SYSTEM "http://...auteur.dtd"> ... <naam>Marc de Graauw</naam> ... auteur.dtd ... <!ELEMENT naam (#PCDATA)> ... auteur.xsl ... naam {font-size:16pt;} ... (c) Marc de Graauw 2000 15 Stylesheets 2 • stylesheet doet twee dingen • 1) conversie – – – – XML XML XML HTML XML ASCII XML EDIFACT • 2) opmaak (bij XML XML) – WWW – CDROM – hardcopy (c) Marc de Graauw 2000 16 Data en document • documenten – – – – krant, boek, webpagina structuur: hoofdstuk, paragraaf, plaatje opmaak belangrijk tekstverwerker, DTP, WWW • data – formulier, tabel, kaartenbak – structuur: veld, record, rij, kolom – database, spreadsheet • XML verenigt kracht document en data! (c) Marc de Graauw 2000 17 XML, mensen en applicaties 1 <?xml version=“1.0”?> <achternaam> Graauw </achternaam> <voorvoegsel> de </voorvoegsel> <voornaam> Marc </voornaam XSL DOM (c) Marc de Graauw 2000 applicatie database 18 XML, mensen en applicaties 2 DTD XML editor database applicatie DOM (c) Marc de Graauw 2000 <?xml version=“1.0”?> <achternaam> Graauw </achternaam> <voorvoegsel> de </voorvoegsel> <voornaam> Marc </voornaam 19 XML, mensen en applicaties 3 voorraaddatabase bestelling DTD applicatie browser XML editor XML prijslijst verkoopdatabase applicatie XML bestelling (c) Marc de Graauw 2000 20 XML en EDI 1 • uitwisseling tussen applicaties – platte bestanden (ASCII) – EDIFACT, X12 – geprogrammeerde applicatie-interface (RPC) • platte bestanden – structuur is te simpel – aanvullende regels nodig (begindatum < einddatum, geslacht = M of V) – deze regels worden veelal geprogrammeerd bij zender én ontvanger (c) Marc de Graauw 2000 21 XML en EDI 2 • EDI traditioneel – – – – – rijke structuur dure ISP, dure software complex volume nodig voor ROI redelijk succesvol bij grote bedrijven, niet bij kleinere • RPC – maatwerkoplossing per interface – programmeerwerk – is complex over bedrijfsgrenzen heen (c) Marc de Graauw 2000 22 XML en EDI 3 • XML voor EDI – – – – – veel (goedkope) tools sterk gekoppeld aan Internet rijke structuur presentatie naar mensen toe eenvoudig XML heeft momentum (c) Marc de Graauw 2000 23 XML nu, state of the art • Recommendations – – – – XML 1.0 DOM Namespaces XSLT (transformaties) • Working Drafts – XML Schema (voorjaar 2000) – XSL Formatting Language (c) Marc de Graauw 2000 24 Ondersteuning software • • • • • • • parsers browsers: Internet Explorer 5.0 DTD editors XML editors middleware databaseinterfaces native XML databases (c) Marc de Graauw 2000 25 Actieve partijen • Microsoft: XML staat centraal – Biztalk: repository, standaardformaat, infrastructuur – Internet Explorer 5.0: XML, DOM, deel XML Schema en deel XSLT • Oracle – XML als standaard dataformaat “buiten” de database – tools voor interfacing Oracle XML, XML Oracle • alle grote partijen – IBM, SUN, HP et cetera (c) Marc de Graauw 2000 26 bijlage: XML op het Internet http://www.w3.org/ http://www.xml.com/ http://www.xmlsoftware.com/ http://msdn.microsoft.com/xml/ http://biztalk.org/ http://www.marketsite.net/ http://www.sgml-ug.nl/ Dé bron voor materiaal over XML is het World Wide Web Consortium. De site van het W3C heeft de Recommendations voor XML 1.0, DOM, Namespaces en Associating Stylesheets, en de Working Drafts voor onder andere XML Schema en XSL. Diepgaand, niet als inleiding bedoeld. Een online magazine, met boeiende inleidende artikelen van autoriteiten en veel verwijzingen naar materiaal over XML. De moeite waard als uitgebreide inleiding. Een overzicht van beschikbare software op het gebied van XML. Vooral de gigantische groei van beschikbare software wordt duidelijk. Veel producten zijn trouwens vrij verkrijgbaar. Microsoft heeft een aantal goede online cursussen over XML, XSL en XML Schema. Uitstekende inleiding voor wie de basics wil weten over de technieken. Het BizTalk initiatief van Microsoft is een poging om een bibliotheek van XML-standaarden op te bouwen. BizTalk is ook de naam van een set applicaties voor XML en E-Commerce die Microsoft aangekondigd heeft. Een van de twee homepages van Commerce One, een van de leidende partijen in de XML-ontwikkelingen, die met CBL 2.0 een vrij beschikbare XML-library gepubliceerd heeft. De homepage van de Nederlandse SGML-XML User Group, met onder andere een agenda met Nederlandse en internationale activiteiten op het gebied van XML. (c) Marc de Graauw 2000 27