`

XSL学习笔记一:概念、作用与使用方法

 
阅读更多

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学习笔记,入门知识

    XSL(Extensible Stylesheet Language)是一种样式表语言,用于转换XML文档的结构和格式,使其更适合人类阅读或机器处理。XSL分为三个主要部分:XSLT(XSL Transformations)、XPath(XML Path Language)和XSL-FO...

    XSL学习3

    2. **XSL学习.doc**:可能是作者编写的详细教程或笔记,涵盖XSL的高级特性,如XPath表达式、模式匹配、导入导出、命名空间、样式表组合等。此外,文档可能还包含了一些实用技巧和解决常见问题的方法。 3. **XSL速查...

    nutch学习笔记之第一天初学

    通过本篇学习笔记,我们不仅了解了Nutch的基本概念和安装配置流程,而且还探讨了一些核心组件的使用方法。对于想要进一步探索网络爬虫技术的人来说,Nutch无疑提供了一个强大的工具集。未来的学习过程中,我们还可以...

    XSL基础教程以及元素参考手册

    ### 学习笔记 学习XSL不仅需要理论知识,还需要实践。通过创建简单的转换开始,然后逐步尝试更复杂的功能,比如条件判断、循环和模板调用。编写并调试XSLT时,理解XPath的表达式是至关重要的。同时,了解如何使用...

    北京圣思园xml学习笔记

    ### 北京圣思园XML学习笔记核心知识点详解 #### XML概述 - **XML全称**:eXtensible Markup Language(可扩展标记语言) - **学习XML的原因**: - 数据交换的需求日益增长,XML成为了电子商务的重要基础之一。 - ...

    XML笔记与实例讲解

    4. **XML笔记**:学习XML时,笔记可以帮助整理概念和技巧。可能包括如何创建有效的XML文档、命名规则、命名空间、DOM(Document Object Model)解析、SAX(Simple API for XML)事件驱动解析、XML Schema(替代DTD的...

    XML 学习笔记,课件,实例

    本压缩包包含了关于XML的学习笔记、课件和实例,旨在帮助初学者全面理解和掌握XML的核心概念与应用。 XML的基础知识包括以下几个关键点: 1. **XML的基本结构**:XML文档由一系列元素构成,每个元素由起始标签(如...

    SVG学习笔记(Scalable Vector Graphics)

    ### SVG学习笔记(Scalable Vector Graphics) #### SVG概述 SVG,全称为可缩放矢量图形(Scalable Vector Graphics),是一种基于XML的语言,用于描述二维矢量图形及其行为。SVG不仅支持静态图形,还支持动画以及...

    xml学习笔记

    ### XML学习笔记知识点详解 #### 1. XML简介 - **定义**:XML(Extensible Markup Language,可扩展标记语言)是一种标记语言,用于描述数据的结构和含义,旨在存储和传输数据。与HTML(专注于如何展示数据)不同...

    XML学习笔记(特别适合初学者)

    XML的学习不仅包括基础语法,还包括理解XML的结构化概念、元数据、样式处理和DOM等高级主题。对于初学者来说,掌握这些基本知识是迈向专业XML开发的第一步。随着技能的提升,XML可以用于实现复杂的数据交换、数据...

    Css学习笔记

    虽然XSL与CSS都与样式有关,但XSL的功能更强大,它可以完全重排和格式化XML数据。 在HTML中应用CSS有三种常见方法:1) 嵌入式,即将CSS代码放入`&lt;style&gt;`标签,置于`&lt;head&gt;`部分;2) 外部引用式,通过`@import`指令...

    xml笔记与例子.rar

    在XML笔记中,你可能会学到以下关键概念: 1. **XML基础结构**:XML文档由元素(Element)、属性(Attribute)、文本内容(Text Content)等组成。每个XML文档必须有一个根元素,其他元素嵌套在根元素内部。元素...

    XML笔记(总结XML精华TXT)

    这些笔记可能涵盖了XML的基本概念、使用方法和相关技术,通过深入学习和实践,你可以掌握XML在各种应用场景中的运用,从而提高开发效率和数据处理能力。对于初学者来说,`xml_day01.txt`和`xml_day02.txt`可能分别...

    XML资料大全--基础 语言 笔记课件

    1. XML的基本概念: - XML文档结构:XML文档由元素、属性、文本、注释等构成,其中元素是XML的核心,用于封装数据。 - 声明:每个XML文档都应以XML声明开头,例如`&lt;?xml version="1.0" encoding="UTF-8"?&gt;`,定义...

Global site tag (gtag.js) - Google Analytics