맨위로가기

MSXML

"오늘의AI위키"는 AI 기술로 일관성 있고 체계적인 최신 지식을 제공하는 혁신 플랫폼입니다.
"오늘의AI위키"의 AI를 통해 더욱 풍부하고 폭넓은 지식 경험을 누리세요.

1. 개요

MSXML은 마이크로소프트에서 출시하고 지원하는 XML 파서(parser) 제품군이다. 현재 MSXML 6.0, 3.0, 4.0 버전이 지원되며, MSXML 5.0, 4.0, 2.6, 2.5, 2.0a, 1.0 버전은 지원이 중단되었다. 각 버전은 윈도우 운영체제 및 다른 마이크로소프트 제품과 함께 배포되었으며, 64비트 환경을 지원하기도 한다.

더 읽어볼만한 페이지

  • 인터넷 익스플로러 - 인터넷 익스플로러 10
    인터넷 익스플로러 10은 마이크로소프트에서 개발한 웹 브라우저로, 웹 표준 지원 강화, 터치스크린 환경에 최적화된 메트로 스타일 버전 도입, 플립 어헤드 기능과 Adobe Flash Player 통합 등의 새로운 기능을 제공했지만 현재는 지원이 종료되었다.
  • 인터넷 익스플로러 - VB스크립트
    VB스크립트는 마이크로소프트에서 개발한 스크립트 언어로, 인터넷 익스플로러의 클라이언트 스크립트 언어 및 액티브 서버 페이지의 표준 언어로 사용되었으나, 윈도우 클라이언트 지원 중단 발표로 향후 윈도우 릴리스에서 제거될 예정이다.
  • 마이크로소프트 API - 윈도우 API
    윈도우 API는 마이크로소프트 윈도우 운영 체제에서 응용 프로그램이 시스템 기능에 접근하도록 돕는 인터페이스 집합이며, 다양한 버전으로 발전해 왔고, 현재 Win32가 널리 사용되며, 유연성을 제공하지만 복잡하다는 단점을 보완하기 위해 다양한 래퍼 라이브러리가 개발되었다.
  • 마이크로소프트 API - WinFS
    WinFS는 마이크로소프트가 개발한 파일 시스템으로, 검색 기능 내장 및 메타데이터 관리를 통해 데이터 관리 효율성을 높이는 것을 목표로 했으나 별도 제품으로 출시되지는 못하고 핵심 기능들이 윈도우 비스타 이후 기술에 통합되었다.
MSXML

2. 버전

모든 COM 구성 요소와 마찬가지로 MSXML 객체는 클래스 식별자(CLSID) 또는 프로그래밍 식별자(ProgID)를 통해 프로그래밍 방식으로 인스턴스화된다. 각 MSXML 버전은 고유한 CLSID와 ProgID 집합을 가진다. 예를 들어, IXmlDomDocument, IXmlDomDocument2, IXmlDomDocument3 COM 인터페이스를 제공하는 MSXML 6.0 DOMDocument 객체를 생성하려면 "MSXML2.DOMDocument.6.0"이라는 ProgID를 사용해야 한다.

MSXML은 버전 번호가 없는 버전 독립적인 ProgID도 지원한다. 예를 들어 "Microsoft.XMLHTTP"는 MSXML 1.0에서 처음 도입되었지만, 현재는 MSXML 3.0 객체 및 `msxml3.dll`에 매핑된다.

MSXML의 각 버전은 약간씩 다른 기능 집합을 지원한다. 예를 들어, MSXML 3.0은 XDR 스키마만 지원하고 XSD 스키마는 지원하지 않지만, MSXML 4.0, MSXML 5.0, MSXML 6.0은 XSD 스키마를 지원한다. 반면 MSXML 6.0은 XDR 스키마를 지원하지 않는다. XML 디지털 서명 기능은 MSXML 5.0에서만 제공된다. 새로운 XML 관련 소프트웨어 개발 시, 마이크로소프트는 네이티브 코드 전용 프로젝트에 MSXML 6.0 또는 경량 버전인 ''XmlLite'' 사용을 권장한다.

MSXML은 마이크로소프트에서 출시하고 지원하는 여러 버전의 제품군으로 구성된다.[7] 각 버전은 고유한 기능과 지원 범위를 가지며, 시간이 지남에 따라 새로운 버전이 출시되고 이전 버전의 지원이 중단되었다. 자세한 버전별 내용은 하위 섹션에서 설명한다.

