结合我的XSLT类的一个例子 - 2 ( asp )

下面的代码是结合http://blog.csdn.net/cds27/archive/2006/05/08/712546.aspx 的一个例子。
也可以直接到http://cds.gameres.com/samples/SankOrange'sXslt_asp.rar 下载代码。

该例子主要示范用我的xslt类,实现ASP中XML+XSL输出HTML的方法,同时它和JS的例子略微不同的是输出的方式不一样。这种方式可以避免无法设置HTML中的charset带来的编码问题。

另外,这下面的XML和XSL,也可以作为新手学习XML+XSL的参考代码。

ASP:

<%@LANGUAGE="JAVASCRIPT" CODEPAGE="936"%>
<script language="javascript" src="XsltClass.js" runat="server"></script>
<%
var xmlName=Server.MapPath("Main.xml");
var xslName=Server.MapPath("Main.xsl");
oXslt=new XsltClass(xmlName, xslName);
oXslt.output(Response);
//Response.Write(oXslt.output()); //假如这么写,页面的charset就会被设置成utf-16.
%>

-----------------------------------------

Main.xsl:

<?xml version="1.0" encoding="GB2312"?>
<xsl:stylesheet version="2.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
 <xsl:output method="html" indent="yes" encoding="gb2312" include-content-type="yes"/>
 <xsl:template match="/">
  <xsl:apply-templates/>
 </xsl:template>
 <xsl:template match="Main">
  <html>
   <head>
    <xsl:apply-templates select="Head"/>
   </head>
   <body><xsl:apply-templates select="Body"/></body>
  </html>
 </xsl:template>
 <xsl:template match="Head">
  <title><xsl:value-of select="Title"/></title>
 </xsl:template>
 <xsl:template match="Body">
  <xsl:apply-templates/>
 </xsl:template>
 <xsl:template match="Container">
  <div id="Container">
   <xsl:apply-templates/>
  </div>
 </xsl:template>
 <xsl:template match="PageHead">
  <h1><xsl:apply-templates/></h1>
 </xsl:template>
 <xsl:template match="Menu">
  <ul id="Menu">
   <xsl:apply-templates/>
  </ul>
 </xsl:template>
 <xsl:template match="Item">
  <li><a href="{Href/text()}"><xsl:value-of _fcksavedurl=""{Href/text()}"><xsl:value-of" _fcksavedurl=""{Href/text()}"><xsl:value-of" _fcksavedurl=""{Href/text()}"><xsl:value-of" select="Caption/text()"/></a></li>
 </xsl:template>
 <xsl:template match="PageFoot">
  <p><xsl:apply-templates/></p>
 </xsl:template>
</xsl:stylesheet>

-----------------------------------------

Main.xml:

<?xml version="1.0" encoding="GB2312"?>
<?xml-stylesheet type="text/xsl" href="main.xsl"?>
<Main>
 <Head>
  <Title>Sank orange 个人站点</Title>
 </Head>
 <Body>
  <Container>
   <PageHead>Sank orange 个人站点 </PageHead>
   <Menu>
    <Item>
     <Href>index.asp</Href>
     <Caption>首页</Caption>
    </Item>
    <Item>
     <Href>link1.asp</Href>
     <Caption>链接1</Caption>
    </Item>
    <Item>
     <Href>link2.asp</Href>
     <Caption>链接2</Caption>
    </Item>
   </Menu>
   <PageFoot><Copyright>Copyright 2006 Sank Orange,All rights reserved</Copyright></PageFoot>
  </Container>
 </Body>
</Main>

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值