XML検証Webサイトにコードを配置すると、次のエラーが表示されます。
行8:4ルート要素に続くドキュメント内のマークアップは整形式でなければなりません。
問題がある行は<xsl:output method = "html" doctype-system = "about:legacy-compat"/>
、行。
<?xml version="1.0"?>
<!-- Fig. 15.21: sorting.xsl -->
<xsl:stylesheet version = "1.0"
xmlns:xsl="http://www.w3.org/1999/XSL/Transform"/>
<!-- write XML declaration and DOCTYPE DTD information -->
*<xsl:output method = "html" doctype-system = "about:legacy-compat" />*
<!-- match document root -->
<xsl:template match="/"> -<html> <xsl:apply-templates/> </html>
</xsl:template>
ルート要素に続くドキュメント内のマークアップは整形式でなければなりません。
このエラーは、XMLがルート要素に続くマークアップを持っていることを示しています。 整形式 、XML exactly oneroot element であるためには、単一のルート要素に続くマークアップはありません。
1つのルート要素の例(GOOD)
<r>
<a/>
<b/>
<c/>
</r>
このエラーの最も一般的な原因は次のとおりです。
浮遊または余分なクローズタグを含む(BAD):
<r>
<a/>
<b/>
<c/>
</r>
</r> <!-- shouldn't be here -->
複数のルート要素(BAD)を意図的に持っている:
<a/>
<b/> <!-- second root element shouldn't be here -->
<c/> <!-- third root element shouldn't be here -->
意図せずに複数のルート要素(BAD)を持っている:
<r/> <!-- shouldn't be self-closing -->
<a/>
<b/>
<c/>
</r>
あなたが考えているものとは異なるXMLを解析する(悪い):
パーサーが見ているXMLが見ていると思うXMLと同じであることを確認するために、失敗した解析に提供する直前にXMLをログに記録します。一般的なエラーは次のとおりです。
あなたの特定のケースでは、xsl:stylesheet
要素は時期尚早に閉じられます(上記のケース#3)。
変化する
xmlns:xsl="http://www.w3.org/1999/XSL/Transform"/>
に
xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
差し迫った問題を修正し、終了タグを追加するには、
</xsl:stylesheet>
実際のドキュメントにまだ存在しない場合。