Web components
File detail
Source code
<?xml version="1.0" encoding="utf-8"?>
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:output
method="xml"
version="1.0"
encoding="utf-8"
indent="yes"
doctype-system="http://dudka.cz/dtd/QuickMenu.dtd"
/>
<xsl:strip-space elements="*"/>
<!--<xsl:preserve-space elements="pre"/>
-->
<xsl:template match="/">
<xsl:apply-templates mode="init"/>
</xsl:template>
<!-- match root element -->
<xsl:template match="/page" mode="init">
<QuickMenu>
<xsl:comment>Generated by XSLT processor using QmTemplateBuiler.xsl template</xsl:comment>
<xsl:apply-templates/>
</QuickMenu>
</xsl:template>
<!-- parse subpage recursively -->
<!-- TODO: avoid loops? -->
<xsl:template match="subpage/text()">
<xsl:for-each select="document(concat(self::text(),'.xml'))">
<xsl:apply-templates/>
</xsl:for-each>
</xsl:template>
<!-- Add item to menu -->
<xsl:template match="page">
<qmItem href="{@id}">
<xsl:apply-templates/>
</qmItem>
</xsl:template>
<!-- Add item text (and l10n texts) to menu -->
<xsl:template match="name[child::text()]">
<xsl:element name="qmText">
<xsl:if test="@lang">
<xsl:attribute name="lang">
<xsl:value-of select="@lang"/>
</xsl:attribute>
</xsl:if>
<xsl:value-of select="child::text()" />
</xsl:element>
</xsl:template>
<!-- Do not copy page content -->
<xsl:template match="MainPage" />
</xsl:stylesheet>