K8112 XSLT/XPath 1.0 Grundlæggende

XSLT (XML Stylesheet Language Transformation) og XPath (XML Path) benyttes til at manipulere med XML-dokumenter. XSLT transformerer XML til et andet format. XPath gennemsøger et XML-dokument og finder eksakte informationer…

| 3 dage | Afholdes i hele Danmark |

Kurset kan afholdes som udvidet kursus med udvidet kursusindhold. Kontakt instruktøren på telefon 4250 5040‘ href=’tel:+4542505040’>telefon 4250 5040 eller info@zoomtek.dk‘ href=’mailto:info@zoomtek.dk’>info@zoomtek.dk.

XSLT findes i flere versioner. Den bagvedliggende it-infrastruktur afgør valg af version. Der findes således både en version 1, 2 og 3. Version 1 benyttes stadig som standard i mange sammenhænge.

Målgruppe for XSLT-kurset

Kurset er målrettet EDI-konsulenter, integrationsudviklere, Nemhandelskonsulenter, systemudviklere m.fl., der arbejder med konvertering af store datamængder med XSLT.

Forudsætninger for XSLT-kurset

Kurset vil normalt køre som klassekursus. Altså som et lukket kursus i din virksomhed. Er I mindst 3 personer, kan I få et kursus overalt i Danmark. Deltagernes forudsætninger vil matche kursusindholdet, som igen aftales nærmere med instruktøren. Et kursus kan derfor starte helt fra begyndelsen eller på et højere niveau.

Fold ud

Grundkursus og Udvidet kursus

Kursusbeskrivelsen nedenfor kan ændres og tilrettelægges både opad og nedad i niveau. Derfor tilbydes både et grund- og udvidet kursus. Inden kurset tager instruktøren et webmøde, så alt bliver timet og tilrettelagt - og deltagere og instruktør får hilst på hinanden. Jeres emner kan inddrages i kurset.

Ring 4250 5040 og lad os finde en dato

Kurset holdes, når det passer i jeres kalender. Kom gerne med datoforslag. På den måde kan der komme skub i jeres projekter, og I behøver ikke vente unødigt på et kursus.

Kursus i Jeres virksomhed er nemmest

For alle parter er det nemmest at holde kurset i et mødelokale på jeres adresse. ZoomTek tilbyder også online kurser/fjernkurser eller kurser afholdt på et hotel. Kurser laves i hele Danmark.

Efter kurset kan du:

Du bliver ekspert i XSLT. Både rent kodemæssigt, men også med implementeringen af XSLT. Vi gennemgår også fejlsøgning, processorer og hele arkitekturen omkring XSLT. Nedenstående kursusplan er et forslag. Præcist indhold aftales med Jer inden kurset.

Indhold af kurset i XSLT/XPath 1.0 Grundlæggende

1 | Introduktion

  • Overblik over versioner: XSLT 1.0 -> 3.1
  • Forskel på XQuery og XSLT
  • XSLT er et funktionelt sprog, ikke et proceduresprog
  • Opsætning af miljø (opsæt aftales inden kursus), men kan være XMLSpy, Notepad++, Google Chrome, PowerShell eller f.eks. PHP
  • Sikre at alle deltagere kan lave Hello World
  • Simplest mulige transformering (3 linjer)
  • Test af processor med system-property()-funktionen

2 | De mest gængse XSLT-elementer

  • xsl:for-each, xsl:value-of
  • xsl:sort – forskellige datatyper, flere niveauer
  • xsl:if
  • xsl:choose, xsl:when xsl:otherwise
  • Hvad returneres? Enkeltværdier, nodeset?
  • Forskel på select (XPath) og traverse

3 | XPath Basic

  • Helt grundlæggende XPath
  • Simpel filtrering
  • Operatorer: = != > >= m.fl.

4 | Apply-templates I

  • XSLT-elementer til styring af templates
  • xsl:template,
  • xsl:apply-templates
  • Templates kaldes i forhold til XPath udtryk
  • Rækkefølge på kald – i få tilfælde kan man sige, at ‘rækkefølge matters’.
  • xsl:apply-templates med og uden select-attribute (stor forskel)

