1. EXtensible Stylesheet Language


1. EXtensible Stylesheet Language

XSL 指扩展样式表语言(EXtensible Stylesheet Language)XSL 包括三部分:XSLT一种用于转换 XML 文档的语言。XPath一种用于在 XML 文档中导航的语言。XSL-FO一种用于格式化 XML 文档的语言。XSLT 指 XSL 转换(XSL Transformations)。XSLT (eXtensible Stylesheet Language Transformations) 远比 CSS 更加完善。

<?xml version="1.0" encoding="UTF-8"?>

<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" elementFormDefault="qualified" attributeFormDefault="unqualified">

<xs:element name="BOOKS">

<xs:annotation>

<xs:documentation>Comment describing your root element</xs:documentation>

</xs:annotation>

<xs:complexType>

<xs:sequence>

<xs:element ref="BOOK" minOccurs="1" maxOccurs="unbounded"/>

</xs:sequence>

</xs:complexType>

</xs:element>

<xs:element name="BOOK">

<xs:complexType>

<xs:sequence>

<xs:element name="NUMBER" type="xs:int"/>

<xs:element name="TITLE" type="xs:string"/>

<xs:element name="AUTHOR" type="xs:string"/>

<xs:element name="PAGE" type="xs:int"/>

<xs:element name="PRICE" type="xs:decimal"/>

</xs:sequence>

</xs:complexType>

</xs:element>

</xs:schema>

<?xml version="1.0" encoding="gb2312"?>

<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">

<xsl:output method="html" encoding="gb2312" doctype-public="-//W3C//DTD XHTML 1.0 Transitional//EN" doctype-system="http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"/>

<xsl:template match="/">

<html xmlns="http://www.w3.org/1999/xhtml">

<head>

<meta http-equiv="Content-Type" content="text/html; charset=gb2312"/>

<title>Untitled Document</title>

<style type="text/css">

.main{

width:700px;

margin:50px auto 10px auto;

border:#72A3D7 solid 1px;

font-size:12px;

font-family:Arial, Helvetica, sans-serif;

}

.top{

width:700px;

}

.bottom{

width:700px;

height:40px;

border-top:#72A3D7 solid 1px;

}

.title{

color:#FFFFFF;

font-size:12px;

height:22px;

}

.data_row{

height:22px;

}

</style>

</head>

<body>

<div class="main">

<div class="top">

<table width="700" cellspacing="1">

<TR class="title">

<th width="100">序号</th>

<TH>书名</TH>

<TH width="150">作者</TH>

<TH width="80">页码数</TH>

<th width="80">价格</th>

</TR>

<xsl:for-each select="BOOKS/BOOK">

<xsl:if test="NUMBER mod 2 = 0">

<TR class="data_row" bgcolor="#EFEFEF">

<td><xsl:value-of select="NUMBER"/></td>

<td><xsl:value-of select="TITLE"/></td>

<td><xsl:value-of select="AUTHOR"/></td>

<td><xsl:value-of select="PAGE"/></td>

<td><xsl:value-of select="PRICE"/></td>

</TR>

</xsl:if>

<xsl:if test="NUMBER mod 2 != 0">

<TR class="data_row">

<td><xsl:value-of select="NUMBER"/></td>

<td><xsl:value-of select="TITLE"/></td>

<td><xsl:value-of select="AUTHOR"/></td>

<td><xsl:value-of select="PAGE"/></td>

<td><xsl:value-of select="PRICE"/></td>

</TR>

</xsl:if>

</xsl:for-each>

</table>

</div>

<div class="bottom"></div>

</div>

</body>

</html>

</xsl:template>

</xsl:stylesheet>

<?xml version="1.0" encoding="UTF-8"?>

<?xml-stylesheet type="text/xsl" href="BOOKS.xsl"?>

<BOOKS xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="BOOKS.xsd">

<BOOK>

<NUMBER>0001</NUMBER>

<TITLE>DB</TITLE>

<AUTHOR>LUCY</AUTHOR>

<PAGE>200</PAGE>

<PRICE>30.5</PRICE>

</BOOK>

<BOOK>

<NUMBER>0002</NUMBER>

<TITLE>XML</TITLE>

<AUTHOR>JACKY</AUTHOR>

<PAGE>50</PAGE>

<PRICE>20.0</PRICE>

</BOOK>

<BOOK>

<NUMBER>0003</NUMBER>

<TITLE>HTML</TITLE>

<AUTHOR>LUCY</AUTHOR>

<PAGE>500</PAGE>

<PRICE>30.5</PRICE>

</BOOK>

<BOOK>

<NUMBER>0004</NUMBER>

<TITLE>SPRING</TITLE>

