Martijn Laarman, 1-3 :
, XSLT 1.0 ( ), .
<xsl:variable
name="validRange"
select="'abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789'
/>
<!-- later, within a template… -->
<xsl:attribute name="id">
<xsl:value-of select="
concat(
'id_',
translate(
@MenuText,
translate(@MenuText, $validRange, ''),
''
)
)
" />
</xsl:attribute>
translate() @MenuText, . translate(), @MenuText, . .
:
<xsl:template name="HtmlIdFromString">
<xsl:param name="input" select="''" />
<xsl:value-of select="
concat('id_', translate( $input, translate($input, $validRange, ''), ''))
" />
</xsl:template>
:
<xsl:attribute name="id">
<xsl:call-template name="HtmlIdFromString">
<xsl:with-param name="input" select="@MenuText" />
</xsl:call-template>
</xsl:attribute>