运行 a xsl:choose 使用公式的结果

Run a xsl:choose using the result of a formula

正在创建 XSL 以将 XML 翻译成 Excel。其中一部分是在另一个工作表上执行查找的公式。但是,我想 transform/translate return,所以我认为 xsl:choose 最好。

但我不知道如何在 xsl:choose 中引用我的 ss:Formula?

    <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 -->

您不能引用输出树的节点。将公式定义为 变量 并在属性和表达式中使用它。


编辑

我可能误解了你所说的“引用我的 ss:Formula”的意思。如果您想考虑 Excel 执行的实际查找的结果,那是行不通的 - 原因由 Tim C 在他的评论中解释。

但是,您可以使用 key 等 XSLT 方法自行执行查找。