我在xml文件上使用XSL转换来创建xml文档。我遇到的问题是,当我去查看生成的源(转换后的源)时,我看不到html的DOCTYPE属性,所以我不知道它是否正确发射。
有没有办法以这种方式查看doctype?
答案 0 :(得分:0)
我最近没有尝试过,但我相信xsl:output
可用于此,请参阅this tutorial以及各种属性下的选项。
答案 1 :(得分:0)
了解<xsl:output>
的doctype-system
和doctype-public
属性。
答案 2 :(得分:0)
当您自己序列化转换结果(文档树)时,通常会发生这种情况。你如何运行转换并获得结果?
答案 3 :(得分:0)
如果您有过渡版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>
答案 4 :(得分:0)
我必须有一个奇怪的系统,在我的情况下,我实际上只需要使用doctype作为包含文件。我尝试了这些建议但由于某种原因它没有正确渲染html。它是一种奇怪的系统,它们在这里工作,我不知道它是如何工作的。