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

ASP.NET 3.5

Det har været rigtig godt med det fast forløb - opgave efter opgave

Der fungerer også godt at man selv kan disponerer over tiden så det kan passe ind i hverdagens

arbejde og derved brug meget tid på det man selv synes er svært.

Det virker rigtig godt med den direkte vejledning/problemløsning man får på mail når man er "kørt fast" i en øvelse

Mine svartider har været gode.

Erik Skou, Hedensted Tømmerhandel

Excel grundlæggende 2007

Har været fuldt ud tilfreds med kursusforløbet, det har ikke taget nær så lang tid som frygtede, men jeg har også haft en del huller i min hverdag som jeg kunne bruge til kurset.

Skal helt klart videre med det videregående kursus og håber der er lidt mere hjernegynmastik.

Hurtig hjælp via chatten og hurtige svar efter øvelserne.

Kan godt anbefales til andre. 

Helle Majdal, Mejdal Service og Teknik

DreamWeaver CS55

En rigtig god undervisningsform hvor man kan arbejde når man er inspireret og opmærksom. Det gælder både ang. planlægning af tid og hvor i øvelserne man har brug for hjælp og svar på spørgsmål. Alt skete i mit tempo, og svar på spørgsmål var tilpasset mit niveau, så jeg kunne forstå det.

Jeg kom igennem alle de vigtige og nødvendige dele af programmet i et på forhånd planlagt forløb.

Samtidig var du ved din klippekortsordning med på mine private hjemmesider, således at jeg, efterhånden som jeg arbejdede med kurset, i praksis kunne bruge hvad jeg havde lært og fik opøvet rutine. Dermed er det for alvor lært og mine forventninger er mere end fuldt ud indfriet.

Alis Christiansen, privat

Excel VBA

Det har været et supergodt kursus, hvor man ikke bare fik resultaterne leveret, der skulle tænkes meget !

Materialet har været rigtig godt, og det er da utroligt så tit der har været hjælp at hente, har set at underviseren var online, også om aftenen og tidlig morgen, rigtig rart, og der kom lynhurtigt respons tilbage på div. spørgsmål og besvarelser.

Helt sikkertet kursus og kursusform, jeg vil anbefale til andre.

Margit Solveig Kristoffersen, Socialpædagogerne Sydjylland

Excel VBA

At jeg kan fordybe når jeg har tid og lyst, er super.

Virkelig hurtig respons fra underviseren - næsten døgnet rundt :)

Øvelserne indeholdt hvad jeg skulle bruge, for at komme videre med egne vba-projekter.

At man kunne sammenligne egne løsninger med underviserens var lærerigt.

Henrik Boss, Marel Bornholm

< >
Se flere referencer

Det grundlæggende

Det vigtigeste element i arbejdet med xslt er template elementet - det er det der beskriver hvad du vil have gjort:

Et lille eksempel

<?xml version="1.0"?>
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:template match="Kunstner">
  Kunstner fundet
</xsl:template>
</xsl:stylesheet>

Template elementet løber dit xml dokument igennem og hver gang den støder på et element der opfylder dit match vil indholdet af template elementet blive indsat. Kører man denne transformation på det lille xml dokument her, burde der komme en linje for hver kunstner, der står i dokumentet...

Prøv det lige... - resultatet er ikke helt som forventet!!

Arbejder du i XMLSpy kan det være meget nyttigt at bruge debug funktionen til at se, hvordan XSL fortolkeren virker.

Ja, output bliver..

<?xml version="1.0" encoding="UTF-8"?>W:\Digital musik\!Rytmisk\Dan Turèll + 
Halfdan E\Glad i Åbningstiden\Dan Turèll + Halfdan E - .. (5).mp3.. (5)

Kunstner fundet

Glad i ÅbningstidenRock/Pop1314811W:\Digital musik\!Rytmisk\Caroline 
Henderson\cinemataztic\Caroline Henderson - Untill we meet again.mp3Untill we 
meet again

Kunstner fundet

cinematazticJazz1023170W:\Digital musik\!Rytmisk\Dan Turèll + Halfdan E\Glad i 
Åbningstiden\Dan Turèll + Halfdan E - .. (1).mp3.. (1)

Kunstner fundet

Glad i ÅbningstidenRock/Pop529126W:\Digital musik\!Rytmisk\Dan Turèll + Halfdan 
E\Glad i Åbningstiden\Dan Turèll + Halfdan E - .. (3).mp3.. (3)

Kunstner fundet

Glad i ÅbningstidenRock/Pop932940W:\Digital musik\!Rytmisk\U2\Rattle and Hum\U2 
- Freedom for My People.mp3Freedom for My People

Kunstner fundet

Rattle and HumRock/Pop738452W:\Digital musik\!Rytmisk\Mark Knopfler\Cal\Mark 
Knopfler - Waiting for Her.mp3Waiting for Her

Kunstner fundet

CalRock/Pop340202W:\Digital musik\!Rytmisk\U2\Rattle and Hum\U2 - The Star 
Spangled Banner.mp3The Star Spangled Banner

Kunstner fundet

Rattle and HumRock/Pop1543075W:\Digital musik\!Rytmisk\The Blues 
Brothers\Briefcase Full of Blues\The Blues Brothers - Closing- I Can't Turn You 
Loose.mp3Closing: I Can't Turn You Loose

Kunstner fundet

osv...

Default templates

Det giver lejlighed til at tale lidt om default templates. Hvis vi ikke leverer en template, der matcher med rod elementet i xml dokumentet vil xml parseren bruge en default template, der "bare" leverer indholdet af det pågældende element.

Output

Et andet problem vi ser er bogstaverne (i nogle tilfælde bliver de danske bogstaver ikke vist rigtigt)...
Det hænger sammen med at parseren pr. default bruger UTF-8. Det problem kan løses ved at skyde denne linje ind i toppen af stylesheetet:

<?xml version="1.0"?>
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:output method="text" encoding="ISO-8859-1" />
<xsl:template match="Kunstner">
  Kunstner fundet
</xsl:template>
</xsl:stylesheet>

Noget der virker :-)

Og skal det give det output vi forventer kan det se sådan her ud - det virker måske lidt magisk lige nu, men det skal nok give mening når vi kommer lidt længere:

<?xml version="1.0"?>
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:output method="text" encoding="ISO-8859-1" />
<xsl:template match="Kunstner">
  Kunstner fundet
</xsl:template>
<xsl:template match="text() | @*"></xsl:template>
</xsl:stylesheet>

Der giver

  Kunstner fundet

  Kunstner fundet

  Kunstner fundet

  Kunstner fundet

  Kunstner fundet

  Kunstner fundet

Og et lidt sjovere eksempel

<?xml version="1.0"?>
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:output method="text" encoding="ISO-8859-1" />
<xsl:template match="Kunstner">
  <xsl:value-of select="." />
</xsl:template>
<xsl:template match="text() | @*"></xsl:template>
</xsl:stylesheet>

Der gerne skal give

Dan Turèll + Halfdan ECaroline HendersonDan Turèll + Halfdan EDan Turèll + Halfdan EU2Mark KnopflerU2The Blues BrothersThe Blues BrothersDan Turèll + Halfdan EQueenMark KnopflerDan Turèll + Halfdan EQueenQueenQueenQueenMark KnopflerQueenDan Turèll + Halfdan EQueenSting

Ikke specielt sexet, men dog alligevel noget :)

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.