Как svg использует изменить область переменных переменных xslt? - PullRequest
0 голосов
/ 04 марта 2020

Я пытаюсь получить доступ к переменным в файле XSLT в сочетании с svg. Параметры - это символ и номер, соответствующие значениям игральной карты, которые я хочу нарисовать. После рисования карты с xslt: for-each, когда параметры верны, и игральная карта была нарисована правильно, но после ее использования дважды, svg использует те же значения переменных, что и в первой итерации xslt: for-each, таким образом генерируя один и тот же график c несколько раз без изменения значений переменных, но вне использования svg значения переменных отличаются от внутренних.

<!-- right variable values outside the definition !-->
<text font-size="50">
<xsl:value-of select="$symbol"/>
</text>
<text font-size="50">
<xsl:value-of select="$number"/>
</text>
<use href="#draw_card""/>
<defs>
      <symbol id="draw_card">
           <!-- wrong variable values inside !-->
           <text font-size="50"><xsl:value-of select="$symbol"/></text>
           <text font-size="50"><xsl:value-of select="$number"/></text>
      </symbol>
</defs>

Как я могу изменить свой код, чтобы переменные xslt оставались неизменными внутри определения, и я могу нарисовать мою игральную карту с этими новыми значениями?

1 Ответ

0 голосов
/ 05 марта 2020

Большое спасибо @Martin Honnen!

Идентификатор действительно был проблемой здесь. Я скорректировал код, объявив идентификатор как «draw_card_ {position ()}».

<!-- right variable values outside the definition !-->
<text font-size="50">
<xsl:value-of select="$symbol"/>
</text>
<text font-size="50">
<xsl:value-of select="$number"/>
</text>
<use href="#draw_card_{$position}"/>
<defs>
      <symbol id="draw_card_{$position}">
           <!-- right variable values inside !-->
           <text font-size="50"><xsl:value-of select="$symbol"/></text>
           <text font-size="50"><xsl:value-of select="$number"/></text>
      </symbol>
</defs>

-> Переменные «хранятся» в идентификаторе, и к ним снова можно получить доступ внутри определения!

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...