Использовать значение параметра XSL в атрибуте HTML - PullRequest
0 голосов
/ 16 января 2019

У меня есть форма, подобная следующей

        <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 Ответ

0 голосов
/ 16 января 2019

Вы можете использовать Шаблоны значений атрибутов здесь, чтобы оценить переменную $fill и вывести ее значение непосредственно в строке атрибута

 <rect width="300" height="100" style="fill:{$fill};stroke-width:3;stroke:red">

Итак, фигурные скобки представляют здесь Шаблон значения атрибута.

...