Roclog 主题引擎 XSLT 附加说明

果然,豆子真的很强,像神人一样。相比起来,我真的很羡慕他能有这么好的逻辑思维能力。

刚刚看完他写的 XSLT 的制作方式,写了很多,都是具有具体针对性的,逻辑性虽然不大好,不过罗列出来的都是容易犯错的地方。非常推荐大家去看看——《关于洛克龙阁使用XSLT模版引擎的一些使用心得和皮肤制作方法》。

下面,我来补充一下在帅豆的文章里说了不是很明白,或者不知道是啥东西的地方,其中一个当然是充满邪恶的 <xsl:param.../> 语句。

这个语句的 name 名是可以自定义的,随便乱写什么都可以。不过要说明一下,在调用你自己命名的 name 的时候,是有关联性的,必须是你将参数调用进来时候的节点下属才行。我们以一个例子来解释一下,首先,我们定义一个用来调用的区块(一般存在于 UI.xsl 里)。

  1. <!--定义一个模板区块,那么,就叫 my_demo 把,——我的例子--> 
  2. <xsl:template name="my_demo"> 
  3.     <!--然后,创建一个参数 myParAAAAm,我的参数~我尽量把能自定义的变量写得乱一些,这样大家可能会好理解些--> 
  4.     <xsl:param name="myParAAAAm"/> 
  5.     <!--然后,我们输出这个参数下的一个方法,就用公告举例吧(这里我们先不管到底有没有 Affiche 这个方法,我就是想要调用这东西,咋滴?不行吗?^_^)--> 
  6.     <xsl:value-of select="$myParAAAAm.Affiche"/> 
  7. </xsl:template> 

在主题包插入脚本的方法和注意事项

有的朋友会在主题包里设置自己的统计或广告脚本,但是加进去老是出错,这里和大家说一下方法和需要注意的地方。

2009-05-21 新增 Google 代码添加方法。

首先,我拿站长统计的代码做个示范。如下,如果直接加入,会出错,因为代码并不规范。

  1. <script src="http://s107.cnzz.com/stat.php?id=815284&web_id=815284" language="JavaScript" charset="gb2312"></script> 

以上是默认的统计代码,但是并不可以直接加上去,我们需要修改成:

  1. <script src="http://s107.cnzz.com/stat.php?id=815284&amp;web_id=815284" language="JavaScript" charset="gb2312">;</script> 

XSLT 初学者(xsl:value-of)

好久没有更新这一系列的文章了,今天我们就随便看一下 <xsl:value-of.../> 标签的用法好了。

此标签有一个非常重要的属性,那就是 select 属性。用于选择相对的数据 XML 的节点位置。我们就用“XSLT 初学者(构造)”里的 XML 来作为数据源,就是这一部分了:

  1. <table border="1"> 
  2. <tr bgcolor="#CCCCCC"> 
  3. <th>姓名</th><th>性别</th> 
  4. </tr> 
  5. <xsl:for-each select="users/user"> 
  6. <tr> 
  7. <td><xsl:value-of select="name"/></td><td><xsl:value-of select="sex"/></td> 
  8. </tr> 
  9. </xsl:for-each> 
  10. </table> 

XSLT 初学者(注意规范)

距离上一节内容,已经相隔数个星期了,因为一直在忙新系统的制作和老系统的更新,所以一直没时间给大家写新的教程。那么,在这一节里,我就集合上一节给大家说到的 <xsl:template>...</xsl:template> 标签说明一下一些应该注意的地方。

XSLT 文件采用的是 XML 格式,当然制作要求也是非常严格,大家已经不能再像做一个简单的 HTML 页面那样随随便便就弄完,不管到底规不规范。在 XSLT 里可不是这么回事,小小的一个字符错误就有可能造成无法解读的情况。

不得不说的就是 & 字符了。这算是个 HTML 里比较特殊的字符,比如一段代码:

  1. <a href="index.do?cate=note&id=7"></a> 

XSLT 初学者(xsl:template)

