ID.nl logo
Zekerheid & gemak

Workshop XML

Deel 1: de theorie. Een website bouwen of een multimediapresentatie maken? Dat doet u eenvoudig met xml. Xml groeit langzamerhand uit tot een standaardformaat van allerlei documenten, en bedrijven zien het als een prachtige oplossing voor gegevensoverdracht. Maar: hoe werkt het precies en waarom is het zo handig? Deze maand: de theorie

"Om goed te kunnen begrijpen hoe xml werkt, leggen we nog even kort uit hoe het ook weer zat met de lingua franca van alle webpagina's: html (hypertext markup language). Open voor een voorbeeld een willekeurige webpagina in uw browser en roep via het menu Beeld de broncode van die pagina op. Waarschijnlijk belandt u nu middenin een reeks labels (markup tags). De oorspronkelijke bedoeling van html was om via zulke tags de logische structuur van het webdocument aan te geven. Voorbeelden van zulke tags zijn

(alinea),

(een titel van niveau 3) en(een lijst-item). Al snel kwamen er tal van tags bij die vooral voor een mooiere lay-out moesten zorgen: (cursieve tekst), (het lettertype) of (een lichtkrant, herkend door Microsoft-browsers). Stel nu dat u het recept van uw favoriete streekgerecht in een webpagina wilt gieten, dan zou (een stukje van) de html-broncode er als volgt uit kunnen zien:Overmeerse kneutelsDeegbollen gekookt in water (4 ps.)1000 gramzelfrijzende bloem2eieren200 gramrozijnen1,5 kopjesprankelend waterMeng alle ingrediënten goed door elkaar, tot er een soort brooddeeg ontstaat.
Schep hier deegbollen van en leg die 7 minuten in kokend, licht gezouten water.
Dien warm op en overgiet met gecondenseerde zoete melk.***htmlcss.tif Html + css Css Dergelijke html-code heeft echter enkele typische tekortkomingen. Wilt u bijvoorbeeld de lay-out van deze pagina ingrijpend verfraaien, dan wordt de broncode door al die extra tags meteen een stuk onoverzichtelijker. En wilt u achteraf de lay-out van al uw receptenpagina's wijzigen, dan vergt dat een aanpassing van elke pagina afzonderlijk. Dit is natuurlijk niet erg praktisch en daarom werd css (cascading style sheets) in het leven geroepen. Met css is het namelijk mogelijk om de lay-outgegevens te scheiden van de eigenlijke inhoud van het document; stopt u dus alle stijlinformatie in een apart bestand én roept u dit bestand vanuit uw webpagina's op, dan hoeft u alleen dit ene bestand te wijzigen om meteen een andere lay-out voor uw complete site te krijgen. Zo zou u deze volgende verwijzing in uw html-bestand kunnen opnemen: . Vervolgens kunt u in de juiste map (in ons voorbeeld: stijlen) het bestand receptenstijl.css creëren en daarin vastleggen hoe bijvoorbeeld een-tag er precies moet uitzien: H1" { "color: red; background-color: yellow; " "font-family: Arial, Helvetica; " "} ***xml.tif Xml geeft structuur aan uw inhoud Xml Ookal is css een elegante oplossing voor stijlfreaks, het geeft de pagina inhoudelijk niet per se een duidelijker opbouw. Stel dat een uitgeverij dergelijke pagina's binnenkrijgt om er een kookboek mee samen te stellen, dan is het nog heel veel werk om hieruit alle informatie correct te distilleren. Met xml - dat staat voor eXtensible markup language - is dit wel mogelijk, namelijk door specifieke markup tags te gebruiken die nauwkeurig de aard van de informatie aangeven. Als voorbeeld: <?xml version=”1.0”?> Overmeerse kneutels Deegbollen gekookt in water 4 1000 gram zelfrijzende bloem Meng alle ingredienten goed door elkaar, tot u U begrijpt dat het voor die uitgeverij met behulp van een xml-parser ('ontrafelaar') al een stuk makkelijker is om hieruit de nodige informatie te halen. Immers, de typische onderdelen van een recept (zoals titel, omschrijving, aantal personen, hoeveelheden) hebt u precies benoemd in de vorm van tags. Het feit dat u dus zélf tags kunt toevoegen verklaart de x in xml (extensible betekent uitbreidbaar). Maar u moet nóg twee horden nemen: stijl enerzijds en definities en schema's anderszijds. ***xmlcss.tif Xml en css: een stijloefening. ***xmlxsl.tif Xml en xsl: een krachtig duo. Stijl Probeert u het xml-bestand maar in uw (xml-compatibele) browser te openen. Die kan weliswaar overweg met uw xml-code, maar die doet er weinig meer mee dan de onderliggende boomstructuur van uw code interpreteren en weergeven (zie afbeelding). De root is in dit geval , die op zijn beurt bestaat uit de elementen , , , . Uw browser heeft dus nog een mechanisme nodig waarmee hij de xml-code in de gewenste lay-out kan gieten. Dat kan op verschillende manieren; u kunt bijvoorbeeld vanuit deze xml-pagina naar een css-bestand refereren. Vanuit dat bestand bepaalt u dan voor elk element het gewenste uiterlijk. Neemt u deze verwijzing bovenaan in uw xml-code op: <?xml-stylesheet href=”stijlen/recept.css” type=”text/css”?> dan kunt u bijvoorbeeld het element als volgt stileren in dat css-bestand: materie { font size: 14 pt; font weight: bold; color: green; background-color: lime; } Css heeft echter met enkele beperkingen te maken. Zo kunt u hiermee niet de elementen uit het brondocument in een andere volgorde afbeelden, u kunt er ook geen tekst of afbeeldingen aan toevoegen, u kunt geen criteria bepalen op grond waarvan bepaalde elementen al dan niet getoond worden en u kunt er geen berekeningen mee laten uitvoeren. Anders gezegd: de structuur van het xml-document kan het beste niet té ver uit de buurt van de uiteindelijke vormgeving liggen die u (als auteur) beoogt. Dit kan wél met het krachtige xsl(t) (extensible stylesheet language transformations). Zo'n extern xsl-bestand roept u vanuit het xml-document op dezelfde wijze op als een css-bestand: <?xml-stylesheet href=”stijlen/recept.xsl” type=”text/xsl”?>. Het voert te ver om de mogelijkheden van deze taal gedetailleerd te bespreken, maar hiermee krijgt u wellicht toch al een aardig idee:U merkt dat zo'n xsl-bestand al een beetje op een heuse programmeertaal begint te lijken. Zo hebben we hier bijvoorbeeld een soort van lus opgenomen (for-each) die het hele xml-document afspeurt naar het -element. Binnen zo'n xsl-bestand kunt u verder ook de (x)html-tags van allerlei eigenschappen voorzien (in ons voorbeeld: h1, h2 en u). Definities en schema's U bent nu al een flinke stap verder: de uitgeverij kan probleemloos de structuurelementen uit uw xml-documenten halen én er eventueel snel de gewenste lay-out op toepassen. Het xml-document noemen we in dit geval 'well formed'. Maar wat als verschillende personen hun favoriete streekgerechten doorsturen naar die uitgeverij? Dat hoeft natuurlijk geen probleem te zijn, zolang iedereen gebruikmaakt van precies dezelfde xml-boomstructuur met identieke elementen. De uitgeverij doet er dan ook goed aan om een schemadocument (soort syntax-sjabloon) op te stellen dat de inhoudelijke structuur van de xml-documenten precies vastlegt. Dit document kan de uitgeverij dan (online) ter beschikking stellen. Iedereen die streekgerechten doorstuurt, hoeft dan slechts in zijn xml-document naar dat schemadocument te verwijzen. Zo'n document is dus al iets meer gestandaardiseerd en noemen we 'valid' (versus well formed). Aanvankelijk nam zo'n schemadocument de vorm van een dtd aan (document type definition). Het volstaat in zo'n geval de volgende regel in uw xml-document op te nemen: <?xml version:”1.0”?> . Een geschikt dtd-document zou er voor de uitgeverij dan ongeveer als volgt kunnen uitzien. materie CDATA #REQUIRED> Veeleisende xml-gebruikers botsten echter al snel op enkele storende beperkingen van het dtd-formaat, waardoor het intussen wat uit de gratie is geraakt. Zo kunt u niet aangeven dat 'hoev' (hoeveelheid) hier geen negatief getal mag bevatten, of dat dit alleen geaccepteerd wordt als ook 'materie' aanwezig is. Er staan gelukkig wel al enkele waardige opvolgers van dtd klaar en het lijkt er vooralsnog op dat (W3C) xml schema (definition language) - afgekort als xsd - het pleit wint. Volgende maand deel 2: xml in de praktijk ***Kader Op Het Web Op PCMweb.nl vindt u verschillende voorbeelden van de hier besproken html- en xml-codes. Wilt u zich in verdiepen in xsd, dan vindt u een uitgebreide cursus op www.w3schools.com/schema. Op dezelfde site kunt u ook terecht voor een overzichtelijke xml-gids (www.w3schools.com/xml) en een solide basis voor verder onderzoek vindt u op www.w3.org/xml.

