Extensible Markup Language: verschil tussen versies

Verwijderde inhoud Toegevoegde inhoud
Pompidombot (overleg | bijdragen)
k Link naar doorverwijspagina Soap gewijzigd in SOAP (protocol) met DisamAssist.
NielsH97 (overleg | bijdragen)
Geen bewerkingssamenvatting
Regel 4:
| logobreedte = 100
| afbeelding = XML.svg
| onderschrift = eenEen grafische beschrijving van een eenvoudig xmlXML-document
| status = gepubliceerdGepubliceerd
| startjaar = [[1996]]
| auteurs = [[World Wide Web Consortium|W3C]]
| basisstandaarden = [[Standard Generalized Markup Language|SGML]]
| gerelateerde_standaarden = talrijke o.a.: [[Extensible HyperText Markup Language|XHTML]], [[Really Simple Syndication|RSS]], [[Atom (bestandsformaat)|Atom]], [[Keyhole Markup Language|KML]] ...
| afkorting = XML
| domein = [[WorldWereldwijd Wide Webweb]]
| website = [http://www.w3.org/XML/ XML bij W3C]
}}
'''Extensible Markup Language''' ('''XML''') is een [[Norm (standaard)|standaard]] van het [[World Wide Web Consortium]] voor de syntaxis van formele [[opmaaktaal|opmaaktalen]] waarmee men gestructureerde gegevens kan weergeven in de vorm van [[platte tekst]]. Deze presentatie is zowel machineleesbaar als leesbaar voor de mens. Het XML-formaat wordt gebruikt om gegevens op te slaan (zoals in het [[OpenDocument|OpenDocument-formaat]]) en om gegevens over het [[internet]] te versturen.
 
XML is een vereenvoudigde vorm van [[Standard Generalized Markup Language]] (SGML), een complexe standaard om de structuur van documenten vast te leggen.
Regel 20:
XML-talen gebruiken zogenaamde elementen en attributen om gegevens te structureren. De XML-specificatie definieert de syntaxis van elementen, attributen en de andere structuren die in XML-bestanden kunnen voorkomen. De XML-specificatie legt echter geen namen vast voor deze elementen en attributen, precies omdat deze keuze afhangt van het doel van het XML-bestand.
 
Een oudere van SGML afgeleide markuptaalopmaaktaal is [[HyperText Markup Language]] (HTML). HTML heeft voor een doorbraak in SGML-achtig vormgegeven tekst gezorgd, maar gegevens die op een HTML-pagina staan zijn voor computers niet als zodanig te herkennen: in HTML kan men bijvoorbeeld wel titels en paragrafen markeren (tekstuele structuur), maar men kan niet vastleggen dat een bepaald gegeven een persoonsnaam, een telefoonnummer of een datum is (betekenis of semantische structuur). Met XML kan men echter markuptalenopmaaktalen ontwikkelen waarmee dit wel kan.
 
== Voorbeeld ==
Een XML-bestand dat een muziekplaylistmuziekafspeellijst beschrijft, zou er als volgt uit kunnen zien:
'''<?xml version='''"1.0" '''encoding='''"utf-8"'''?>'''
'''<playlist name='''"mylist"''' xml:lang='''"en"'''>'''
Regel 35:
'''</song>'''
'''</playlist>'''
Het gaat in dit bestandsformaat dus meer om de ''structuur'' van informatie, dit in tegenstelling tot [[HyperText Markup Language|HTML]], of liever de manier waarop HTML veel gebruikt wordt, waarbij het meer gaat om de ''presentatie'' van de informatie. In deze HTML-bestanden beschrijven de tags wel hoe informatie moet worden gepresenteerd maar niet wat deze informatie betekent.
 
== Verwante standaarden ==
De afspraken over de te gebruiken tags in de "standaard"-dialecten worden formeel vastgelegd in zogenaamde DTD's ([[Document Type DefinitieDefinition]]) of in de nieuwere [[XML Schema|XML-Schemadefinities]] (XSD).
Naast de te gebruiken tags wordt hierin ook beschreven welke gegevens acceptabel zijn en hoe ze precies moeten worden opgegeven (bijvoorbeeld een postcode bestaat uit 4 cijfers, 1 spatie en 2 letters).
Het verschil tussen DTD en XSD is dat XSD-schema's hierin meer uitdrukkingskracht hebben; daarnaast is XSD zelf ook een XML-dialect dat met alle XML-tools kan worden bewerkt.
 
Hoe de gegevens opgemaakt zullen worden geef je op met een [[Extensible Stylesheet Language|XSL]]-document Extensible Stylesheet Language. Het is ook enigszins mogelijk om een XML-document op te maken met een [[Cascading Style Sheets|CSS]]-document. CSS (Cascading Style SheetSheets) is echter beter geschikt voor [[Extensible HyperText Markup Language|XHTML]].
Op zo'n manier geef je in XML door middel van XSD en XSL een keurige scheiding tussen ''opmaak'' en ''inhoud''. Ook XSL is zelf een (standaard) XML-dialect.
 
Data in XML-formaat kunnen door middel van [[Extensible Stylesheet Language Transformations|XSLT]]-transformaties worden omgezet naar andere formaten zoals [[HyperText Markup Language|HTML]], [[Wireless Markup Language|WML]] of [[Portable Document Format|PDF]] maar ook naar een XML-document met een andere structuur. In het geval van de transformatie naar HTML kan deze bewerking zowel in de browser – op het moment van tonen – als op de [[webserver]] plaatsvinden.
 
Voor het doorzoeken van XML-documenten zijn er standaard-querytalen ontwikkeld: [[XPath]] en [[XQuery]].
Regel 54:
 
== XML in werking ==
XML is niet alleen ontworpen voor [[Really Simple Syndication|RSS]]-[[webfeed|feed]]sfeeds, maar wordt hoofdzakelijk gebruikt als middel voor gegevensoverdracht.
 
=== XML-RPC ===
Om XML-RPC te gebruiken kan een module gebouwd worden, die simpel gezegd bestaat uit één of een aantal [[PHP]]-pagina's. Er wordt een request door middel van XML-RPC, RPC staat voor [[Remoteremote Procedureprocedure Callcall]], van de client (kantoor) naar de server (website) gestuurd. Deze haalt nieuwe gegevens uit de database van de website en zet deze in een XML-bestand. Het bestand wordt dan door middel van [[SOAP (protocol)|SOAP]] via het [[Hypertext Transfer Protocol|HTTP]]-protocol verstuurd. Een connectie met een database als Access of een [[Enterprise resource planning|ERP]]-pakket als [[SAP R/3|SAP]] of [[Navision]] wordt tot stand gebracht met [[Open DataBase Connectivity|ODBC]]-drivers. Wanneer dit bestand aankomt op de server van de aanvrager, moet het XML-bestand omgezet worden naar de waarden van het informatiesysteem van de aanvrager. Dat gebeurt door middel van een DTD- of een XSLT-bestand. Na omzetting ontstaat een nieuw XML-bestand dat vervolgens ingeladen kan worden in het informatiesysteem. Dit hele gebeuren werkt voor een kantoormedewerker automatisch.
 
== Zie ook ==