2016-10-14 2 views
0

Я объявил переменную с помощью простой формулы Excel (не формула I, в конечном счете использовать, только что-то просто для тестирования)XSL в Excel: Выберите не обрабатывает формулу

<xsl:variable name="nistcci" ss:Formula="=RC19"></xsl:variable> 

Тогда я пытаюсь использовать Выбрать чтобы определить, являются ли данные атрибута пустыми, а затем верните их на основании этого определения.

<Cell ss:StyleID="stig_rules"> <!-- IA Control(s) --> 
<Data ss:Type="String"> 
    <xsl:choose> 
     <xsl:when test="STIG_DATA/VULN_ATTRIBUTE[node()='IA_Controls']/../ATTRIBUTE_DATA != ''"> 
      <xsl:value-of select="STIG_DATA/VULN_ATTRIBUTE[node()='IA_Controls']/../ATTRIBUTE_DATA" /> 
     </xsl:when> 
     <xsl:otherwise> 
      <xsl:value-of select="$nistcci"/> 
     </xsl:otherwise> 
    </xsl:choose> 
</Data> 

Это работает, если я что-то простое, как:

<xsl:variable name="nistcci">sean</xsl:variable>

Но не работает с формулой в ссылочного переменной.

Спасибо за помощь. Шон.

ответ

0

Непонятно, что вы хотите, чтобы ваша переменная содержалась.

Совершенно ясно, что xsl:variable инструкция не может иметь атрибут ss:Formula, или любой другой атрибут, кроме select и (в XSLT 2.0) as.

вашей переменной потребности быть построены как:

<xsl:variable name="myVar" select="myExpr"/> 

где myExpr должен быть допустимым выражением XPath.

В качестве альтернативы, вы можете использовать что-то вроде:

<xsl:variable name="myVar"> 
    <xsl:attribute name="ss:Formula">=RC19</xsl:attribute> 
</xsl:variable> 

построить переменную, которая содержит атрибут.

+0

Использование только XSL 1.0I'm пытается получить «= RC19», чтобы заполнить итоговый рабочий лист Excel как формулу Excel, а не только как текст. –

+0

Использование только XSL 1.0. Я пытаюсь получить «= RC19», чтобы заполнить полученный рабочий лист Excel как формулу Excel, а не только как текст. Я пытаюсь сделать это в разделе . Даже указанный выше атрибут переменной + не заполняет ячейки (ы) excel. Они все еще пустые. –

+0

@SeanPerryman AFAIK, чтобы иметь формулу, вам нужно добавить атрибут 'ss: Formula' в элемент' ss: Cell'. Ваш 'xsl: select' является дочерним элементом' ss: Data', это слишком поздно. –

Смежные вопросы