XSL学习笔记一:概念、作用与使用方法
一、什么是XSL
所谓XSL,就是可扩展样式语言(extensible stylesheet language,简称XSL)(参考自:http://en.wikipedia.org/wiki/XSL)。其中包含XSLT,即可扩展样式表转换语言(Extensible Stylesheet Language Transformations,简称XSLT)是我最感兴趣的一部分,所以以下凡是称XSL的地方都是指XSLT。
二、XSL的作用
XSL是一种处理XML文件的方式。顾名思义,就是一种类似css(层叠样式表)的语言,只不过处理的输入是XML而非HTML(输入格式比HTML要严格),而且一般可以依靠一些XSLT处理器(例如xalan和saxon)脱离浏览器直接运行。例如可以把以下XML内容:<?xml version="1.0"?><doc>Hello</doc>转换为<?xml version="1.0" encoding="UTF-8"?><out>Hello</out>。
XSL的常见用途如下:
(1) 网页渲染(类似css)
* 用Xalan在IE中浏览XML文件
http://www.infosecurity.org.cn/content/appsec/xmlbasic/use_xalan_ie_bran_xml_file.htm
(2) XML与其它数据格式的互换
* A CSV to XML converter in XSLT 2.0
http://andrewjwelch.com/code/xslt/csv/csv-to-xml_v2.html
* xml2json-xslt
http://code.google.com/p/xml2json-xslt/
(3) 代码生成(模板)
* 利用工具生成数据解析层代码
http://www.xncat.com/?p=1554
* FCG
http://www.dehats.com/drupal/?q=node/7
http://www.flashas.net/html/Flex/20081229/3830.html
* AMF3用のクラスを自動生成する
http://www.d-project.com/flex/013_XML2Src/
(4) 文档生成和翻译
* jquery-api-zh-cn
http://code.google.com/p/jquery-api-zh-cn/
https://github.com/shawphy/jquery-api
其中我最感兴趣的是代码生成方面。如果不限于XML的输入,还有其它可用于代码生成的方案,例如:
* GNU m4
http://www.linuxforum.net/forum/files/591080-GNU_m4_info_page_cn.txt
* StringTemplate
http://www.stringtemplate.org/
还有很多类似的方法(有些微语言和语言支持占位符、注入和宏展开功能)
三、使用XSL/XSLT处理器进行转换、处理或代码生成
1. 使用xalan
官方网站:
* http://xml.apache.org/xalan-j/
2. 使用saxon
参考资料:
* http://saxon.sourceforge.net/
3. 使用Kernow
参考资料:
* http://kernowforsaxon.sourceforge.net/
4. 使用Apache Ant
参考资料:
* http://ant.apache.org/manual/Tasks/style.html
5. 使用Maven XML Plugin
参考资料:
* http://mojo.codehaus.org/xml-maven-plugin/
* http://mojo.codehaus.org/xslt-maven-plugin/plugin-info.html
(TODO)
分享到:
相关推荐
XSL(Extensible Stylesheet Language)是一种样式表语言,用于转换XML文档的结构和格式,使其更适合人类阅读或机器处理。XSL分为三个主要部分:XSLT(XSL Transformations)、XPath(XML Path Language)和XSL-FO...
2. **XSL学习.doc**:可能是作者编写的详细教程或笔记,涵盖XSL的高级特性,如XPath表达式、模式匹配、导入导出、命名空间、样式表组合等。此外,文档可能还包含了一些实用技巧和解决常见问题的方法。 3. **XSL速查...
通过本篇学习笔记,我们不仅了解了Nutch的基本概念和安装配置流程,而且还探讨了一些核心组件的使用方法。对于想要进一步探索网络爬虫技术的人来说,Nutch无疑提供了一个强大的工具集。未来的学习过程中,我们还可以...
### 学习笔记 学习XSL不仅需要理论知识,还需要实践。通过创建简单的转换开始,然后逐步尝试更复杂的功能,比如条件判断、循环和模板调用。编写并调试XSLT时,理解XPath的表达式是至关重要的。同时,了解如何使用...
### 北京圣思园XML学习笔记核心知识点详解 #### XML概述 - **XML全称**:eXtensible Markup Language(可扩展标记语言) - **学习XML的原因**: - 数据交换的需求日益增长,XML成为了电子商务的重要基础之一。 - ...
4. **XML笔记**:学习XML时,笔记可以帮助整理概念和技巧。可能包括如何创建有效的XML文档、命名规则、命名空间、DOM(Document Object Model)解析、SAX(Simple API for XML)事件驱动解析、XML Schema(替代DTD的...
本压缩包包含了关于XML的学习笔记、课件和实例,旨在帮助初学者全面理解和掌握XML的核心概念与应用。 XML的基础知识包括以下几个关键点: 1. **XML的基本结构**:XML文档由一系列元素构成,每个元素由起始标签(如...
### SVG学习笔记(Scalable Vector Graphics) #### SVG概述 SVG,全称为可缩放矢量图形(Scalable Vector Graphics),是一种基于XML的语言,用于描述二维矢量图形及其行为。SVG不仅支持静态图形,还支持动画以及...
### XML学习笔记知识点详解 #### 1. XML简介 - **定义**:XML(Extensible Markup Language,可扩展标记语言)是一种标记语言,用于描述数据的结构和含义,旨在存储和传输数据。与HTML(专注于如何展示数据)不同...
XML的学习不仅包括基础语法,还包括理解XML的结构化概念、元数据、样式处理和DOM等高级主题。对于初学者来说,掌握这些基本知识是迈向专业XML开发的第一步。随着技能的提升,XML可以用于实现复杂的数据交换、数据...
虽然XSL与CSS都与样式有关,但XSL的功能更强大,它可以完全重排和格式化XML数据。 在HTML中应用CSS有三种常见方法:1) 嵌入式,即将CSS代码放入`<style>`标签,置于`<head>`部分;2) 外部引用式,通过`@import`指令...
在XML笔记中,你可能会学到以下关键概念: 1. **XML基础结构**:XML文档由元素(Element)、属性(Attribute)、文本内容(Text Content)等组成。每个XML文档必须有一个根元素,其他元素嵌套在根元素内部。元素...
这些笔记可能涵盖了XML的基本概念、使用方法和相关技术,通过深入学习和实践,你可以掌握XML在各种应用场景中的运用,从而提高开发效率和数据处理能力。对于初学者来说,`xml_day01.txt`和`xml_day02.txt`可能分别...
1. XML的基本概念: - XML文档结构:XML文档由元素、属性、文本、注释等构成,其中元素是XML的核心,用于封装数据。 - 声明:每个XML文档都应以XML声明开头,例如`<?xml version="1.0" encoding="UTF-8"?>`,定义...