知方可补不足~用xsl来修饰xml

简介:

概念相关

XSL是可扩展样式表语言的外语缩写,是一种用于以可读格式呈现 XML(标准通用标记语言的子集)数据的语言。

起始于 XSL

万维网联盟(W3C)开始发展 XSL 的原因是:存在着对于基于 XML 的样式表语言的需求。

CSS = HTML 样式表

HTML 使用预先定义的标签,每个标签的意义很容易被理解。
HTML 中的 <table> 标签定义表格 - 并且浏览器清楚如何显示它。
向 HTML 元素添加样式是很容易的。通过 CSS,很容易告知浏览器用特定的字体或颜色显示一个元素。

XSL = XML 样式表

XML 不使用预先定义的标签(我们可以使用任何喜欢的标签名),并且每个标签的意义并不都那么容易被理解。
<table> 标签意味着一个 HTML 表格,一件家具,或是别的什么东西 - 浏览器不清楚如何显示它。
XSL 可描述如何来显示 XML 文档!

XSL - 不仅仅是样式表语言

XSL 包括三部分:

    XSLT - 一种用于转换 XML 文档的语言。
    XPath - 一种用于在 XML 文档中导航的语言。
    XSL-FO - 一种用于格式化 XML 文档的语言。

XSL-主要关键字

<xsl:template> 元素用于构建模板
<xsl:value-of> 元素用于提取某个选定节点的值,并把值添加到转换的输出流中
<xsl:for-each> 元素可用于选取指定的节点集中的每个 XML 元素
<xsl:sort>如需对结果进行排序,只要简单地在 XSL 文件中的 <xsl:for-each> 元素内部添加一个 <xsl:sort> 元素
<xsl:if> 如需放置针对 XML 文件内容的条件测试,请向 XSL 文档添加 <xsl:if> 元素。
<xsl:choose> 元素用于结合 <xsl:when> 和 <xsl:otherwise> 来表达多重条件测试。
<xsl:apply-templates> 元素可把一个模板应用于当前的元素或者当前元素的子节点
<xsl:when expression> 相当前于一种判断,表示当expression成立时执行的代码
<xsl:otherwise expression> 它与<xsl:when>一起使用,表示当when条件不成立时,执行的代码

代码相关

xml文件内容

<?xml version="1.0" encoding="gb2312" ?>
<?xml-stylesheet type="text/xsl" href="templete.xsl" ?>
<root>
  <food>
    <name>鸡蛋</name>
    <price>$5</price>
    <info>很有营养的</info>
    <unit>2</unit>
  </food>
  <food>
    <name>煎饼</name>
    <price>$4.5</price>
    <info>早餐必备</info>
    <unit>1</unit>
  </food>
  <food>
    <name>皮蛋粥</name>
    <price>$2</price>
    <info>我的最爱</info>
    <unit>1</unit>
  </food>
</root>

xsl文件内容

<?xml version="1.0" encoding="gb2312" ?>
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0">
  <xsl:template match="/">
    <HTML>
      <head>
        <meta http-equiv="Content-Type" content="text/html; charset=gb2312" />
      </head>
      <BODY STYLE="font-family:微软雅黑; font-size:12pt;background-color:#fff">
        <xsl:for-each select="root/food">
          <DIV STYLE="background-color:#eeaaaa; color:white; padding:4px">
            <SPAN STYLE="font-weight:bold; color:white">
              <xsl:value-of select="name"/>
            </SPAN>
            <em>
              <xsl:value-of select="price"/>
            </em>
          </DIV>
          <DIV>
            <xsl:value-of select="info"/>
            <SPAN STYLE="font-style:italic">
              (<xsl:value-of select="count" />份)
            </SPAN>
          </DIV>
        </xsl:for-each>
      </BODY>
    </HTML>
  </xsl:template>
</xsl:stylesheet>

 程序截图

本文转自博客园张占岭(仓储大叔)的博客,原文链接:知方可补不足~用xsl来修饰xml,如需转载请自行联系原博主。

目录
相关文章
|
1月前
|
XML 前端开发 Java
讲解SSM的xml文件
本文详细介绍了SSM框架中的xml配置文件,包括springMVC.xml和applicationContext.xml,涉及组件扫描、数据源配置、事务管理、MyBatis集成以及Spring MVC的视图解析器配置。
54 1
|
3月前
|
XML Java 数据格式
Spring5入门到实战------7、IOC容器-Bean管理XML方式(外部属性文件)
这篇文章是Spring5框架的实战教程,主要介绍了如何在Spring的IOC容器中通过XML配置方式使用外部属性文件来管理Bean,特别是数据库连接池的配置。文章详细讲解了创建属性文件、引入属性文件到Spring配置、以及如何使用属性占位符来引用属性文件中的值。
Spring5入门到实战------7、IOC容器-Bean管理XML方式(外部属性文件)
|
2天前
|
Java Maven
maven项目的pom.xml文件常用标签使用介绍
第四届人文,智慧教育与服务管理国际学术会议(HWESM 2025) 2025 4th International Conference on Humanities, Wisdom Education and Service Management
32 8
|
1月前
|
XML JavaScript Java
java与XML文件的读写
java与XML文件的读写
23 3
|
5月前
|
XML Java 数据格式
java创建xml文件内容
java创建xml文件内容
|
5月前
|
XML Java 数据格式
java解析xml文件内容
java解析xml文件内容
|
1月前
|
XML 存储 缓存
C#使用XML文件的详解及示例
C#使用XML文件的详解及示例
77 0
|
1月前
|
XML 存储 Web App开发
查看 XML 文件
查看 XML 文件