2. 1. 현재 지원되는 버전


  • '''MSXML 6.0''' MSXML6은 마이크로소프트의 최신 MSXML 제품이다. MSXML3과 함께 마이크로소프트 SQL 서버 2005, 비주얼 스튜디오 2005, .NET 프레임워크 3.0과 윈도우 XP 서비스 팩 3, 윈도우 비스타윈도우 11까지의 모든 후속 윈도우 버전에 포함되어 배포된다. 기본 64비트 환경도 지원한다. 버전 6은 버전 3과 4의 업그레이드이지만, 버전 6에서 지원하지 않는 레거시 기능을 여전히 제공하기 때문에 완전한 대체는 아니다. 버전 6, 4, 3은 모두 동시에 설치하여 실행할 수 있다. MSXML 6은 윈도우 9x에서는 지원되지 않는다. 윈도우 XP SP3에는 MSXML 6.0 SP2가 포함되어 있다.

  • '''MSXML 3.0''' MSXML3은 `msxml3.dll`로 표현되는 현재 MSXML 제품이다. MSXML 3.0 SP2는 윈도우 XP, 인터넷 익스플로러 6.0 및 MDAC 2.7과 함께 처음 배포되었다. 윈도우 XP SP2에는 MDAC 2.81의 일부로 MSXML 3.0 SP5가 포함되어 있다. 윈도우 2000 SP4에도 MSXML 3.0이 함께 제공된다. 기본적으로 인터넷 익스플로러 6.0, 7.0 및 8.0 버전은 창에 로드된 XML 문서를 구문 분석하기 위해 MSXML 3을 사용한다. MSXML 3.0 SP7은 윈도우 95를 지원하는 마지막 버전이다. 윈도우 XP SP3에는 MSXML 3.0 SP9가 포함되어 있다. 윈도우 비스타에도 MSXML 3.0(SP10)이 포함되어 있다.

