XSLT - 클라이언트에서
- 이전 페이지 XSLT Apply
- 다음 페이지 서버 측에서 XSLT
브라우저가 XSLT를 지원하면, 브라우저에서 문서를 XHTML로 변환할 수 있습니다.
JavaScript 솔루션
이전 장에서는 XSLT를 사용하여 특정 XML 문서를 XHTML로 변환하는 방법을 설명했습니다. 우리는 다음과 같은 방법으로 이 작업을 완료했습니다: XML 파일에 XSL 스타일 시트를 추가하고, 브라우저를 통해 변환을 완료했습니다.
이 방법이 효과적일 수 있지만, XML 파일에 스타일 시트 참조를 포함하는 것은 항상 만족스럽지 않을 수 있습니다(예를 들어, XSLT를 인식할 수 없는 브라우저에서는 이 방법이 동작하지 않을 수 있습니다).
보다 일반적인方法是 JavaScript를 사용하여 변환을 완료하다.
JavaScript를 사용하여 다음과 같이 할 수 있습니다:
- 브라우저 확인 테스트 수행
- 브라우저와 사용자의 요구에 따라 다른 스타일 시트를 사용하세요
이것이 바로 XSLT의 매력입니다! XSLT의 설계 목적 중 하나는 하나의 형식을 다른 형식으로 변환할 수 있도록 하고, 다양한 유형의 브라우저와 다양한 사용자 요구를 지원하는 것입니다.
브라우저에서의 XSLT 변환은 앞으로의 브라우저가 수행할 주요 작업 중 하나가 될 것입니다. 동시에 특정 브라우저 시장에서의 성장도 볼 수 있을 것입니다(점자, 웹 프린터, 청각 장애인 장치 등).
XML 파일과 XSL 파일
이전 장에서 보여드린 XML 문서를 확인해 주세요:
<?xml version="1.0" encoding="ISO-8859-1"?> <catalog> <cd> <title>Empire Burlesque</title> <artist>Bob Dylan</artist> <country>USA</country> <company>Columbia</company> <price>10.90</price> <year>1985</year> </cd> . . . </catalog>
그리고 부속된 XSL 스타일 시트:
<?xml version="1.0" encoding="ISO-8859-1"?> <xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform"> <xsl:template match="/"> <html> <body> <h2>My CD Collection</h2> <table border="1"> <tr bgcolor="#9acd32"> <th align="left">Title</th> <th align="left">Artist</th> </tr> <xsl:for-each select="catalog/cd"> <tr> <td><xsl:value-of select="title" /></td> <td><xsl:value-of select="artist" /></td> </tr> </xsl:for-each> </table> </body> </html> </xsl:template> </xsl:stylesheet>
이 XML 파일은 XSL 파일에 대한 참조를 포함하고 있지 않다는 점을 주의하세요.
중요 사항:이 문장은 XML 파일이 여러 가지 다른 XSL 스타일 시트로 변환될 수 있다는 것을 의미합니다.
브라우저에서 XML을 XHTML로 변환
이 코드는 클라이언트에서 XML 파일을 XHTML로 변환하는 데 사용됩니다:
<html> <body> <script type="text/javascript"> // Load XML var xml = new ActiveXObject("Microsoft.XMLDOM") xml.async = false xml.load("cdcatalog.xml") // Load XSL var xsl = new ActiveXObject("Microsoft.XMLDOM") xsl.async = false xsl.load("cdcatalog.xsl") // Transform document.write(xml.transformNode(xsl)) </script> </body> </html>
힌트:JavaScript를 작성하는 방법을 모르시면, 우리의 《JavaScript 교육》。
첫 번째 코드는 마이크로소프트의 XML 파서의 인스턴스를 생성한 다음, XML 파일을 메모리에 로드했습니다. 두 번째 코드는 파서의 다른 인스턴스를 생성한 다음, 이 XSL 파일을 메모리에 로드했습니다. 마지막 줄 코드는 XSL 문서를 사용하여 XML 문서를 변환하고, 결과를 브라우저에서 XHTML로 표시했습니다. 작업 완료!
- 이전 페이지 XSLT Apply
- 다음 페이지 서버 측에서 XSLT