xml中css与scheme简介

本文详细介绍了CSS在XML中的应用,包括引入方式、选择器、常用属性、浮动与定位,以及XMLSchema的概念、元素类型、属性定义和在XML中的引用。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

一、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来声明使用的命名空间。

 

 

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值