L'erreur dans le titre se produit chaque fois que j'exécute une page XSLT commençant comme suit:
<?xml version="1.0" encoding="windows-1256"?>
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:include href="../header.xsl"/>
<xsl:template match="/">
<xsl:call-template name="pstyle"/>
<xsl:call-template name="Validation"/>
<xsl:variable name="strLang">
<xsl:value-of select="//lang"/>
</xsl:variable>
<!-- ////////////// Page Title ///////////// -->
<title>
<xsl:value-of select="//ListStudentFinishedExam.Title"/>
</title>
Note : J'ai supprimé tous les espaces avant la première ligne, mais l'erreur persiste!
Les outils basés sur Xerces émettront l'erreur suivante
The processing instruction target matching "[xX][mM][lL]" is not allowed.
lorsqu'une déclaration XML est rencontrée ailleurs qu'au sommet d'un fichier XML.
Ceci est un message de diagnostic valide; Les autres analyseurs XML doivent émettre un message d'erreur similaire dans cette situation.
Un espace vide ou un autre contenu visible existe avant la déclaration <?xml ?>
Résolution: supprime les espaces ou tout autre contenu visible avant la déclaration XML.
Un certain contenu invisible existe avant la déclaration <?xml ?>
Le plus souvent, il s'agit d'un Byte Order Mark .__ (BOM) .
Résolution: Supprimez la nomenclature à l'aide de techniques telles que celles suggérées par le W3Cpage sur la nomenclature en HTML.
Une déclaration stray <?xml ?>
existe dans le contenu XML. Cela peut se produire lorsque des fichiers XML sont combinés par programme ou Via un copier-coller. Il ne peut y avoir qu'une seule déclaration <?xml ?>
in dans un fichier XML et ce ne peut être que tout en haut.
Résolution: recherchez <?xml
sans tenir compte de la casse, et supprimez du fichier la déclaration XML sauf la première
La raison pour moi est 2 de code suivant dans un xml
<?xml version="1.0" encoding="utf-8"?>
Une autre raison de l'erreur ci-dessus est le fichier JAR corrompu. J'ai eu la même erreur mais pour Junit lors de l'exécution des tests unitaires. Supprimer le fichier jar et le télécharger à nouveau résolvent le problème.
dans mon cas, le chemin dans un fichier de configuration était incorrect: le fichier était introuvable (le chemin était incorrect) et il est sorti avec cette exception:
Erreur de configuration à partir du flux d'entrée. La cause initiale était le traitement La correspondance d'instruction "[xX] [mM] [lL]" n'est pas autorisée.
Pour PHP, mettez cette ligne de code avant de commencer à imprimer votre code XML:
while(ob_get_level()) ob_end_clean();
J'ai eu un problème similaire avec 50 000 fichiers rdf/xml dans 5 000 répertoires (le fichier catalogue Project Gutenberg). Je l'ai résolu avec émeute (dans la distribution de jena)
le répertoire est cache/epub/NN/nn.rdf (où NN est un nombre)
dans le répertoire au-dessus du répertoire où se trouvent tous les fichiers, c’est-à-dire en cache
riot epub/*/*.rdf --output=turtle > allTurtle.ttl
Cela produit peut-être de nombreux avertissements, mais le résultat est dans un format qui peut être chargé dans jena (via l'interface Web de fuseki).
étonnamment simple (du moins dans ce cas).