《XML网页技术实用教程》第8次课

上传人:仙*** 文档编号:244008572 上传时间:2024-10-02 格式:PPT 页数:39 大小:82KB
返回 下载 相关 举报
《XML网页技术实用教程》第8次课_第1页
第1页 / 共39页
《XML网页技术实用教程》第8次课_第2页
第2页 / 共39页
《XML网页技术实用教程》第8次课_第3页
第3页 / 共39页
点击查看更多>>
资源描述
单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,*,XML,网页技术实用教程,主编 余以胜,中国水利水电出版社,1,项目,4,个人网上图书馆网页设计,用,XSL,实现个性化显示,小结,2,4.2 XSL,变换的基本步骤,在,XSL,变换中,,XSL,处理程序读取,XML,文档和,XSL,样式表。基于处理程序在,XSL,样式单中找到的指令,输出新的,XML,文档。,XML,文件,XSL,文件,HTML,文件,关联,变换,3,4.3 XSL,文件的结构, . . , . ,4,4.3.1 XSL,样式表中的模板,1,、模板标记,XSL,样式表的基本结构就是由若干个称为“模板”的标记组成,简称模板。模板都是根标记的子标记,模板标记的名称都是,template,,例如:,模板内容,.,5,2,、根模板,一个,XSL,样式表必须要有一个根模板。所谓根模板就是和,XML,文件中的根标记匹配的模板,但是,如果使用浏览器来处理,XSL,变换,根模板的“标记匹配模式”必须是“,/”,,如:,模板内容,.,6,XSL,样式表,根模板:,模板内容,. ,模板,1,:,模板内容,. ,模板,n,:,模板内容,. ,7,4.3.2 XSL,模板的调用,XSL,样式表文件,根模板:,模板调用标记,模板,1,:,模板,1,的内容,模板,2,:,模板,2,的内容,XML,文件,标记,1,标记,2,对模板,1,的内容实施变换后的文本,对模板,2,的内容实施变换后的文本,生成,HTML,文件,寻找匹配的标记,寻找匹配的模板,8,4.4,进行,XSL,变换的方法,4.4.1,关联,XSL,关联,XSL,文件的方法很简单,只在需要使用,XSL,文件来定义样式的,XML,文档中添加如下格式的处理指令就行了:,9,4.4.2 XSL,文件中使用,HTML,标记,10,4.4.3,在,XSL,样式表中使用,CSS,在,XSL,文件中使用,CSS,有两种方式:一种是可以直接设置在文件中使用的,HTML,标记的,Style,属性;另外一种是在文件中使用,、,标记来单独定义,HTML,标记的样式。使用,、,标记的方式如下所示:,11,#text ,display:block,;,position:absolute,;,top:30%;,left:20%;,width:60%;,height:60%;,border:2px solid;,12,4.5,常用的,XSL,标记,样式表的基本结构就是模板,模板也是一种语言,模板中有一个重要的参数就是“,match”,该参数的值决定了哪些,XML,标记和该模板相匹配。,模板变换过程中,还可以使用许多重要的子孙标记,比如,前面用过的“,xsl:value,-of”,标记,“,xsl:apply,-templates”,标记和“,xsl:for,-each”,标记等等。它们都可以作为模板标记的子标记,而且这些,XSL,标记还可以形成父子关系。,13,4.5.1,使用,xsl:value,-of,标记,定义和用法:,元素可提取选定节点的值。,元素可用于选取某个,XML,元素的值,并把它输出。,注释:,select,属性(必选)的值是一个,XPath,表达式。它的工作原理类似对文件系统的定位,比如用一个斜杠来选择子目录。,14,4.5.2,使用,xsl:for,-each,标记,定义和用法:,元素可遍历指定的节点集中的每个节点。,语法:,属性:,属性值描述,selectexpression,必需。被处理的节点集。,15,4.5.3,使用,xsl:element,标记,xsl:element,元素将元素插入到输出文档中。元素名由,xsl:element,元素的,name,特性中的特性值模板给出。元素的内容来自于,xsl:element,元素的内容,此元素可能包括要插入这些项的,xsl:attribute,、,xsl:pi,和,xsl:comment,指令,.,16,4.5.4,使用,xsl:attribute,标记,只使用文字特性,就可以将特性包括在输出文档中。例如,要插入带有,ALIGN,特性(其值为,CENTER,)的,DIV,元素,只需在样式单的适当位置处键入,和,即可。但是,为了确定特性值,有时甚至是为了确定特性名,常常不得不依赖于从输入文档中读取的数据。,17,4.5.5,使用,xsl:pi,生成处理指令标记,xsl:pi,元素将指令放在输出文档中。处理指令的目标由所需的,name,特性指定。,xsl:pi,元素的内容成为处理指令的内容。例如,下面的规则将,PROGRAM,元素用,gcc,处理指令代替:, -04,18,4.5.6,使用,xsl:comment,生成注释标记,xsl:comment,元素在输出文档中插入注释。它没有特性。其内容为注释文本。例如,,There was an atom here once.,19,4.5.7,使用,xsl:text,生成文本,xsl:text,元素将其内容作为文字文本插入到输出文档中。例如,下面的规则将每个,ATOM,元素用字符串“,There was an atom here once”,代替。,There was an atom here once.,20,4.5.8,使用,xsl:copy,复制当前节点,xsl:copy,元素将源代码复制到输出文档中。子元素、特性和其他内容不会自动复制。但是,,xsl:copy,元素的内容也是选择要复制这些内容的,xsl:template,元素。当将文档从某个标记符号集转换成相同的或相近的相关标记符号集时,这种方法通常是有用的。例如,下面的模板规则删除原子的特性和子元素,并用其内容值来代替:,21,4.5.9,使用,xsl:number,为节点计数,xsl:number,在输出文档中插入格式化整数。由,expr,特性计算出来的数值,通过四舍五入成最接近的整数,然后根据,format,特性值,对此整数进行格式化,从而获得整数值。为这两个特性提供了恰当的缺省值。,22,4.5.10,使用,xsl:if,标记,xsl:if,元素提供了根据模式来改变输出文档的简单途径。,xsl:if,的,test,特性含有选择表达式,用来计算布尔值。如果此表达式为,true,,即输出,xsl:if,元素的内容;否则,不输出,xsl:if,元素的内容。,23,4.5.11,使用,xsl:choose,标记,根据几个可能的条件,,xsl:choose,元素从几个的输出结果中选择一个。,xsl:when,子元素提供各种条件及其相关的输出模板。,xsl:when,元素,test,特性为布尔值的选择表达式。如果多个条件都为真,那么只显示第一个为真的条件。如果,xsl:when,元素都不为真,那么显示,xsl:otherwise,子元素的内容。,24,4.6,匹配节点的模式,xsl:template,元素的,match,特性支持复杂的语法,允许人们精确地表达想要和不想要与哪个节点匹配。,xsl:apply,-templates,、,xsl:value,-of,、,xsl:for,-each,、,xsl:copy,-of,和,xsl:sort,的,select,特性支持功能更加强大的语法的超集,允许人们精确地表达想要和不想要选择哪个节点。,25,4.6.1,匹配根节点,为了使输出的文档结构整洁。从,XSL,变换的第一个输出内容应为输出文档的根元素。因此,,XSL,样式单一般以应用于根节点的规则开始。要在规则中指定根节点,可将其,match,特性设置为合适的值。,26,4.6.2,匹配元素名,最基本的模式只包含一个元素名,用来匹配所有带有该名的元素。例如,下面的模板与,ATOM,元素相匹配,并将,ATOM,元素的,ATOMIC_NUMBER,的子元素标成粗体:,27,4.6.3,使用,/,字符匹配子节点,在,match,特性中并不局限于当前节点的子节点,可使用,/,符号来匹配指定的元素后代。当单独使用,/,符号时,它表示引用根节点。但是,在两个名称之间使用此符号时,表示第二个是第一个的子代。例如,,ATOM/NAME,引用,NAME,元素,,NAME,元素为,ATOM,元素的子元素。,在,xsl:template,元素中,这种方法能够用来只与某些给定类型的元素进行匹配。例如,下面的模板规则将,ATOM,子元素的,SYMBOL,元素标记为,strong,。此规则与不是,ATOM,元素的直系子元素的,SYMBOL,元素无关。,28,4.6.4,使用,/,符号匹配子代,有时候,尤其是使用不规则的层次时,更容易的方法就是越过中间节点、只选择给定类型的所有元素而不管这些元素是不是直系子、孙、重孙或其他所有的元素。双斜杠(,/,)引用任意级别的后代元素。例如,下面的模板规则应用于,PERIODIC_TABLE,的所有,NAME,子代,而不管它们具有何种层次的关系:,29,4.6.5,通过,ID,匹配,30,4.6.6,使用,来匹配特性,符号根据特性名与特性相匹配,并选择节点。方法很简单,只需在要选择的特性前加上,符号。,31,4.6.7,使用,comments(),来匹配注释,为了选择注释,可使用,comment(),模式。尽管此模式有类似函数的圆括号,但实际上决不带任何参数。要区分不同的注释不太容易。,32,4.6.8,使用,pi(),来匹配处理指令,pi(),函数选择处理指令。,pi(),的参数是放在引号内的字符串,表示要选择的处理指令的名称。如果没有参数,则匹配当前节点的第一个处理指令子节点。但是,可以使用层次操作符。,33,4.6.9,用,text(),来匹配文本节点,尽管文本节点的值包括在选择的元素值部分中,但它们作为节点通常被忽视。但是,,text(),操作符确实能够明确选择一个元素的文本子元素。尽管这种操作符有圆括号,但不需要任何参数。,34,4.6.10,使用“或”操作符,|,竖线(,|,)允许一条模板规则匹配多种模式。如果节点与某种模式相匹配,则此节点将激活该模板。,35,4.7,合并多个样式单,单一,XML,文档可以使用在许多不同的,DTD,中描述的许多不同的标记符号集。有时希望将不同的标准样式单用于那些不同的符号集。但是,也可能还要将样式规则用于特定的文档。,xsl:import,和,xsl:include,元素可用来合并多个样式单,以便组织和重新将样式单用于不同的符号集和目的。,36,4.7.1,样式表导入,样式表导入可以使用,xsl:import,进行。,xsl:import,元素为顶级元素,其,href,特性提供导入的样式单的,URI,。所有的,xsl:import,元素都必须放在,xsl:stylesheet,根元素中的顶级元素中。,37,4.7.2,样式表包含,样式表包含可以使用,xsl:include,进行。,xsl:include,元素也是顶级元素,它将另一个样式单复制到当前样式单中它所出现的位置处(更确切是说,它将远程文档中,xsl-stylesheet,元素的内容复制到当前文档中)。它的,href,特性提供要包括的样式单的,URI,。,xsl:include,元素可放在顶级处于最后那个,xsl:import,元素之后的任何地方。,38,4.7.3,在文档中嵌入样式单,通常一个样式表就是一个完整的,XML,文档,,xsl,:,stylesheet,元素作为文档的元素。然而一个,XSL,样式表也可以嵌入在其它文档内容之中。内嵌的方式可能有两种:,XSL,样式表可以原文嵌入在一个非,XML,文档中或者,xsl,:,stylesheet,不作为文档元素出现在一个,XML,文档中。在第二种情况增加了出现内嵌样式,即自己规定样式的文档的可能。,XSL,还没有为之定义相应的机制。这是由于可以采用把样式表结合文档的通用方式来实现,只要满足:,该方式允许一部分内容可以规定为样式表,例如使用有片段标识符,URI,。,39,
展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 管理文书 > 施工组织


copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!