XML 문서에 Low-Order ASCII 문자가 포함된 경우 오류 메시지

이 문서는 XML 문서에 Low-Order ASCII 문자가 포함되어 있을 때 발생하는 문제를 resolve 데 도움이 됩니다.

원래 제품 버전: Microsoft XML
원본 KB 번호: 315580

증상

MSXML 파서 버전 3.0 이상을 사용하여 인쇄할 수 없는 특정 하위 ASCII 문자(즉, ASCII 32 아래 문자)가 포함된 XML 문서를 구문 분석하려고 하면 다음 오류 메시지가 표시될 수 있습니다.

잘못된 문자가 텍스트 콘텐츠에서 발견되었습니다.

원인

MSXML 파서 버전 3.0 이상에서는 W3C(World Wide Web Consortium) XML 언어 사양에 의해 정의된 유효한 XML 문자 범위를 엄격하게 적용합니다. MSXML 버전 3.0 이상을 사용하여 구문 분석된 XML 문서에는 정의된 유효한 XML 문자 범위를 벗어나는 문자가 포함될 수 없습니다. 추가 정보 섹션에 나열된 범위의 낮은 순서로 인쇄할 수 없는 ASCII 문자는 유효한 XML 문자가 아닙니다. 이러한 문자의 인스턴스를 포함하는 XML 문서는 W3C 사양을 준수하지 않으며 MSXML 버전 3.0 이상을 사용하여 성공적으로 구문 분석할 수 없습니다.

해결 방법

이 문제를 resolve 위해 인쇄할 수 없는 하위 ASCII 문자의 인스턴스를 제거하거나 문자를 공백 문자(ASCII 32, 16진수 #x20)와 같은 유효한 대체 문자로 바꿉니다. 이 솔루션은 XML 문서가 W3C 사양을 준수하게 합니다. 그러나 이러한 문자의 인스턴스를 제거하거나 대체하면 데이터를 사용하고 문자가 중요한 다른 애플리케이션에 영향을 줄 수 있습니다. 이러한 추가 영향은 테스트를 통해서만 식별할 수 있으며 특정 상황에 적합한 수정 또는 해결 방법을 구현하여 해결해야 합니다.

추가 정보

MSXML 파서 버전 2.6 이하에서는 XML 문서에 W3C 유효한 XML 문자 범위를 벗어나는 낮은 순서의 인쇄할 수 없는 ASCII 문자를 포함할 수 있습니다. 그러나 MSXML 파서의 버전 3.0 이상 디자인은 W3C XML 언어 사양에 정의된 유효한 XML 문자 범위를 엄격하게 적용하도록 변경되었습니다. 이 디자인 변경은 비준수 XML 문서를 식별할 수 있어야 합니다.

다음은 W3C XML 언어 사양 1.0에 정의된 유효한 XML 문자 및 문자 범위(16진수 값)입니다.

#x9 | #xA | #xD | [#x20-#xD7FF] | [#xE000-#xFFFD] | [#x10000-#x10FFFF]

다음은 MSXML 버전 3.0 이상에서 거부되는 낮은 순서의 인쇄할 수 없는 ASCII 문자에 대한 문자 범위입니다.

#x0 - #x8 (ASCII 0 - 8)
#xB - #xC (ASCII 11 - 12)
#xE - #x1F (ASCII 14 - 31)

이 디자인 변경은 다음 사용자 및 애플리케이션에 영향을 줄 수 있습니다.

  • 인터넷 Explorer 사용자: 인터넷 Explorer 버전 5.5 이하(및 바꾸기 모드에서 MSXML 3.0을 설치하지 않은 사용자)를 사용하여 지정한 낮은 순서의 인쇄할 수 없는 ASCII 문자의 인스턴스가 하나 이상 포함된 XML 문서를 찾아서 보는 사용자는 인터넷 Explorer 6.0으로 업그레이드한 후 오류 메시지가 발생합니다Explorer 6.0은 바꾸기 모드에서 MSXML 3.0 SP2를 설치하고 이를 사용하여 XML 문서를 구문 분석합니다.
  • MDAC 및 ADO 사용자: ADO 2.7 개체에서 사용하는 MSXML 파서의 버전인 MSXML 3.0 SP2를 설치하므로 지정된 낮은 순서의 인쇄할 수 없는 ASCII 문자의 인스턴스를 하나 이상 포함하는 ADO 지속형 XML 문서를 ADO Recordset 개체에 로드하는 개발자 및 사용자는 MDAC 2.7 Recordset 로 업그레이드한 후 오류 메시지가 발생합니다.
  • MSXML DOM(문서 개체 모델)을 사용하는 애플리케이션: 버전을 독립적으로 PROGIDs 사용하여 XML 문서를 구문 분석하는 데 사용되는 MSXML DOM 개체를 인스턴스화하는 애플리케이션은 MSXML 3.0 또는 해당 서비스 팩 중 하나가 바꾸기 모드에 설치되거나 코드가 MSXML 3.0 또는 4.0 버전 특정 PROGIDs을 사용하도록 수정될 때 지정된 오류를 생성합니다.

참조

증상 섹션에 지정된 오류 메시지에 대한 다른 알려진 원인 및 해결 방법에 대한 자세한 내용은 다음을 참조하세요.