Welkom op de vernieuwde website van AlphamegaHosting.com!

Cursus XML: deel 7

joel | 2005-03-08 | Programmeren en techniek

Had jij altijd al willen weten wat XML is? Of behoor je tot de mensen, waar ik me in het verleden ook onder schaarde, die dachten dat dit weer een commerciële truuk is, die nog in de kinderschoenen staat van de grote firma MicroSoft, om de markt een verbeterde standaard te brengen? Nu, dan is deze cursus precies wat jij nodig hebt.

In deze cursus van zeven delen, gaan we alleen de basis behandelen. We gaan kijken waar XML nu vandaan komt, wat SGML is, hoe je van HTML naar XML gaat en wat XML is. Dan gaan we XML pagina's maken en we gaan ook de koppeling zien van XML en CSS. Aan het eind van deze cursus kan je dan ook een echte webpagina maken met dynamische inhoud.

XML deel 7 eXtensible Style Language (XSL).

We gaan XSL bekijken, dit is namelijk de grote kracht van XML. We gaan data filteren en sorteren en in een HTML-structuur plaatsen.

Wat is XSL?

  • XSL staat voor eXtensible Style Language.
  • Met XSL kan je:
  • Opmaak voorzien aan een XML document.
  • XML naar HTML omzetten.
  • Elementen sorteren, selecteren en filteren.
  • Nieuwe elemente toevoegen.
  • Elementen verbergen.
  • XSL heeft meerdere mogelijkheden als CSS.
  • XSL en CSS zijn twee verschillende gereedschappen om documenten weer te geven.


We geven hier alleen een inleiding op XSL om documenten te transformeren: XSLT. Het tweede type XSL is XSL-FO (FOrmat). Deze opmaaktaal is zeer uitgebreid, maar wordt helaas nog niet echt ondersteund door de browsers.

 

XSL toevoegen aan het XML document:

 <?xml-stylesheet type="text/xsl" href="boekenkast.xsl"?>

XML omzetten naar HTML:
In een XSL document kan u gebruik maken van zowel HTML als XML-tags. Zo kan je bijvoorbeeld de gegevens in een tabel tonen. Door namespaces te gebruiken tussen de HTML-tags, kunnen we de elementen aanspreken.

- Server-side en cliënt-side script:
- Server-side <--> cliënt-side


Bij een groot aantal data in het XML-bestand, wordt het moeilijk voor de bezoeker om een bepaald boek te zoeken.

Dan is het mogelijk om via XSL te selecteren of te filteren.

Dit kan op twee manieren,

  • server-side
  • cliënt-side.

We bespreken hier enkel cliënt-side.

Namespaces:

XML-declaratie, is verplicht tot tegenstelling van DTD:

<?xml version="1.0" ?>

 Begin van de stylesheet:

<xsl:stylesheet xmlns:xsl="http://www.w3.org/TR/WD-xsl" >

 Begin van het root-element:

 <xsl:template match="/">

 Openen van een template, die van het bestand komt:

 <xsl:template select="boekenkast/boek" />

 Het sluiten van de template tag:

 </xsl:template>

Begin van de template: 

 <xsl:template match="boekenkast/boek">

 Elk element dat wordt getoond:

 <xsl:value-of select="ISBN" />

 Einde van de stylesheet:

 <xsl:stylesheet>

Zie voorbeelden: vb01.

Gegevens selecteren & sorteren:

Om te selecteren hebben we volgende selectiemethodes:

xsl:for-each

 zorgt ervoor dat de gegevens in een loop worden doorlopen

xsl:if

 zorgt voor een voorwaardelijke uitvoer

xsl:sort

zorgt voor sortering van de uitvoering

Gegevens sorteren:

Selecteren op een bepaald element, + geeft aan dat er oplopend wordt gesorteerd:

 <xsl:for-each select="boekenkast/boek" order-by="+ titel">

 Volgend voorbeeld werkt ook:

 <xsl:apply-templates select="boekenkast/boek" order-by="+ titel">

Zie voorbeelden: vb02.

Selecteren op een bepaald attribuut, zonder opgave wordt er oplopend gesorteerd:

<xsl:apply-templates select="boekenkast/boek" order-by="auteur/@anaam" />

Zie voorbeelden: vb03 en vb04.

Aflopend selecteren:

 <xsl:apply-templates select="boekenkast/boek" order-by="- auteur/@anaam" />

Zie voorbeelden: vb05.

We maken hier gebruik van een if-strutuur:

 <xsl:template match="boekenkast/boek">
<xsl:if match=".[auteur='Harry Heijkoop']">
<tr>
<td><xsl:value-of select="isbn" /></td>
<td><xsl:value-of select="titel" /></td>
<td><xsl:value-of select="auteur" /></td>
</tr>
</xsl:if>
</xsl:template>

Operatoren voor een if-structuur:

Operator Betekenis
= is gelijk aan
!= is niet gelijk aan
&LT& is kleiner dan
&GT& is groter dan

Zoek

Doe mee! Word ook WebsiteSupporter!

Ontvang gratis elke week een verbetersuggestie voor je website, inclusief speciaal stappenplan om je site succesvol te maken.

Klik hier om je in te schrijven!

Domeinnaam-check

Domeinnamen v.a. € 1,- p/m. Check of jouw ideale domeinnaam nog vrij is:

www.

Even onthouden

Moet er iets aan je site gebeuren?

En heb je zelf geen tijd, geen zin of geen idee hoe je het moet aanpakken? Laat ons website-klusteam het voor je oplossen!

Klik hier voor meer info. 

Thema van de week:

Hallo Google! Welkom op mijn website!

De scripts van Google die regelmatig langskomen om je site te indexeren zijn natuurlijk ook 'bezoekers' die je het naar de zin moet maken. In het artikel van deze week leer je hoe je die 'crawlers' de juiste info kunt meegeven.

Klik hier voor het artikel.

Informatie

Hopelijk vind je alle informatie die je nodig hebt op deze website. Heb je nog vragen? Klik hier om een bericht te sturen of bel tijdens kantoor-uren met 040-2085353 (NL) of 011/547498 (B).

Ben jij een startende ondernemer?

Dan hebben wij een handig gratis ebook om je op weg te helpen met je online presentatie.

Klik hier om het gratis te downloaden.

Alphamega Hosting heeft een unieke garantie!
Privacy Contact Sitemap Copyright 2012 Alphamega Hosting B.V.