XML og XSLT

synes tiden fra indsendelse af spørgsmål og opgaver til svar har været hurtig hvilket var rigtig dejligt.

René Matzen, Revisor Informatik ApS

DreamWeaver MX

Hej Thor

Det bedste har været at jeg så hurtigt fik svar, der var aldrig en fornemmelse af at afstanden til hjælp var lang, det føltes som om vi bare genoptog en snak fra sidst...

Og så var der aldrig en følelse af at blive talt ned til, selv om jeg da godt er klar over at du adskillige gange må have revet dig i håret over mine spørgsmål.

Det har også været godt, at der ikke har været en tidsfrist. Jeg kan se at flere af mine kolleger har været igang med et kursus, som de måtte skippe, fordi de ikke var i stand til at overholde tidsfristen.

Vivi Bundgaard, Egvad Bibliotek

Excel grundlæggende 2007

Det passer mig perfekt at løse opgaverne i mit eget tempo og at jeg kan bruge den tid der skal til..

Mette Kargaard. Frederiksen, Privat

ASP.NET MVC 5

Jeg er imponeret over hvor meget tid Thor brugte i starten på at opgradere sin server til seneste version og samtidig havde tålmodighed til at hjælpe så det hele spillede.

Han er desuden meget hurtig til at svare på spørgsmål og rette opgaver.

Vil helt klart overveje at tage endnu et kursus 

Jacob Nørgaard, Privat

Access grundlæggende 2010

Hurtig respons på indsendte opgaver og spørgsmål. På alle tider af døgnet ! Du står tidligt op og går sent i seng.

Per Verner Hansen, TELE Greenland A/S Vejrtjenesten

Word videregående

  1. Underviseren svarer hurtigt.
  2. Underviseren kommer med gode ideer og "retter" til det er i orden.
  3. Jeg kan planlægge, som det passer mig.
  4. Jeg kan springe nogle opgaver over - for at komme tilbage til dem fx brevfletning.
  5. Jeg har "snuset" til mange ting, og flere af dem var gode
  6. !

Majbrit Larsen, Revisionsdirektoratet

< >
Se flere referencer

xsl:applytemplates

bruges til at kalde en anden template inde fra en template. Syntaksen er:

<xsl:apply-templates select="xpath udtryk" mode="mode navn">

Vi kommer tilbage til brugen af mode atributten senere.

Hvis vi kigger på dette lille eksempel

<xsl:template match="Nummer">
<Track>
<xsl:apply-templates>
</Track>
</xsl:template>

Når XSL processoren behandler denne template vil alle elementer der hedder "Nummer" blive fundet og for hver nummer vil der blive indsat et element der hedder "Track" i resultatet - men som følge af xsl:apply-templates vil processoren løbe xml dokumentet igennem for at se om der er templates der matcher - nu med udgangspunkt i "Nummer" elementet.

Det giver først for alvor mening, hvis der er en flere templates i xsl dokumentet.

Her er et lille eksempel:

<?xml version="1.0"?>
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:output method="html" encoding="ISO-8859-1" />
<xsl:template match="/">
<html>
<head><title>Et eksempel</title></head>
<body>
<xsl:apply-templates/>
</body>
</html>
</xsl:template>


<xsl:template match="Kunstner">
<p>Kunstner</p>
</xsl:template>


</xsl:stylesheet>

Denne lille leg går galt som vi tidligere har set - på grund af standard templates. Det er der to løsninger på - enten kan vi bruge

<xsl:template match="text() | @*"></xsl:template>

Eller også kan vi specificere hvad vi vil matche med i apply-templates

<xsl:apply-templates select="RytmiskMusik/Nummer/Kunstner"/>

Når du har betalt for kurset får du adgang til øvelser til hver lektion. Og når du har fået godkendt din besvarelse får du desuden adgang til mine løsningsforslag med ekstra tips og trix.