ล่าสุดการพัฒนาเว็บบทเรียน
 

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


ศึกษาตัวอย่าง: วิธีการแปลง XML ลง XHTML ใช้ XSLT?

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


รูปแบบที่ถูกต้องปฏิญญาแผ่น

องค์ประกอบหลักที่ประกาศเอกสารที่จะเป็นสไตล์ชีท XSL เป็น <xsl:stylesheet> หรือ <xsl:transform>

Note: <xsl:stylesheet> และ <xsl:transform> จะสมบูรณ์ความหมายเหมือนกันและทั้งสามารถนำมาใช้!

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

<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 แอตทริบิวต์และคุณสมบัติที่เราต้องประกาศ namespace XSLT ที่ด้านบนของเอกสาร

xmlns: XSL = "http://www.w3.org/1999/XSL/Transform" จุดอย่างเป็นทางการของ W3C XSLT namespace ถ้าคุณใช้ namespace นี้คุณยังจะต้องมีรุ่นแอตทริบิวต์ = "1.0"


เริ่มต้นด้วยเอกสาร XML ดิบ

เราต้องการที่จะ transform เอกสาร XML ต่อไปนี้ ("cdcatalog.xml") เข้าไปใน XHTML:

<?xml version="1.0" encoding="UTF-8"?>
<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>

Viewing XML Files in IE, Chrome, Firefox, Safari, and Opera: เปิดไฟล์ XML (คลิกที่ลิงค์ด้านล่าง) - เอกสาร XML จะแสดงพร้อมกับรากรหัสสีและองค์ประกอบของเด็ก (except in Safari) บ่อยครั้งที่มีการบวก (+) หรือเครื่องหมายลบ (-) ทางด้านซ้ายขององค์ประกอบที่สามารถคลิกเพื่อขยายหรือยุบโครงสร้างองค์ประกอบ เคล็ดลับ: การดูแหล่งที่มาของข้อมูลดิบ XML คลิกขวาในไฟล์ XML และเลือก "ดูแหล่งที่มา"!

ดู "cdcatalog.xml"


สร้างแผ่น XSL สไตล์

จากนั้นคุณสร้างแผ่น XSL สไตล์ ("cdcatalog.xsl") กับแม่แบบการเปลี่ยนแปลง:

<?xml version="1.0" encoding="UTF-8"?>

<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>Title</th>
      <th>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="UTF-8"?>
<?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 เบราว์เซอร์ที่สอดคล้องกับมันอย่างจะ transform XML ของคุณลงใน XHTML

ดูผล

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