天天看點

MSN 曆史紀錄分頁顯示(XML + XSL + Javascript)

MSN自帶的XSL無分業功能,寫一個簡單的分頁XSL:

将此檔案替換MSN原有的XSL檔案:MessageLog.xsl 即可 

MSN 曆史紀錄分頁顯示(XML + XSL + Javascript)

<?

xml version="1.0"

?>

MSN 曆史紀錄分頁顯示(XML + XSL + Javascript)

<

xsl:stylesheet 

xmlns:xsl

="http://www.w3.org/1999/XSL/Transform"

 version

="1.0"

>

MSN 曆史紀錄分頁顯示(XML + XSL + Javascript)
MSN 曆史紀錄分頁顯示(XML + XSL + Javascript)

<

xsl:variable 

name

="PageCount"

>

10

</

xsl:variable

>

MSN 曆史紀錄分頁顯示(XML + XSL + Javascript)
MSN 曆史紀錄分頁顯示(XML + XSL + Javascript)

<

xsl:template 

match

="/"

>

MSN 曆史紀錄分頁顯示(XML + XSL + Javascript)

<

html

>

MSN 曆史紀錄分頁顯示(XML + XSL + Javascript)

<

head

>

MSN 曆史紀錄分頁顯示(XML + XSL + Javascript)

<

title

>

Msn Chat History

</

title

>

MSN 曆史紀錄分頁顯示(XML + XSL + Javascript)

<

style 

type

="text/css"

>

MSN 曆史紀錄分頁顯示(XML + XSL + Javascript)

          body,td

MSN 曆史紀錄分頁顯示(XML + XSL + Javascript)

          {

MSN 曆史紀錄分頁顯示(XML + XSL + Javascript)

          font-size:14px;

MSN 曆史紀錄分頁顯示(XML + XSL + Javascript)

          }

MSN 曆史紀錄分頁顯示(XML + XSL + Javascript)

          .FirstCSS

MSN 曆史紀錄分頁顯示(XML + XSL + Javascript)

          {

MSN 曆史紀錄分頁顯示(XML + XSL + Javascript)

          color:#003366;

MSN 曆史紀錄分頁顯示(XML + XSL + Javascript)

          background-color:#FFFFFF;

MSN 曆史紀錄分頁顯示(XML + XSL + Javascript)

          }

MSN 曆史紀錄分頁顯示(XML + XSL + Javascript)

          .PagesCss

MSN 曆史紀錄分頁顯示(XML + XSL + Javascript)

          {

MSN 曆史紀錄分頁顯示(XML + XSL + Javascript)

          color:#003366;

MSN 曆史紀錄分頁顯示(XML + XSL + Javascript)

          font-size:13px;

MSN 曆史紀錄分頁顯示(XML + XSL + Javascript)

          }

MSN 曆史紀錄分頁顯示(XML + XSL + Javascript)

</

style

>

MSN 曆史紀錄分頁顯示(XML + XSL + Javascript)

<

script 

langauge

="javascript"

>

MSN 曆史紀錄分頁顯示(XML + XSL + Javascript)

<

xsl:comment

>

MSN 曆史紀錄分頁顯示(XML + XSL + Javascript)