好了,从这一节开始,我们的课程将是以对象标签名来命名,也就是说,今后的课程不在又顺序可言,都是针对某个标签来作解释。这一节我们要将的是 XSLT 中最为重要的一个标签:<xsl:template>...</xsl:template>,他的作用,则是用于构建模板代码以便前台输出显示。

这个标签拥有两个属性,一个是 match,另一个则是 name 属性。我们先来说说 match 属性的作用。match 属性用于关联 XML 元素和模板。match 属性也可用来为整个文档定义模板。

match 属性的值是 XPath 表达式(举例,match="/" 定义相对的 XML 数据文档的根标签)。拿第二节的例子来解释,则可以是 match="/",也可以是 match="users",但是两种方法的运用有布同。如果是“/”,则下面运用到的 XPath 表达式都可能要跟一个“users/user”表达,如果使用后者,则可以直接使用“user”来表达。下面是两种布同方法的例子。

XSLT 初学者(构造)

上面一节我们说了一下创建 XSLT 文件的方式。这一节,我们将和大家介绍怎么样把 XML 输出为 XSLT 设置的模板格式来显示。

首先,我们需要一个用作数据源的 XML 文档(user.xml):

  1. <?xml version="1.0" encoding="utf-8"?> 
  2. <users> 
  3.     <user> 
  4.         <name><![CDATA[Roc]]></name> 
  5.         <sex><![CDATA[男]]></sex> 
  6.     </user> 
  7.     <user> 
  8.         <name><![CDATA[曼尼]]></name> 
  9.         <sex><![CDATA[女]]></sex> 
  10.     </user> 
  11.     <user> 
  12.         <name><![CDATA[汤尼尔]]></name> 
  13.         <sex><![CDATA[男]]></sex> 
  14.     </user> 
  15. </users> 

好了,就先怎么多,三条数据,意义为一个用户表。中间加了 <![CDATA[]]> 标签,是为了数据为空的时候不至于出现 null 值,另外也能确保别的语句能正确地对应 XML 文档。

XSLT 初学者(介绍)

先前跟大家介绍过一点点这个东西。对于用来 XML 的排版,相信已经有很多系统采用了这种格式的文件来作为 XML 文件的“样式表”。但是我从这一节开始说的,是针对于 .NET Framework 2.0 的 XML+XSLT 的运行机制来让大家熟悉并使用这种东西。当然,一如既往的,针对初学者。毕竟我也不是特别懂这个东西,就算是和大家共同进步好了。

前言就这么多,下面就开始介绍了。

什么是 XSLT 呢?下面是摘录网上的一段解释:

XSLT 用于将一种 XML 文档转换为另外一种 XML 文档,或者可被浏览器识别的其他类型的文档,比如 HTML 和 XHTML。通常,XSLT 是通过把每个 XML 元素转换为 (X)HTML 元素来完成这项工作的。

通过 XSLT,您可以向或者从输出文件添加或移除元素和属性。您也可重新排列元素,执行测试并决定隐藏或显示哪个元素,等等。

总的来说,XSLT 就像是 XML 的样式表一样。XML 作为数据源,而 XSLT 就将这个数据来进行一定的排版。

那种东西,让我改变了想法

先前,我一直认为 PHP 是很好的语言,虽然认为语言没有好坏之分的我一直是这么认为,因为最起码,不用那么复杂就可以实现一些东西。

大家都说,PHP 本身就是个模板引擎,我也是这么认为。出错率少,而且容易附加加载。后来,我换成了使用 ASP.net,一直在为模板引擎的事情头疼。花了一个月时间自己写出来一个模板引擎,还不怎么好用,而且正则替换用得多了,效率也在直线下降。

今年是二零零九年了,想让我的新版本博客也牛气冲天,可是能力有限,没办法做到。有一天,周宇老师跟我说到了 XSLT 这种东西先前不大了解是怎么用,可是后来我发现,这真是一个非常强大的模板引擎,我换成 ASP.net 这种语言,算是选对了。

1/1, 8«1»

Powered by Roclog v5.0.24.0

Copyright © 2009-2010 Roclog 官方网站. All rights reserved.

滇ICP备09002287号

本站带宽资源由风云互联提供, 统计由提供