白桦的天空

第一次的心动,永远的心痛!
  首页  :: 新随笔  :: 联系 :: 管理

Channel_Subscription.xslt 解析RSS频道的XML

Posted on 2005-04-07 10:10  白桦的天空  阅读(384)  评论(0编辑  收藏  举报

<?xml version="1.0" encoding="GB2312"?>
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
 <xsl:template match="/">
  <HTML>
   <HEAD>
    <TITLE>栏目分类</TITLE>
    <style>
    
#foldheader
{
cursor:hand;
list-style-image:url(fold.gif)
}
#foldinglist
{
list-style-image:url(list.gif)
}

    </style>
    <link href="index.css" rel="stylesheet" type="text/css"/>
    <SCRIPT src="js/a1.js"/>
   </HEAD>
   <BODY>
    <xsl:for-each select="opml/body/outline">
     <xsl:value-of select="@title"/>
     <ul>
      <xsl:call-template name="outline1"/>
     </ul>
    </xsl:for-each>
    <SCRIPT src="js/a2.js"/>
   </BODY>
  </HTML>
 </xsl:template>
 <xsl:template name="outline1">
  <xsl:for-each select="outline">
   <xsl:choose>
    <xsl:when test="@xmlUrl!=''">
     <li>
      <a target="mainFrame">
       <xsl:attribute name="href">Right.aspx?xml_source=<xsl:value-of select="@xmlUrl"/></xsl:attribute>
       <xsl:value-of select="@title"/>
      </a>
     </li>
    </xsl:when>
    <xsl:otherwise>
     <li id="foldheader">
      <xsl:value-of select="@title"/>
     </li>
    </xsl:otherwise>
   </xsl:choose>
   <ul id="foldinglist" style="display:none">
    <xsl:call-template name="outline2"/>
   </ul>
  </xsl:for-each>
 </xsl:template>
 <xsl:template name="outline2">
  <xsl:for-each select="outline">
   <xsl:choose>
    <xsl:when test="*[@xmlUrl='']">
     <li>
      <xsl:value-of select="@title"/>
     </li>
    </xsl:when>
    <xsl:otherwise>
     <li>
      <a target="mainFrame">
       <xsl:attribute name="href">Right.aspx?xml_source=<xsl:value-of select="@xmlUrl"/></xsl:attribute>
       <xsl:value-of select="@title"/>
      </a>
     </li>
    </xsl:otherwise>
   </xsl:choose>
  </xsl:for-each>
 </xsl:template>
</xsl:stylesheet>