J'ai mis mon code sur le site de validation XML et cela me donne cette erreur:
Ligne 8: 4 Le balisage dans le document suivant l'élément racine doit être bien formé.
La ligne qui rencontre un problème est la <xsl:output method = "html" doctype-system = "about:legacy-compat"/>
, ligne.
<?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>
Le balisage dans le document suivant l'élément racine doit être bien formé.
Cette erreur indique que votre XML a un balisage suivant l'élément racine. Pour être bien formé , XML doit avoir exactement un élément racine , et il ne peut plus y avoir de balisage suivant l'élément racine unique.
Un exemple d'élément racine (BON)
<r>
<a/>
<b/>
<c/>
</r>
Les sources les plus courantes de cette erreur sont:
Y compris les balises parasites ou extra fermées (BAD):
<r>
<a/>
<b/>
<c/>
</r>
</r> <!-- shouldn't be here -->
Avoir intentionnellement plusieurs éléments racine (BAD):
<a/>
<b/> <!-- second root element shouldn't be here -->
<c/> <!-- third root element shouldn't be here -->
Avoir involontairement plusieurs éléments racine (BAD):
<r/> <!-- shouldn't be self-closing -->
<a/>
<b/>
<c/>
</r>
Analyse XML différente de celle que vous pensez (BAD):
Enregistrez le XML immédiatement avant de fournir à l'analyse qui échoue afin de vous assurer que le XML que l'analyseur voit est le même que le XML que vous pensez qu'il voit. Les erreurs courantes ici incluent:
Dans votre cas particulier, votre XML semble avoir plusieurs éléments racine car l'élément xsl:stylesheet
Est fermé prématurément (cas # 3 ci-dessus).
Changement
xmlns:xsl="http://www.w3.org/1999/XSL/Transform"/>
à
xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
pour résoudre votre problème immédiat et ajouter une balise de fermeture,
</xsl:stylesheet>
s'il n'en existe pas déjà dans votre document réel.