Как я могу вставить параметр youtubeId в следующем коде:XSLT: вставить значение параметра внутри HTML-атрибут
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE xsl:stylesheet [ <!ENTITY nbsp " "> ]>
<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}&hl=en"></param>
<param name="wmode" value="transparent"></param>
<embed src="http://www.youtube.com/v/{$videoId}&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 но все остальные вхождения не делают.
Я создаю макрос в CMS Umbraco. Параметр правильно передается в XSLT (потому что фактически выводит его значение). Как вставить это значение в атрибут src?
Как ваш входной документ выглядит? Какую среду/код/инструмент вы используете для вызова своего XSLT? Является ли 'videoId' внешним параметром или содержится в вашем исходном XML-документе? –
Я создаю макрос в CMS Umbraco. Параметр правильно передается в XSLT (потому что фактически выводит свое значение). Я просто хочу вставить значение в атрибут src. Мне вообще не нравится, как я это делаю. Любое обходное решение оценили. –
usr
Хороший вопрос (+1). См. Мой ответ для полного решения. :) –