XSLT sa Server

Dahil hindi lahat ng browser ay sumusuporta sa XSLT, isa pang solusyon ay tapusin ang pagbabagong format mula XML hanggang sa XHTML sa server.

Soluksyon na Magkakatulad sa Browser

Sa nakaraang kabanata, sinalaysay namin kung paano gamitin ang XSLT sa browser upang tapusin ang pagbabago mula XML hanggang sa XHTML. Ginawa namin ang isang JavaScript na gamit ang XML parser para sa pagbabago. Ang solusyong JavaScript ay hindi gumagana sa mga browser na walang XML parser. Upang gamitin ang data ng XML sa anumang uri ng browser, dapat natin ipalit ang dokumentong XML sa server, at ipapadala bilang XHMTL sa browser.

Ito ay isa sa mga pangunahing kalakip ng disenyo ng XSLT. Isang layunin ng disenyo ng XSLT ay gumawa ng posibleng pagbabagong format ng data mula sa isang format hanggang sa ibang format sa server, at ibalik bilang madaling basahin na data sa lahat ng uri ng browser.

File na XML at XSL

Tingnan ang dokumentong XML na ito na ipinapakita sa nakaraang kabanata:

<?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>

Tingnan ang file na XML na ito:

atong kasama ang XSL na estilong tablo:

<?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>

Tingnan ang XSL file na ito

Pansin na ang XML file na ito ay walang sagot sa reference sa XSL file.

Mahalagang Balita:Ang pangungusap na ito ay nagpapahiwatig na ang XML file ay maaaring gamitin ang ilang iba't ibang XSL stylesheet para sa pagbabago.

Pagbabago ng XML sa XHTML sa server

Ito ang pinagmulan ng kodigo sa server na nagbabagong XML sa XHTML:

<%
Load XML
set xml = Server.CreateObject("Microsoft.XMLDOM")
xml.async = false
xml.load(Server.MapPath("cdcatalog.xml"))
Load XSL
set xsl = Server.CreateObject("Microsoft.XMLDOM")
xsl.async = false
xsl.load(Server.MapPath("cdcatalog.xsl"))
Transform file
Response.Write(xml.transformNode(xsl))
%>

Mga Babala:Kung hindi mo alam kung paano maglagay ng ASP, maaari kang mag-aral ng amingASP Tutorial

第一段代码创建了微软的 XML 解析器的一个实例,然后把 XML 文件载入了内存。第二段代码创建了解析器的另一个实例,然后把这个 XSL 文件载入了内存。最后一行代码使用 XSL 文档转换了 XML 文档,并把结果作为 XHTML 发送到您的浏览器。任务完成!

请看它如何工作