Top Banner
Working with XSLT in Dynamicweb Af Sten Hougaard
14

Working with XSLT in Dynamicweb

Mar 28, 2016

Download

Documents

Sten Hougaard

This is my presentation from Dynamicweb Partner conference helt on the 1st of March 2011 in Kolding. I talk about the basic concept and understanding of XSLT related to using it in Dynamicweb CMS. Also be sure to visit www.dwfeatures.com
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: Working with XSLT in Dynamicweb

Working with XSLT in Dynamicweb

Af Sten Hougaard

Page 2: Working with XSLT in Dynamicweb

Partnerkonference 2011 / Sten Hougaard – [email protected] / side 2

Working with XSLT in Dynamicweb

Hvem er jeg?

• Sten Hougaard

• Ansat hos Bleau A/S som frontend udviker

• Har arbejdet med Dynamicweb siden 2005

• Initiativtager til www.dwfeatures.com

• Blog: http://www.netsi.dk/wordpress

• Twitter: @netsi1964

Page 3: Working with XSLT in Dynamicweb

Partnerkonference 2011 / Sten Hougaard – [email protected] / side 3

Working with XSLT in Dynamicweb

Hvad vil jeg tale om?

• Hvad er XSLT Templates?

• Hvorfor XSLT frem for HTML baseret templates?

• Eksempel på XSLT template

• Værktøjer og best practice

• Fremtiden - ønsker

• Links – find link til dette slideshow på www.dwfeatures.com

Page 4: Working with XSLT in Dynamicweb

Partnerkonference 2011 / Sten Hougaard – [email protected] / side 4

Working with XSLT in Dynamicweb

Hvad er XSLT Templates?

• Metode til at lave udtræk fra XML dokument - transformere

• Dynamicweb CMS stiller XML dokument til rådighed

• Tags struktureret i et DOM træ

• XSLT transformerer dette træ til f.eks. HTML

• Mange muligheder for at styre resultat via logik

• Simpel DwTemplateTags i XSLT ser således ud: <textarea><xsl:copy-of select=”/.” /></textarea>

• Kan også få DW til at gemme til disk – tilføj til URL: savetemplatexml=true

Page 5: Working with XSLT in Dynamicweb

Partnerkonference 2011 / Sten Hougaard – [email protected] / side 5

Working with XSLT in Dynamicweb

Hvad er XSLT Templates? – Selve XSLT

• Vis element: <xsl:value-of select="News.CategoryName"/>

• Vis attribut: <xsl:value-of select=”Loop/@name"/>

• Test: <xsl:if test="Server.Request.debugxml='true'”>..</xsl:if>

• Loop: <xsl:for-each select="item">..</xsl:for-each>

• Variabel:<xsl:variable name=“NC" select="News.CategoryName" />

• Anvend variabel: <xsl:apply-templates select=“item[./News.CategoryName=$NC]” />

• Template: <xsl:template match="item">...</xsl:template>

• <input type="text" name="format“ value="{$dateFormat}" />

Find link til eksempel og resurser på www.dwfeatures.com

Page 6: Working with XSLT in Dynamicweb

Partnerkonference 2011 / Sten Hougaard – [email protected] / side 6

Working with XSLT in Dynamicweb

Hvad er XSLT Templates? – XPATH

• XPATH bruges til navigation i XML og har en række funktioner

• Navigation minder om CSS3 – jQuery ”forstår” XPATH navigation

• ”Find ulige nyheder”: //loop[@name='NewsList']/item[(position()+1) mod 2=0]

• Eksempel – Microsoft extention til xpath

Find link til eksempel og resurser på www.dwfeatures.com

Page 7: Working with XSLT in Dynamicweb

Partnerkonference 2011 / Sten Hougaard – [email protected] / side 7

Working with XSLT in Dynamicweb

Hvorfor XSLT frem for HTML baseret templates?

• Google søgning XSLT: 12 500 000 mil hits, dwtemplates: 5 170 hits.

• Mindre ”snavs” til klienten, logik i XSLT sikrer kun relevant output

• Man kan ikke noget i HTML templates som man ikke kan i XSLT

• Arbejder man cross CMS-systemer er XSLT viden genbrugeligt

• XPATH anvendes også i jQuery, syntax genbrug! CSS != XPATH

• XSLT ender jo typisk også som HTML output, samme resultat

• Ikke altid XSLT – primært ved komplekst output

• Hvis det tager 15 minutter i HTML og 3 timer i XSLT, kunden er lige glad han kigger på prisen.

Page 8: Working with XSLT in Dynamicweb

Partnerkonference 2011 / Sten Hougaard – [email protected] / side 8

Working with XSLT in Dynamicweb

Eksempel på XSLT template

• Mål: Vise nyhedsliste som jQuery UI accordion

• Personlig best practice: ”debugxml=true” => XML vises

• Output kan give problemer i editor, invalid XML Redning: VS2010 makro (se link på www.dwfeatures.com (snart))

Page 9: Working with XSLT in Dynamicweb

Partnerkonference 2011 / Sten Hougaard – [email protected] / side 9

Working with XSLT in Dynamicweb

Værktøjer og best practice

• Visual Studio 2010

• Offline transformering: Single step debugging, breakpoints

• Snippets! Download. See video example of use.

• Husk at begrænse antal loops i eCom XSLT templates! <xsl:variable name="availableloops" select="'*'" />

• ”TTXPathNavigator for VS2010”

• XSLTIntellisence – ikke aktiv, aktiver via RegEdit!

• Mulighed for både javascript og C# i XSLT

Følg med på www.dwfeatures.com!

Page 10: Working with XSLT in Dynamicweb

Partnerkonference 2011 / Sten Hougaard – [email protected] / side 10

Working with XSLT in Dynamicweb

Fremtiden - ønsker

• DW åbner op for dw namespace med ”common” utils <dw:translate key=”’next’” default=”’Næste’” useGlobal=”false” />

• DW åbner op for custom namespaces, f.eks. ”bleau” <bleau:toMicroformat type=”’date’” select=”DwDate.GeneralDate” />

• Åbenhed og deling af viden mellem partnere. Styrker DW platformen. F.eks. Gennem www.dwfeatures.com

• XSLT 2.0 – når Microsoft er parat med det

Page 11: Working with XSLT in Dynamicweb

Partnerkonference 2011 / Sten Hougaard – [email protected] / side 11

Working with XSLT in Dynamicweb

Links

• ”XSLT Reference” – Microsoft MSDN

• ”XSLT Questions and Answers - FAQ”

• ”XPath Syntax” – Microsoft MSDN

• ”jQuery” javascript API

• ”ajaxslt” jQuery addIn med XPATH og XSLT clientside

• Screencasts @ dynamicweb.blip.tv

• Snippets lige til at installere i VS

• TTXPathNavigator for VS2010

• XSLTIntellisence – ikke aktiv, aktiver via RegEdit!

• Translation in Dynamicweb XSLT

• Netsi.dk various XSLT examples

Page 12: Working with XSLT in Dynamicweb

Partnerkonference 2011 / Sten Hougaard – [email protected] / side 12

Working with XSLT in Dynamicweb

Eventuelt og spørgsmål

Page 13: Working with XSLT in Dynamicweb

Partnerkonference 2011 / Sten Hougaard – [email protected] / side 13

Working with XSLT in Dynamicweb

Page 14: Working with XSLT in Dynamicweb

02-03-2011 / side 14