▼ Volgende artikel
Review Sony WF-1000XM6 – Dit is je volgende set oordopjes
© Wesley Akkerman
Huis

Review Sony WF-1000XM6 – Dit is je volgende set oordopjes

Wanneer Sony met een nieuwe set premium oordoppen op de proppen komt, dan moet je opletten. Dit Japanse merk is namelijk al jaren marktleider als het gaat om geluidskwaliteit en actieve ruisonderdrukking. Met zijn prijs van 300 euro mikt de fabrikant wederom op het hogere segment, al is dit wel minder dan de adviesprijs van zijn voorganger.

Fantastisch
Conclusie

Het zal ongetwijfeld niemand verbazen, maar dat maakt zo’n beoordeling niet minder waardevol: de Sony WF-1000XM6 is een regelrecht schot in de roos. Qua audiokwaliteit en -beleving hebben we nog niet beter gehoord. Soms klinkt het net alsof de muziek live naast je wordt gespeeld. Het comfort en de app kunnen nog wel beter, maar de grandioze actieve ruisonderdrukking en de fysieke bediening maken een hoop goed. Dit is je volgende set oordopjes!

Plus- en minpunten
  • Audiokwaliteit van hoog niveau
  • Bediening met gevoel van contact
  • Actieve ruisonderdrukking verbeterd
  • Gave en unieke functies
  • Goede batterijduur
  • Genoeg oortips met memory foam
  • App wat gebruiksonvriendelijk
  • Oortips zitten na verloop van tijd minder comfortabel

