曝光台 注意防骗
网曝天猫店富美金盛家居专营店坑蒙拐骗欺诈消费者
E, F 同任意E元素或F元素匹配
E F 同位于E元素下面的任意F元素匹配
E > F 如果F元素是E元素的子元素,则同F元素匹配
E: first - child 如果E元素是其父元素的第一个子元素,则同这个E元素匹配
E: link 如果E元素是一个超链接的源,则同E元素匹配,这个超链接的目标
E: visited 可能还没有被访问过( : l i n k),或者已经被访问过( : v i s i t e d)
E: active 在某些用户动作过程中同E匹配
E: hover
E: focus
E: lang(c) 如果元素E在(人类)语言c中,则同元素E匹配(文件语言说明如
何确定语言)
E + F 同元素E后面紧跟着的元素F匹配
E [ f o o ] 同带有f o o属性集的元素E匹配(无论其值是什么)
576使用XML 高级编程
下载
(续)
模式含义
E[foo = "warning"] 同f o o属性值为“ w a r n i n g”的元素E匹配
E [ f o o ~ = " w a r n i n g " ] 如果元素E的f o o属性值为一系列给定值中的一个(其中一个值为
“w a r n i n g”),则同这个元素E匹配
E[lang| = "en"] 如果元素E的属性l a n g值为以“ e n”开头的(从左边开始)用连字
符分隔开的一系列值,则同元素E匹配
E # m y i d 同I D等于m y i d的元素E匹配
一个选项是由一串一个或多个简单选项组成的。C S S 2说明中提到:
“一个简单选项是一个类型选项或通用选项,后面紧跟零个或多个属性选项、I D选项或伪
等级,它们的顺序可任意排列。如果简单选项的所有成分都匹配,则简单选项匹配。”
一个类型选项就只是一个X M L元素名称,只要X M L文件树上出现这个元素,这个选项就和
元素匹配了。通用选项是一个“ *”字符,表明它与任何元素都匹配。
属性选项允许更细致的选择或方式匹配,它允许细到属性级的选择,甚至是属性值这一级。
例如,如果一个元素< T I T L E >的l a n g u a g e属性设定为“E n g l i s h”,则下列规则适用于这个元素:
程序清单1 3 - 4
第一个规则与所有的< T I T L E >元素相匹配,甚至包括那些没有l a n g u a g e属性的元素,并以块
级元素显示它们。第二个规则与所有的具有l a n g u a g e属性的元素相匹配,而不管其属性。最后,
第三个规则只与l a n g u a g e属性值为" E n g l i s h "的< T I T L E >元素相匹配。
用I D选项可以实现更细致的匹配。I D选项允许规则与具有一个特定I D的某一特定元素相匹
配。
通常情况下,C S S规则基于一个元素在文件树上的位置与其链接。但伪等级选项允许访问文
件树上其他类型的结点。例如,伪等级f i r s t - c h i l d允许我们访问一个特定元素的第一个子元素,
并将一个规则与其链接:
程序清单1 3 - 5
我们可以将一个特定的C S S规则与文件树上的一个对象相关联,而不需要明确指定对象的名称。
伪元素是另一种类型的有趣选项。例如,有时很需要将段落中的第一行改为不同的格式,
或将一章中的第一个字母设定为更大的字体。在这里,选定元素< D E S C R I P T I O N >数据内容的第
一行,将规则的一系列属性应用到第一行上:
程序清单1 3 - 6
第13章样式XML使用577 下载
但在下面的代码中,元素< D E S C R I P T I O N >数据内容的第一个字母与规则的属性集相关联:
程序清单1 3 - 7
只要每个简单选项都被空格、>或+分开,简单选项可以组成一个简单选项表达式。
下面的表达式:
程序清单1 3 - 8
是一个与元素< I T E M >或< T I T L E >相匹配的选项。因此,逗号可以看作是一个内含的或逻辑的表
达式。
下面的表达式:
程序清单1 3 - 9
只有元素< I T E M >的子元素< T I T L E >才能与其匹配。因此,如果在文件类型或文件结构中的一个
其他位置有元素< T I T L E >,则不能满足规则。例如,如果在元素< D O C U M E N T >的子元素中有元
素< T I T L E >,这个元素< T I T L E >不会和具有这类选项的规则相匹配。
最后,选项:
程序清单1 3 - 1 0
只与元素< I T E M >前面相邻的元素< T I T L E >相匹配。例如,如果元素< C AT E G O RY >在元素
< T I T L E >前面,则规则没有匹配的元素。
我们也可以使用一组由逗号隔开的选项来匹配一些元素,如:
程序清单1 3 - 11
当C S S样式表用于H T M L文档时,选项不区分大小写。但当C S S样式表用于传递X M L文档
时,CSS选项区分大小写─因为选项在一个区分大小写的语言环境中使用。
本章不能过多地讨论所有的技术细节,但这些内容在附录F中都有。
6. 媒介类型和模块化样式表
X M L文档的一个主要特性就是数据与显示方法的分离。一个C S S样式表就是用于显示X M L
文档的一种方式。C S S允许对几种类型的媒介进行解释:
578使用XML 高级编程
下载
表1 3 - 3
媒介类型描述
s c r e e n 一个屏幕设备,例如一个浏览器
p r i n t 一个打印产品如一本印刷的书
a u r a l 一个语音设备,例如一个声音合成器
B r a i l l e 一个带触觉反馈的B r a i l l e设备
e m b o s s e d 一个印花设备,像一个分页B r a i l l e打印机生成的一样
p r o j e c t i o n 一个投影设备
t t y 一个电传打印机
t v 一台电视
一个C S S样式表可以包含几种媒介的样式说明,如一个样式说明可以为浏览器、打印机以及
演讲设备提供服务。用@ m e d i a命令指定每个目标产品。下例中将C S S规则同屏幕产品(通常是
浏览器)相关联:
程序清单1 3 - 1 2
如上所示,所有以某一特定类型的媒介为目标的规则都包括在@ m e d i a语句中。同样选项也
可以指定一些元素具有相同的规则,许多媒介类型都可以使用选项:
中国航空网 www.aero.cn
航空翻译 www.aviation.cn
本文链接地址:
XML高级编程下(26)