内部包含html/js的xml xsl模板失败

内部包含html/js的xml xsl模板失败,xml,xslt,Xml,Xslt,我正在为一个站点做一个快速更新,但xslt不是我的专长,它似乎与我在生成的源代码中看到的代码有关——包括以下两个方面: 当前代码: <?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE xsl:stylesheet [ <!ENTITY nbsp "&#x00A0;"> ]> <xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1

我正在为一个站点做一个快速更新,但xslt不是我的专长,它似乎与我在生成的源代码中看到的代码有关——包括以下两个方面:

当前代码:

<?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:umbraco.library="urn:umbraco.library" xmlns:Exslt.ExsltCommon="urn:Exslt.ExsltCommon" xmlns:Exslt.ExsltDatesAndTimes="urn:Exslt.ExsltDatesAndTimes" xmlns:Exslt.ExsltMath="urn:Exslt.ExsltMath" xmlns:Exslt.ExsltRegularExpressions="urn:Exslt.ExsltRegularExpressions" xmlns:Exslt.ExsltStrings="urn:Exslt.ExsltStrings" xmlns:Exslt.ExsltSets="urn:Exslt.ExsltSets" xmlns:tagsLib="urn:tagsLib"
  exclude-result-prefixes="msxml umbraco.library Exslt.ExsltCommon Exslt.ExsltDatesAndTimes Exslt.ExsltMath Exslt.ExsltRegularExpressions Exslt.ExsltStrings Exslt.ExsltSets tagsLib ">


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

<xsl:param name="currentPage"/>

<xsl:template match="/">

<xsl:if test="string-length($currentPage/mp4videoLinkId) > 0">
  <xsl:variable name="videoID" select="$currentPage/mp4videoLinkId" />
  <xsl:variable name="srtID" select="$currentPage/mp4videoSRTId" />
  <script src="http://ajax.googleapis.com/ajax/libs/jquery/1.4.2/jquery.min.js"></script>
  <script src="flowplayer-3.2.6.min.js"></script>
  <script src="flowplayer.ipad-3.2.2.min.js"></script>

  <!-- player container-->
  <a href="{$videoID}" style="display:block;width:473px;height:310px;" id="ipad"></a>

  <script type="text/javascript">
  $f("ipad", "flowplayer-3.2.7.swf",{
    clip: {
      autoPlay: false,
      url: '{$videoID}',

      // this is the Timed Text file with captions info
      captionUrl: '{$srtID}'
    },
    plugins:  {

      captions: {
        url: 'flowplayer.captions-3.2.3.swf',

        // pointer to a content plugin (see below)
        captionTarget: 'content'
      },

      // configure a content plugin to look good for our purpose
      content: {
        url:'flowplayer.content-3.2.0.swf',
        bottom: 25,
        width: '80%',
        height:40,
        backgroundColor: 'transparent',
        backgroundGradient: 'none',
        borderRadius: 4,
        border: 0,
        textDecoration: 'outline',
        style: {
          body: {
            fontSize: 14,
            fontFamily: 'Arial',
            textAlign: 'center',
            color: '#ffffff'
          }
        }
      }
    }
  }).ipad();
  </script>  
</xsl:if>

</xsl:template>

</xsl:stylesheet>

$f(“ipad”、“flowplayer-3.2.7.swf”{
剪辑:{
自动播放:错误,
url:“{$videoID}”,
//这是带有标题信息的定时文本文件
标题URL:“{$srtID}”
},
插件:{
标题:{
url:'flowplayer.captions-3.2.3.swf',
//指向内容插件的指针(见下文)
字幕目标:“内容”
},
//配置一个内容插件,使其符合我们的目的
内容:{
url:'flowplayer.content-3.2.0.swf',
底数:25,
宽度:“80%”,
身高:40,
背景色:“透明”,
背景梯度:“无”,
边界半径:4,
边界:0,
text装饰:“大纲”,
风格:{
正文:{
尺寸:14,
fontFamily:“Arial”,
textAlign:'中心',
颜色:“#ffffff”
}
}
}
}
}).ipad();
生成源: (正如您看到的,它破坏了代码,没有关闭,然后显示了{$tags})我缺少了什么

<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.4.2/jquery.min.js" /><script src="flowplayer-3.2.6.min.js" /><script src="flowplayer.ipad-3.2.2.min.js" /><a href="mp4/assist-mi-car-parking.mp4" style="display:block;width:473px;height:310px;" id="ipad" /><script type="text/javascript">
  $f("ipad", "flowplayer-3.2.7.swf",{
    clip: {
      autoPlay: false,
      url: '{$videoID}',

      // this is the Timed Text file with captions info
      captionUrl: '{$srtID}'
    },
    plugins:  {

      captions: {
        url: 'flowplayer.captions-3.2.3.swf',

        // pointer to a content plugin (see below)
        captionTarget: 'content'
      },

      // configure a content plugin to look good for our purpose
      content: {
        url:'flowplayer.content-3.2.0.swf',
        bottom: 25,
        width: '80%',
        height:40,
        backgroundColor: 'transparent',
        backgroundGradient: 'none',
        borderRadius: 4,
        border: 0,
        textDecoration: 'outline',
        style: { 
          body: { 
            fontSize: 14, 
            fontFamily: 'Arial',
            textAlign: 'center',
            color: '#ffffff'
          } 
        } 
      }
    }
  }).ipad();
  </script>

$f(“ipad”、“flowplayer-3.2.7.swf”{
剪辑:{
自动播放:错误,
url:“{$videoID}”,
//这是带有标题信息的定时文本文件
标题URL:“{$srtID}”
},
插件:{
标题:{
url:'flowplayer.captions-3.2.3.swf',
//指向内容插件的指针(见下文)
字幕目标:“内容”
},
//配置一个内容插件,使其符合我们的目的
内容:{
url:'flowplayer.content-3.2.0.swf',
底数:25,
宽度:“80%”,
身高:40,
背景色:“透明”,
背景梯度:“无”,
边界半径:4,
边界:0,
text装饰:“大纲”,
样式:{
正文:{
尺寸:14,
fontFamily:“Arial”,
textAlign:'中心',
颜色:“#ffffff”
} 
} 
}
}
}).ipad();
AVT仅为属性值定义,正如此功能的名称所明确指出的那样

作为文本节点一部分的大括号内的表达式不计算。需要使用
指令

解决方案

url: '{$videoID}', 
url: '<xsl:value-of select="$videoID"/>', 
  captionUrl: '{$srtID}'   
更换

url: '{$videoID}', 
url: '<xsl:value-of select="$videoID"/>', 
  captionUrl: '{$srtID}'   

url: '{$videoID}', 
url: '<xsl:value-of select="$videoID"/>', 
  captionUrl: '{$srtID}'   
与:

  captionUrl: '<xsl:value-of select="$srtID"/>'   
captionUrl:'

太好了,现在显示的是数据!但是,它仍然只包含jquery,在firebug中没有任何内容,在源代码中它没有关闭,我认为阻止rest显示…@JamesBrandon:您的XSLT转换可能还有其他错误--您需要显示一个完整的(但尽可能小以重现问题)XML文档,一个完整的XSLT转换(尽可能小,但会重现问题)、您得到的完整结果、您想要得到的完整结果以及转换必须实现的任何规则。关于这个问题,已经完全回答了。请针对其余问题提出一个新问题,并提供重现此新问题所需的所有信息。