Prijs: € 299,-
Driverunit:
8,4 mm
Bluetooth:
Versie 5.3
Batterijduur (muziek):
Max. 8 uur (NC AAN) / max. 12 uur (NC UIT)
Oplaadtijd:
Ca. 1,5 uur (oordopjes), ca. 2 uur via usb (case)
Draadloos opladen:
Ja (met oplaadcase)
Waterbestendigheid:
IPX4
Codecs:
SBC, AAC, LDAC, LC3
Multipoint-functie:
Ja
Frequentierespons:
20 Hz - 40.000 Hz (LDAC 96 kHz sampling 990 kbps)
Gewicht:
Ca. 6,5 g per oordopje / ca. 47 g voor de oplaadcase
Afmetingen case:
Ca. 61,6 x 41,1 x 26,5 mm
Inhoud verpakking:
Oplaadcase, geluidsisolerende eartips, usb-kabel

De Sony WF-1000XM6 volgen de XM5 op die het Japanse bedrijf zo’n 2,5 jaar geleden uitbracht. Dat is een flinke periode in het land der oordoppen (of technologie in het algemeen). Daar waar veel fabrikanten inzetten op jaarlijkse releases en complete productgroepen beperkte stappen voorwaarts maken, is het fijn om te zien dat een elektronicaproducent het nog aandurft langer te wachten tussen verschillende uitgaven. Dan heb je tenminste wat te melden of te vertellen.

