xml ,xsl,css 三种关系区别

2024-03-25 10:48

本文主要是介绍xml ,xsl,css 三种关系区别,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

最近要毕业设计了,我就把我搜藏的文章,让大家看看,以后有空再写点技术文章

xml ,xsl,css 三种关系区别

做了一小段xml.与大家交流。

XML在更多的时候只是一种数据文件,利用XML我们可以使内容与样式分离
如果我们将XML文件比作结构化的原料的话。那么XSL就好像"筛子"与"模子",
筛子选取自己需要的原料,这些原料再通过模子形成最终的产品。
这个模子大致是这样:我们先设计好表现的页面,再将其中需要从XML中获取数据来填充内容的部分去掉,
然后用XSL语句从XML中筛出相关的数据来填充。

XML在展开时是一个树形结构,将树形结构中自定义标记称为节点,节点之间存在父子、兄弟关系,要访问其中的结点从根结点就要以"/"来层层进入。

 


三个文件。(blue.xml blue.xsl blue.css )拷到本地同一目录下。

怎样从XML里提取相关的数据,就要用到XSL提供的模式化查询语言。就是通过相关的模式匹配规则表达式从XML里提取数据的特定语句,即上面所说的"筛子"。

 

blue.xml:

blue.xsl:

blue.css:

选择模式:
<xsl:for-each>、<xsl:value-of>和 <xsl:apply-templates>

匹配模式:
<xsl:template>

<xsl:template match="Replys" >
 <xsl:for-each select="Reply"  >
  <div>
   <div id="replyPerson">回复人:<xsl:value-of select="UserName"/> | <xsl:value-of select="RankName"/>|</div>
   <div><xsl:apply-templates select="Content" /></div>
   <div>发表时间:<xsl:value-of select="DateTime"/></div>
  </div>
 </xsl:for-each>
</xsl:template>

简单说下这段:

XSL模板将XSL的设计细化成一个个模板(块),最后再将这些模板(块)组合成一个完整的XSL;好比船与集装箱,我们不是将所有的货物一件件地堆起来,而是装在各自的集装箱中,然后再在船上将这些集装箱堆放起来。这种方法可以使你先从整体上考虑整个XSL的设计,然后将一些表现形式细化成不同的模块,再具体设计这些模块,最后将它们整合在一起,这样,将宏观与微观结合起来,符合人们条理化、规范化要求。

装集装箱--书写模板(块):<xsl:template>
<xsl:template match="Replys">
  match ── 确定什么样的情况下执行此模板。就是标记的名字;
其中最上层模板必须将match设为"/"。
  <xsl:template>用match属性从XML选取满足条件的节点,在真对这些特定的节点形成
一个特定输出形式的模板。

<xsl:for-each select="Reply">循环选择。
  select :确定在此上下文环境中应执行什么模板,即选取用< xsl:template >标记建立的模板(块)。
<xsl:value-of> 直接输出选择的。
调用模板(块):<xsl:apply-templates select="Content" />
调用xsl最后一段。
<xsl:template match="Content">
<xsl:apply-templates />
</xsl:template>

读后感:XSL可以把相同的数据(xml)以不同的数据形式和样式(css)提交给终端客户

这篇关于xml ,xsl,css 三种关系区别的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/844754

相关文章

Python利用ElementTree实现快速解析XML文件

《Python利用ElementTree实现快速解析XML文件》ElementTree是Python标准库的一部分,而且是Python标准库中用于解析和操作XML数据的模块,下面小编就来和大家详细讲讲... 目录一、XML文件解析到底有多重要二、ElementTree快速入门1. 加载XML的两种方式2.

HTML5中的Microdata与历史记录管理详解

《HTML5中的Microdata与历史记录管理详解》Microdata作为HTML5新增的一个特性,它允许开发者在HTML文档中添加更多的语义信息,以便于搜索引擎和浏览器更好地理解页面内容,本文将探... 目录html5中的Mijscrodata与历史记录管理背景简介html5中的Microdata使用M

html5的响应式布局的方法示例详解

《html5的响应式布局的方法示例详解》:本文主要介绍了HTML5中使用媒体查询和Flexbox进行响应式布局的方法,简要介绍了CSSGrid布局的基础知识和如何实现自动换行的网格布局,详细内容请阅读本文,希望能对你有所帮助... 一 使用媒体查询响应式布局        使用的参数@media这是常用的

HTML5表格语法格式详解

《HTML5表格语法格式详解》在HTML语法中,表格主要通过table、tr和td3个标签构成,本文通过实例代码讲解HTML5表格语法格式,感兴趣的朋友一起看看吧... 目录一、表格1.表格语法格式2.表格属性 3.例子二、不规则表格1.跨行2.跨列3.例子一、表格在html语法中,表格主要通过< tab

Spring 基于XML配置 bean管理 Bean-IOC的方法

《Spring基于XML配置bean管理Bean-IOC的方法》:本文主要介绍Spring基于XML配置bean管理Bean-IOC的方法,本文给大家介绍的非常详细,对大家的学习或工作具有一... 目录一. spring学习的核心内容二. 基于 XML 配置 bean1. 通过类型来获取 bean2. 通过

Vue3组件中getCurrentInstance()获取App实例,但是返回null的解决方案

《Vue3组件中getCurrentInstance()获取App实例,但是返回null的解决方案》:本文主要介绍Vue3组件中getCurrentInstance()获取App实例,但是返回nu... 目录vue3组件中getCurrentInstajavascriptnce()获取App实例,但是返回n

go 指针接收者和值接收者的区别小结

《go指针接收者和值接收者的区别小结》在Go语言中,值接收者和指针接收者是方法定义中的两种接收者类型,本文主要介绍了go指针接收者和值接收者的区别小结,文中通过示例代码介绍的非常详细,需要的朋友们下... 目录go 指针接收者和值接收者的区别易错点辨析go 指针接收者和值接收者的区别指针接收者和值接收者的

售价599元起! 华为路由器X1/Pro发布 配置与区别一览

《售价599元起!华为路由器X1/Pro发布配置与区别一览》华为路由器X1/Pro发布,有朋友留言问华为路由X1和X1Pro怎么选择,关于这个问题,本期图文将对这二款路由器做了期参数对比,大家看... 华为路由 X1 系列已经正式发布并开启预售,将在 4 月 25 日 10:08 正式开售,两款产品分别为华

JS+HTML实现在线图片水印添加工具

《JS+HTML实现在线图片水印添加工具》在社交媒体和内容创作日益频繁的今天,如何保护原创内容、展示品牌身份成了一个不得不面对的问题,本文将实现一个完全基于HTML+CSS构建的现代化图片水印在线工具... 目录概述功能亮点使用方法技术解析延伸思考运行效果项目源码下载总结概述在社交媒体和内容创作日益频繁的

前端CSS Grid 布局示例详解

《前端CSSGrid布局示例详解》CSSGrid是一种二维布局系统,可以同时控制行和列,相比Flex(一维布局),更适合用在整体页面布局或复杂模块结构中,:本文主要介绍前端CSSGri... 目录css Grid 布局详解(通俗易懂版)一、概述二、基础概念三、创建 Grid 容器四、定义网格行和列五、设置行