Presentatie XML voor Robeco

advertisement
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
Download