我怎样才能实现同样的目标
嵌入的Xslt文件?
答案
-
微软的XSLT处理器都不支持嵌入式XSLT样式表。XSLT样式表需要一个完整的、仅XSLT的文件。
-
在XSLT中使用
<xsl:key>
key()
函数,用于通过唯一标识节点的字符串值有效选择节点。
:
<xsl:stylesheet version="1.0"
xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
>
<xsl:output omit-xml-declaration="yes" indent="yes"/>
<xsl:key name="UriSourceByKey"
match="@UriSource" use="../@x:Key"/>
<xsl:variable name="vImageFunTime"
select="key('UriSourceByKey', 'ImageFunTime')"/>
<xsl:template match="/">
<xsl:value-of select="$vImageFunTime"/>
</xsl:template>
</xsl:stylesheet>
当应用于此XML文档时
:
<ResourceDictionary
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml">
<BitmapImage x:Key="ImageFunTime" UriSource="../Resources/Images/ImageFunTime.png" />
</ResourceDictionary>
产生想要的结果
../Resources/Images/ImageFunTime.png