Dieser Fehler,
Die Zielanpassung der Verarbeitungsanweisung "[xX] [mM] [lL]" ist nicht zulässig
tritt immer dann auf, wenn ich eine XSLT-Seite starte, die wie folgt beginnt:
<?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>
Hinweis : Ich habe alle führenden Leerzeichen vor der ersten Zeile entfernt, aber der Fehler tritt weiterhin auf!
../header.xsl
) sowie das zu transformierende XML-Eingabedokument auf jede der drei Möglichkeiten, die ich in meiner Antwort unten aufführe .Antworten:
Xerces-basierte Tools geben den folgenden Fehler aus
Wenn eine XML-Deklaration an einer anderen Stelle als am Anfang einer XML-Datei auftritt.
Dies ist eine gültige Diagnosemeldung. Andere XML-Parser sollten in dieser Situation eine ähnliche Fehlermeldung ausgeben.
Überprüfen Sie die folgenden Möglichkeiten, um das Problem zu beheben:
Vor der Deklaration ist ein Leerzeichen oder ein anderer sichtbarer Inhalt vorhanden
<?xml ?>
.Lösung : Entfernen Sie Leerzeichen oder andere sichtbare Inhalte vor der XML-Deklaration.
Einige unsichtbare Inhalt vorhanden ist, bevor die
<?xml ?>
Erklärung. Am häufigsten ist dies eine Byte Order Mark (BOM) .Lösung : Entfernen Sie die Stückliste mithilfe von Techniken, wie sie von der W3C-Seite in der Stückliste in HTML vorgeschlagen werden.
Innerhalb des XML-Inhalts ist eine Streudeklaration
<?xml ?>
vorhanden. Dies kann passieren, wenn XML-Dateien programmgesteuert oder durch Ausschneiden und Einfügen kombiniert werden. Es kann nur eine<?xml ?>
Deklaration in einer XML-Datei geben, und sie kann nur oben stehen.Lösung : Suchen Sie nach
<?xml
Groß- und Kleinschreibung und entfernen Sie alle bis auf die oberste XML-Deklaration aus der Datei.quelle
<?xml ?>
Erklärung , bevor es als XML - Datei zu behandeln.Grund für mich ist 2 der folgenden Code in einer XML
quelle
<?xml
Berücksichtigung der Groß- und Kleinschreibung und entfernen Sie alle bis auf die oberste XML-Deklaration aus der Datei.Es gab eine automatisch generierte Copyright-Nachricht
XML
und eine leere Zeile vor dem<resources>
Tag. Nachdem ich sie entfernt hatte, war mein Build erfolgreich.quelle
Ein weiterer Grund für den obigen Fehler ist eine beschädigte JAR-Datei. Ich habe den gleichen Fehler erhalten, aber für Junit beim Ausführen von Komponententests. Entfernen Sie das Glas und laden Sie es erneut herunter, um das Problem zu beheben.
quelle
In meinem Fall war ein falscher Pfad in einer Konfigurationsdatei: Datei wurde nicht gefunden (Pfad war falsch) und es kam mit dieser Ausnahme heraus:
quelle
Ich hatte ein ähnliches Problem mit 50.000 rdf / xml-Dateien in 5.000 Verzeichnissen (die Project Gutenberg-Katalogdatei). Ich habe es mit Aufruhr gelöst (in der Jenaer Distribution)
Das Verzeichnis lautet cache / epub / NN / nn.rdf (wobei NN eine Zahl ist).
im Verzeichnis über dem Verzeichnis, in dem sich alle Dateien befinden, dh im Cache
Dies führt möglicherweise zu vielen Warnungen, aber das Ergebnis liegt in einem Format vor, das in Jena geladen werden kann (über die Fuseki-Weboberfläche).
überraschend einfach (zumindest in diesem Fall).
quelle
Fügen Sie für PHP diese Codezeile ein, bevor Sie mit dem Drucken Ihres XML beginnen:
quelle