XSLT - 서버에서
- 이전 페이지 XSLT 클라이언트에서
- 다음 페이지 XSLT XML 편집
모든 브라우저가 XSLT를 지원하지 않기 때문에, 서버에서 XML을 XHTML로 변환하는 또 다른 솔루션을 제공합니다.
크로스 브라우저 솔루션
이전 장에서는 브라우저에서 XSLT를 사용하여 XML을 XHTML로 변환하는 방법을 설명했습니다. 우리는 변환을 위해 XML 파서를 사용하는 JavaScript를 작성했습니다. JavaScript 솔루션은 XML 파서가 없는 브라우저에서는 작동하지 않습니다. XML 데이터를 모든 유형의 브라우저에 적용하기 위해, 서버에서 XML 문서를 변환한 후 XHMTL로 브라우저로 보내야 합니다.
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로 변환하는 소스 코드입니다:
<% 'Load XML set xml = Server.CreateObject("Microsoft.XMLDOM") xml.async = false xml.load(Server.MapPath("cdcatalog.xml")) 'XSL 로드' set xsl = Server.CreateObject("Microsoft.XMLDOM") xsl.async = false xsl.load(Server.MapPath("cdcatalog.xsl")) '변환 파일 Response.Write(xml.transformNode(xsl)) %>
ヒント:ASP를 작성하는 방법을 알지 못하시다면, 우리의 《ASP 강의>
첫 번째 코드는 마이크로소프트의 XML 파서의 인스턴스를 생성하고, 그 다음 XML 파일을 메모리에 로드합니다. 두 번째 코드는 파서의 또 다른 인스턴스를 생성하고, 그 다음 XSL 파일을 메모리에 로드합니다. 마지막 줄 코드는 XSL 문서를 사용하여 XML 문서를 변환하고, 결과를 XHTML로 변환하여 브라우저에 보냅니다. 작업 완료!
- 이전 페이지 XSLT 클라이언트에서
- 다음 페이지 XSLT XML 편집