기술에 대한 깊은 경험이 없으면 기술을 평가하기가 어렵지만 물론 결정을 내려야 할 때가되므로 이러한 딜레마에 대한 간단한 답변은 없습니다.
성능과 유용성이라는 두 가지 문제를 언급했습니다. 아래에서 모두 해결하려고 노력할 것입니다.
먼저 성능. 물론 성능은 언어뿐만 아니라 구현 및 사용자의 전문성에 달려 있습니다. 다른 XSLT 프로세서는 성능이 크게 다를 수 있으며 동일한 프로세서는 사용 방법에 따라 크게 다를 수 있습니다 (예 : Saxon의 경우 성능 문제가있는 사용자는 DOM과 함께 사용하는 경우가 종종 있습니다. Saxon의 기본 트리 모델을 대신 사용하면 성능이 10 배 증가 할 수 있습니다. 따라서 첫 번째 조언은 정보에 대한 성능을 측정하지 않고 측정하는 것입니다. 두 번째 조언은 측정하는 사람이 어리석은 실수를하지 않을만큼 충분한 경험을 가지고 있는지 확인하는 것입니다. 말보다 더 쉽게 말했다.
대충, 변환 작업을 단순 및 복합의 두 범주로 분리 할 수 있습니다. 간단한 변환의 경우 우수한 XSLT 프로세서를 사용하면 구문 분석 및 직렬화에 소요되는 시간이 모두 소요되며 XSLT 처리 시간은 거의 나타나지 않습니다. 다른 기술은 동일한 구문 분석 및 직렬화 비용을 발생 시키므로 변환 기술의 선택은 큰 차이를 만들지 않을 것입니다 (스트리밍을 사용하는 매우 낮은 수준의 코딩은 제외하지만 많은 사람들이 프로그래밍을 감당할 수는 없습니다) 구현하는 데 필요한 시간과 기술). 큰 문서에서 복잡한 변환을 수행하려면 SQL 프로그래밍에서와 동일한 문제가 발생하기 시작합니다. 좋은 성능을 얻으려면 프로그래머의 기술과 지식과 옵티마이 저의 기능간에 좋은 상호 작용이 필요합니다. SQL과 마찬가지로 이러한 고급 언어에서는 프로세서가 매우 많은 양의 작업을 수행해야하는 몇 가지 간단한 설명을 작성하는 것이 매우 쉽습니다. 또한 SQL과 마찬가지로 자신이하는 일을 아는 프로그래머는 초보자보다 훨씬 더 잘할 것입니다.
둘째, 유용성. XSLT의 XML 기반 구문은 언어를 처음 접했을 때 많은 사람들에게 큰 영향을 미칩니다. 그러나 이런 식으로 그렇게하는 데는 타당한 이유와 실질적인 이점이 있습니다. "템플릿"이라는 주장이 있습니다. 많은 코드가 결과 문서에 기록 될 XML로 구성되어 있으며 XML을 작성하는 가장 좋은 방법은 XML입니다. 그리고 "반사"논증이 있습니다. 복잡한 대규모 시스템에서는 스타일 시트를 생성하는 스타일 시트를 찾는 것이 매우 일반적입니다. 그런 다음 "tools"인수가 있습니다. XML 상점에 있다면 구문 지향 편집기와 같은 많은 XML 도구가있을 수 있으며 동일한 도구를 사용하여 프로그램과 데이터를 처리하는 것이 좋습니다. 단점은 비교할 때 상당히 장식적인 것으로 판명되었습니다. ■ 편집과 관련된 키 입력 횟수 (좋은 편집 도구로 쉽게 수정 됨) 및 코드의 자세한 내용 (가독성 감소)이 있습니다. XSLT 2.0에서는 정규 표현식 및 스타일 시트 함수와 같은 기능이 도입되어 자세한 내용이 크게 줄어 듭니다. 많은 스타일 시트는 XSLT 2.0을 최대한 활용할 때 크기가 절반 또는 1/3로 줄어 듭니다.
DSSSL에 대한 당신의 언급은 나를 웃게합니다. 필자는 DSSSL을 사용한 적이 없지만 그 구문이 비열하고 데이터의 구문 (SGML)과 관련이 없기 때문에 성공하지 못했다는 이야기를 들었습니다. XSLT에 대한 XML 구문의 사용은 DSSSL에 대한 경험에 의해 동기 부여되었습니다.
XSLT를 좋아하는 사람들이 있고 그것을 싫어하는 사람들이 있습니다. 당연히, 그것을 많이 사용하는 사람들은 첫 번째 범주에 빠지는 경향이 있습니다. 그것을 싫어하는 사람들은 일반적으로 "XSLT 방식을 생각하는 법"을 배우지 않은 사람들입니다. 프로그래밍 언어는 생각하는 방식에 영향을 미치지 않아야한다고 주장 할 수 있지만 규칙 기반 언어로 작성하는 것은 명령형 언어로 작성하는 것과 다른 사고 방식을 취합니다. 많은 프로그래머의 첫 번째 반응은 통제력이 떨어 졌다는 것입니다 (컴퓨터에 단계별로 수행 할 작업을 지시하는 대신 문제를 설명 함). 사람들이 SQL을 처음 소개했을 때 보았던 반응과 매우 유사합니다. 요즘 사람들은 경력 초기에 SQL을 배우므로 정신 재조정이 덜 필요합니다.
궁극적으로, 당신은 사랑 / 증오 반응이 아닌 객관적인 측정 가능한 기준에 근거한 기술을 선택해야합니다. 측정하기가 어렵습니다. 그러나 XSLT를 매우 집중적이고 성공적으로 사용하는 사람들이 많이 있으므로 그렇게 할 수 있다는 것은 의심 할 여지가 없습니다.