/ / javascriptブロック内のXSLタグ-javascript、xslt、scripting

JavaScriptブロック内のXSLタグ - javascript、xslt、スクリプティング

JavaScriptブロックに動的コンテンツを追加するにはXSLが必要です。これが可能かどうか疑問に思います。これが私がやりたいことの例です。次のコードは機能しません。

<script>
// Loads the video.
var s1 = new SWFObject("player-viral.swf","ply","670","350","9","#ffffff");
s1.addParam("allowfullscreen","true");
s1.addParam("allownetworking","all");
s1.addParam("allowscriptaccess","always");
s1.addParam("flashvars","file=/Portals/0/<xsl:value-of select="MediaUrlFolder"/><xsl:value-of select="ImageUrlFileName"/>&image=/Portals/0/<xsl:value-of select="ImageUrlFolder"/><xsl:value-of select="ImageUrlFileName"/>");
s1.write("container");
</script>

XSL value-ofタグを追加すると、パーサーが壊れます <xsl:value-of select="MediaUrlFolder"/>.

これに対する解決策はありますか?こんにちは、この種のコードを安全な方法で追加できますか?ありがとう!

=====================================

今、奇妙な問題があります(それは確かに以前にありましたが、私はソースコードを見ていませんでした)。 <script> ブロックはまったくレンダリングされていません。ブロック内には何もレンダリングされていません。 <script></script> タグ。なぜこれが起こるのか知っていますか?ありがとう。

回答:

回答№1は1

MediaUrlFolderとImageUrlFileNameの間に/がないようですが、フォルダの末尾に/が付いている可能性があります。また、エスケープされていないように見えます。 &amp;

私はおそらくこのアプローチを好むでしょう:-

<script>
// Loads the video.
var mediaUrlFolder = "<xsl:value-of select="MediaUrlFolder"/>"
var imageUrlFileName = "<xsl:value-of select="ImageUrlFileName"/>"
var imageUrlFolder = "<xsl:value-of select="ImageUrlFolder"/>"
var s1 = new SWFObject("player-viral.swf","ply","670","350","9","#ffffff");
s1.addParam("allowfullscreen","true");
s1.addParam("allownetworking","all");
s1.addParam("allowscriptaccess","always");
s1.addParam("flashvars","file=/Portals/0/" + mediaUrlFolder  + "/" + imageUrlFileName + "&amp;image=/Portals/0/" + imageUrlFolder + "/" + imageUrlFileName);
s1.write("container");
</script>

回答№2の場合は1
<xsl:comment>//<![CDATA[
<script>        // Loads the video.        var s1 = new SWFObject("player-viral.swf","ply","670","350","9","#ffffff");        s1.addParam("allowfullscreen","true");        s1.addParam("allownetworking","all");        s1.addParam("allowscriptaccess","always");        s1.addParam("flashvars","file=/Portals/0/<xsl:value-of select="MediaUrlFolder"/><xsl:value-of select="ImageUrlFileName"/>&image=/Portals/0///]]><xsl:value-of select="ImageUrlFolder"/><xsl:value-of select="ImageUrlFileName"/><![CDATA[");        s1.write("container");</script>
//]]></xsl:comment>