การเปลี่ยนแปลง 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 ไม่มีเครื่องหมายเพิ่มหรือลด คลิกที่เมนู "View Page Source" ของเบราเซอร์

ตรวจสอบเอกสาร 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。

ดูผลลัพธ์.

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