2
<?xml version="1.0" encoding="utf-8" ?>
<xsl:stylesheet version="1.0"
xmlns:xsl="http://www.w3.org/1999/XSL/Transform">

<xsl:template match="/">
    <!DOCTYPE HTML>
    <html>
    <head>

    </head>
    <body>

    </body>
    </html>
</xsl:template>

</xsl:stylesheet>

DOCTYPEで解析エラーが発生しています。これを解決する方法は?

4

2 に答える 2

5

W3C HTML 5リファレンスでは、以下の使用を推奨していdoctype-system="about:legacy-compat"ます。

HTMLのレガシープロデューサー(つまり、HTMLドキュメントを出力するソフトウェア)との互換性のために、上記のDOCTYPEを出力できないシステムで使用できる代替のDOCTYPEを使用できます。この制限は、DOCTYPEにPUBLICまたはSYSTEM識別子のいずれかが含まれていることを期待し、それらを省略できないソフトウェアで発生します。このDOCTYPEの標準形は次のとおりです。

<!DOCTYPE html SYSTEM "about:legacy-compat">

これは、次の任意のXSLTプロセッサで実現できます。

<xsl:output method="html" doctype-system="about:legacy-compat" />

それは生成します:

<!DOCTYPE HTML SYSTEM "about:legacy-compat">
于 2012-08-26T16:41:55.463 に答える
2

<!DOCTYPE HTML>宣言をxsltに直接埋め込むことはできません。以下を使用してください。

<xsl:text disable-output-escaping='yes'>&lt;!DOCTYPE html></xsl:text>

代わりは。同様の問題については、XSLTを使用したHTML5Doctypeの設定を参照してください。

于 2012-08-26T06:19:34.527 に答える