Presentatie XML voor Robeco

Document Sample
Presentatie XML voor Robeco Powered By Docstoc
					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 XML-
  document
• 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>        XSL
  Graauw
  </achternaam>
  <voorvoegsel>
  de
  </voorvoegsel>
  <voornaam>
  Marc                DOM                     applicatie
  </voornaam                                               database




                    (c) Marc de Graauw 2000                    18
XML, mensen en applicaties 2
             DTD
                                              <?xml
                                              version=“1.0”?>
                                              <achternaam>
           XML editor                         Graauw
                                              </achternaam>
                                              <voorvoegsel>
                                              de
                                              </voorvoegsel>
                                              <voornaam>
database   applicatie           DOM           Marc
                                              </voornaam




                    (c) Marc de Graauw 2000                     19
 XML, mensen en applicaties 3
voorraad-                                                           verkoop-
database                                                            database
                                                  bestelling
                                                    DTD
applicatie               browser           XML editor               applicatie


             XML                                         XML
            prijslijst                                 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/                   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.
http://www.xml.com/                  Een online magazine, met boeiende inleidende artikelen van
                                     autoriteiten en veel verwijzingen naar materiaal over XML. De moeite
                                     waard als uitgebreide inleiding.
http://www.xmlsoftware.com/          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.
http://msdn.microsoft.com/xml/       Microsoft heeft een aantal goede online cursussen over XML, XSL
                                     en XML Schema. Uitstekende inleiding voor wie de basics wil weten
                                     over de technieken.
http://biztalk.org/                  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.
http://www.marketsite.net/           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.
http://www.sgml-ug.nl/               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