2010-05-06 63 views
1

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

有没有办法以这种方式查看文档类型?

回答

0

我必须有一个奇怪的系统,在我的情况下,我实际上只需要使用doctype作为包含文件。我尝试了这些建议,但由于某种原因,它没有正确渲染html。它有一种奇怪的系统,他们在这里工作,我不知道它是如何工作的。

0

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

0

阅读关于<xsl:output>doctype-systemdoctype-public的属性。

+0

我发现这一遍又一遍,但它没有发射到HTML页面,并没有对渲染进行必要的调整。所以我真的很茫然。 – 2010-05-07 06:20:43

0

这经常发生在您自己序列化转换结果(文档树)时。你如何运行转换并获得结果?

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>