XML

Peter op ’t Hof gaat in dit artikel in op XML.

Vorm en inhoud gescheiden.

Wat XML is,  leest u bijvoorbeeld op Wikipedia. XML en XSLT zijn (naast HTML5) voor opmaak momenteel de meest belangrijke ontwikkelingen op Internet. Vorm en inhoud kunnen via deze taal volledig worden gescheiden.

Wat betekent dat? Stel je definieert een regel als een kop. In XSLT-sheets definieer je vervolgens hoe die kop wordt weergegeven in een bepaalde omgeving. Bijvoorbeeld op een desktop/laptop, iPad, iPhone, in op papier geprinte vorm, in een webpublicatie, enzovoort.

Het werkt zeer eenvoudig en is qua code volledig toegankelijk.

Invoer

Teksten worden in XML met een standaard editor ingevoerd. Hiervoor is eenvoudig een standaard hulpmiddel als Notepad te gebruiken. Het is ook mogelijk om een speciale XML-editor te gebruiken als Xmetal  of Oxygen.

Tags

De XML-tags lijken erg op HTML-tags, maar zijn puur bedoeld om de structuur en betekenis van de tekst aan te geven. XSL zorgt ervoor dat XML naar andere soorten data in een eenduidige structuur wordt omgezet of eenduidig aan de browser wordt aangeboden en vullen – net als CSS dit voor HTML doet – de stylesheets voor de algehele opmaak.

SMGL

De taal SGML is de basis is voor XML. Deze taal is voor de visueel gehandicapte gebruiker voor het vormgeven van teksten en huisstijlen zeer belangrijk. Microsoft Office 2003- t/m 2016 integreert helemaal met XML, zodat documenten on-line kunnen worden gewijzigd en de stijl automatisch wordt bewaakt en aangepast. Hiervoor moest Microsoft wel diverse aanpassingen in de standaard uitvoeren om ervoor te zorgen dat de oudere opmaak van het Binary Doc-formaat juist werd vertaald.

Open formats

Voor Office 2007 is XML inmiddels het hart van de applicatie geworden. Het formaat wordt volledig ondersteund door mobiele besturingssystemen en transparante documenten als PDF van Adobe. Hierdoor is er ook een van twee standaarden voor Open XML-structuren en richtlijnen ontstaan van het aanbieden van opmaak en is bekend onder de naam Open XML.

Open XML (OXML) is een gesloten standaard. Er is gedeeltelijk wel informatie over de structuur vrijgegeven.

De andere variant en eigenlijk ook wel de concurrent is het Open Document Format (ODF), dat in Nederland de huidige standaard voor publieke overheidsdocumenten is. Vanaf het ontstaan van deze standaard tot nu is er rekening gehouden met toegankelijkheid en zijn tal van tags ingebouwd om hulpmiddelen van de juiste informatie te voorzien.

DTD

Een boomstructuur van elementen bepaalt de stijl van het document. Hierbij bepaalt de documentsoort welke elementen er worden gebruikt, in welke volgorde en met welke beperking. De bepalingen worden vastgelegd in een DTD-bestand dat (afhankelijk van het aantal eisen) zeer groot kan worden.

Op weg naar de standaard

XML is nu de standaard samenvoeging van alle markup-talen aan het worden, waarbij het DTD-bestand van SGML wordt vervangen door uitsluitend aan te geven hoe de samenhang van verschillende symbolen is weergegeven, omdat deze door een logische basistaal zijn samengesteld. Hierdoor is het mogelijk om applicaties volledig op een website te laten functioneren waarbij de gebruiker alleen maar de uitvoer van het scherm te zien krijgt en de bediening volledig op afstand plaatsvindt.

De ontwikkeltaal Ajax (dat onder meer op Google de basis is voor alle decentraal aangeboden applicaties), is, geeft een voorbeeld hiervan. Hier is wel een toegankelijkheidslaag Aria 1.1 nodig, omdat deze ervoor zorgt dat alle uitvoer die rechtstreeks naar de browser wordt gestuurd ook input aan de screenreader geeft.

Belang voor minderheidsgroepen

Deze ontwikkeling hoeft per definitie voor minderheidsgroepen niet nadelig te zijn. Het is best denkbaar dat een typische cliënt een XSLT-engine lokaal aanstuurt. Zo zou bijvoorbeeld een SVG-viewer kunnen terugvallen naar een XSLT-engine en de ontvangen gegevens opmaken. Hierdoor kan een blinde gebruiker zelfs nagaan hoe de structuur van een SVG-afbeelding er uitziet.

In dit geval moet met het XML-document ook de stylesheet worden doorgegeven, waarin gedefinieerd staat hoe de informatie moet worden verwerkt.

Wat te denken van een webcliënt die door aansturing vanaf de server direct informatie stuurt waardoor de leesregel een terminal wordt? Zoiets ontstaat al eenvoudig bij een volledig toegankelijk opgemaakte layout van het scherm.

De combinatie van de verwerking aan cliënt- en serverzijde lijkt een veelbelovende gulden middenweg. Dit wordt ook gedeelde stijlverwerking genoemd (Distributed Style  Processing). De verwerking kan dan aan beide uiteinden plaatsvinden. Dit is wel afhankelijk van het prestatievermogen van de cliënt en met de overhead die door XML gegenereerd wordt in het achterhoofd, is het ook denkbaar dat er uitsluitend native code voor server en cliënt wordt gebruikt. Ook is het raadzaam om af te wegen of de applicatie van de server wordt opgehaald, of standaard wordt gedistribueerd (push of pull).

XML-varianten

Er zijn veel varianten op de XML-standaard ontstaan. Bekende XML-vocabulaires zijn:

  • Biz Talk van Microsoft
  • EbXML van Oasis
  • UN/Cefact
  • Rosetta Net, een consortium van een groot aantal IT- en elektronicabedrijven
  • XxCBL van Commerce One
  • cXML van Ariba
  • XLBC (eXtensible Language for Business Communi-cation) van de KUB

Toepassingen van XML als RSS-feeds voor aankondigingen van nieuws en podcasts zijn volledig toegankelijk. De ontoegankelijkheid is vooral te zoeken in het ontbreken van tags bij afbeeldingen, of (door onzorgvuldige codering) een slechte navigatie die de gebruiker dwingt om een muis te gebruiken. De problemen zijn niet anders dan die van andere websites die door andere ontwikkeltalen zijn ontworpen. Zie hiervoor ook de andere pagina’s op deze site.

XUL

De taal XUL (die bijvoorbeeld de basis van de interface van Mozilla vormt), is een variant die voor Web 2.0 en de toegankelijkheid hiervan zeer belangrijk is. Het is een type XML die voor de ontwikkeling van user-interfaces wordt gebruikt. Firefox, Thunderbird, Songbird en nog veel meer applicaties maken gebruik van deze taal. De taal ondersteunt zowel attributen voor MSAA (Windows GUI), als ATK (and on developer builds) voor Gnome.
Tevens werkt de taal ook samen met de Qtbus van IAccessible2).

Meer over XUL is te vinden op: http://developer.mozilla.org/en/docs/XUL_Tutorial.

Geef een reactie

Het e-mailadres wordt niet gepubliceerd. Vereiste velden zijn gemarkeerd met *