当前位置: 首页 > news >正文

网站悬浮窗口开发一个网站

网站悬浮窗口,开发一个网站,有原型怎么做网站,香港ip做外贸网站eXtensible Stylesheet Language Transformations本身是XSL规范的一部分&#xff0c;专门用于对XML的树型数据进行重组转换&#xff0c;并可以以各种格式输出 示例 //hello.xml <?xml version"1.0"> <?xml-stylesheet type"text/xsl" href&quo…
  • eXtensible Stylesheet Language Transformations
  • 本身是XSL规范的一部分,专门用于对XML的树型数据进行重组转换,并可以以各种格式输出

示例

//hello.xml
<?xml version="1.0">
<?xml-stylesheet type="text/xsl" href="hello.xslt"?>
<message>hello</message>
//hello.xslt
<?xml version="1.0" encoding="UTF-8"?>
<xsl:stylesheet version="2.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform"><!-- transform the input root --><xsl:template match="/"><html><body><h1><xsl:value-of select="message"/></h1></body></html></xsl:template>
</xsl:stylesheet>
//output
<html><body><h1>hello</h1></body>
</html>
  • XML文档中告诉解析器可以用一个XSLT来进行转换
  • XSLT文档,本身其实就是一个XML文档,但XSLT的根元素必须是“http://www.w3.org/1999/XSL/Transform”命名空间中的stylesheet元素
  • 浏览器如果打开XML文件,会发现XML可以被一个XSLT规则来转换,所以就转换,于是显示的就是转换后的内容,即output
  • 在XSLT中定义了一个模板,match=”/”匹配的是文档节点,即作为整个转换工作的入口,类似main函数

模板

模板用来匹配XML中的节点并对匹配的节点做转换

模板的声明
<xsl:template 
match=Pattern name=QName mode=QName priority=Number as=Sequence-type>
<!-- other xsl elements and literal result elements -->
......
</xsl:template> 
  • match用于选取匹配的节点,是一个相对或绝对的XPath
  • name为模板的名字,可以通过name来调用
  • mode可以进一步区分有相同name的模板
  • priority用于对可以用于同一个节点的模板间区分优先级,值大优先
  • as为该模板的返回类型,一般无须指定,表示可以输出任何内容
模板的调用

1、xsl:apply-templates

<xsl:template match="/">       模板 1<xsl:apply-templates/>
</xsl:template>
<xsl:template match="message"> 模板 2.....
</xsl:template>
  • xsl:apply-templates的广度优先调用
    • 在入口模板中调用了xsl:apply-templates,表面在文档节点下广度优先、逐层向下的遍历节点
    • 模板2采用了相对路径,意味着一旦遍历到一个message节点,这个模板就匹配上,就可以调用,对当前的message节点进行处理

语法

<xsl:apply-templates select=Expression mode=QName>......
</xsl:apply-templates> 
  • select属性表示下面的遍历只遍历我select的节点,如
<xsl:apply-templates select="message"/>

那么就只会遍历所有的message节点并调用匹配该节点的模板来处理

  • mode属性用于匹配模板,对于符合该节点的模板同时还需要满足相同的mode才会被调用

2、xsl:call-template

<xsl:call-template name = qname><!-- Content: xsl:with-param* -->
</xsl:call-template> 
  • call-template则是直接调用指定name的模板来处理

内置模板
  • 内置模板的作用,就是已经实现好了所有的遍历过程,而我们只需要写好相应的模板,内置模板就会在遍历的时候自动的调用我们写的模板来处理。
  • 对于我们没有编写模板来处理的节点,内置模板默认是输出其内容的
  • 如果不希望输出则一般需要我们写一个模板去覆盖内置模板的输出

XSLT转换功能
  • xsl:value-of 提取文本内容
    • 取指为一个XPath表达式
<xsl:value-of  select = expression /> 
  • xsl:text来输出文本内容
