문제 해결 방법: 문서 루트 요소 뒤의 마크업이 올바른 형식인지 확인하세요.
P粉590428357
2023-08-21 22:01:26
<p>XML 유효성 검사 웹사이트에 코드를 올렸더니 다음 오류가 발생했습니다. </p>
<인용문>
<p>8행: 4 루트 요소 뒤의 문서 마크업은 올바른 형식이어야 합니다. </p>
</인용문>
<p>문제가 있는 줄은 <code><xsl:output method = "html" doctype-system = "about:legacy-compat"/></code>입니다. </p>
XML
<pre class="brush:php;toolbar:false;"><?xml version="1.0"?>
<!-- 그림 15.21: sorting.xsl -->
<xsl:스타일시트 버전 = "1.0"
xmlns:xsl="http://www.w3.org/1999/XSL/Transform"/>
<!-- XML 선언 및 DOCTYPE DTD 정보 작성 -->
*<xsl:출력 방법 = "html" doctype-system = "about:legacy-compat" />*
<!-- 문서 루트 요소 일치 -->
<xsl:template match="/"> -<html> <xsl:apply-templates/>
</xsl:템플릿></pre>
<p><br /></p>
이 파일의 공백이 잘못되었기 때문에 이런 일이 발생할 수도 있습니다
일반 조건
이 오류는 XML의 루트 요소 뒤에 태그가 있음을 의미합니다. 잘 구성된 요구 사항을 준수하려면 XML에는 단 하나의 루트 요소가 있어야 하며 단일 루트 요소 뒤에는 다른 태그가 없어야 합니다.
루트 요소의 예(올바른)
으아악이 오류의 가장 일반적인 원인은 다음과 같습니다.
에 중복된 닫는 태그가 포함되어 있습니다(오류):
의도적으로 여러 루트 요소를 갖는 경우(버그):
실수로 루트 요소가 여러 개 있는 경우(버그):
파싱된 XML이 생각과 다릅니다(잘못):
파서에 XML을 제공하기 직전에 XML을 기록하여 파서가 보는 XML이 사용자가 생각하는 XML과 동일한지 확인하세요. 여기서 흔히 저지르는 실수는 다음과 같습니다:
귀하의 구체적인 질문
특정 사례에서는
xsl:stylesheet
요소가 조기에 닫혀 있기 때문에(위의 상황 #3) XML에 루트 요소가 여러 개 있는 것으로 보입니다.윌
으아악가
로 변경되었습니다. 으아악즉각적인 문제를 해결하고 닫는 태그를 추가하려면
으아악실제 문서에 아직 존재하지 않는 경우.