XML文件的显示——CSS和XSL(3)

来源:ccidnet.com 时间:2007-10-15 18:48:00 

XSL文件中,除HTML标记外,其他就是XSL自己的标记了。标记有不同的功能。下面介绍XSL中各种可用的标记,大家可以参照它们的功能说明与使用举例,来看看例3中XSL的源文件。

1. xsl:stylesheet:作为XSL样式表中的根元素,在每个XSL文件中都必须有。
属性:default-space:决定是否保留XML文件中的空白,仅当值为“default”时保留。
indent-result:决定是否保留XSL文件中的空白,值为“yes”时保留。
language:设定在XSL文件中使用的脚本语言。
例:〈xsl:stylesheet default-space="default"〉

2. xsl:template:指定XML文件中的特定标记来定义排版样式。
属性:language:指定使用哪种脚本语言。
match:设定从XML文件中哪个标记开始来读取信息,如果值为“/”那么表示从XML文件的根元素开始读取信息。
例:〈xsl:template mach="data/book"〉:表示从XML文件中的〈book〉标记开始读取信息。

3. xsl:value-of:从XML文件中的特定标记中将信息读出来。属性:select:设定读取哪一个标记中的信息。
例:〈xsl:template select="title"〉:表示要从〈title〉标记中将信息读出来。


图3

4. xsl:for-each:将排版样式应用到XML文件中相同的标记(类似于循环语句)。
属性:select:设定从哪一个标记中读取数据。
order-by:在读取信息完成之后,设定依据什么标记来进行排序,值为某一特定标记,如在标记名前用“+”号表示是由大到小的排序,反之用“-”号。例:〈xsl:for-each select="data/book" order-by="-price"〉:因为在XML文件中有多个〈book〉标记,这里设定重复地从〈book〉标记下的子元素中读取信息,将读出来的信息按照价格从小到大进行排序显示。

5. xsl:comment:在此元素中的内容,XSL将它作为注释信息,并不显示在浏览器中。

6. xsl:apply-templates:指示XSL处理器在该XSL样式表中寻找合适的〈xsl:template〉中设定的样式来用。
属性:order-by和select:同xsl:for-each中的属性一样。
例:.......


〈tr〉〈xsl:apply-templates/〉〈/tr〉
..........
〈xsl:template match="book"〉
〈td〉〈xsl:value-of select="author"/〉〈/td〉
〈/xsl:template〉
.........


7. xsl:copy:从XML文件中拷贝标记中的信息到输出的文件中。无属性。
例:.......


〈xsl:template〉
〈xsl:copy〉
〈xsl:value-of /〉
〈/xsl:copy〉
〈/xsl:template〉
...........



此例首先使用〈xsl:copy〉将XML文件中的非标记的信息全部读取出来,然后通过〈xsl:value-of /〉将这些复制的信息显示出来。
8. xsl:if:与一般程序中的If...Then类似。
属性:script:设定script程序所表达的式子。
language:设定使用哪种脚本语言。
test:设定条件的叙述表达式。只有当script属性的设定值传回“true”时(或test属性设置的条件成立),〈xsl:if〉中的内容才会被XSL处理器处理。
例:


〈xsl:if test=".[@sex='男']"〉

〈td〉男〈xsl:value-of /〉〈/td〉

〈/xsl:if〉

9. xsl:choose、xsl:when、xsl:otherwise:这三个元素是用来设定较为复杂的条件式,一般共同配合使用。其中xsl:when有script、language、test三种属性,与前面xsl:if中的属性含义是一样的。
例:


〈xsl:choose〉

〈xsl:when test="wife"〉

〈td〉妻〈xsl:value-of /〉〈/td〉

〈/xsl:when〉

〈xsl:when test="husband"〉

〈td〉夫〈xsl:value-of /〉〈/td〉

〈/xsl:when〉

〈xsl:otherwise〉

〈td〉未婚〈/td〉

〈/xsl:otherwise〉

〈/xsl:choose〉

10.xsl:attribute和xsl:element:可以在标记中附加一个属性名称或新建一个标记。XSL样式表不但可以引用HTML标记,而且也可以建立新的标记和属性,然后一起结合XML文件中的信息来显示。其中,xsl:attribute是在标记中新增一个属性,xsl:element是新建一个标记。它们有共同的属性。
属性:name:为新建的属性指定属性名。
例:假如我们没有〈img〉这种显示图形文件的HTML标记,现在我们在XSL文件中要新增一个这样的标记,名为〈img〉,具有src属性。


〈xsl:template match="image"〉

〈xsl:element name="img"〉

〈xsl:attribute name="src"〉

〈xsl:value-of /〉

〈/xsl:attribute〉

〈/xsl:element>


XSL是显示XML文件的最好的方法,因为它符合XML文件的标准,一切XML有的优点,XSL都具备,而且在功能上也有比CSS更强的地方,所以我们在想要将XML文件内容显示出来的时候,最好优先考虑使用XSL——为了将来的扩展。

标签:xml,xsl,css
0
投稿

猜你喜欢

  • CentOS安装SQL Server vNext CTP1教程

    2024-01-27 22:16:26
  • 交互设计实用指南系列(10)—别让我思考

    2010-03-01 12:50:00
  • MySQL下高可用故障转移方案MHA的超级部署教程

    2024-01-27 13:53:23
  • python中torch.nn.identity()方法详解

    2021-05-21 16:51:01
  • python3 实现自定义切片类为左闭右闭详情

    2022-11-02 11:36:51
  • python基础教程之元组操作使用详解

    2023-11-29 01:18:52
  • MySQL创建用户与授权方法

    2024-01-19 02:43:55
  • Python2.7+pytesser实现简单验证码的识别方法

    2022-01-18 02:37:33
  • 如何利用Python分析出微信朋友男女统计图

    2021-12-03 15:46:09
  • Python获取当前公网ip并自动断开宽带连接实例代码

    2021-08-28 12:40:27
  • Python小白垃圾回收机制入门

    2022-05-20 04:38:42
  • TensorFlow2.0:张量的合并与分割实例

    2022-12-02 13:44:49
  • 教你用Python+selenium搭建自动化测试环境

    2021-10-27 02:52:49
  • Python实现微信好友的数据分析

    2023-10-21 15:54:20
  • PHP调用全国天气预报数据接口查询天气示例

    2023-11-14 03:11:49
  • JavaScript变量声明的var、let、const详解

    2024-05-09 15:07:06
  • C# Ado.net实现读取SQLServer数据库存储过程列表及参数信息示例

    2024-01-12 20:16:06
  • 关于Python dict存中文字符dumps()的问题

    2022-08-22 17:53:17
  • ASP中类的详细介绍(class Property Get、Property Let)

    2008-02-20 19:18:00
  • 微信小程序跳一跳游戏 python脚本跳一跳刷高分技巧

    2023-01-31 22:30:44
  • asp之家 网络编程 m.aspxhome.com