Использовать значение параметра XSL в атрибуте HTML
У меня есть такая форма
<form method="get" action="change" target="frame">
<select name="fill" >
<option>red</option>
<option>green</option>
<option>yellow</option>
<option>pink</option>
</select>
<input type="submit" value="darstellen"/>
</form>
<iframe name="frame">
</iframe>
Я хочу, чтобы форма отправляла цвет в другой XSL-файл, содержащий прямоугольник. Пока передача цвета в другой файл XSL работает, но теперь я хотел бы динамически изменить цвет заливки прямоугольника, но использование переданного параметра не сработает.
<map:match pattern="change">
<map:generate src="square.svg"/>
<map:transform src="recchange.xsl">
<map:parameter name="use-request-parameters" value="true"/>
</map:transform>
<map:serialize type="html"/>
Это моя карта сайта
<xsl:param name="fill"/>
<xsl:output method="html"/>
<xsl:template match="/">
<html>
<body>
<h2><xsl:value-of select="$fill"/></h2>
<h1>testtest</h1>
<svg>
<rect width="300" height="100" style="fill:$fill;stroke-width:3;stroke:red">
</rect>
</svg>
И это то, что я пытался до сих пор. У кого-нибудь есть совет?
1 ответ
Решение
Вы можете использовать шаблоны значений атрибутов здесь, чтобы оценить $fill
переменная и выводит ее значение непосредственно в строке атрибута
<rect width="300" height="100" style="fill:{$fill};stroke-width:3;stroke:red">
Итак, фигурные скобки представляют здесь Шаблон Значения Атрибута.