一、css
1.引言
CSS(Cascading Style Sheets,层叠样式表)是一种用于描述网页样式的计算机语言。它使我们能够为HTML元素添加样式,从而使网页更具吸引力和功能性。本文将介绍CSS的基本概念,包括引入方式、选择器、常用属性、浮动和定位。
在XML中,CSS(层叠样式表)被用于控制文档的外观和布局。虽然XML本身提供了存储结构化数据的强大方法,但是它并没有提供关于数据如何显示的信息。这时,我们就可以使用CSS来补充这部分的功能,控制XML文档中各元素的呈现方式。
要在XML中使用CSS进行样式设置,首先需要在XML文档的头部引用CSS文件,具体代码如下:<?xml-stylesheet type="text/css" href="style.css"?>需要注意的是,虽然在CSS中是不区分大小写的,但是在XML中是区分的,如Name、NAME、name都会被CSS视为同一个元素,这样就无法为这些元素分别设置不同的属性。因此应该设置完全不一样的名称来进行区分。此外,CSS还定义了一组属性,可以用于控制文档的外观和布局。
2.xml中引入css
在XML中引入CSS的方式主要分为三种:直接嵌入、外部引用和混合方法指定样式。
(1). 直接嵌入CSS样式:这种方式是在XML文档内部直接编写CSS样式代码,即在标签内部使用style属性来定义样式。例如,如果我们想设置一个段落的文本颜色为红色并且字体大小为16像素,我们可以这样写:`<p style="color:red;font-size:16px;">这是一个段落。</p>。
(2). 外部引用CSS样式:这种方式是在XML文档头部通过引用CSS文件的方式引入外部的CSS样式。具体操作如下:首先,在XML文档的头部添加对CSS文件的引用,格式如下:`<?xml-stylesheet type="text/css" href="style.css"?>`;然后,在相应的CSS文件中定义所需要的样式。这样做的好处是当样式需要应用于很多页面时,我们只需要修改一个CSS文件就可以了,从而提高了工作效率。
(3).混合方法指定样式:这种方法是综合应用内部css样式和外部css样式,在这种情况下,如果两个样式之间产生冲突,则以内部css为主。如:外部css文件中定义字体大小为25pt,而内部css样式表定义的字体大小为20pt,则文字大小为20pt。
3.选择器
在XML中,CSS选择器可以用于控制元素的样式。以下是一些常用的CSS选择器:
(1). 元素选择器:通过元素名称来选择元素,例如p、h1、div等。
(2). 类选择器:通过类名来选择元素,以"."开头,例如.class1、.class2等。
(3). ID选择器:通过元素的唯一标识符(ID)来选择元素,以"#"开头,例如#id1、#id2等。
(4). 属性选择器:通过元素的属性和属性值来选择元素,例如[type="text"]、[href$=".pdf"]等。
(5). 后代选择器:通过空格将多个元素或选择器连接起来,可以选择某个元素的后代元素,例如div p表示选择所有div元素内的p元素。
(6). 子元素选择器:通过>符号将两个元素连接起来,可以选择某个元素的直接子元素,例如ul > li表示选择所有ul元素的直接子元素li。
(7). 相邻兄弟选择器:通过+符号将两个元素连接起来,可以选择紧接在另一个元素后面的兄弟元素,例如h1 + p表示选择紧跟在h1元素后面的p元素。
(8). 通用兄弟选择器:通过~符号将两个元素连接起来,可以选择在同一个父元素下的兄弟元素,例如h1 ~ p表示选择所有跟在h1元素后面的p元素。
4.常用属性
(1). 字体相关:
font-style:italic; 指定斜体文本
font-size: 16px; 字体大小
font-family: "微软雅黑", "宋体"; 字体系列
font-weight: bold; 字体粗细
font-variant:small-caps; 设置英文字体打印时大小
(2) 文本相关:
color: red; 文本颜色
text-align: center; 文本对齐方式
text-ident:16pt; 文本首行缩进
text-transform:uppercase; 指定是否将文本中英文字母全部大写,全部小写,首字母大写(uppercase,lowercase,capitalize)
text-decoration:underline; 设置是否给文本添加装饰, 不添加,加下划线,加上划线,加删除线,使文本闪烁(none,underline,overline,line-through,blink)
vertical-align:baseline; 设置文本垂直对齐方式(baseline,sub,super,top,text-top,middle,bottom,text-bottom)
line-height: 24px; 行高
(3). 背景相关:
background-color: #ffffff; /* 背景颜色 */
background-image: url("image.jpg"); /* 背景图片 */
background-repeat: no-repeat; /* 背景图片重复方式 */
background-position:100%center;设置背景图像后可以通过这个方式指定图像位置
(4). 文本显示方式:
block:块显示方式
line:行显示方式
list-item:列表显示方式
none:不显示元素的内容
5.浮动与定位
在XML中,CSS的浮点和定位属性可以用于控制元素的布局。
(1). 浮动属性:float属性用于将元素向左或向右浮动,使其脱离正常的文档流并与其他元素排列在一起。常用的浮动属性值有left、right和none。例如,p {float: left;}表示将所有的段落元素向左浮动。
(2). 定位属性:position属性用于控制元素的定位方式,包括static、relative、absolute和fixed四种定位方式。其中,static为默认值,元素按照正常的文档流进行排列;relative表示相对于其正常位置进行偏移;absolute表示相对于最近的已定位祖先元素进行偏移;fixed表示相对于浏览器窗口进行固定定位。例如,div {position: relative; top: 20px;}表示将一个div元素相对于其正常位置向上偏移20像素。
(3). 清除浮动:当多个元素浮动时,它们可能会影响其他元素的布局。为了解决这个问题,可以使用clear属性来清除浮动。常用的清除浮动属性值有left、right、both和none。例如,.clearfix::after {content: ""; display: table; clear: both;}表示使用伪元素清除浮动。
二、XML scheme
1.引言
在XML中,scheme通常指的是XML Schema。XML Schema是一种用于描述XML文档结构的语言,它的作用是定义XML文档的合法构建模块。类似于DTD(Document Type Definition),XML Schema也用于规定XML文档中的元素、属性和数据类型等元素的约束规则,但它比DTD更加强大和灵活。
Xml Schema 比 DTD的优越性:
模式是可扩展的
模式比 DTD 功能更丰富且更有用
模式是用 XML 编写的
模式支持数据类型
模式支持名称空间
不需要在学习其他的语言
可以直接使用XML编辑器来编写XML Schema
可以直接使用XML解析器来解析XML Schema
可以使用XML DOM来灵活的操作XML Schema
可以使用XSLT技术来转换XML Schema
2.基本用法
2.1引用语法
当一个模式文件建立好以后,可以用它来验证某一个XML文档的有效性,也就是说检验某个XML文档是否遵循了模式文件的定义。 那么,XML文档怎么来引用一个模式文档呢? Schema模型的引用更类似于前面所说的命名空间的应用方法,具体实例如下:
<?xml version='1.0' encoding='utf-8'?>
<用户列表xmlns:xsi=http://www.nishishui.org/2000/XMLSchema xsi:noNamespaceSchemaLocation='user.xsd'>
<用户>
<用户名>我是谁</用户名>
<密码>123456</密码>
<用户类型>1</用户类型>
</用户>
</用户列表>
2 .2.元素类型
2.2.1按照内容的不同分为简单和复杂元素,分别使用simpleType和complexType标示。
(1)简单元素:元素中内容只能是文本,不包含其它的元素和属性。
<?xml version='1.0' encoding='utf-8'?>
<xs:schema xmlns:xs='http://www.nishishui.org/2000/XML Schema' elementFormDefault='qualified' attributeFormDefualt='unqualified'>
<xs:element name='age'>
<xs:simpleType>
<xs:restriction base="xs:integer">
<xs:minInclusive value='0'/>
<xs:maxInclusive value='100'/>
</xs:restriction>
</xs:simpleType>
</xs:element>
</xs:schema>
(2)复杂元素:元素中包含其它的元素和属性。它有四种类型,分别是空元素、只包含其他元素、只包含正文、包含正文又包含其他元素。
<?xml version='1.0' encoding='utf-8'?>
<xs:schema xmlns:xs='http://www.nishishui.org/2000/XML Schema' elementFormDefault='qualified' attributeFormDefualt='unqualified'>
<xs:element name='age'>
<xs:complexType>
<xs:sequence>
<xs:element name='firstname' type='xs:string'/>
<xs:element name='lastname' type='xs:string'/>
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:schema>
2.2.2按照定义位置可分为局部和全局元素。
(1)全局元素:<element>元素的父元素必须是<schema>;
(2) 局部元素:局部元素声明只能出现在复杂类型(<complexType>元素)定义内部。即<element>元素的父元素只能是<all>、<choice>或<sequence>元素。
3.定义属性
在XML Schema文档中可以按照定义元素的方法定义属性,但受限制的程度较高。它们只能是简单类型,只能包含文本,且没有子属性。可以应用在attribute元素定义中的属性如下:
default ——初始默认值
fixed ——不能修改和覆盖的属性固定值
name —— 属性的名称
ref —— 对前一个属性定义的引用
type —— 该属性的XSD类型或者简单类型
use —— 如何使用属性
form ——确定attributeFormDefault的本地值
id —— 模式文档中属性唯一的ID
Default、fixed、name、ref和type属性与在element标记中定义的对应属性相同,但type只能是简单类型。Use属性的值可以是:optional(属性不是必须的,此为默认属性)、prohibited或者required(属性是强制的)。
创建属性语法如下:<xsd:attribute name=”arr” type=”xsd:integer” >
4.在xml中引用scheme
<?xml version="1.0"?>
<note xmlns="http://www.w3school.com.cn"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://www.w3school.com.cn note.xsd">
...
</note>
其中note只是这个XML文件的根元素。
上面代码解释: xmlns="http://www.w3school.com.cn" 规定了默认命名空间的声明。此声明会告知 schema 验证器,在此 XML 文档中使用的所有元素都被声明于"http://www.w3school.com.cn" 这个命名空间。
一旦您拥有了可用的 XML Schema 实例命名空间:xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 您就可以使用 schemaLocation 属性了。此属性有两个值。第一个值是需要使用的命名空间。第二个值是供命名空间使用的 XML schema 的位置:xsi:schemaLocation="http://www.w3school.com.cn note.xsd"
XML和Schema的命名空间标签使用格式是相同的(这也是Schema相对与DTD的优势),但XML和Schema都有各自的独特的属性,这也是由他们不同的功能决定的,Schema主要给XML提供服务,所以会规定好targetNameSpace来声明命名空间的名字,而XML需要使用schema的服务,所以需要SchemaLocation来声明使用的命名空间。