元元素未在 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 并且浏览器会忽略它。
我正在努力将 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 并且浏览器会忽略它。