-
Notifications
You must be signed in to change notification settings - Fork 6
Basistemplate_erstellen
Marlon Kern edited this page Mar 23, 2016
·
5 revisions
Das Basistemplate speichert den Hostnamen in der XSLT-Variablen $host
und erzeugt das Wurzelelement <urlset>
. Es ist im folgenden Listing dargestellt:
Basistemplate
...
<xsl:template name="content_sitemap">
<xsl:param name="topic" />
<xsl:variable name="host">
<xsl:choose>
<xsl:when test="$topic/host">
<xsl:text>http://</xsl:text>
<xsl:value-of
select="$topic/host"
disable-output-escaping="true" />
<xsl:text>/</xsl:text>
</xsl:when>
<xsl:otherwise>
<xsl:text>/</xsl:text>
</xsl:otherwise>
</xsl:choose>
</xsl:variable>
<urlset ns="http://www.sitemaps.org/schemas/sitemap/0.9">
<xsl:call-template name="mapitem">
<xsl:with-param name="items"
select="$topic/sitemap/mapitem" />
<xsl:with-param name="host">
<xsl:value-of select="$host" />
</xsl:with-param>
</xsl:call-template>
</urlset>
</xsl:template>
...
Der Hostname ist im Quelldokument im Element /page/content/topic/host
enthalten. Um eine gültige URL zu erzeugen, muss der Hostname um die Protokoll-Angabe http://
ergänzt werden. Zusätzlich wird ein /
angehängt. Das erzeugte Wurzelelement <urlset>
erhält zudem einen Namensraum. Anschließend wird das mapitem
-Template aufgerufen, das als Parameter noch die Variable mit dem Hostnamen erhält