Met deze versie zet Sony in op een betere noise cancelling, audioweergave, gesprekskwaliteit en ergonomie. Daarnaast brengt de fabrikant stabielere bluetooth-connectiviteit, Google Gemini-integratie en een hogere mate van milieuvriendelijkheid. Zo zijn de antennes langer gemaakt, waardoor de oortjes niet snel de verbinding verliezen, ook niet in drukkere omgevingen zoals een vliegtuig of trein. Dat hebben we aan den lijve ondervonden de afgelopen weken.

©Wesley Akkerman

Meer in contact

Net als bij het vorige model maakt Sony gebruik van memory foam als oortips (het deel dat in je gehoorgang zit). Die hebben als grote voordeel dat ze zich aanpassen aan de vorm van de opening en dus altijd strak en goed zitten. In de doos zitten verschillende opties. Bij ons zit de een net te los, terwijl het formaat daarna juist net wat strak zit. Daardoor kan langer dan twee uur luisteren wat oncomfortabel worden. Maar ze vallen in elk geval niet zomaar uit je oren.

Deze keer kijkt Sony ook naar het ontwerp. De Sony WF-1000XM6-oortjes zijn wat langwerpiger en steken iets verder uit je oren dan z'n voorganger, waardoor je moet oppassen wanneer je een T-shirt of trui uittrekt. Het oppervlak is wat ruwer en dat helpt daadwerkelijk bij de fysieke bediening; het voelt alsof je wat meer in contact bent met de bediening. Muziek pauzeren, actieve ruisonderdrukking activeren – het gaat allemaal erg soepel. Je hoeft ze niet hard in te drukken.

Grammy-winnende engineers

Daarnaast is het fijn dat deze dopjes nog steeds acht uur meegaan op een volle accu. Dat is met actieve ruisonderdrukking aan. Zet je die uit, dan mag je daar nog een paar uur bij optellen. Met de oplaadcase erbij kun je rekenen op 24 tot 30 uur. Dat is misschien niet superveel in vergelijking met sommige concurrenten, maar die zitten dan ook niet boordevol allerlei extra microfoons (vier stuks in dit model) en speciaal ontwikkelde drivers.

©Wesley Akkerman

De drivers zijn natuurlijk medeverantwoordelijk voor het geluid, maar de samenwerking met allerlei gerenommeerde studio's en muziekproducenten helpt daar vanzelfsprekend ook bij. Sony heeft zich laten leiden door een team van Grammy-winnende en Grammy-genomineerde engineers, waaronder Randy Merrill (die werkte met Ed Sheeran), Chris Gehringer (Lady Gaga) en Michael Romanowski (Alicia Keys). Dat zijn niet de minste namen, maar wat merk je daarvan?

Naast je in de kamer

Nou, het grootste compliment dat we een set oordoppen kunnen geven: je hebt de equalizer niet nodig om goed en wel – en in de hoogste kwaliteit! – van je digitale muziek te genieten. De audio klinkt warm, vol en persoonlijk. Dat gaat niet ten koste van de hogere regionen of het middenveld, waardoor die helderheid en nuance bewaakt blijft. Soms lijkt het net alsof iemand op een drumstel naast je in de kamer speelt, zo dichtbij klinken de nummers.

Als je wilt, dan kun je wel een equalizer op de soundstage loslaten. Je kunt dan kiezen uit verschillende profielen, zelf een instelling beheren of Sony het werk uit handen laten nemen. Dan stelt de (helaas soms wat onoverzichtelijke) app de equalizer in op basis van jouw eigen gehoor. Hier kan dat nog weleens ten koste gaan van het basgeluid, waardoor we dat maar achterwege laten, maar het is fijn dat het kan. Het maakt de Sony WF-1000XM6 breed inzetbaar.