5 | Apply-templates II

  • xsl:call template
  • kald af templates med parametre
  • Erklæring af defaultparametre
  • Brug af enten lokale eller globale variable
  • Brug af priority-attribute ved overlappende XPath-udtryk
  • Brug af mode attribute
  • Brug af xsl:copy og xsl:copy-of sammen med xsl:apply-templates
  • Sortering af data med xsl:apply-templates

6 | Import(), include(), document()

  • xsl:import, xsl:include – forskel på import og include
  • xsl:apply-imports
  • xsl:document (XPath kald til fremmede XML-filer)
  • Eksterne og internt namespace
  • Brug af arrays i XSLT 1.0 (officielt ikke muligt, men en løsning findes)

7 | Løsning på de ting som XSLT 1.0 ikke kan

  • Gruppering af data
  • Recursive kald
  • Brug af tæller
  • Ændring af variable
  • Brug af arrays
  • Sortering og håndtering af datoer
  • Lave egne funktioner

8 | Variable, Param

  • Forskel på variable og param
  • Er en variabel i virkeligheden en konstant? nej
  • Variable og param i forskellige scopes – globalt, lokalt, kald af værdier.
  • Indsætte parametre udefra koden – f.eks. fra JavaScript eller en editor.
  • Kan man lave en tæller – eller dynamisk sammenlægge en streng (concat)?

9 | Specielt for XML-til-XML transformation

  • xsl:output-elementet
  • processing-instruction()
  • strip-space(), preserve-space()
  • Brug af xsl:apply-templates herunder @*|node() og xsl:copy-of
  • Fjerne, indsætte, omdøbe, slette elementer
  • xls:text, xls:element(), xls:number()
  • Brug af exclude-result-prefixes

10 | Alt om attributter

  • Spørge om værdien af en attribut
  • Spørge på om en attribut overhovedet eksisterer
  • Spørge på navnet eller antallet af attributter
  • Oprette en attribut
  • xsl:attribute og xsl:attribute-set
  • Attribute Value Templates (tuborg-parenteser)

11 | XPath Funktioner

  • position(), last()
  • node(), name() – f.eks. returnér elementnavn ved generisk template
  • Kør xsl:for-each baglæns
  • Avanceret filtrering af data på flere forskellige elementer
  • Fange specielle elementer: f.eks. kommentarer, output-instruktioner eller lignende

12 | Flere XPath-funktioner

  • Numeriske funktioner
  • String funktioner
  • Boliske funktioner
  • Hvordan kommer man uden om de funktioner som mangler i XSLT 1.0 – f.eks. random, uppercase o.l.?
  • Sortering af samlede navne på efternavn
  • Sortering af datoer

13 | Axes f.eks. parent::*/child::*[3]

  • Axes bruges til at navigere rundt i XML-træet.
  • Overblik over tilgængelige Axes.
  • Fælder og smutveje
  • Performance – pas på

14 | XPath Predicates – avanceret filtrering

  • Syntaks – firkantede parenteser
  • Brug af ‘or’ ‘and’
  • Brug af flere samtidige predicates for at lave subset ud fra subset.

15 | Avancerede XSLT-funktioner

  • xsl:key()-funktionen
  • generate-id()-funktionen
  • system-property()-funktionen

16 | OIOUBL og Schematron (valgfrit)

  • Schematron (principper og XSLT)
  • Transformation af en OIOUBL-invoice

17 | Kundens filer (valgfrit)

  • Arbejde med kundens filer/dine filer
  • Spørgsmål, løsninger, gennemgang, optimering

18 | Fejlretning/-søgning

  • Fejlsøgning: ,
  • UnitTest: Er det muligt?

19 | Extensions

  • Brug af JavaScript og Visual Basic direkte i XSLT-koden (ikke standard, ikke anbefalet)
  • EXSLT (Extended XSLT) – opsætning, fælder
  • Saxon-funktioner. Funktioner udviklet specielt til Saxon processoren
  • MSXSL:script. Igen: Advarsel
  • Problemer med 1. og 2. class nodesets

