首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >XSLT:在html属性中插入参数值

XSLT:在html属性中插入参数值
EN

Stack Overflow用户
提问于 2010-05-06 13:01:54
回答 2查看 23.3K关注 0票数 5

如何在以下代码中插入youtubeId参数:

代码语言:javascript
运行
复制
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE xsl:stylesheet [ <!ENTITY nbsp "&#x00A0;"> ]>
<xsl:stylesheet 
    version="1.0" 
    xmlns:xsl="http://www.w3.org/1999/XSL/Transform" 
    xmlns:msxml="urn:schemas-microsoft-com:xslt"
                xmlns:YouTube="urn:YouTube"
    xmlns:umbraco.library="urn:umbraco.library"
    exclude-result-prefixes="msxml umbraco.library YouTube">


<xsl:output method="xml" omit-xml-declaration="yes"/>

 <xsl:param name="videoId"/>
<xsl:template match="/">
 <a href="{$videoId}">{$videoId}</a>

<object width="425" height="355">
<param name="movie" value="http://www.youtube.com/v/{$videoId}&amp;hl=en"></param>
<param name="wmode" value="transparent"></param>
<embed src="http://www.youtube.com/v/{$videoId}&amp;hl=en" type="application/x-shockwave-flash" wmode="transparent" width="425" height="355"></embed>
</object>$videoId {$videoId} {$videoId}
 <xsl:value-of select="/macro/videoId" />
</xsl:template>

</xsl:stylesheet>

<xsl:value-of select="/macro/videoId" />实际上输出了videoId,但所有其他发生的情况都没有。

我正在创建一个宏在Umbraco。该参数被正确地传递到XSLT中(因为实际上输出了它的值)。如何将此值插入src-属性?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2010-05-06 13:43:09

{$videoId}

您必须在这里使用<xsl:value-of select="$videoId"/>

代码语言:javascript
运行
复制
<a href="{$videoId}"><xsl:value-of select="$videoId"/></a>

每当您在属性值内使用AVT ({$videoId})时,这必须与任何select属性一起工作。

在最后一种情况下,您可以使用:

代码语言:javascript
运行
复制
<xsl:value-of select="/macro/*[name()=$videoId]" />

当所有这些都反映在您的转换中时,它在所有情况下都可以工作()。

代码语言:javascript
运行
复制
<!DOCTYPE xsl:stylesheet [ <!ENTITY nbsp "&#x00A0;"> ]>
<xsl:stylesheet
    version="1.0"
    xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
    xmlns:msxml="urn:schemas-microsoft-com:xslt"
                xmlns:YouTube="urn:YouTube"
    xmlns:umbraco.library="urn:umbraco.library"
    exclude-result-prefixes="msxml umbraco.library YouTube">


<xsl:output method="xml" omit-xml-declaration="yes"/>

 <xsl:param name="videoId" select="'XXX'"/>
<xsl:template match="/">
 <a href="{$videoId}"><xsl:value-of select="$videoId"/></a>

<object width="425" height="355">
<param name="movie" value="http://www.youtube.com/v/{$videoId}&amp;hl=en"></param>
<param name="wmode" value="transparent"></param>
<embed src="http://www.youtube.com/v/{$videoId}&amp;hl=en" type="application/x-shockwave-flash" wmode="transparent" width="425" height="355"></embed>
</object><xsl:value-of select="concat($videoId, ' ', $videoId, ' ', $videoId)"/>
 <xsl:value-of select="/macro/*[name()=$videoId]" />
</xsl:template>

</xsl:stylesheet>
票数 22
EN

Stack Overflow用户

发布于 2010-05-11 20:15:01

您可能希望得到一个包,这也有助于这一点。

http://our.umbraco.org是很棒的,而且软件包一直都在添加。

快速搜索可以发现以下几个选项:

http://our.umbraco.org/projects/tag/youtube#projectList

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/2781266

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档