©Wesley Akkerman

Gevoel, beleving, emotie

En daar blijft het niet bij qua audio. Want je kunt streamen in hoge resoluties dankzij de LDAC-audiocodec en anders leunen op DSEE Extreme (een algoritme van Sony dat de muziek in kwaliteit opschaalt). Verder is nieuw in deze set dat je audio wat verder weg kunt laten klinken, alsof je in een café of je eigen woonkamer zit. Dat is een vreemde maar oorstrelende ervaring die je moet beleven om het te begrijpen.

We snappen uiteindelijk wel waarom Sony deze functie introduceert. Het kan bijvoorbeeld helpen bij de concentratie. Wij hebben vooral gemerkt dat je er een huiselijk gevoel aan kunt overhouden wanneer je kilometers hoog in de lucht hangt in een vliegtuig, omdat het net lijkt alsof je naar je eigen audioset thuis op de achtergrond luistert. Het gaat hier niet om de beste geluidskwaliteit, maar om een gevoel, een emotie, een beleving. En die is helemaal oké.

Tot slot kijken we nog even naar de actieve ruisonderdrukking. Die is beter dan ooit. Zo hebben we bijna niets van de vliegtuigmotoren gehoord tijdens een recente reis naar Barcelona en komt er ook weinig tot geen geluid vanuit het OV je gehoorgang in. Bepaalde plotselinge hoge tonen komen nog weleens door, maar die blijven moeilijk filterbaar. Al met al is dit wederom een mooie stap voorwaarts, helemaal als je je écht even wilt afsluiten van je omgeving.

Sony WF-1000XM6 kopen?

Het zal ongetwijfeld niemand verbazen, maar dat maakt zo’n beoordeling niet minder waardevol: de Sony WF-1000XM6 is een regelrecht schot in de roos. Qua audiokwaliteit en -beleving hebben we nog niet beter gehoord. Soms klinkt het net alsof de muziek live naast je wordt gespeeld. Het comfort en de app kunnen nog wel beter, maar de grandioze actieve ruisonderdrukking en de fysieke bediening maken een hoop goed. Dit is je volgende set oordopjes!

▼ Volgende artikel
De beste State of Play ooit! - Power-Up Podcast Special
Huis

De beste State of Play ooit! - Power-Up Podcast Special

Zo! Dat was niet alleen de langste, maar voor velen ook meteen de beste State of Play ooit! Met meer dan 25 titels op het menu stond deze showcase vooral bij Simon dik op z’n buik geschreven. Samen met Martin en Jacco blikt hij terug op (bijna) alles wat voorbij kwam, en duiken ze dieper in onder andere: God of War: Sons of Sparta, Kena: Scars of Kosmora, Castlevania: Belmont’s Curse, Project Windless en natuurlijk de aangekondigde John Wick-game! Benieuwd wat de jongens ervan vonden? Check dan als de wiedeweerga deze speciale extra aflevering, baklap!

Watch on YouTube

00:00 Intro
02:20 Ons oordeel
09:20 Project Windless
11:35 Resident Evil Requiem
13:35 Kena: Scars of Kosmora
19:00 Legacy of Kain: Defiance Remastered / Ascendance
22:45 Yakoh Shinobi Ops
27:25 Dead or Alive
31:45 Control: Resonant
36:05 Beast of Reincarnation
37:15 Neva: Prologue
39:05 Star Wars: Galactic Racer
42:35 Metal Gear Solid Collection 2
45:15 Castlevania: Belmont’s Curse
49:15 Silent Hill: Townfall
52:10 John Wick
54:35 God of War Trilogy Remake
56:35 God of War: Sons of Sparta
01:03:00 Horizon Hunters: Gathering
01:04:45 Onze Reddit-aankondiging
01:06:45 Outro

Je kan ook de podcast beluisteren hieronder of via deze link!