什麼是XML(2)----使用XSL來顯示XML文檔

 

XSLXML的可擴展樣式單語言。

XSL (全稱是:可擴展的樣式單語言,the eXtensible Stylesheet Language)CSS樣式單功能要強大的多。XSL的一個主要的用途就是將XML文檔轉換成HTML格式的文件,然後再交付給瀏覽器,由瀏覽器顯示轉換的結果:

<?xml-stylesheet type="text/xsl" href="simple.xsl"?>

實現如圖所示的效果:實現了xml用人們所熟悉的格式表示的轉化。

 

Product.asp的源碼爲:(從數據庫中動態的讀取數據。)

數據庫(auction)的設計:

<%@ Language=VBScript %>

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

<?xml-stylesheet href="auction3.xsl" type="text/xsl"?>

<!DOCTYPE 產品目錄[

<!ELEMENT 產品目錄 ((產品)+)>

<!ELEMENT 產品 (編號,品牌,型號,產品介紹,圖片,拍賣結束時間)>

<!ELEMENT 編號 (#PCDATA)>

<!ELEMENT 品牌 (產品品牌,鏈接拍賣頁)>

<!ELEMENT 產品品牌 (#PCDATA)>

<!ELEMENT 型號 (#PCDATA)>

<!ELEMENT 產品介紹 (#PCDATA)>

<!--<!ELEMENT 圖片 (產品圖片,鏈接拍賣頁)>-->

<!ELEMENT 圖片 (產品圖片)>

<!ELEMENT 產品圖片 (#PCDATA)>

<!ELEMENT 拍賣結束時間 (#PCDATA)>

<!ELEMENT 鏈接拍賣頁 (#PCDATA)>

]>

 

<產品目錄>

<% set conn=server.createobject("adodb.connection")

   conn.open "driver={Microsoft Access Driver (*.mdb)};dbq="& server.mappath("auction.mdb")

   set rs=conn.execute("select * from product")

  

   do while not rs.eof

   mystr=rs("產品圖片")

   mystr=replace(mystr,"#","")

 

linkstr=rs("編號")

linkstr=cstr(linkstr)

linkstr="showbidding.asp?bianhao="&linkstr

   %>

   <產品>

   <編號><%=rs("編號")%></編號>

   <品牌>

   <產品品牌><%=rs("品牌")%></產品品牌>

   <鏈接拍賣頁><%=linkstr%></鏈接拍賣頁>

   </品牌>

   <型號><%=rs("型號")%></型號>

   <產品介紹><%=rs("產品介紹")%></產品介紹>

   <圖片>

   <產品圖片><%=mystr%></產品圖片>

  <!-- <鏈接拍賣頁><%=mystr%></鏈接拍賣頁>-->

   </圖片>

   <拍賣結束時間><%=rs("結束時間")%></拍賣結束時間>

   </產品>

  

   <%

   rs.movenext

   loop

   %>

   </產品目錄>

 

Auction3.xsl的源碼爲:

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

<xsl:stylesheet xmlns:xsl="http://www.w3.org/TR/WD-xsl">

       <xsl:template match="/">

              <html>

                     <body>

                            <xsl:for-each select="產品目錄" order-by="編號">

                                   <tr>

                                          <xsl:apply-templates/>

                                   </tr>

                            </xsl:for-each>

                            <table border="1" cellpadding="0">

                                   <tr style="font-size:10pt;color:#800000;" bgcolor="33ccff">

                                          <th>編號</th>

                                          <th>品牌</th>

                                          <th>型號</th>

                                          <th>產品介紹</th>

                                          <th>圖片</th>

                                          <th>結束時間</th>

                                   </tr>

                                   <xsl:for-each select="產品目錄/產品" order-by="編號">

                                          <tr>

                                                 <xsl:apply-templates/>

                                          </tr>

                                   </xsl:for-each>

                            </table>

                     </body>

              </html>

       </xsl:template>

       <xsl:template match="編號">

              <td width="100" style="font-size:10pt;color:#800000">

                     <center>

                            <xsl:value-of/>

                     </center>

              </td>

       </xsl:template>

       <xsl:template match="品牌">

              <td width="100" style="font-size:10pt;color:#800000">

                     <center>

                            <xsl:element name="A">

                                   <xsl:attribute name="href"><xsl:value-of select="鏈接拍賣頁"/></xsl:attribute>

                                   <xsl:attribute name="target">bottomFrame</xsl:attribute>

                            </xsl:element>

                            <xsl:value-of select="產品品牌"/>

                     </center>

              </td>

       </xsl:template>

       <xsl:template match="型號">

              <td width="100" style="font-size:10pt;color:#800000">

                     <center>

                            <xsl:value-of/>

                     </center>

              </td>

       </xsl:template>

       <xsl:template match="產品介紹">

              <td width="100" style="font-size:10pt;color:#800000">

                     <center>

                            <xsl:value-of/>

                     </center>

              </td>

       </xsl:template>

       <xsl:template match="圖片">

              <td width="400" style="font-size:10pt;color:#800000">

                     <center>

                            <img width="400" height="300">

                                   <xsl:attribute name="src"><xsl:value-of/></xsl:attribute>

                            </img>

                     </center>

              </td>

       </xsl:template>

       <xsl:template match="拍賣結束時間">

              <td width="100" style="font-size:10pt;color:#800000">

                     <center>

                            <xsl:value-of/>

                     </center>

              </td>

       </xsl:template>

</xsl:stylesheet>

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章