<![CDATA[

MSN 曆史紀錄分頁顯示(XML + XSL + Javascript)

              var CurrentPage = 1;

MSN 曆史紀錄分頁顯示(XML + XSL + Javascript)

              var PageCount = 10;

MSN 曆史紀錄分頁顯示(XML + XSL + Javascript)
MSN 曆史紀錄分頁顯示(XML + XSL + Javascript)

              function InitMessage()

MSN 曆史紀錄分頁顯示(XML + XSL + Javascript)

              {

MSN 曆史紀錄分頁顯示(XML + XSL + Javascript)

                LblMessage.innerHTML = "[Totle: "+ GetTotlePage() +"  ,Current:"+ CurrentPage +"]";

MSN 曆史紀錄分頁顯示(XML + XSL + Javascript)

              }

MSN 曆史紀錄分頁顯示(XML + XSL + Javascript)

              function GetTotlePage()

MSN 曆史紀錄分頁顯示(XML + XSL + Javascript)

              {

MSN 曆史紀錄分頁顯示(XML + XSL + Javascript)

                var XMLObj = document.XMLDocument;                                    

MSN 曆史紀錄分頁顯示(XML + XSL + Javascript)

                var totlePage = XMLObj.documentElement.selectNodes("//Message");   

MSN 曆史紀錄分頁顯示(XML + XSL + Javascript)

                if( parseInt(totlePage.length/10)*10 == totlePage.length )

MSN 曆史紀錄分頁顯示(XML + XSL + Javascript)

                  totlePage =  parseInt(totlePage.length/PageCount);

MSN 曆史紀錄分頁顯示(XML + XSL + Javascript)

                else

MSN 曆史紀錄分頁顯示(XML + XSL + Javascript)

                  totlePage =  parseInt(totlePage.length/PageCount) + 1;

MSN 曆史紀錄分頁顯示(XML + XSL + Javascript)
MSN 曆史紀錄分頁顯示(XML + XSL + Javascript)

                return totlePage;

MSN 曆史紀錄分頁顯示(XML + XSL + Javascript)

              }

MSN 曆史紀錄分頁顯示(XML + XSL + Javascript)

              function PageChange( expr )

MSN 曆史紀錄分頁顯示(XML + XSL + Javascript)

              {

MSN 曆史紀錄分頁顯示(XML + XSL + Javascript)

                switch( expr  )

MSN 曆史紀錄分頁顯示(XML + XSL + Javascript)

                {

MSN 曆史紀錄分頁顯示(XML + XSL + Javascript)

                  case "F":

MSN 曆史紀錄分頁顯示(XML + XSL + Javascript)

                    CurrentPage = 1;

MSN 曆史紀錄分頁顯示(XML + XSL + Javascript)

                    break;

MSN 曆史紀錄分頁顯示(XML + XSL + Javascript)

                  case "P":

MSN 曆史紀錄分頁顯示(XML + XSL + Javascript)

                    if(CurrentPage>1)

MSN 曆史紀錄分頁顯示(XML + XSL + Javascript)

                      CurrentPage -= 1;

MSN 曆史紀錄分頁顯示(XML + XSL + Javascript)

                    break;

MSN 曆史紀錄分頁顯示(XML + XSL + Javascript)

                  case "N":

MSN 曆史紀錄分頁顯示(XML + XSL + Javascript)

                  if(CurrentPage<GetTotlePage())

MSN 曆史紀錄分頁顯示(XML + XSL + Javascript)

                    CurrentPage += 1;

MSN 曆史紀錄分頁顯示(XML + XSL + Javascript)

                    break;

MSN 曆史紀錄分頁顯示(XML + XSL + Javascript)

                  case "L":

MSN 曆史紀錄分頁顯示(XML + XSL + Javascript)

                    CurrentPage = GetTotlePage();

MSN 曆史紀錄分頁顯示(XML + XSL + Javascript)

                    break;

MSN 曆史紀錄分頁顯示(XML + XSL + Javascript)

                }

MSN 曆史紀錄分頁顯示(XML + XSL + Javascript)

                var XSLObj = document.XSLDocument;

MSN 曆史紀錄分頁顯示(XML + XSL + Javascript)

                var XMLObj = document.XMLDocument;                                    

MSN 曆史紀錄分頁顯示(XML + XSL + Javascript)

                var expr = "Message[position() < "+ CurrentPage*PageCount +" and position() > "+ (CurrentPage-1)*PageCount +"]";                            

MSN 曆史紀錄分頁顯示(XML + XSL + Javascript)

                document.XSLDocument.selectSingleNode("//xsl:for-each/@select").value = expr;        

MSN 曆史紀錄分頁顯示(XML + XSL + Javascript)

                ConXML.innerHTML = XMLObj.documentElement.transformNode(XSLObj);

MSN 曆史紀錄分頁顯示(XML + XSL + Javascript)

                LblMessage.innerHTML = "[Totle: "+ GetTotlePage() +"  ,Current:"+ CurrentPage +"]";

MSN 曆史紀錄分頁顯示(XML + XSL + Javascript)

              }

MSN 曆史紀錄分頁顯示(XML + XSL + Javascript)
MSN 曆史紀錄分頁顯示(XML + XSL + Javascript)

]]>

