Я пытаюсь сохранить ширину изображения как число, чтобы добавить значение класса в оболочку фигур, чтобы я мог управлять размещением изображения с помощью css (маленькое, среднее или большое изображение).Как сохранить ширину изображения как число в переменной с xsl
Это мой XML пример:
<?xml version="1.0" encoding="UTF-8"?>
<root>
<section>
<figure class="informalfigure">
<img src="../images/image-fpo-1.png" alt="" width="250" height="800"/>
</figure>
<figure class="informalfigure">
<img src="../images/image-fpo-2.png" alt="" width="650" height="800"/>
</figure>
<figure class="informalfigure">
<img src="../images/image-fpo-3.png" alt="" width="1250" height="800"/>
</figure>
</section>
</root>
Это мой XSLT:
<?xml version="1.0" encoding="UTF-8"?>
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:xs="http://www.w3.org/2001/XMLSchema" exclude-result-prefixes="xs" version="2.0">
<xsl:variable name="small-image">
<xsl:number value="200"/>
</xsl:variable>
<xsl:variable name="medium-image">
<xsl:number value="500"/>
</xsl:variable>
<xsl:variable name="large-image">
<xsl:number value="1000"/>
</xsl:variable>
<xsl:template match="node()">
<xsl:copy>
<xsl:copy-of select="@*"/>
<xsl:apply-templates/>
</xsl:copy>
</xsl:template>
<xsl:template match="figure">
<xsl:variable name="classvalue" select="@class"/>
<xsl:variable name="img-width" select="number(img[@width])"/>
<xsl:choose>
<xsl:when test="number($img-width) > number($large-image)">
<figure class="{$classvalue} large">
<xsl:apply-templates/>
</figure>
</xsl:when>
<xsl:when test="number($img-width) > number($medium-image)">
<figure class="{$classvalue} medium">
<xsl:apply-templates/>
</figure>
</xsl:when>
<xsl:when test="number($img-width) > number($small-image)">
<figure class="{$classvalue} small">
<xsl:apply-templates/>
</figure>
</xsl:when>
<xsl:otherwise>
<figure class="{$classvalue} missedit" width="{$img-width}">
<xsl:apply-templates/>
</figure>
</xsl:otherwise>
</xsl:choose>
</xsl:template>
</xsl:stylesheet>
Переменная "IMG-ширина" вызывает зависание. У меня явно что-то не так. Как я могу сохранить ширину изображения как числовую переменную, чтобы мой тест работал? Любая помощь приветствуется. Спасибо, Джон