오류: "[X][mM][lL]"과(와) 일치하는 처리 명령 대상은 허용되지 않습니다.
이 오류는
[xX][mM][lL]"과(와) 일치하는 처리 명령 대상은 허용되지 않습니다.
는 다음과 같이 시작하는 XSLT 페이지를 실행할 때마다 발생합니다.
<?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>
메모: 첫 번째 줄 앞에 선행 공백을 모두 제거했지만 오류가 여전히 발생합니다.
Xerces 기반 도구는 다음 오류를 발생시킵니다.
The processing instruction target matching "[xX][mM][lL]" is not allowed.
XML 파일의 선두 이외의 장소에서 XML 선언이 발생했을 경우.
이것은 유효한 진단 메시지입니다.이 상황에서는 다른 XML 파서에서도 같은 오류 메시지가 나타납니다.
문제를 해결하려면 , 다음의 가능성을 확인해 주세요.
선언 앞에 공백 또는 기타 보이는 내용이 있습니다.
해결 방법: XML 선언 전에 빈칸 또는 기타 볼 수 있는 내용을 제거합니다.
선언 전에 보이지 않는 내용이 있습니다.일반적으로 이것은 바이트 순서 마크(BOM)입니다.
해상도:HTML 의 BOM 의 W3C 페이지에서 제안하는 수법을 사용해 BOM 를 삭제합니다.
XML 콘텐츠 내에 부정한 선언이 존재합니다.이 문제는 XML 파일이 프로그래밍 방식으로 결합되거나 컷 앤 페이스트 방식으로 결합될 때 발생할 수 있습니다.1개밖에 없어
<?xml ?>
XML을 사용합니다.해상도:검색(Search(검색)
<?xml
대소문자를 구분하지 않고 파일에서 상위 XML 선언을 제외한 모든 선언을 삭제합니다.
이유는 다음 코드 중 2개가 하나의 xml에 있기 때문입니다.
<?xml version="1.0" encoding="utf-8"?>
XML 파일에서 이 행이 반복되는지 확인합니다.
<?xml version="1.0" encoding="utf-8"?>
xml에 다음 행이 이중으로 포함되어 있는 경우 xml을 확인합니다.한 행(중복 행)을 삭제합니다.
<?xml version="1.0" encoding="utf-8"?>
<?xml version="1.0" encoding="utf-8"?>
중복된 행을 1개 삭제합니다.
<?xml version="1.0" encoding="utf-8"?>
XML 파일을 디버깅합니다.공간이 있거나 추가된 태그가 적거나 둘 중 하나입니다.
보다 잘 이해하기 위해 명령줄을 사용하여 프로젝트를 빌드합니다.Windows:gradlew build
제 경우 AndroidManifest.xml 맨 앞줄에 공백이 있습니다.
<Empty Row> // This Creates the issue
<?xml version="1.0" encoding="utf-8"?>
Copyright에 Copyright 되었습니다.XML
과 함께 쓰세요.<resources>
태그를 제거하자 내 빌드는 성공했습니다.
위의 오류의 또 다른 이유는 jar 파일의 파손입니다.유닛 테스트 실행 시 Junit을 제외하고 동일한 오류가 발생하였습니다.jar를 분리하여 다시 다운로드하면 문제가 해결.
이 경우는 설정 파일의 잘못된 경로입니다.파일을 찾을 수 없습니다(경로가 잘못되어 있습니다).이 예외는 다음과 같습니다.
입력 스트림에서 구성 중 오류가 발생했습니다.초기 원인은 "[X][mM][lL]"과(와) 일치하는 처리 명령 대상은 허용되지 않습니다.
5,000개의 디렉토리(Project Gutenberg 카탈로그 파일)에 있는 50,000rdf/xml 파일도 같은 문제가 있었습니다.폭동으로 해결했다(제나 배포에서)
디렉토리는 cache/epub/NN/nn.rdf입니다(여기서 NN은 숫자입니다).
모든 파일이 있는 디렉토리(캐시) 위의 디렉토리에서
riot epub/*/*.rdf --output=turtle > allTurtle.ttl
이로 인해 많은 경고가 발생할 수 있지만 결과는 (후세키 웹 인터페이스를 사용하여) 제나로 로드할 수 있는 형식으로 나타납니다.
놀라울 정도로 단순합니다(적어도 이 경우).
PHP 의 경우는, XML 의 인쇄를 개시하기 전에, 다음의 코드를 입력합니다.
while(ob_get_level()) ob_end_clean();
저 같은 경우에는 코드 없이 빈칸을 모두 제거했습니다.그리고 그것은 성공하였다.
제 경우엔, 계산은 트러블 메이커입니다.탭을 공백으로 바꾸면 문제가 해결됩니다.
이 에러에 의해서, 의 메모리 효율이 정말로 저하됩니다.XMLEventReader
입력의 초급에 공백이 있으면 실패하기 때문입니다.
어쨌든, 이미 사용되도록 코드화되어 있기 때문에, 나는 그 코드를InputStream
또는Reader
에 공급하다.String
그럼 전화해요trim()
이것으로 다른 독자를 만들어 내다String
XML 이벤트 리더를 만듭니다.
유사 코드:
Reader reader = new StringReader(
inputStreamToStringBuilder( getInputStream(), getContentCharset() )
.toString().trim()
);
XMLEventReader eventReader = inputFactory.createXMLEventReader(reader);
서버의 폴더를 체크해, pom.xml 의 행방이 없는지를 확인해 주세요.
다른 모든 사람들이 잘못된 형식의 pom.xml에 대해 설명했지만, 서버에 있을 줄은 몰랐던 폴더에 문제가 있다는 것을 알게 되었습니다.반갑지 않은 옛 체격의 D:
다음 행을 삭제하기만 하면 됩니다.<?xml version="1.0" encoding="utf-8"?>
왜냐하면 이런 종류의 오류는 이 행에서만 발생하거나 이 답변에서 언급된 행에 따라 회선의 형식을 확인할 수 있기 때문입니다.
언급URL : https://stackoverflow.com/questions/19889132/error-the-processing-instruction-target-matching-xxmmll-is-not-allowed
'programing' 카테고리의 다른 글
Vue 어플리케이션에서 Vuex를 사용하여 대용량 데이터셋을 효율적으로 처리 (0) | 2022.08.13 |
---|---|
Vuex 모듈에서 관찰자 유형 대신 개체 값 가져오기 (0) | 2022.08.13 |
C의 catch 문을 시험합니다. (0) | 2022.08.13 |
Vue.js 3 - Vue 컴포넌트 간에 데이터를 전달하고 두 뷰 모두 업데이트하려면 어떻게 해야 합니까? (0) | 2022.08.13 |
Vuex는 내부 첫 번째 행의 버튼을 클릭할 때만 컴포넌트를 갱신합니다. (0) | 2022.08.13 |