XSLT不会允许我用自闭IMG和BR标签(XSLT wont allow me to use sel

2019-07-23 04:04发布

我有一些XSLT是被在Sitecore的CMS 6渲染,但我不认为这个问题是特定的产品。

如果我有一个自闭IMG或BR标签,就像这样:

<br />
<img src="your.example.com" />

输出的结果将是:

<br>
<img src="your.example.com">

XSLT文件的输出方法是HTML。 难道应该是XML? 我猜测,自闭标签不合法的HTML,但它设置为XML要引起我的输出问题?

Answer 1:

这是蛮好的。 您可以选择HTML,并<br>标签允许在HTML中。 选择XML,然后你将有你想要的东西。

是的,你应该,如果你想自闭标签使用XML的方法。 我猜你想要XHTML输出,以及XHTML是一个XML文档。



Answer 2:

当你得到自动关闭标签的工作,你可能会遇到翻过一些奇怪的错误。 这里有些例子:

在IE中一对夫妇几年前,我把整个呈现的页面是空白的,但查看源代码显示的完整HTML。 问题是自封闭的标题标记( <title/>

此外,自行闭合的脚本标签( <script src="code.js"/>可能会导致JavaScript文件不加载,所以你的XSLT的里面,你可能需要使用该脚本标签内的一些文字,以防止其自关闭并得到它的工作。

<script src="code.js>//</script>


Answer 3:

在样式表的顶部,你可以指定使用XML作为输出格式,您还可以设置特定的DOCTYPE,例如:

<xsl:output method="xml" 
    media-type="text/html" 
    doctype-public="-//W3C//DTD XHTML 1.0 Strict//EN"
    doctype-system="DTD/xhtml1-strict.dtd"
    cdata-section-elements="script style"
    indent="yes"
    encoding="UTF-8"/>


文章来源: XSLT wont allow me to use self-closing img and br tags