2016-06-21 85 views
1

我是xslt编码的新手,需要您的帮助。我正在使用xslt设计电子邮件模板,并且使用样式创建了一个按钮。此按钮仅在接收器是Microsoft Outlook(mso)时才显示。以下是代码。请注意v:roundrect标签中的href属性。在xslt中使用xsl:中的变量在roundrect标记中使用变量

<xsl:text disable-output-escaping="yes"><![CDATA[<!--[if gte mso 9]> <v:roundrect xmlns:v="urn:schemas-microsoft-com:vml" xmlns:w="urn:schemas-microsoft-com:office:word" href="{$URL}" style="height:37px;v-text-anchor:middle;width:190px;" arcsize="15%" stroke="f" fillcolor="#557d9a"> 
     <w:anchorlock/> 
     <center style="color:#ffffff;font-family:Arial, sans-serif;font-size:13px;font-weight:bold;text-decoration: none;"> 
      Verify Email Address 
     </center> 
    </v:roundrect> <![endif]-->]]> </xsl:text> 

我已经使用了一种叫做“URL”的变量,它是该元素的值:

<xsl:variable name="URL"> 
     <xsl:value-of select="ASBMessage/LinkURL"/> 
    </xsl:variable> 

但是,并不如预期其而来的输出。可变的url值不会来,{$ URL}'会出现在按钮后面。任何想法如何在这种情况下使用变量值?

回答

0

写像这样......

<xsl:text disable-output-escaping="yes"><![CDATA[<!--[if gte mso 9]>]]></xsl:text> 
<v:roundrect xmlns:v="urn:schemas-microsoft-com:vml" xmlns:w="urn:schemas-microsoft-com:office:word" href="{$URL}" style="height:37px;v-text-anchor:middle;width:190px;" arcsize="15%" stroke="f" fillcolor="#557d9a"> 
    <w:anchorlock/> 
    <center style="color:#ffffff;font-family:Arial, sans-serif;font-size:13px;font-weight:bold;text-decoration: none;"> 
     <xsl:text>Verify Email Address</xsl:text> 
    </center> 
</v:roundrect> 
<xsl:text disable-output-escaping="yes"><![CDATA[<![endif]-->]]></xsl:text> 
+0

谢谢@Phil。现在正常工作:) –

0

您不能使用<xsl:text>中的变量,您必须终止</xsl:text>,然后放置<xsl:value-of select="$URL"/>,然后继续文本。

+0

你是对的@Stefan。我根据您的建议更改了代码。现在工作正常。谢谢:) –