XML

2003 01 13 door monchito

Deze hele saajt zal geconverteerd worden naar XML/XHTML 1.0 Strict. Ik zat een beetje te lay-outen aan deze blogentries, toen ik me begon te ergeren aan het feit dat ik de lay-out van de tekst eigenlijk gemakkelijk in één PHP-bestand zou moeten kunnen stoppen! De data, zowel tekst, als links, als plaatjes, enz. zou in een ander bestand terecht moeten komen. Ik ben alvast begonnen met de oudste blogentry tot nu toe (nerdproblemen). Ik ben nog niet goed genoeg in XML om meer dan alleen tekst met een simpele opmaak te converteren, maar voorlopig ziet het bestand er als volgt uit:

<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" href="default_text.xsl"?>
<!DOCTYPE text SYSTEM "default_text.dtd">
<text>
  <pagetitle>20021207_NERDPROBLEMEN</pagetitle>
  <pagetext>
   Bij degenen van jullie die Internet Explorer 6 gebruiken, (...) de enige oplossing is.
  </pagetext>
  <pageanchors>
   http://gutfeldt.ch/matthias/articles/doctypeswitch.html
  </pageanchors>
  <pageimages/>
</text>

Maar er moet natuurlijk ook een transformatie plaatsvinden die de bovenstaande XML-codering lay-out. In een XSL (of XSLT) -bestand moet je dan aangeven hoe het eruit komt te zien. Alle XML-bestanden die een ´standaard´ tekst bevatten, zoals al deze blogentries, worden dan automatisch op dezelfde manier opgemaakt, omdat ze voor hun lay-out allemaal verwijzen naar hetzelfde externe XSLT-bestand.
Let erop dat voor de stijl (font types, groottes, achtergrondkleuren, etc.) gebruik gemaakt is van een externe CSS-file. Deze geldt weer voor de gehele site.

<?xml version="1.0" encoding="UTF-8"?>
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:output method="html" version="1.0" encoding="UTF-8" indent="yes"/>
 <xsl:template match="/">
<html>
<head>
  <title>Welcome to Ramon´z Page!</title>
  <link href="default.css" rel="stylesheet" type="text/css"/>
</head>
<body>
  <table width="100%">
  <tr>
   <td class="alt"><xsl:value-of select="text/pagetitle"></xsl:value-of></td>
  </tr>
  <tr>
   <td><br/><xsl:value-of select="text/pagetext"></xsl:value-of></td>
  </tr>
  </table>
  </body>
</html>
</xsl:template>
</xsl:stylesheet>

Voor de volledigheid zal ik de DTD voor het XML-bestand er ook nog even bij doen:

<?xml version="1.0" encoding="UTF-8"?>
<!ELEMENT a (#PCDATA)>
<!ATTLIST a
  href CDATA #REQUIRED
  target CDATA #IMPLIED
>
<!ELEMENT br EMPTY>
<!ELEMENT pageanchors (#PCDATA)>
<!ELEMENT pageimages EMPTY>
<!ELEMENT pagetext (#PCDATA | a | br)*>
<!ELEMENT pagetitle (#PCDATA)>
<!ELEMENT text (pagetitle, pagetext, pageanchors, pageimages)>

  
De oplettende bezoeker ziet dat in de DTD aangegeven wordt dat het bestand niet alleen platte tekst, maar ook verscheidene HTML-entiteiten (vertegenwoordigd door de a, href, target en br-tags) en plaatjes (komt nog) zou moeten bevatten, terwijl daar verder geen rekening mee is gehouden. Dat komt omdat ik nog niet uitgevogeld heb hoe dat werkt... Ik wil in ieder geval de links gewoon in de tekst terug laten komen, alsmede een automatisch overzichtje waarin de links (onder de tekst, als een soort geannoteerde literatuuropgave) nog eens netjes bij elkaar komen te staan, inclusief commentaar.
  
Ik ben de komende dagen, misschien wel weken, bezig om deze saajt nog verder te converteren met als uiteindelijke doel het extreem eenvoudig maken van het bijhouden van deze site, alsmede een superuniforme lay-out... Bijkomend voordeel is dat wanneer alles naar XML geconverteerd is en ik weet hoe ik server-side hiermee kan scripten, de mogelijkheden voor deze saajt zo goed als eindeloos worden...
  
Een ander element op mijn ´to do´ lijstje is het verbeteren van de lay-out door gebruikmaking van Flash.

Interessant?

Lees dan ook eens meer artikelen over monlog,  ...

Reacties

Loekas

door Loekas, 2005 10 21

goed man

Rants/opmerkingen/suggesties?

 *
 *

Wat is MONLOG

Sinds 2002 is MONLOG het weblog van Ramon Eijkemans, freelance SEO-gun for hire.

Dit weblog bevat how-to's, mijmeringen, soms wat humor. Het gaat vrijwel altijd over SEO. Ik herhaal geen nieuws. Het doel van dit weblog is om jou van praktische en doordachte informatie te voorzien!

En dan nog dit: guestpostings zijn welkom! Mail me als je je ei kwijt wil op dit goed rankende podium.

Laatste comments

Ola Wilco, long time no speak ;) Notes.app zit ook in iCloud...
21.02.2012 door Ramon Eijkemans op Mac OS X SEO software

Oh, en http://raventools.nl/ werkt niet.. :)
21.02.2012 door Wilco op Mac OS X SEO software

Leuk overzicht! Kende Patterns nog niet dus bedankt! :-) ...
21.02.2012 door Wilco op Mac OS X SEO software

@Aartjan: ik heb hetzelfde met 'lekker kontje' :)...
25.11.2011 door Ramon Eijkemans op Ranken op Banaan

Bij mij is 'banaan' toevallig al jaren het zoekwoord waar ik...
23.11.2011 door Aartjan van Erkel op Ranken op Banaan

Gewoon maken waar vraag naar is. Dat is zo oud als de weg...
22.11.2011 door Thomas op Ranken op Banaan

Een banaan natuurlijk :)
09.11.2011 door Ramon Eijkemans op Ranken op Banaan

In welk tineu zien we jou terug binnenkort?
09.11.2011 door Emiel op Ranken op Banaan

@Simme @Navin proost! :)
07.09.2011 door Ramon Eijkemans op Vakantie!

Zo maak je mij wel erg jaloers :)
05.09.2011 door Navin Poeran op Vakantie!