MSN 曆史紀錄分頁顯示(XML + XSL + Javascript)

</

xsl:comment

>

MSN 曆史紀錄分頁顯示(XML + XSL + Javascript)

</

script

>

MSN 曆史紀錄分頁顯示(XML + XSL + Javascript)
MSN 曆史紀錄分頁顯示(XML + XSL + Javascript)

</

head

>

MSN 曆史紀錄分頁顯示(XML + XSL + Javascript)

<

body 

class

="document_body"

 onload

="InitMessage()"

>

MSN 曆史紀錄分頁顯示(XML + XSL + Javascript)

<

h1

>

MSN 曆史紀錄分頁顯示(XML + XSL + Javascript)

<

xsl:value-of 

select

="Log/Message/From/User/@FriendlyName"

/>

MSN 曆史紀錄分頁顯示(XML + XSL + Javascript)

          Chat With

MSN 曆史紀錄分頁顯示(XML + XSL + Javascript)

<

xsl:value-of 

select

="Log/Message/To/User/@FriendlyName"

/>

MSN 曆史紀錄分頁顯示(XML + XSL + Javascript)

</

h1

>

MSN 曆史紀錄分頁顯示(XML + XSL + Javascript)

<

div 

id

="ConXML"

>

MSN 曆史紀錄分頁顯示(XML + XSL + Javascript)

<

xsl:apply-templates 

select

="Log"

></

xsl:apply-templates

>

MSN 曆史紀錄分頁顯示(XML + XSL + Javascript)

</

div

>

MSN 曆史紀錄分頁顯示(XML + XSL + Javascript)

</

body

>

MSN 曆史紀錄分頁顯示(XML + XSL + Javascript)

</

html

>

MSN 曆史紀錄分頁顯示(XML + XSL + Javascript)

</

xsl:template

>

MSN 曆史紀錄分頁顯示(XML + XSL + Javascript)
MSN 曆史紀錄分頁顯示(XML + XSL + Javascript)

<

xsl:template 

match

="Log"

>

MSN 曆史紀錄分頁顯示(XML + XSL + Javascript)

<

table 

width

="100%"

 cellspacing

="1"

 cellpadding

="1"

 border

="0"

 bgcolor

="#6699AA"

>

MSN 曆史紀錄分頁顯示(XML + XSL + Javascript)

<

tr 

bgcolor

="#DDDDDD"

>

MSN 曆史紀錄分頁顯示(XML + XSL + Javascript)

<

td

>

SessionID

</

td

>

MSN 曆史紀錄分頁顯示(XML + XSL + Javascript)

<

td

>

From

</

td

>

MSN 曆史紀錄分頁顯示(XML + XSL + Javascript)

<

td

>

To

</

td

>

MSN 曆史紀錄分頁顯示(XML + XSL + Javascript)

<

td

>

Time

</

td

>

MSN 曆史紀錄分頁顯示(XML + XSL + Javascript)

<

td

>

Text

</

td

>

MSN 曆史紀錄分頁顯示(XML + XSL + Javascript)

</

tr

>

MSN 曆史紀錄分頁顯示(XML + XSL + Javascript)

<

xsl:for-each 

select

="Message[position() &lt; $PageCount]"

>

MSN 曆史紀錄分頁顯示(XML + XSL + Javascript)

<

xsl:sort 

order

="ascending"

 select

