parser

Написать ответ на текущее сообщение

 

 
   команды управления поиском

"Нормальные герои всегда идут в обход"(С)

G_Z 14.02.2006 01:40

Сделал некрасиво, но работает.
Как сделать красиво - не выяснилось.
<xsl:template name="trimTags">
	<xsl:param name="string"/>

	<xsl:choose>
		<xsl:when test="contains($string, '&lt;') and contains($string, '&gt;')">
			<xsl:variable name="tag_before" select="substring-before($string, '&lt;')"/>
			<xsl:variable name="tag_after" select="substring-after($string, '&gt;')"/>
			<xsl:variable name="result">
				<xsl:value-of select="$tag_before"/>
				<xsl:value-of select="$tag_after"/>
			</xsl:variable>
			<xsl:choose>
				<xsl:when test="contains($result, '&lt;') and contains($result, '&gt;')">
					<xsl:call-template name="trimTags">
						<xsl:with-param name="string" select="$result"/>
					</xsl:call-template>
				</xsl:when>
				<xsl:otherwise>
					<xsl:value-of select="$result" disable-output-escaping="yes"/>
				</xsl:otherwise>
			</xsl:choose>
		</xsl:when>
		<xsl:otherwise>
			<xsl:value-of select="$string" disable-output-escaping="yes"/>
		</xsl:otherwise>
	</xsl:choose>
</xsl:template>