//xml
<message>
<subject>I</subject>
<predicate>Love</predicate>
<object>You</object>
</message> 
//xslt1
<xsl:template match="message"><xsl:value-of select="subject"/> <xsl:value-of select="predicate"/> <xsl:value-of select="object"/> 
</xsl:template> 
//output1
ILoveYou
//xslt2
<xsl:template match="message"><xsl:value-of select="subject"/><xsl:text> </xsl:text><xsl:value-of select="predicate"/><xsl:text> </xsl:text><xsl:value-of select="object"/> 
</xsl:template> 
//output2
I Love You
  • xsl:for-each来批量处理
<xsl:for-each  select = Expression>...循环处理代码...
</xsl:for-each> 
  • xsl:sort对批量处理的内容进行排序
    • 这种批量处理可以是xsl:for-each,也可以是xsl:apply-templates
<xsl:sort  select = expression  data-type = { "text" | "number" | QName }order = { "ascending" | "descending" }  case-order = { "upper-first" | "lower-first" } /> 
  • xsl:if进行判断与分支
<xsl:if test = boolean-expression>...条件满足时所执行的指令...
</xsl:if> 
//示例
<xsl:template match="Name"><xsl:if test="position()!=last()">      <li><xsl:value-of select="."/></li></xsl:if>
</xsl:template>
  • xsl:choose、xsl:when、xsl:otherwise进行多分支
<xsl:choose><xsl:when test=case1>...</xsl:when><xsl:when test=case2>...</xsl:when><xsl:otherwise>...default...</xsl:otherwise>
</xsl:choose>
  • xsl:copy复制原节点,仅复制当前节点,不复制子元素和属性
<xsl:template match="@*|node()"><xsl:copy><xsl:apply-templates select="@*|node()"/></xsl:copy>
</xsl:template>
  • xsl:copy-of复制整个节点
<xsl:template match="/"><xsl:copy-of select="."/>
</xsl:template>
  • xsl:element 生成 XML 元素
<xsl:template match="message"><xsl:element name=“new-message"><xsl:vlaue-of select="."/></xsl:element>
</xsl:template>
  • xsl:attribute生成属性
<xsl:template match="message"><xsl:copy><xsl:attribute name="content"><xsl:value-of select="."/></xsl:attribute></xsl:copy>
</xsl:template> 
http://www.yidumall.com/news/66294.html

相关文章:

  • django企业网站源码最新国际新闻
  • wordpress 图片剪裁网络seo啥意思
  • 阿里云中英文网站建设北京seo主管
  • 360 的网站链接怎么做引流推广网站
  • wordpress js失效如何做网站关键词优化
  • 黄页推广是什么意思seo推广教程seo推广技巧
  • 济南建网站推荐6个免费国外自媒体平台
  • 上海 网站建设网站排名优化首页
  • 腾讯云搭建网站搜狐综合小时报2022113011
  • 目前做网站流行的语言买友情链接
  • 天津市做网站公司软文营销广告案例
  • 哈尔滨城市规划建设网优化关键词有哪些方法
  • wordpress文章没缩略图seo搜索引擎优化5
  • 门户网站制作流程博客如何做营销活动
  • 泉州手机网站制作百度知道客服
  • 东莞网站建设渠道备案域名
  • 如何做好品牌宣传工作seo排名点击工具
  • 自己做的网站变成二维码java东莞seo推广
  • 企业网站建设指导规范网络公关
  • 兰州网站推广优化经济新闻最新消息财经
  • 自创网站的软件下载常州seo第一人
  • 做网站第一步做什么seo网络优化平台
  • 网站怎么续费建网站的流程
  • 苏州做网站的天气预报最新天气预报
  • 广州口碑好的网站建设定制国内最新消息新闻
  • 手机怎么做图纸设计西安seo优化排名
  • 怎样做自己的vip解析网站网站seo去哪个网站找好
  • 做足球预测的网站查看今日头条
  • 做彩票游戏网站违法吗最近的重要新闻
  • 学校登陆网站制作广州搜索排名优化