1. 程式人生 > >XML課後練習答案(七)——XSL文件編寫小測驗答案分享

XML課後練習答案(七)——XSL文件編寫小測驗答案分享

題目

已知學生的簡歷的XML文件內容如下:

<?xml version="1.0" encoding="gb2312"?>

<學生>

<個人基本資訊>

 <照片>miffy.jpg</照片>

<姓名>米菲</姓名>

 <性別>女</性別>

 <民族>兔佳族</民族>

 <出生地>大荷蘭</出生地>

 <通訊地址>

  <條目>130012</條目>

  <條目>吉林省長春市前進大街2699號</條目>

  <條目>吉林大學電腦科學與技術學院</條目>

 </通訊地址>

 <電子郵件>[email protected]</電子郵件>

</個人基本資訊>

<學歷和工作簡歷>

 <條目>2003年畢業於吉林大學附屬小學</條目>>

 <條目>2013年畢業於吉林大學計算機學院</條目>

 <條目>2012.07至2012.09在吉林大學就業指導中心實習</條目

 <條目>2006年畢業於吉林大學附屬中學初中部</條目>

 <條目>2009年畢業於吉林大學附屬中學高中部</條目>

</學歷和工作簡歷>

<已修課程>

 <條目>資料結構</條目>

 <條目>資料庫原理</條目>

 <條目>C語言程式設計</條目>

 <條目>Java語言程式設計</條目>

 <條目>Web應用開發基礎</條目>

 <條目>XML語言</條目>

</已修課程>

<已獲獎勵>

 <條目>2012獲中國大學生創新專案一等獎</條目>

 <條目>2013獲中國大學生軟體競賽一等獎</條目>

</已獲獎勵>

<已發表論文>

 <條目>人機對話中關鍵技術的探索,2011年發表於《機器與人》創刊號第1頁</條目>

 <條目>米菲家族祖先追蹤,2012年發表於《物種起源》卷99999第8888頁</條目>

</已發表論文>

</學生>

miffy.jpg:

請給出將其轉換成HTML的XSLT程式碼,並給出轉換後在瀏覽器中的顯示結果的截圖。

要求轉換後在瀏覽器中的顯示結果如下:

1、答案:(這樣是不能直接拿去執行的哦,下面會說明應該怎麼執行XML結合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>

                <h3 align = "center">米菲的簡歷</h3>

                <table border="1"  align = "center" cellpadding="10"><!--CCFFFF-->

                    <tr>

                        <td bgcolor="#ADD8E6" width = "70" align = "center">姓名</td>

                        <td bgcolor="#E0FFFF" width = "300"><xsl:value-of select="/學生/個人基本資訊/姓名"/></td>

                        <td rowspan="6">

                            <img>

                            <xsl:attribute name="src"><xsl:value-of select="/學生/個人基本資訊/照片" /></xsl:attribute>

                            </img>

                        </td>

                    </tr>

                    <tr>

                        <td bgcolor="#ADD8E6" align = "center">性別</td>

                        <td bgcolor="#E0FFFF"><xsl:value-of select="/學生/個人基本資訊/性別"/></td>

                    </tr>

                    <tr>

                        <td bgcolor="#ADD8E6" align = "center">民族</td>

                        <td bgcolor="#E0FFFF"><xsl:value-of select="/學生/個人基本資訊/民族"/></td>

                    </tr>

                    <tr>

                        <td bgcolor="#ADD8E6" align = "center">出生地</td>

                        <td bgcolor="#E0FFFF"><xsl:value-of select="/學生/個人基本資訊/出生地"/></td>

                    </tr>

                    <tr>

                        <td bgcolor="#ADD8E6" align = "center">通訊地址</td>

                        <td bgcolor="#E0FFFF">

                            <xsl:for-each select="/學生/個人基本資訊/通訊地址/條目">

                                <ul>

                                    <li><xsl:value-of select="."/></li>

                                </ul>

                            </xsl:for-each>

                        </td>

                    </tr>

                    <tr>

                        <td bgcolor="#ADD8E6" align = "center">電郵</td>

                        <td bgcolor="#E0FFFF"><xsl:value-of select="/學生/個人基本資訊/電子郵件"/></td>

                    </tr>

                    <tr>

                        <td bgcolor="#ADD8E6" align = "center" colspan = "3">學歷和工作簡歷</td>

                    </tr>

                    <tr>

                        <td bgcolor="#E0FFFF" colspan = "3">

                            <xsl:for-each select="/學生/學歷和工作簡歷/條目">

                                <ul>

                                    <li><xsl:value-of select="."/></li>

                                </ul>

                            </xsl:for-each>

                        </td>

                    </tr>

                    <tr>

                        <td bgcolor="#ADD8E6" align = "center" colspan = "3">已修課程</td>

                    </tr>

                    <tr>

                        <td bgcolor="#E0FFFF" colspan = "3">

                            <xsl:for-each select="/學生/已修課程/條目">

                                <ul>

                                    <li><xsl:value-of select="."/></li>

                                </ul>

                            </xsl:for-each>

                        </td>

                    </tr>

                    <tr>

                        <td bgcolor="#ADD8E6" align = "center" colspan = "3">已獲獎勵</td>

                    </tr>

                    <tr>

                        <td bgcolor="#E0FFFF" colspan = "3">

                            <xsl:for-each select="/學生/已獲獎勵/條目">

                                <ul>

                                    <li><xsl:value-of select="."/></li>

                                </ul>

                            </xsl:for-each>

                        </td>

                    </tr>

                    <tr>

                        <td bgcolor="#ADD8E6" align = "center" colspan = "3">已發表論文</td>

                    </tr>

                    <tr>

                        <td bgcolor="#E0FFFF" colspan = "3">

                            <xsl:for-each select="/學生/已發表論文/條目">

                                <ul>

                                    <li><xsl:value-of select="."/></li>

                                </ul>

                            </xsl:for-each>

                        </td>

                    </tr>

                </table>

            </body>

        </html>

    </xsl:template>

</xsl:stylesheet>

2、執行說明:

總體佈局是這樣的:有一個XML文件描述了頁面整體的元素和從屬關係,也就是題目給出的XML文件,還有一個XSL文件對應描述了XML文件中的元素怎麼佈局,有點像HTML和CSS的關係,但是XML文件並不是直接用題目中的就可以,要加上說明語句,說明自己是關聯了哪一個XSL文件,也就是加上下面第二個截圖的第二行語句href說明自己要關聯的XSL文件。

3、這一題的資料夾我會上傳資源,小夥伴用瀏覽器開啟XML文件就可以直接執行看到效果了,有什麼問題歡迎留言^^