使用CSS修饰XML文件

2002-9-19 9:47:04【作者】 畅享网 【进入论坛】
广告

使用CSS修饰XML文件

通俗一点来说,XSL是XML的原配夫人,而CSS只能算是小妾的角色。但是CSS依然有它的用武之地,下面是通过一个具体的例子来说明CSS在XML中的应用。

做菜先要有原料,这原料就是XML代码,比如我们用XML代码写一封求爱信,把它保存为hzhLove.xml。

  <?xml version="1.0" encoding="GB2312"?>


  <?xml-stylesheet type="text/css" href="hzhLove.css" ?>

  <!--DOCTYPE loveletter SYSTEM "hzhLove.dtd" -->

  <loveletter>

  <receiver>仪琳姑娘</receiver>

  <senddate>2000年1月1日</senddate>

  <sendreason>再一次阅读了金先生的笑傲江湖</sendreason>

  <topic>我和仪琳有个约会</topic>

  <content>

  <para>

  <mark>1</mark>

  <title>引言</title>

  <soul>表示对仪琳产生相思的原因</soul>

  <keyword>眼睛、鼻子、头发、三围、气质</keyword>

  </para>

  <para>

  <mark>2</mark>

  <title>论述</title>

  <soul>列举所有酸不垃圾的话直到自己的胃不能承受</soul>

  <keyword>朝思暮想、朝三暮四、聊胜于无、生生世世、执子之手</keyword>

  </para>

  <para>

  <mark>3</mark>

  <title>结论

  <soul>没有你我的世界会有所不同,实际上原因是要花费时间去追别的女孩</soul>

  <keyword>女朋友、老婆、情人、一辈子</keyword>

  </para>

  </content>

  <reference>

  <article>追女孩十大秘技</article>

  <article>网上求友大法</article>

  <article>三心二意追女法</article>

  </reference>

  </loveletter>
  
注意第二行代码<?xml-stylesheet type="text/css" href="hzhLove.css"?>,它表示引用的CSS的名称hzhLove.css,hzhLove.css的作用就是对各个标记的显示方式进行定义:

  比如 receiver

  {

    margin-bottom: 10pt;

    margin-left: 20;

    font-family : "宋体";

    font-size : 22pt;

    display: block;

   }
  
就表示对标记receiver的显示方式的设定。实际上,CSS在HTML网页设计中的地位是很重要的,它为HTML网页提供了一种聪明的、先进的格式化方法。你可以定义诸如位置、颜色、背景、边空、字体、排版格式等等。

CSS基本格式

定义CSS的基本格式如下:

Selector {property:value; property:value; ...}

下面对这些关键字逐一进行说明:

Selector: 选择符,被施加样式的元素,可以是标记(tag)、类(class)、标识(id)等。 在上面的例子中receiver就是一个Selector。

Property: 样式属性,可以是颜色、字体、背景等等。比如上面例子中的"display","font-size"等等。

value: 样式属性取值,决定样式结果。 比如我们取font-size的值

为22pt。注意有些属性的取值是一个枚举值,也就是说系统列出了所有你可以取的值,你从中选择一个就是了。比如属性"display",可以取的值有:block,table,table-caption,table-row, table-cell,listitem等等。选择一个你认为合适的,作为一个Selector的属性"dispaly"的值。

如果我们要把para以列表形式显示的话,并对receive,senddate,sendreason,topic等元素进行不同的设置的话,完整的hzhLove.css见下面:

  receiver

   {

    margin-bottom: 10pt;

    margin-left: 20;

    font-family : "宋体";

    font-size : 22pt;

    display: block;

   }
  senddate

   {

    margin-bottom: 10pt;

    margin-left: 20;

    font-family : "宋体";

    font-size : 8pt;

    display: block;

   }
  sendreason

   {

    margin-bottom: 10pt;

    margin-left: 20;

    font-family : "黑体";

    font-size : 10pt;

    display: block;

   }
  topic

   {

    margin-bottom: 10pt;

    margin-left: 20;

    font-family : "仿宋体";

    font-size : 10pt;

    display: block;

   }
  content

   {

    display: table-caption;

    padding:25px;

   }
  para

   {

    display: table-row;

   }
  mark,title,soul,keyword

   {

    display:table-cell;

    padding:5px;

   }
  mark

   {

    color:red;

    font-weight:bold;

   }
  title,soul,keyword

   {

    color:black;

   }
  article

   {

    display: block;

   }
  
把hzhLove.xml和hzhLove.css放在同一个目录下,用浏览器NetScape的升级版本Mozilla观看hzhLove.xml文档你就会得到定制的显示效果,而不是死板的一棵树状的表示。这里需要注意的一点是在IE对CSS2的支持不完全,而且不支持用中文作为CSS的标记的名称,也就是说IE对XML的CSS支持还不是很好,所以你用IE浏览器的话,是不会看到你所希望的定制效果的,我们只好等待新的IE6.0或者是改用其他对CSS支持良好的浏览器(比如大名鼎鼎的NetScape)。当然如果你非用IE的话,一个解决方法就是不用CSS来装饰XML,改用XSL,这就是我们下面要讲述的专题。

如果您希望与本文章的作者或其所在机构,进一步交流,请联系:畅享网 姜小姐
jill.jiang@amt.com.cn | 021-51096826-112 | 在线联系
吕建伟 专栏CRM下午茶(四):销售成熟度与..

经销商现在都精细化销售了,细节化销售的CRM,对企业销售帮助不明显了,真正的CRM就该上场了。 

周宏钧的信息化之路[原创]信息化助力企业脱身金融..

从上下游整合的角度看,信息化是一种策略工具和有效手段,信息系统平台提供管控平台,加速整合过程,降低整合风险。

第二届中国管理软件与IT服务年会—2..

“第二届中国管理软件与IT服务年会”于2008年7月23日-25日举行,由AMT集团与畅享网共同主办,无锡扬名高新技术产业园特别赞助支持。

CIO职场,强者生存?

在2008年,我们将继续看到CIO向商业运营方向发展。与此同时,我们也会看到商业管理人员将与技术管理人员一起竞争CIO岗位。 IT领导者的就职机会虽有不少,但其难度将会大幅提高。2……