Computer >> 컴퓨터 >  >> 프로그래밍 >> JavaScript

HTML5에서 클라이언트 측 XSLT 변환 활용 가이드

HTML5에서 클라이언트 측 XSLT 변환 활용 가이드

XSLT(Extensible Stylesheet Language Transformations)는 XML 문서를 다른 형식으로 변환하기 위한 언어입니다. 서버에서 변환을 수행하는 대신 브라우저에서 직접 처리하는 클라이언트 측 XSLT는 서버 부하를 줄이고 응답 속도를 개선할 수 있는 유용한 기법입니다.

클라이언트 측 XSLTProcessor API는 HTML5 스크립팅 명세의 일부로 공식적으로 포함되어 있습니다. 이는 브라우저 벤더들이 일관된 방식으로 XSLT 변환을 구현하도록 돕는 표준 규격입니다.

처리 명령으로 트리거되는 변환과 스크립트 실행 규칙

HTML5 명세에 따르면, XSLT 변환이 처리 명령(processing instruction)에 의해 트리거되고 브라우저가 DOM으로 직접 변환하는 방식을 구현할 경우, XSLT 프로세서가 생성한 script 요소는 반드시 "parser-inserted"로 표시되어야 합니다. 이러한 규칙은 변환 결과로 삽입된 스크립트가 일반적인 문서 파싱 흐름과 동일하게 동작하도록 보장합니다.

transformToDocument() 메서드의 동작 방식

XSLTProcessor.transformToDocument() 메서드는 브라우징 컨텍스트(browsing context)가 없는 Document 객체에 요소를 추가합니다. 이 때문에 해당 메서드가 생성하는 script 요소는 스크립트 준비(prepare a script) 알고리즘에서 "already started" 플래그가 설정되며, 실제로는 결코 실행되지 않습니다. 즉, 이러한 맥락에서는 스크립팅이 비활성화됩니다.

다만 이러한 script 요소 역시 "parser-inserted"로 표시되어야 합니다. 그래야 async 콘텐츠 속성이 존재하지 않을 때 async IDL 속성이 false를 반환하기 때문입니다.

모바일 브라우저의 XSLT 지원 현황

모바일 환경에서도 XSLT 지원은 상당히 이른 시기부터 이루어졌습니다. Android 4.0부터 XSLT를 지원하며, iOS 역시 2.0 버전부터 XSLT 변환 기능을 제공합니다. 따라서 대부분의 모바일 브라우저에서 클라이언트 측 XSLT 변환을 안정적으로 활용할 수 있습니다.