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

Expression Web 4

- At jeg selv kunne bestemme hvornår jeg ville arbejde med kurset.

- At jeg selv kunne bestemme hvornår og med hvad jeg ville gå ekstra i dybden.

- Det venlige 'puf', da jeg var inaktiv i længere tid.

- Den ALTID hurtige respons.

- At jeg også kunne få vejledning i spørgsmål, som ikke helt var inden for kursets emner.

Jørgen Kirkeby, Privat

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

ASP.NET 3.5

Muligheden for selv at planlægge undervisningsforløbet

De altid hurtige svar fra underviser

Erik Laursen, Skat

DreamWeaver CS4

Det bedste af det hele - din ubegrænsede tålmodighed. Jeg vidste intet om hjemmesider, havde aldrig været på IT kurser, plus dansk er ikke min modersmål - jeg misforstod tit, hvad du skrev. Det har sikkert været meget irriterende for dig, men du fortsætte at forklare uden at blive sur. Det er meget vigtigt for en begynder ikke at være "skræmt væk", fordi så tænker man: "mon ikke klarer jeg det alligevel".
Jeg synes, emnerne for kurser var godt valgte.
Det var godt, at man kunne arbejde med kurser, når man havde tid - der var ingen tidsfrister til hvert emne.
Det var godt, at du svarede hurtigt på spørgsmålene.

Tak for kursus! Det var en god oplevelse, det var en stor udfordring for mig, men det var meget interessant at "fægte" igennem det!

Antra Kahr, kahrius.dk

Excel videregående 2010

De hurtige svar og små bemærkninger, samt huskemails når jeg gik istå

Anette Laxy, Palsgaard A/S

< >
Se flere referencer

XPath aksenavne

Betragt dette diagram

Og sammen med dette lille xml dokument kan vi på næste diagram se, hvordan de enkelte elementer kan vælges under forudsætning af at "Item" er det aktuelle element.

<?xml version="1.0"?>
<order number="312597">
<date>2000/1/1</date>
<customer id="216A">Customer A</customer>
<item>
<part-number warehouse="Warehouse 11">E16-25A</part-number>
<description>Production-Class Widget</description>
<quantity>16</quantity>
</item>
</order>

 

 

Med det i hånden får man endnu flere muligheder. Prøv f.eks. dette stylesheet på xml dokumentet

<?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="Nummer">
<xsl:for-each select="child::Kunstner">
<xsl:value-of select="."/>
</xsl:for-each>
</xsl:template>
<xsl:template match="text()"><!-- gør ingenting --></xsl:template>
</xsl:stylesheet>

Unikke poster

Vi bruger også akse-navne i forbindelse med udtræk af unikke poster i et XML dokument - det kunne se sådan her ud:

<?xml version="1.0" encoding="UTF-8"?>
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:fo="http://www.w3.org/1999/XSL/Format">
<xsl:output encoding="ISO-8859-1"/>
  <xsl:template match="/">
    <xsl:variable name="adresser" select="//Adresse[not(.=preceding::Adresse)]"/>
      <html>
        <head></head>
        <body>
          <xsl:for-each select="$adresser">
            <h1><xsl:value-of select="."/></h1>
          </xsl:for-each>
        </body>
      </html>
  </xsl:template>
</xsl:stylesheet>

Jeg ved godt, at jeg her bruger et par elementer, som vi ikke er kommet til endnu, men jeg håber det går alligevel ;-)

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.