Ten błąd,
Dopasowanie celu instrukcji przetwarzania „[xX] [mM] [lL]” jest niedozwolone
występuje za każdym razem, gdy uruchamiam stronę XSLT, która zaczyna się w następujący sposób:
<?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>
Uwaga : usunąłem spacje wiodące przed pierwszym wierszem, ale błąd nadal występuje!
../header.xsl
), a także transformowany dokument wejściowy XML, dla każdej z trzech możliwości wymienionych poniżej w mojej odpowiedzi .Odpowiedzi:
Narzędzia oparte na Xerces będą generować następujący błąd
gdy napotkamy deklarację XML w innym miejscu niż na górze pliku XML.
To jest prawidłowy komunikat diagnostyczny; inne parsery XML powinny w tej sytuacji wygenerować podobny komunikat o błędzie.
Aby rozwiązać problem, sprawdź następujące możliwości:
Przed deklaracją istnieje pusta przestrzeń lub inna widoczna treść
<?xml ?>
.Rozwiązanie : usuń puste miejsce lub inną widoczną zawartość przed deklaracją XML.
Niektóre niewidoczne treści istnieją przed
<?xml ?>
deklaracją. Najczęściej jest to znak kolejności bajtów (BOM) .Rozwiązanie : Usuń BOM przy użyciu technik takich jak te sugerowane przez stronę W3C na BOM w HTML.
W treści XML istnieje deklaracja zbłąkana
<?xml ?>
. Może się to zdarzyć, gdy pliki XML są łączone programowo lub metodą wycinania i wklejania.<?xml ?>
Plik XML może zawierać tylko jedną deklarację i może znajdować się tylko na górze.Rozwiązanie : wyszukaj
<?xml
bez rozróżniania wielkości liter i usuń z pliku wszystkie deklaracje XML oprócz górnej.źródło
<?xml ?>
deklaracje przed potraktowaniem go jako pliku XML.Powodem dla mnie są 2 następujące kody w jednym xml
źródło
<?xml
bez rozróżniania wielkości liter i usuń z pliku wszystkie deklaracje XML oprócz górnej.Była tam automatycznie generowana wiadomość o prawach autorskich
XML
i pusta linia przed<resources>
tagiem, po jej usunięciu moja kompilacja zakończyła się powodzeniem.źródło
Innym powodem powyższego błędu jest uszkodzony plik jar. Otrzymałem ten sam błąd, ale w przypadku Junita podczas uruchamiania testów jednostkowych. Usunięcie słoika i ponowne pobranie go naprawić problem.
źródło
w moim przypadku niewłaściwa ścieżka w pliku konfiguracyjnym: plik nie został znaleziony (ścieżka była niepoprawna) i wyszedł z tym wyjątkiem:
źródło
Miałem podobny problem z 50 000 plików rdf / xml w 5000 katalogów (plik katalogu Project Gutenberg). Rozwiązałem to za pomocą zamieszek (w dystrybucji jeny)
katalog to cache / epub / NN / nn.rdf (gdzie NN jest liczbą)
w katalogu nad katalogiem, w którym znajdują się wszystkie pliki, tj. w pamięci podręcznej
Powoduje to prawdopodobnie wiele ostrzeżeń, ale wynik jest w formacie, który można załadować do Jeny (przy użyciu interfejsu internetowego fuseki).
zaskakująco proste (przynajmniej w tym przypadku).
źródło
W przypadku PHP umieść ten wiersz kodu przed rozpoczęciem drukowania XML:
źródło