У меня есть xml со следующим узлом ContractLength, и он имеет 4 возможных значения:
Нет, 1 год, 2 года, 3 года
Мне интересно, можно ли отсортировать их в порядке, указанном выше ...
<xsl:sort select="ContractLength" order="ascending" data-type="text"/>
дает мне 1 год, 2 года, 3 года, нет
<xsl:sort select="ContractLength" order="ascending" data-type="text"/>
Дает мне нет, 3 года, 2 года, 1 год
но я хочу, чтобы None рассматривался как 0, что приводит к None, 1 год, 2 года, 3 года
Я ограничен использованием xslt V1.0
Сортировка xsl в настоящее время вписывается в код следующим образом:
<xsl:choose>
<xsl:when test="$sort = 'greenpower'">
<xsl:apply-templates select="Product">
<xsl:sort select="GreenPercent" order="descending" data-type="number" />
</xsl:apply-templates>
</xsl:when>
<xsl:when test="$sort = 'estimatedcost'">
<xsl:apply-templates select="Product">
<xsl:sort select="EstimatedCost/Maximum" order="ascending" data-type="number" />
</xsl:apply-templates>
</xsl:when>
<xsl:when test="$sort = 'contractterm'">
<xsl:apply-templates select="Product">
<xsl:sort select="ContractLength" order="ascending" data-type="text"/>
</xsl:apply-templates>
</xsl:when>
</xsl:choose>