Я пытаюсь создать SVG-полилинейный график из значений в моем XML-документе.Пока я создал диаграмму, но я не могу правильно извлечь значения из документа XML.Ниже приведено текущее состояние графика:
График предназначен для отображения среднемесячной температуры погоды, поэтому должен быть ниже по краям ипик в центре.
Вот мой код XML:
<xml>
<graph2>
<averageHighTemperatures>
<January>8.3</January>
<February>8.5</February>
<March>11.1</March>
<April>13.5</April>
<May>17.1</May>
<June>20.0</June>
<July>22.6</July>
<August>22.5</August>
<September>19.3</September>
<October>15.3</October>
<November>11.2</November>
<December>9.1</December>
</averageHighTemperatures>
</graph2>
</xml>
Вот мой код XSL:
<svg xmlns="http://www.w3.org/2000/svg"
viewBox="0 0 500 100" class="chart">
<xsl:variable name="max">
<xsl:for-each select="xml/graph2/averageHighTemperatures/*">
<xsl:sort select="." data-type="number" order="descending"/><xsl:if test="position()=1">
<xsl:value-of select="."/>
</xsl:if>
</xsl:for-each>
</xsl:variable>
<xsl:for-each select="xml/graph2/averageHighTemperatures">
<polyline
fill="none"
stroke="#0074d9"
stroke-width="3"
points="0,{January div $max}
20,{February div $max}
40,{March div $max}
60,{April div $max}
80,{May div $max}
100,{June div $max}
120,{July div $max}
140,{August div $max}
160,{September div $max}
180,{October div $max}
200,{November div $max}
220,{December div $max}"/>
</xsl:for-each>
</svg>
Я предполагаю, что XSL для каждого цикла ввнизу - источник проблемы, но я не уверен, как правильно использовать переменную при построении точек.
Заранее спасибо