="@SessionID"

 data-type

="number"

></

xsl:sort

>

MSN 曆史紀錄分頁顯示(XML + XSL + Javascript)

<

tr 

class

="FirstCSS"

>

MSN 曆史紀錄分頁顯示(XML + XSL + Javascript)

<

td

>

MSN 曆史紀錄分頁顯示(XML + XSL + Javascript)

<

xsl:value-of 

select

="@SessionID"

/>

MSN 曆史紀錄分頁顯示(XML + XSL + Javascript)
MSN 曆史紀錄分頁顯示(XML + XSL + Javascript)

</

td

>

MSN 曆史紀錄分頁顯示(XML + XSL + Javascript)

<

td

>

MSN 曆史紀錄分頁顯示(XML + XSL + Javascript)

<

xsl:value-of 

select

="From/User/@FriendlyName"

/>

MSN 曆史紀錄分頁顯示(XML + XSL + Javascript)

</

td

>

MSN 曆史紀錄分頁顯示(XML + XSL + Javascript)

<

td

>

MSN 曆史紀錄分頁顯示(XML + XSL + Javascript)

<

xsl:value-of 

select

="To/User/@FriendlyName"

/>

MSN 曆史紀錄分頁顯示(XML + XSL + Javascript)

</

td

>

MSN 曆史紀錄分頁顯示(XML + XSL + Javascript)

<

td

>

MSN 曆史紀錄分頁顯示(XML + XSL + Javascript)

<

xsl:value-of 

select

="@Time"

/>

MSN 曆史紀錄分頁顯示(XML + XSL + Javascript)

</

td

>

MSN 曆史紀錄分頁顯示(XML + XSL + Javascript)

<

td

>

MSN 曆史紀錄分頁顯示(XML + XSL + Javascript)

<

xsl:value-of 

select

="string(Text)"

/>

MSN 曆史紀錄分頁顯示(XML + XSL + Javascript)

</

td

>

MSN 曆史紀錄分頁顯示(XML + XSL + Javascript)

</

tr

>

MSN 曆史紀錄分頁顯示(XML + XSL + Javascript)

</

xsl:for-each

>

MSN 曆史紀錄分頁顯示(XML + XSL + Javascript)

<

tr 

bgcolor

="#DDDDDD"

>

MSN 曆史紀錄分頁顯示(XML + XSL + Javascript)

<

td 

colspan

="5"

 align

="right"

>

MSN 曆史紀錄分頁顯示(XML + XSL + Javascript)

<

span 

class

="PagesCss"

>

MSN 曆史紀錄分頁顯示(XML + XSL + Javascript)

<

span 

id

="LblMessage"

></

span

>

MSN 曆史紀錄分頁顯示(XML + XSL + Javascript)

            [

<

span 

onclick

="PageChange('F')"

 style

="cursor:hand"

>

 First 

</

span

>

]

MSN 曆史紀錄分頁顯示(XML + XSL + Javascript)

            [

<

span 

onclick

="PageChange('P')"

 style

="cursor:hand"

>

 Previous 

</

span

>

]

MSN 曆史紀錄分頁顯示(XML + XSL + Javascript)

            [

<

span 

onclick

="PageChange('N')"

 style

="cursor:hand"

>

 Next 

</

span

>

]

MSN 曆史紀錄分頁顯示(XML + XSL + Javascript)

            [

<

span 

onclick

="PageChange('L')"

 style

="cursor:hand"

>

 Last 

</

span

>

]

MSN 曆史紀錄分頁顯示(XML + XSL + Javascript)

</

span

>

MSN 曆史紀錄分頁顯示(XML + XSL + Javascript)

</

td

>

MSN 曆史紀錄分頁顯示(XML + XSL + Javascript)

</

tr

>

MSN 曆史紀錄分頁顯示(XML + XSL + Javascript)

</

table

>

MSN 曆史紀錄分頁顯示(XML + XSL + Javascript)

繼續閱讀