在XML到HTML的转换中,元元素没有关闭



我正在努力将XML转换为HTML。因为Meta元素在Html的输出上没有关闭。

XML输入:

<topic>
<title>Sample</title>
</topic>

我正在使用的XSL:

<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:output method="xml" encoding="utf-8" indent="no"/>
<xsl:template match="topic" mode="chapterHead">
<head>
<xsl:call-template name="generateCharset"/>   
</head>
</xsl:template>
<xsl:template name="generateCharset">
<meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
</xsl:template>
</xsl:stylesheet>

我得到的HTML输出:

<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
</head>

需要关闭或自行关闭Meta元素。

它已关闭。HTML元素是自结束的,不需要结束斜杠,而且从未指定或要求它有结束斜杠。事实上,从来没有HTML元素有这样的要求。

由于XHTML的遗留原因,允许在其中放置一个结束斜杠,但斜杠没有任何意义,什么也不做,浏览器会忽略它

在大多数情况下,您根本不应该将meta元素放在XSLT生成的HTML结果中,相反,如果您想输出HTML,您应该在XSLT中使用<xsl:output method="html"/>,然后序列化的XSLT处理器将负责生成和插入meta元素。

相关内容

  • 没有找到相关文章

最新更新