Как можно вызвать функцию ColdFusion, передавая значения атрибутов в качестве аргументов, внутри оператора шаблона преобразования XML. Например, что-то вроде:
<xsl:template match="date">
<cfoutput>#DateFormat(now(), <xsl:value-of select="@format"/>)#</cfoutput>
</xsl:template>
такой, что следующий XML:
<date format="mm/dd/yy" />
Будет ли сопоставлено и преобразовано в результат DateFormat(now(), "mm/dd/yy")
? Является ли это возможным? Я могу сделать это со статическими аргументами DateFormat()
, не могу понять, как извлечь значение из атрибута / узла и использовать его в качестве аргумента. Спасибо!
Обновление
Полная версия текущей попытки:
<cfxml variable="xmlData">
<?xml version="1.0"?>
<date format="mm/dd/yy" />
</cfxml>
<cfxml variable="stylesheet">
<?xml version="1.0"?>
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:template match="date">
<cfoutput>#DateFormat(now(), '<xsl:value-of select="@format"/>')#</cfoutput>
</xsl:template>
</xsl:stylesheet>
</cfxml>
<cfoutput>#XmlTransform(xmlData, trim(stylesheet))#</cfoutput>
, что приводит к следующей ошибке:
An error occured while Parsing an XML document.
Element type "x2l:value-of" must be followed by
either attribute specifications, ">" or "/>".