• 2007-08-03

    10:54:09
    by yanliyan
    学习

    xsl学习

    xsl:template的语法是:
     <xsl:template match = pattern
      name = pname
     priority = number
      mode = pname>
      <!-- 执行内容 -->
      </xsl:template>

     xsl:template的作用是定义一个新模板。属性中name,priority,和mode用来区别匹配同一节点的不同模板。它们不是常用的属性。match属性则控制模板的匹配模式(pattern),匹配模式是用来定位XML源文档中哪一个节点被模板处理。一个模板匹配一个节点。我们用一个例子来帮助理解:
      假设我们要处理一个包含章节和段落文档。我们用para元素定义段落,用chapter元素定义章节。我们来看看match属性可能的值。下面的语句写法说明模板匹配所有的para元素
     
     <xsl:template match="para">
     </xsl:template>
     
     下面的语句写法说明模板匹配所有的para元素和所有的chapter元素:
     <xsl:template match="(chapter|para)">
     </xsl:template>
     
      下面的语句写法说明模板匹配所有的父节点为chapter元素的para元素:
     <xsl:template match="chapter//para">
     </xsl:template>
     
    下面的语句写法说明模板匹配根节点:
     <xsl:template match="/">
      </xsl:template>
      
     apply-templates语法:
     <xsl:apply-templates
     select = node set-expression
     mode = qname>
     </xsl:apply-templates>
     
    xsl:apply-templates用来执行那一个节点被模板具体处理。你可以将它理解为程序中调用子函数。select属性用来定义确切的节点名称。xsl:apply-templates总是包含在xsl:template元素中,象这样:
     <xsl:template match="/">
     <xsl:apply-templates select="para"/>
      </xsl:template>
     

    这段代码说明摸板匹配整个文档(根节点),具体执行时处理根节点下所有para元素。
     <xsl:template match="para">
     <xsl:apply-templates/>
     </xsl:template>
     
    而这一段代码则表示摸板匹配para节点,所有para下的子元素都将被处理

    xsl:value-of 用来将源文档中元素的文本值写到输出文档中。xsl:value-of 语法说明需要输出一个节点的值,比如select="name"则定义需要被输出的元素为name。看这个过程是不是和数据库里查询一个人的名字很象?当然,xsl:value-of查询还有更多,更复杂的语法。 
     同样功能的还有xsl:copy-of,用法一样. 
     

    xsl:for-each 语法允许你循环处理被选择的节点

    xsl:if 类似普通程序语言的if条件语句,允许设定节点满足某个条件时,被模板处理。

    xsl:if的语法格式为:
     
     <xsl:if test=布尔表达式>
     
     template body
     </xsl:if>
     例:
     <xsl:template match="person">
     <xsl:if test="@name"> 
      <p><xsl:value-of select="@name"/></p>
      </xsl:if>
     </xsl:template>
      这段代码的意思是检测person节点下所有的元素,如果发现有<name>元素,则将<name>元素的值输出。其中@符号是通配符,表示节点下所有的元素。
     
     xsl:choose, xsl:when 和 xsl:otherwise
     
    xsl:if语法没有else的属性。如果要进行多项选择,那么就要使用xsl:choose / xsl:when / xsl:otherwise系列流程控制语法了。具体的使用请看下面的XSL文件例子:
     
     <xsl:template match="person">
     <xsl:choose>
     <xsl:when test="@name = 'yan'">
     <xsl:value-of select="@name"/>
     </xsl:when>
     <xsl:when test="@name">
     <xsl:value-of select="@name"/>
     </xsl:when> 
     <xsl:otherwise>
      No name  </xsl:otherwise>
     <xsl:choose>
     </xsl:template>
     
    首先在person节点下寻找<name>属性值为yan的元素,如果找到,将yan输出;如果没有发现值为yan的<name>元素,则将所有的<name>元素的值都输出;如果没有发现任何<name>元素,则显示"No
     name "。 
     

     xsl:sort
     在XSLT中可以对XML源文档的元素进行重新排序,排序的语法就是xsl:sort。

    例:将文档元素按name排序。
     <xsl:template match="person">
     <xsl:apply-templates select="PERSON">
     <xsl:sort select="@name"/>
     </xsl:apply-templates>
      </xsl:template>

  • 2007-08-02

    17:13:53
    by yanliyan
    情感

    鱼和水的对白〔转〕--经典

  • 2007-07-31

    21:14:08
    by yanliyan
    情感

    结婚的意义〔转〕

  • 2007-07-29

    15:14:17
    by yanliyan
    学习

    跨页面数据发送

    ASP.NET 2.0可以使用PreviusPage对象执行跨ASP.NET程序的Web窗体回发。

    比如要把botton1CS.aspx页里TextBox1里的文本数据发送到botton2CS.aspx页面进行处理:

    在botton1CS.aspx拉一个TextBox1控件,id="TextBox1";然后拉一个botton控件botton1,Button1的PostBackUrl="~/botton2CS.aspx";

    在botton2CS.aspx拉一个Label1, Label1.Text += "您输入的值:" + ((TextBox)PreviousPage.FindControl("TextBox1")).Text;

  • 2007-07-28

    15:49:50
    by yanliyan
    学习

    meta标签

    meta标签的常见功能:
    1、帮助主页被各大搜索引擎登录
    2、定义页面的使用语言
    3、自动刷新并指向新的页面
    4、实现网页转换时的动画效果
    5、网页定级评价
    6、控制页面缓冲
    7、控制网页显示的窗口。
    meta是用来在HTML文档中模拟HTTP协议的响应头报文。
    meta 的属性有两种:name和http-equiv。
    name属性主要用于描述网页,对应于content(网页内容),以便于搜索引擎机器人查找、分类(目前几乎所有的搜索引擎都使用网上机器人自动查找meta值来给网页分类)。这其中最重要的是description(站点在搜索引擎上的描述)和keywords(分类关键词),所以应该给每页加一个meta值。
    name 属性
    1、<meta name="Generator" contect="editplus">用以说明生成工具(如Microsoft FrontPage 4.0)等;

    2、<meta name="KEYWords" contect="cnbruce,cnrose">向搜索引擎说明你的网页的关键词;

    3、<meta name="Description" contect="cnbruce's blog">告诉搜索引擎你的站点的主要内容;

    4、<meta name="Author" contect="cnbruce">告诉搜索引擎你的站点的制作的作者;

    5、<meta name="Robots" contect="all|none|index|noindex|follow|nofollow">
    其中的属性说明如下:
    设定为all:文件将被检索,且页面上的链接可以被查询;
    设定为none:文件将不被检索,且页面上的链接不可以被查询;
    设定为index:文件将被检索;
    设定为follow:页面上的链接可以被查询;
    设定为noindex:文件将不被检索,但页面上的链接可以被查询;
    设定为nofollow:文件将不被检索,页面上的链接可以被查询。
    http-equiv属性
    1、<meta http-equiv="Content-Type" contect="text/html";charset=gb_2312-80">和 <meta http-equiv="Content-Language" contect="zh-CN">用以说明主页制作所使用的文字以及语言;又如英文是ISO-8859-1字符集,还有BIG5、utf-8、shift-Jis、Euc、Koi8-2等字符集;

    2、<meta http-equiv="Refresh" content="n; url=http://yourlink"> 定时让网页在指定的时间n秒内,跳转到页面http;//yourlink;

    3、<meta http-equiv="Expires" contect="Mon,12 May 2001 00:20:00 GMT">可以用于设定网页的到期时间,一旦过期则必须到服务器上重新调用。需要注意的是必须使用GMT时间格式;

    4、<meta http-equiv="Pragma" contect="no-cache">是用于设定禁止浏览器从本地机的缓存中调阅页面内容,设定后一旦离开网页就无法从Cache中再调出;

    5、<meta http-equiv="set-cookie" contect="Mon,12 May 2004 00:20:00 GMT">cookie设定,如果网页过期,存盘的cookie将被删除。需要注意的也是必须使用GMT时间格式;

    6、<meta http-equiv="Pics-label" contect="">网页等级评定,在IE的internet选项中有一项内容设置,可以防止浏览一些受限制的网站,而网站的限制级别就是通过meta属性来设置的;

    7、<meta http-equiv="windows-Target" contect="_top">强制页面在当前窗口中以独立页面显示,可以防止自己的网页被别人当作一个frame页调用;

    8、<meta http-equiv="Page-Enter" contect="revealTrans(duration=10,transtion= 50)">和<meta http-equiv="Page-Exit" contect="revealTrans(duration=20,transtion=6)">设定进入和离开页面时的特殊效果,这个功能即FrontPage中的“格式/网页过渡”,不过所加的页面不能够是一个frame页面。
    Duration的值为网页动态过渡的时间,单位为秒。
    Transition是过渡方式,它的值为0到23,分别对应24种过渡方式。如下表:
    0 盒状收缩
    1 盒状放射
    2 圆形收缩
     3 圆形放射
    4 由下往上
     5 由上往下
    6 从左至右
    7 从右至左
    8 垂直百叶窗
    9 水平百叶窗
    10 水平格状百叶窗
     11垂直格状百叶窗
    12 随意溶解
    13从左右两端向中间展开
    14从中间向左右两端展开
    15从上下两端向中间展开
    16从中间向上下两端展开
    17 从右上角向左下角展开
    18 从右下角向左上角展开
    19 从左上角向右下角展开
    20 从左下角向右上角展开
    21 水平线状展开
    22 垂直线状展开
    23 随机产生一种过渡方式