การเปลี่ยนแปลง XSLT

ตัวอย่างศึกษา: วิธีการใช้ XSLT ในการเปลี่ยนแฟ้ม XML ให้เป็น XHTML

เราจะอธิบายละเอียดของตัวอย่างนี้ในบทต่อไป

ประกาศสไตล์ตารางที่ถูกต้อง

ประกาศเอกสารเป็นตัวมาตราฐานของสไตล์ตาราง XSL คือ <xsl:stylesheet> หรือ <xsl:transform>

หมายเหตุ: <xsl:stylesheet> และ <xsl:transform> มีความหมายเดียวกัน และสามารถใช้ได้ทั้งหมด!

ตามมาตราฐาน XSLT ของ W3C วิธีที่ถูกต้องในการประกาศสไตล์ตาราง XSL คือ:

<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">

หรือ:

<xsl:transform version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">

ถ้าต้องการเข้าถึงองค์ประกอบ คุณสมบัติ และคุณสมบัติของ XSLT พวกเราจำเป็นต้องประกาศช่องทาง XSLT ที่ด้านบนของเอกสาร

xmlns:xsl="http://www.w3.org/1999/XSL/Transform" นำไปสู่ช่องทางชื่ออย่างเป็นทางการของ W3C XSLT ถ้าใช้ช่องทางนี้ คุณจำเป็นต้องมีคุณสมบัติ version="1.0"

จากแฟ้ม XML ต้นฉบับ

ตอนนี้เราจะควบแต่งแฟ้ม XML ต่อไปนี้ ("cdcatalog.xml") เป็น XHTML:

<?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 ใน Internet Explorer และ Firefox:

เปิดแฟ้ม XML (ปกติโดยการคลิกลิงก์) - ข้อความ XML จะแสดงข้อความหลักและชาวลูกด้วยรูปแบบที่เป็นสี คลิกที่ด้านซ้ายของชาวลูกเพื่อเปิดหรือปิดโครงสร้างของชาวลูก ถ้าต้องการดูแฟ้ม XML ต้นฉบับ (ไม่มีเครื่องหมาย + หรือ -) กรุณาเลือก

ดูแฟ้ม XML ใน Netscape 6:

เปิดเอกสาร XML แล้วคลิกขวาบนเอกสาร XML แล้วเลือก "View Page Source" ของเอกสาร XML จะแสดงข้อมูลเป็นรหัสโค้ดที่มีสี

ดูเอกสาร XML ใน Opera 7:

เปิดเอกสาร XML แล้วคลิกขวาบนเอกสาร XML แล้วเลือก "Frame"/"View Source" ของเอกสาร XML จะแสดงข้อมูลเป็นข้อความสะอาด

ดู "cdcatalog.xml"

สร้าง XSL สไตล์เชิงรูปแบบ

ตั้งค่า XSL สไตล์เชิงรูปแบบที่มีโมดูลการแปลงแบบ ("cdcatalog.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>

ดู "cdcatalog.xsl"

เชื่อมโยง XSL สไตล์เชิงรูปแบบกับเอกสาร XML

เพิ่มความหมายของ XSL สไตล์เชิงรูปแบบสำหรับเอกสาร XML ("cdcatalog.xml")

<?xml version="1.0" encoding="ISO-8859-1"?>
<?xml-stylesheet type="text/xsl" href="cdcatalog.xsl"?>
<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>

如果您使用的瀏覽器兼容 XSLT,它會很順利地把您的 XML 轉換為 XHTML。

查看結果

我們會在下一節對上面的例子中的細節進行解釋。