Joost van Dijk Web Technology XML Joost van Dijk Web Technology
Inhoud Wat is XML? XML Toepassingen Toekomst Geschiedenis: wanneer? Doel: waarom? Techniek: hoe? XML Toepassingen Toekomst LIACS © 2001
Wat is XML? eXtensible Markup Language W3C standaard (februari ’98) buzz-word binnen WWW, EDI, databases, publishing, middleware, e-Commerce, ... hype? LIACS © 2001
Geschiedenis HTML: tekstopmaak via tags <P>paragraaf</P> <A href=“http://w3.org”>hyperlink</A> Gebaseerd op Standard Generalized Markup Language (SGML) LIACS © 2001
SGML SGML: generieke opmaaktaal - een meta-taal HTML: specifieke opmaaktaal voor hypertext documenten HTML is een instantie van SGML LIACS © 2001
WWW Statisch Dynamisch Applicatie + WWW = Webapplicatie HTML = GUI Ook applicatie integratie buiten het WWW LIACS © 2001
Problemen HTML is zeer geschikt voor presentatie: <P>, <H1>, <TITLE>, <A>, <EM>, ... HTML is ongeschikt voor data: Prijs:<EM>19.95</EM> HTML is hiervoor ook nooit bedoeld... LIACS © 2001
XML “Lichtgewicht” SGML “doe-het-zelf” tags opmaak voor gestructureerde data specifieke tags voor iedere toepassing geschikt voor zowel mens als machine Voorbeeld: literatuur-referenties... refs.xml LIACS © 2001
refs.xml: DTD: definitie van tags e.d. XML header <?xml version="1.0"?> <!DOCTYPE Referenties SYSTEM "refs.dtd"> <Referenties> <Boek ISBN="0764532367"> <Auteur> Elliotte Rusty Harold </Auteur> <Titel> The XML Bible </Titel> <Uitgever> IDG Books </Uitgever> </Boek> </Referenties> Begin Tag Attribuut Tekst Eind Tag LIACS © 2001
Structuur van refs.xml: Referenties Boek Auteur Titel Uitgever Elliotte Rusty Harold The XML Bible IDG Books LIACS © 2001
XML Ieder XML document kan eigen tags definiëren Tags worden gedefinieerd in een Document Type Definition (DTD) DTD bepaalt welke elementen waar voor kunnen komen Vergelijkbaar met een grammatica LIACS © 2001
refs.dtd: nul of meer of optioneel <!ELEMENT Referenties (Boek|Artikel)*> <!ELEMENT Boek (Auteur+,Titel,Uitgever?)> <!ELEMENT Auteur (#PCDATA)> <!ELEMENT Titel (#PCDATA)> <!ELEMENT Uitgever (#PCDATA)> <!ELEMENT Artikel (Auteur+,Titel,Tijdschrift)> <!ELEMENT Tijdschrift (Naam, Jaar?, Nummer?)> <!ELEMENT Naam (#PCDATA)> <!ELEMENT Jaar (#PCDATA)> <!ELEMENT Nummer (#PCDATA)> één of meer tekst gevolgd door LIACS © 2001
DTD Een DTD maakt een XML document zelfbeschrijvend Een XML document dat conformeert aan zijn DTD heet valide Een XML parser is een programma dat een XML document inleest, en kan valideren LIACS © 2001
DTD Met een XML parser kunnen alle XML documenten (met willekeurige DTDs) worden ingelezen. Alle applicaties die XML ondersteunen kunnen alle XML documenten inlezen en valideren! Deze applicaties hoeven a priori niets van elkaar te weten... LIACS © 2001
Data Integratie Syntax (vorm) ligt vast Semantiek (betekenis) niet: DTD standaarden per applicatiegebied: EDI (xml/edi) Middleware (soap, WIDL, ...) Web-Publishing (CDF, ...) XML tilt data integratie-problematiek naar een hoger niveau... LIACS © 2001
XML transformaties eXtensible Stylesheet Language (XSL) Twee delen: XML HTML XML PDF XML RTF … etc Twee delen: XSL Transformations (XSLT) XSL Formatting Objects (XSL-FO) NB: XSL-FO en XSLT zijn XML instanties LIACS © 2001
XSL stylesheets XML XSL document stylesheet XSL processor HTML LIACS © 2001
Universele Data Hub Applicatie 1 Applicatie n XML Applicatie 2 LIACS © 2001
Toepassingen XML heeft toepassingen gevonden in diverse disciplines: Databases Middleware E-commerce Publishing en natuurlijk het WWW LIACS © 2001
Hype? De toekomst is veelbelovend: Een vergelijking: onafhankelijke standaard brede acceptatie universeel Een vergelijking: Java platform onafhankelijk XML software onafhankelijk LIACS © 2001
Conclusie XML is een logische stap in de ontwikkeling van het WWW XML kan uitgroeien tot een universele data-hub Het succes van XML hangt af van het succes van DTDs XML is nog in ontwikkeling... LIACS © 2001