【发布时间】:2010-05-06 20:45:25
【问题描述】:
我正在对 xml 文件使用 XSL 转换来创建 xml 文档。我遇到的问题是,当我查看生成的源(转换后的源)时,我看不到 html 的 DOCTYPE 属性,所以我不知道它是否被正确发出。
有没有办法这样查看doctype?
【问题讨论】:
我正在对 xml 文件使用 XSL 转换来创建 xml 文档。我遇到的问题是,当我查看生成的源(转换后的源)时,我看不到 html 的 DOCTYPE 属性,所以我不知道它是否被正确发出。
有没有办法这样查看doctype?
【问题讨论】:
我最近没有尝试过,但我相信xsl:output 可以用于此,请参阅this tutorial 以及那里的各种属性下的选项。
【讨论】:
了解<xsl:output> 的doctype-system 和doctype-public 属性。
【讨论】:
当您自己序列化转换结果(文档树)时,通常会发生这种情况。您如何运行转换并获得其结果?
【讨论】:
如果你有过渡性xhtml,你应该包括以下xsl:output标签:
<?xml version="1.0" encoding="UTF-8"?>
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0">
<xsl:output method="html"
doctype-system="http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"
doctype-public="-//W3C//DTD XHTML 1.0 Transitional//EN" />
<xsl:template match="/">
<html>
<head><title>Test</title></head>
<body></body>
</html>
</xsl:template>
</xsl:stylesheet>
此示例产生以下输出(带有任意输入 XML):
<!DOCTYPE html
PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<title>Test</title>
</head>
<body></body>
</html>
【讨论】:
我必须有一个奇怪的系统,在我的情况下,我实际上只需要使用 doctype 作为包含文件。我尝试了这些建议,但由于某种原因它没有正确呈现 html。这是他们在这里工作的一种奇怪的系统,我不确定它是如何工作的。
【讨论】: