2010-06-23 5 views
1

지난 몇 주 동안 Google 제품 중 하나에 XSLT 지원을 추가하고 있습니다. 이를 위해 필자는 Microsoft MSXML 라이브러리를 사용하여 XML 및 XSL 파일을 변환하는 방법을 실험 해 왔습니다.XSLT에서 MSXML은 얼마나 좋은가?

MSXML로 구문 분석하는 것은 기본적으로 작동하지만 XSL에서 허용해야하는 특정 작업을 지원하지 않는 몇 곳을 실행했습니다. 이것은 내가 100 % 표준을 따르지 않는다는 것을 걱정 시키며 아마도 미래에 문제가 생길 수 있다고 생각합니다. 예를 들어 표준 호환 HTML을 지정하는 올바른 시작 태그를 생성하지 못하고 문서 시작 부분에 새 엔터티를 선언해도 작동하지 않는 것 같습니다.

MSXML을 사용하여 XSLT에 대한 경험이있는 사람이 있습니까? 그리고 어떤 문제가 발생 했습니까?

또는 여기에있는 Windows 개발자가 사용할 수있는 대체 XSL 파서에 대한 제안 사항이 있습니까? XML 파일과 XSL 파일을 가져와 HTML 파일을 생성하는 방법이 필요합니다. (이 함수는 win32 코드에서 C 또는 C++에서 호출 할 수 있어야합니다.)

답변

3

XML + XSLT 및 Internet Explorer (7)에서 보았던 것을 통해 다른 말로 표현하면 ... MSXML ... As 당신이 XSLT 1.0을 사용하는 한 당신은 네임 스페이스 지원이 원하는 것을 남겨줄 수 있다는 점을 제외하고는 대부분 괜찮을 것이다. 그러나 그것은 당신이 더 좋은 XPath 함수를 많이 가지고 있지 않다는 것을 의미합니다 ...

유사한 기능을 제공하는 libxml; 또는 아파치 프로젝트에 의해 무언가를 사용할 수 있습니다 ...

2

크로스 플랫폼에 'Xerces'를 사용하고 XSLT를 수행 할 때 'Xalan'을 선택했습니다.

여기 MSXML과 Xerces 사이에 약간의 차이점이 있습니다. 우리는 이러한 엔진간에 약간의 변환을 변경해야했지만 MSXML은 덜 표준적인 것으로 보였습니다. 크로스 플랫폼에 대해 걱정하지 않는다면이 두 가지를 시도해보고 어떤 것이 가장 잘 변형되는지 확인하십시오.

'Oxygen'XML 편집기를보고 싶을 수도 있습니다. 우리는 XSLT 엔진을 사용할 XSLT 엔진을 선택할 수 있으며, 차이점을 확인하는 데 도움이 될뿐만 아니라 최종 엔진에서 사용할 디버깅을 위해 동일한 엔진을 대화식으로 사용할 수 있습니다.

2

Windows에서 MSXML과 Xerces/Xalan을 모두 사용했습니다. 당신이 Windows 환경에 있기 때문에 MSXML쪽으로 더 기울여야합니다. 필자는 데스크탑에서 웹 애플리케이션에 이르는 다양한 프로젝트에서 수년 동안 성공적으로 사용해 왔습니다.

MSXML은 COM 기반 API입니다. Xalan에서 XPath 2.0 지원이 시작되었지만 중단되었습니다. 미래의 Xalan 개발이 의심 스러울 수도 있습니다. libxsltXQilla도 있습니다. 둘 다 Windows를 지원하지만 둘 중 하나를 사용해 본 경험이 없습니다.

관련 문제