2. 2. 지원이 중단된 버전


  • '''MSXML 5.0''': 마이크로소프트 오피스를 위해 특별히 개발된 바이너리였다. 원래 오피스 2003과 함께 제공되었으며, 오피스 2007에도 포함되어 있었다. 마이크로소프트는 MSXML 5를 오피스 2003의 내부/통합 구성 요소로 간주하여 이 버전에 대한 문서를 공개하지 않았다. MSXML 5는 오피스 2010에는 포함되지 않았다.[8]
  • '''MSXML 4.0''': 독립 소프트웨어 공급업체(ISV) 및 제3자를 대상으로 하는 독립적인 다운로드 가능 SDK로 제공되었다. MSXML 3을 대체하는 것이 아니라 업그레이드 버전으로, 버전 3은 여전히 레거시 기능을 제공했다. 64비트 버전은 제공되지 않았지만, 32비트 버전은 64비트 운영 체제에서 32비트 프로세스를 지원했다. 버전 4와 3은 동시에 실행될 수 있었다. MSXML 4.0 SP3는 2009년 3월에 출시된 최신 버전이며, SP2 지원은 2010년 4월에 만료되었고,[9] MSXML 4.0 SP3는 2014년 4월에 지원이 만료되었다.[10]
  • '''MSXML 2.6''': MSXML의 초기 버전으로, `msxml2.dll`로 표현된다. 이 버전은 더 이상 마이크로소프트에서 지원하지 않으며, 노출하는 CLSID 및 ProgID는 MSXML 3.0에 의해 흡수되었다. MSXML 2.6은 마이크로소프트 SQL 서버 2000 및 MDAC 2.6과 함께 제공되었다. 모든 플랫폼의 마지막 버전은 [http://support.microsoft.com/kb/887606 KB887606]으로 출시되었다.
  • '''MSXML 2.5''': MSXML의 초기 버전으로, `msxml.dll`로 표현된다. 이 버전 역시 마이크로소프트에서 더 이상 지원하지 않으며, 노출하는 CLSID 및 ProgID는 MSXML 3.0에 의해 흡수되었다. MSXML 2.5는 윈도우 2000인터넷 익스플로러 5.01 및 MDAC 2.5의 일부로 제공되었다.
  • '''MSXML 2.0a''': 이 버전은 인터넷 익스플로러 5.0과 함께 제공되었다. 더 이상 지원되지 않는다.
  • '''MSXML 1.0''': 이 버전은 인터넷 익스플로러 4.0과 함께 제공되었다. 더 이상 지원되지 않는다.

3. 개발자 지원

모든 MSXML 제품은 프로그래밍 방식으로 OLE 자동화 (COM의 하위 집합) 구성 요소로 노출된다는 공통점이 있다. 개발자는 C, C++, 또는 JScript 및 VBScript와 같은 Active Scripting 언어를 사용하여 MSXML 구성 요소에 대해 프로그래밍할 수 있다. 하지만 MSXML COM 구성 요소와 관리되는 .NET 환경 간의 상호 운용성은 지원되지 않으며 권장되지 않는다.

모든 COM 구성 요소와 마찬가지로, MSXML 개체는 CLSID(클래스 식별자) 또는 ProgID(프로그램 식별자)를 사용하여 프로그래밍 방식으로 인스턴스를 생성한다. 각 MSXML 버전은 자체적인 CLSID와 ProgID 집합을 가진다. 예를 들어, 'IXmlDomDocument', 'IXmlDomDocument2', 'IXmlDomDocument3' COM 인터페이스를 제공하는 MSXML 6.0 DOMDocument 개체를 생성하려면 "MSXML2.DOMDocument.6.0"이라는 ProgID를 사용해야 한다.

MSXML은 특정 버전에 종속되지 않는 '버전 독립적 ProgID'도 지원한다. 버전 독립적 ProgID에는 버전 번호가 붙지 않으며, 예를 들어 "Microsoft.XMLHTTP"가 있다. 이러한 ProgID는 MSXML 1.0에서 처음 도입되었지만, 현재는 MSXML 3.0 개체 및 msxml3.dll 파일에 연결되어 있다.

MSXML 버전마다 지원하는 기능 집합에 약간의 차이가 있다.


  • MSXML 3.0은 XDR(XML-Data Reduced) 스키마만 지원하며, XSD(XML Schema Definition) 스키마는 지원하지 않는다.
  • MSXML 4.0, MSXML 5.0, MSXML 6.0은 XSD 스키마를 지원한다.
  • 그러나 MSXML 6.0은 XDR 스키마를 지원하지 않는다.
  • XML 디지털 서명 기능은 MSXML 5.0에서만 제공된다.


새로운 XML 관련 소프트웨어를 개발할 경우, 마이크로소프트는 네이티브 코드 전용 프로젝트에는 MSXML 6.0 또는 그 경량 버전인 ''XmlLite''를 사용할 것을 권장한다.

참조

[1] 웹사이트 The use of MSXML is not supported in .NET applications https://support.micr[...] Microsoft 2010-03-18
[2] 웹사이트 IXMLDOMDocument/DOMDocument http://msdn2.microso[...] MSDN 2008-05-28
[3] 웹사이트 IXMLDOMDocument2 http://msdn2.microso[...] MSDN 2008-05-28
[4] 웹사이트 IXMLDOMDocument3 http://msdn2.microso[...] MSDN 2008-05-28
[5] 웹사이트 Using MSXML in the browser http://blogs.msdn.co[...] 2008-05-28
[6] 웹사이트 XmlLite Programmers' Guide and API Reference http://msdn.microsof[...] MSDN 2008-05-28
[7] 문서 MSXML Version List http://support.micro[...] Microsoft
[8] 문서 Office 2010: What's removed: Office 2010 Resource Kit documentation on TechNet https://technet.micr[...]
[9] 간행물 MSXML 4.0 SP3 Release Notes http://download.micr[...] Microsoft 2009-09-29
[10] 간행물 MSXML Roadmap https://msdn.microso[...] Microsoft 2013-03-15



본 사이트는 AI가 위키백과와 뉴스 기사,정부 간행물,학술 논문등을 바탕으로 정보를 가공하여 제공하는 백과사전형 서비스입니다.
모든 문서는 AI에 의해 자동 생성되며, CC BY-SA 4.0 라이선스에 따라 이용할 수 있습니다.
하지만, 위키백과나 뉴스 기사 자체에 오류, 부정확한 정보, 또는 가짜 뉴스가 포함될 수 있으며, AI는 이러한 내용을 완벽하게 걸러내지 못할 수 있습니다.
따라서 제공되는 정보에 일부 오류나 편향이 있을 수 있으므로, 중요한 정보는 반드시 다른 출처를 통해 교차 검증하시기 바랍니다.

문의하기 : help@durumis.com