web-dev-qa-db-fra.com

Erreur: La cible d'instruction de traitement correspondant à "[xX] [mM] [lL]" n'est pas autorisée.

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!

164
Java Player

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.

Pour corriger le problème, vérifiez les possibilités suivantes:

  1. 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.

  2. 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.

  3. 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

335
kjhughes

La raison pour moi est 2 de code suivant dans un xml 

<?xml version="1.0" encoding="utf-8"?>
9
Anuj Jindal

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. 

1
Peter T.

Il y avait un message de copyright généré automatiquement dans XML et une ligne vide avant la balise <resources>.

 enter image description here

1
Hitesh Sahu

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.

0
pikimota

Pour PHP, mettez cette ligne de code avant de commencer à imprimer votre code XML:

while(ob_get_level()) ob_end_clean();
0
Beachhouse

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).

0
user855443