XML文件的显示——CSS和XSL

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

CSS(叠层样式表)和XSL(可扩展样式语言)都可以定义XML文件的显示,这两种方式有哪些不同以及它们在使用中的具体方法,我们将在本文给予介绍。

在XML文件中,使用的基本上是自定义的标记,显然一个浏览器是无法理解这些标记的,现在,浏览器仅仅是作为一个XML文件的解析器——只要你的XML文件是Well-Formed的,那么它就将文件原封不动地给你显示出来。在XML中内容与表现形式是分开的,在一个XML的源文件中并没有关于它表现形式的信息。XML的最大特点就是揭示了信息本身的含义,用于自动化的电子文档交换是最优的,如果一个XML文件仅仅用于交换信息,就无需考虑它的显示问题。编辑XML文件,我们仅仅需要关注文件的内容、信息的结构,至于它怎么显示,则交给CSS(叠层样式表)和XSL(可扩展样式语言)来完成。这就使得用户可以根据需要来定义数据的表现形式。

■用CSS来表现XML

CSS在HTML中已经有很好作用,在XML中,CSS同样发挥了它强大的样式表作用。在XML中的CSS和HTML中的CSS差不多。目前的版本是CSS 2.0。
我们先来看一段CSS的代码——例1中的first.css。它是为例1中2.xml这个XML文件所作的CSS文件。

在2.xml这个XML文件的源文件中,有一行:〈?xml-stylesheet href="first.css" type="text/css"?〉,它指明这个XML文件在显示的时候引用CSS文件,具体的语法如下:〈?xml-stylesheet href="URL" type="text/css"?〉 其中,xml-stylesheet是关键字,表明引用样式表设定;href="URL"用来指定样式表所在的位置,在例1中,因为first.css和2.xml在同一个目录下,所以可以直接写出它的名称,是相对地址;type="text/css"表示该样式表是CSS的样式表。应用CSS前,浏览器显示如图1,应用了样式表后,显示效果如图2所示。


图1

下面我们来分析例1中first.css这个文件。大家可以看到,在XML中的CSS和HTML中的CSS语法上实际是一样的。都是通过一些标记来设置标记文字怎样显示。

对照表1和表2,来分析这个文件。在这个文件中,每一个区块是针对XML文件中不同的标记来设定的,每个区块用{}符号分割开。像第一个区块,设置了title标记中文字的颜色(COLOR)、显示状态(是否分段:block或inline;隐藏不显示出来:none)、字型(FONT-FAMILY)、大小(FONT-SIZE和FONT-WEIGH)、有无上/下划线(TEXT- DECORATION)。其他区块,大家可以对照表中的一些常用属性来分析。我们可以利用CSS的各种属性组合出丰富多彩的显示效果。这和编程关系不大,因为语法太简单了,关键看你的想像力了。

对于同一个XML文件,如果我们赋予它不同的CSS,那么它就有不同的显示效果,如果你的网页用XML来制作,那么为了变换网页的样子,就可以编辑多个CSS文件,隔段时间更换。只需要在XML文件的前面改变“URL”指定的CSS文件就可以。

标签:xml,xsl,css
0
投稿

猜你喜欢

  • 分享Sql Server 存储过程使用方法

    2024-01-13 06:42:36
  • mysql5.x升级到mysql5.7后导入之前数据库date出错的快速解决方法

    2024-01-22 10:09:17
  • javascript修正12个浏览器兼容问题[译]

    2009-04-23 12:19:00
  • MYSQL的DATE_FORMAT()格式化日期

    2009-02-27 16:04:00
  • python实现连接mongodb的方法

    2022-10-18 08:34:18
  • Windows下MySQL8.0.11社区绿色版安装步骤图解

    2024-01-14 23:02:34
  • python绘制字符画视频的示例代码

    2023-11-09 16:21:46
  • Python中的map()函数和reduce()函数的用法

    2021-10-19 01:04:34
  • 详解Python数据结构与算法中的顺序表

    2023-12-31 01:47:04
  • Python中字符串对齐方法介绍

    2022-07-18 06:54:50
  • 用javascript实现的汉字简繁转换功能

    2008-05-04 13:15:00
  • Python去掉字符串中空格的方法

    2021-12-09 14:23:07
  • MySQL与Oracle的语法区别详细对比

    2024-01-20 12:24:47
  • 利用PyQt5中QLabel组件实现亚克力磨砂效果

    2023-12-13 18:33:04
  • 使用python和pygame绘制繁花曲线的方法

    2021-05-05 04:47:11
  • python+selenium爬取微博热搜存入Mysql的实现方法

    2024-01-24 18:07:53
  • javascript事件冒泡,事件捕获和事件委托详解

    2024-04-10 14:02:47
  • Oracle、MySQL和SqlServe三种数据库分页查询语句的区别介绍

    2024-01-15 08:48:41
  • Mysql limit 优化,百万至千万级快速分页 复合索引的引用并应用于轻量级框架

    2024-01-29 03:11:36
  • Golang 使用gorm添加数据库排他锁,for update

    2024-01-29 09:34:53
  • asp之家 网络编程 m.aspxhome.com