如何在生成的源代码中查看doctype

时间:2010-05-06 20:45:25

标签: xml xslt xhtml

我在xml文件上使用XSL转换来创建xml文档。我遇到的问题是,当我去查看生成的源(转换后的源)时,我看不到html的DOCTYPE属性,所以我不知道它是否正确发射。

有没有办法以这种方式查看doctype?

5 个答案:

答案 0 :(得分:0)

我最近没有尝试过,但我相信xsl:output可用于此,请参阅this tutorial以及各种属性下的选项。

答案 1 :(得分:0)

了解<xsl:output>doctype-systemdoctype-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。它是一种奇怪的系统,它们在这里工作,我不知道它是如何工作的。