20 | Afslutning

  • Performance – forbedring af hastighed på transformation – undgå performance-dræbere
  • Sikkerhed
  • Fordele/Ulempter ved XSLT (1.0)
  • Værktøjer – editorer, online-tools
  • Kort intro til muligheder i XSLT 2.0 og videre
  • Opgradering fra 1.0 til 2.0

Kurset kan køres i både version 1.0, 2.0, 3.0 og 3.1. Jo nyere version, jo flere features tilbydes. Men inden man vælger nyeste version, skal man gøre sig klart, hvilke fortolkere, som ens software benytter. Man kan ikke bare forvente, at version 3.1 kører overalt – langt fra.

Ønsker du en fagsnak inden valg af kursus, er du velkommen til at ringe på telefon 4250 5040 eller sende en e-mail til info@zoomtek.dk. Vi kan også arrangere et webmøde.

Kursusinstruktør:

Søren Anderson

ZoomTek Kurser

Kurset er udviklet 100% af ZoomTek og/eller af kursusafholder.

Kursus hos Jer

Kurset kan køres på jeres adresse. Nemt og praktisk...

I skal blot have et mødelokale og wifi.

Remote via video

Kolleger kan deltage remote via video. Så kan alle deltage, selv om I har afdelinger i hele landet eller udlandet. Kurser kan afholdes på engelsk.

Praktisk information

Ring på telefon 4250 5040 eller skriv til e-mail info@zoomtek.dk . Alternativt kan du udfylde kontaktformularen nederst.

Kursusdatoer aftales med dig som kunde. Sammen med instruktøren finder i nogle passende datoer. Det kan være meget snart eller om noget tid efter jeres ønske.

De fleste kurser afholdes ude hos vores kunder. Et almindeligt mødelokale er helt optimalt. Alternativt holdes kurser også på hoteller og konferencecentre i København, Aarhus, Aalborg, Odense og Trekantområdet.

Prisen afhænger af antal deltagere, geografi og om det er et ZoomTek kursus eller et formidlet kursus afholdt af en af vore partnere.

Ja. Kurser kan holdes på engelsk, og i en del tilfælde også på svensk. Kurser kan holdes i udlandet til standardpris + rejseomkostninger.

Ja. For 2 personer holder vi et lukket firmakursus. Er du kun dig, kan vi tilbyde et Online kursus.

OnLine kurser er meget fleksible, og kan holdes for 1 eller flere personer. Det kan også være en mulighed, hvis I sidder i Herning og den bedste instruktør til opgaven bor i Ballerup. Online kurser giver samme indlæring som almindelige kurser. Det vidner kursisters tilbagemeldinger gennem flere år om.

Ja, kurser kan tilpasses og blandes. Indhold, kursuslængde og kursusform kan tilpasses.

ZoomTek sælger klippekort til kurser. Disse kan benyttes af alle i virksomheden og på tværs af ZoomTek kurser og formidlede kurser.

Kurser på denne side er udviklet eller formidlet af ZoomTek. ZoomTek har ikke 'an affiliation, endorsement, sponsorship, or approval' med Apple®, Adobe®, Microsoft®, IBM® og andre - og deres respektive varemærker. Læs mere om brug af varemærker på ZoomTek.dk her. ZoomTek alene eller de partnere, ZoomTek formidler kurser til, står bag kurserne.

Kontakt ZoomTek og lad os tage et webmøde

Kontakt ZoomTek på telefon 4250 5040 eller info@zoomtek.dk. Telefonen er åben alle hverdage mellem kl. 8-17. Webmøder kan også aftales om aftenen.

Du kan også udfylde kontaktformularen nedenfor.

Google, Java, JavaScript, nemhandel, Notepad++, OIOUBL, php, PowerShell, Visual Basic (and others) are either registered trademarks or trademarks in the United States and/or other countries. On this page you may find other trademarks and/or registered trademarks that belong to third parties and are the property of their respective owners. ZoomTek does’nt have an affiliation, endorsement, sponsorship, or approval with or by any of these companies and their respective trademarks. ZoomTek has developed all courses on this page. Read more about the use of trademarks on ZoomTek.dk