<AUTHOR>JACKY</AUTHOR>

<PAGE>20</PAGE>

<PRICE>20.0</PRICE>

</BOOK>

</BOOKS>

05EXtensible Stylesheet Language的更多相关文章

  1. XML 基础

    linux下xml编辑器 vim gedit editix wonderful;免费30天;可以进行有效性检查 xerces oxygen 收费 xmlcopyedit serna free 是ser ...

  2. asp.net c# 网上搜集面试题目大全(附答案)

    1.String str=new String("a")和String str = "a"有什么区别? String str = "a"; ...

  3. java常用英文解释

    java常用名词解释: OO: object-oriented ,面向对象 OOP:object-oriented programming,面向对象编程 Author:JCC Object:对象JDK ...

  4. Java基础常见英语词汇

    Java基础常见英语词汇(共70个) ['ɔbdʒekt] ['ɔ:rientid]导向的                             ['prəʊɡræmɪŋ]编程 OO: object ...

  5. Pyhton开源框架(加强版)

    info:Djangourl:https://www.oschina.net/p/djangodetail: Django 是 Python 编程语言驱动的一个开源模型-视图-控制器(MVC)风格的 ...

  6. Python开源框架

    info:更多Django信息url:https://www.oschina.net/p/djangodetail: Django 是 Python 编程语言驱动的一个开源模型-视图-控制器(MVC) ...

  7. xml note

          10. 两种不同的XML分析模型: DOM:所有数据位于内存 SAX:流程性分析,不必把所有数据Load到内存中,可分析大型的XML文件,常用于Servlet-side的XML-xhtml ...

  8. XML,DTD,XSD,XSL的区别

    XML=可扩展标记语言(eXtensible Markup Language). 可扩展标记语言XML是一种简单的数据存储语言,使用一系列简单的标记描述数据,而这些标记可用 方便的方式建立,虽然XML ...

  9. IT软件开发常用英语词汇

    Aabstract 抽象的abstract base class (ABC)抽象基类abstract class 抽象类abstraction 抽象.抽象物.抽象性access 存取.访问access ...

随机推荐

  1. 协程的优点(Python)

    协程的优点: 协程是进程和线程的升级版,进程和线程都面临着内核态和用户态的切换问题而耗费许多切换时间, 而协程就是用户自己控制切换的时机,不再需要陷入系统的内核态.协程的执行效率非常高.因为子程序切换 ...

  2. git合并相关问题(copy)

    [说明:资料来自http://gitbook.liuhui998.com/3_3.html] 一个Git仓库可以维护很多开发分支.现在我们来创建一个新的叫”experimental”的分支: $ gi ...

  3. 解决axios IE11 Promise对象未定义

    在你的项目中安装polyfill Babel Polyfill 按照官网方法安装并引入即可 http://blog.csdn.net/panyox/article/details/76377248

  4. .NET修改配置文件

    首先说明,本文参考了这个帖子http://www.cnblogs.com/henw/archive/2012/01/31/2333783.html,进行了一些补充 简要说来两种方法,一是把config ...

  5. Linux 系统管理命令 - mpstat - CPU信息统计

    命令详解 重要星级: ★★★★☆ 功能说明: mpstat 是 Multiprocessor Statistics 的缩写,是一种实时系统监控工具.mpstat 命令会输出 CPU 的一些统计信息,这 ...

  6. 机器学习--DIY笔记与感悟--①K-临近算法

    ##“计算机出身要紧跟潮流” 机器学习作为如今发展的趋势需要被我们所掌握.而今我也需要开始learn机器学习,并将之后的所作所想记录在此. 今天我开始第一课--K临近算法. 一.k-临近的基础概念理解 ...

  7. Trie树的小应用——Chemist

    题意(自己编的): 给你一篇文章,包含n个长度为Si的单词,然后给你m组询问,每次询问一个单词在这篇文章中作为单词前缀出现的次数.n <=10^6,m<=10^6,Si<=100. ...

  8. 原生JavaScript之实战 模拟重力场(篮球)

    成品图如下所示: 点击篮球让篮球掉下 搭建HTML+CSS代码 html: <div id="demo"></div> css: div{ width:10 ...

  9. WPF-DataGrid(数据表格)美化

    我们不多哔哔先上图: 数据表格使用背景: 当我们在做二次开发发现我我们的表格无法向WEB的表格一样好看,这时我们就需要对数据表格进行美化和重构 表格美化思维引导: WPF数据表格是由表头和表体(内容) ...

  10. CocoaPods 升级出现问题 (一)

    升级了cocoapods 然后出现了这个问题 , 一上午时间各种FQ啊 ,终于吃完饭后找到原因了 ,OK 开工