XSLT - บนเซิร์ฟเวอร์

ເນື່ອງຈາກບໍ່ມີທຸກຄວາມກະແຈາງຂອງສະໜາມທີ່ຈະສະໜັບສະໜູນ XSLT, ການແກ້ໄຂອີກໜຶ່ງຕາມແມ່ນຈະປ່ຽນຂໍ້ມູນ XML ໄປ XHMTL ໃນສະຖານີວິທະຍຸ.

ການແກ້ໄຂທີ່ບັນລຸບັນຍາຍ

ໃນວັນນະຄັດທີ່ກ່ອນນີ້ພວກເຮົາໄດ້ສອນວ່າວິທະຍຸ XSLT ທີ່ຈະປ່ຽນຂໍ້ມູນ XML ໄປ XHMTL. ພວກເຮົາໄດ້ສ້າງ JavaScript ທີ່ຈະປ່ຽນຂໍ້ມູນທີ່ຈະບໍ່ສາມາດດຳເນີນໄດ້ໃນສະໜາມຫາກວິທະຍຸ XML ປະຈຳ. ເພື່ອທີ່ຂໍ້ມູນ XML ຈະສາມາດນຳໃຊ້ໄດ້ໃນທຸກຄວາມກະແຈາງຂອງສະໜາມຫາກວິທະຍຸ, ພວກເຮົາຕ້ອງປ່ຽນຂໍ້ມູນ XML ໃນສະຖານີວິທະຍຸ, ແລະສົ່ງຂໍ້ມູນ XHMTL ໄປຫາສະໜາມ.

ນີ້ແມ່ນຜົນປະໂຫຍດອີກຢ່າງໜຶ່ງຂອງ 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>

ກວດສັດເອັມເລກ XML ນີ້:

ພ້ອມກັບ 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>

ທັງສະແດງ XSL ນີ້

ລະວັງ, ບັນຊີ XML ນີ້ບໍ່ມີການຕິດຕໍ່ XSL

ຫຍັງສໍາຄັນ:ຄຳເຕືອນດັ່ງກ່າວນີ້ສະແດງວ່າ, ບັນຊີ XML ສາມາດນໍາໃຊ້ບັນຊີ XSL ອື່ນໆຫລາຍໆເພື່ອປ່ຽນແປງ

ການປ່ຽນບັນຊີ XML ເປັນ XHTML ໃນທໍລະທັດ

ນີ້ແມ່ນການຂຽນລະຫັດຂອງການປ່ຽນບັນຊີ XML ເປັນ XHTML ໃນທໍລະທັດ:

<%
ການອ່ານ 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 发送到您的浏览器。任务完成!

请看它如何工作