元元素未在 XML 到 HTML 转换时关闭

Meta elements are not getting closed on XML to HTML Conversion

我正在努力将 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 元素。

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

It is closed. HTML 元素是 self-closing 并且不需要右斜杠,而且它从未被指定或要求有一个。事实上,没有 HTML 元素曾经有过这样的要求。

虽然出于与 XHTML 相关的遗留原因允许放置结束斜杠,但斜杠没有意义,does nothing 并且浏览器会忽略它。