0

我有两个问题可能太简单了,但我没有得到它或在这里找到解决方案。希望也许有人可以帮助我:)

我想输出 html5-video 元素,它似乎是 mime 类型和编解码器的一部分,必须这样写:

<source src="mymovie.mp4" type='video/mp4; codecs="avc1.42E01E, mp4a.40.2"'/>

类型属性以单引号 (!) 开头。如果我不尊重这一点并将其放在双引号中并将编解码器放在单引号中,则在某些情况下 Internet Explorer 9 无法加载电影(表示不支持编解码器)。

第一个问题:如何让 XSLT 只将该属性放在单引号中?

第二个问题:是否有人对 IE 和双引号类型属性有同样的问题?而且这样真的有必要吗,这不违反规则吗?

非常感谢每一个答案!:)

4

1 回答 1

0

我认为您不能对单个属性值强制执行序列化格式。某些 XSLT 处理器可能允许您定义在序列化结果树时使用的属性值分隔符。您使用哪种 XSLT 处理器?

而且我认为,如果您在 XSLT 代码中编写文字结果元素为

<source src="mymovie.mp4" type="video/mp4; codecs=&quot;avc1.42E01E, mp4a.40.2&quot;"/>

然后在序列化结果树时,XSLT 处理器可以自由使用单引号或双引号作为属性分隔符,但如果它使用双引号,它将正确转义属性值中的引号,因此结果看起来像

<source src="mymovie.mp4" type="video/mp4; codecs=&quot;avc1.42E01E, mp4a.40.2&quot;">

在 HTML 输出方法中,任何 HTML5 解析器都应该很好地使用它。

于 2013-01-03T11:13:13.637 回答