Запустите xsl: выберите, используя результат формулы

Создание XSL для перевода XML в Excel. Частично это формула, которая выполняет поиск на другом листе. Тем не менее, я хочу преобразовать / перевести результат, поэтому я решил, что xsl: выбрать будет лучше.

Но я не знаю, как ссылаться на мою формулу ss: внутри xsl: выбирать?

    <Cell ss:StyleID="RARs17"
        ss:Formula="=INDEX('{$vhostname}'!R2C6:R{$vuln_count+7}C6,MATCH(RC3,'{$vhostname}'!R2C14:R{$vuln_count+7}C14,0))>
        <Data ss:Type="String">
        <xsl:choose>
            <xsl:when test="ss:Formula = 'NF'">Completed</xsl:when>
            <xsl:when test="ss:Formula = 'NR'">NR</xsl:when>
            <xsl:when test="ss:Formula = 'O'">Ongoing</xsl:when>
            <xsl:when test="ss:Formula = 'NA'">NA</xsl:when>
            <xsl:otherwise><xsl:value-of select="ss:Formula" /></xsl:otherwise>
        </xsl:choose></Data>
    </Cell> <!-- Status, looks up Result -->

1 ответ

Решение

Вы не можете ссылаться на узлы выходного дерева. Определите формулу как переменную и используйте ее как в атрибуте, так и в выражении.


редактировать

Я, вероятно, неправильно понял, что вы имели в виду под "ссылкой на мою формулу". Если вы хотите считать результат фактического поиска выполненным Excel, это не сработает - по причинам, объясненным Тимом С. в его комментарии.

Однако вы можете выполнить поиск самостоятельно, используя методы XSLT, такие как key,

Другие вопросы по тегам