XSL в тегах скрипта - PullRequest
0 голосов
/ 30 ноября 2010

Мне нужно вывести XSL между тегами скрипта для динамического вывода значений в JavaScript.

Вот код, но я не могу заставить его работать.Я хочу добавить position() в скрипт, чтобы он выводил что-то вроде o.write("flash1"); и увеличивал число для каждого встроенного флэш-файла.Любая помощь приветствуется.

<div>
  <xsl:attribute name="id">iframe-content<xsl:value-of select="position()"/></xsl:attribute>
  <div id="flash"></div><!--/flash-->
  <script type="text/javascript">
    // <![CDATA[ 
    var so = new SWFObject("swf/video2.swf", "showreel", "720", "484", "8", "#ffffff");
    so.addParam("quality", "high");
    so.addParam("allowScriptAccess", "always");
    so.addParam("wmode", "transparent");
    so.addVariable("videoURL", "http://www.masterseries.co.uk/public/TempFiles/Concrete1.flv");
    so.write("flash");
    // ]]>
  </script>
</div>

1 Ответ

0 голосов
/ 30 ноября 2010

Вы были близки (вы просто не можете легко использовать CDATA так, как вы это делали):

<!-- note that you don't need xsl:attribute here -->
<div id="iframe-content-{position()}">
  <div id="flash"></div><!--/flash-->
  <script type="text/javascript">
    var so = new SWFObject("swf/video2.swf", "showreel", "720", "484", "8", "#ffffff");
    so.addParam("quality", "high");
    so.addParam("allowScriptAccess", "always");
    so.addParam("wmode", "transparent");
    so.addVariable("videoURL", "http://www.masterseries.co.uk/public/TempFiles/Concrete1.flv");
    so.write("flash<xsl:value-of select='position()' />");
  </script>
</div>

Вы можете использовать

<xsl:output cdata-section-elements="script"/>

для создания разделов CDATA на выходе.Однако необходимо убедиться, что источник входного сценария правильно закодирован в формате XML, т. Е. Не содержит голых символов <, &, >, но их эквиваленты &lt;, &amp;, &gt;.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...