Rendering - XSLT
XSLT er ikke utfyllende dokumentert her, da det finnes mye dokumentasjon på dette andre steder. Når en redigerer en rendering i utviklingsverktøyet, vil en få frem forslag til hvilke tagger som er tilgjengelige.
Her er et Example på en rendering som er skrevet i XSLT.
<?xml version="1.0" encoding="utf-8"?>
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
xmlns:msxml="urn:schemas-microsoft-com:xslt" xmlns:VBCustomScript="#VBCustomScript">
<msxml:script language="VB" implements-prefix="VBCustomScript">
<![CDATA[
function LongDate(myDate)
if IsDate(myDate) then
LongDate= FormatDateTime(myDate, vblongdate)
else
LongDate = myDate
end if
end function
]]>
</msxml:script>
<xsl:template match="/item">
<h2>
<xsl:value-of select="title" />
</h2>
<xsl:if test="teaser != ''">
<p>
<strong>
<xsl:value-of select="teaser"/>
</strong>
</p>
</xsl:if>
<xsl:if test="thumbnail != ''">
<img class="right" alt="ingressbilde">
<xsl:attribute name="src">
<xsl:value-of select="thumbnail" />?fw=280&fh=500
</xsl:attribute>
<xsl:attribute name="title">
<xsl:value-of select="title" />
</xsl:attribute>
</img>
</xsl:if>
<xsl:value-of select="text" disable-output-escaping="yes" />
<p>Publisert: <xsl:value-of select="VBCustomScript:LongDate(string(publishdate))" /> </p>
</xsl:template>
</xsl:stylesheet>
XML-struktur
Xml-strukturen ser slik ut for et element som også inneholder en artikkelliste(svært forkortet):
<?xml version="1.0" encoding="utf-8"?>
<item>
<itemid>129</itemid>
<itemurl>/aktuelt</itemurl>
<itemname></itemname>
<templateid>41</templateid>
<categoryid></categoryid>
<title>Aktuelt</title>
<teaser></teaser>
<text><![CDATA[<p>Vi oppdaterer stadig nettsidene våre med informasjon du kan være interessert i!</p>]]>
</text>
<thumbnail></thumbnail>
...
<Categories>10</Categories>
<Templates>33</Templates>
<itemlist>
<item>
<itemid>34</itemid>
<itemurl>/aktuelt/2012/02/nytt-produkt</itemurl>
<itemname></itemname>
<templateid>33</templateid>
<categoryid>10</categoryid>
<title>Nytt produkt</title>
<teaser>Alt i et pakken er nå lansert</teaser>
...
</item>
<item>
<itemid>30</itemid>
<itemurl>/aktuelt/2012/02/integrasjon</itemurl>
<itemname></itemname>
<templateid>33</templateid>
<categoryid>10</categoryid>
<title>Vi kan nå tilby integrasjon mot enda flere system</title>
<teaser></teaser>
...
</item>
</itemlist>
</item>
Hele innholdet ligger inne i <item>, og alle sidene i artikkellisten ligger inne i <itemlist> som egne <item>. I Exampleet over er svært mange av feltene tatt bort. Feltene til hvert enkelt item vil være alle feltene i item-tabellen, samt attributter og felter i eventuelt tilknyttet rad i ekstern tabell.
Xml-strukturen er lik for enkelttekster, men da mangler naturligvis <itemlist>.
Artikkellister i XSLT
XSLT-Example som henter ut en artikkelliste:
<?xml version="1.0" encoding="utf-8"?>
<xsl:stylesheet version="1.0"
xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:template match="/item">
<h1>
<xsl:value-of select="title" />
</h1>
<xsl:value-of select="text" disable-output-escaping="yes" />
<div class="article-list">
<xsl:apply-templates select="itemlist"/>
</div>
</xsl:template>
<xsl:template match="itemlist/item" name="itemlist">
<div class="article">
<a href="{itemurl}" class="thumbnail">
<xsl:if test="thumbnail != ''">
<img src="{thumbnail}?w=100 h=100" class="article-image" alt="{title}"/>
</xsl:if>
<xsl:if test="thumbnail = ''">
<img src="/er/shell/skins/admER2/icons/48/laptop.png" class="article-image" alt="{title}"/>
</xsl:if>
</a>
<h3>
<a href="{itemurl}">
<xsl:value-of select="title"/>
</a>
</h3>
<p>
<xsl:value-of select="teaser"/>
<a href="{itemurl}"> Les mer</a>
</p>
<div class="cr"></div>
</div>
</xsl:template>
</xsl:stylesheet>