XSLT - ลูกค้า

คอร์สเลือกเลือก

รายการแนะนำสำหรับคอร์ส

ในบทที่แล้ว เราได้รายละเอียดการใช้ XSLT ที่จะเปลี่ยนแปลง XML อิเล็กทรอนิกส์เป็น XHTML ด้วยวิธีดังต่อไป: การเพิ่มสไตล์เซ็ต XSL ในไฟล์ XML และทำการเปลี่ยนแปลงด้วยเบราวเซอร์

แม้ว่าวิธีนี้จะมีประสิทธิภาพมาก แต่การใส่อ้างอิงสไตล์เซ็ตในไฟล์ 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>

ดูไฟล์ 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>
  
  
</xsl:template>
</xsl:stylesheet>

ดูไฟล์ XSL นี้

โปรดระวังว่า ไฟล์ 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))



提示:假如您不了解如何编写 JavaScript,请学习我们的《JavaScript 教程》。

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

ดูว่ามันทำงานได้อย่างไรใน IE