0.1)起始于 XSL
XSL 指扩展样式表语言(EXtensible Stylesheet Language)。
万维网联盟 (W3C) 开始发展 XSL 的原因是:存在着对于基于 XML 的样式表语言的需求。
0.2)CSS = HTML 样式表
HTML 使用预先定义的标签,标签的意义很容易被理解。
HTML 元素中的 <table> 元素定义表格 - 并且浏览器清楚如何显示它。
向 HTML 元素添加样式是很容易的。通过 CSS,很容易告知浏览器用特定的字体或颜色显示一个元素。
0.3)XSL = XML 样式表
XML 不使用预先定义的标签(我们可以使用任何喜欢的标签名),并且这些标签的意义并不都那么容易被理解。
<table> 元素意味着一个 HTML 表格,一件家具,或是别的什么东西 - 浏览器不清楚如何显示它。
XSL 可描述如何来显示 XML 文档!
0.4)XSL - 不仅仅是样式表语言(XSL 包括三部分):
-
0.4.1)XSLT: 一种用于转换 XML 文档的语言。
0.4.2)XPath:一种用于在 XML 文档中导航的语言。
0.4.3)XSL-FO:一种用于格式化 XML 文档的语言。
【1】for basic XSLT , please visit basic XSLT
【2】source code at a glance for test XSLT (reshipping from XSLT的源代码出处) for souce code, please visit https://github.com/pacosonTang/core-java-volume/tree/master/coreJavaAdvanced/chapter2/XSLT
package com.corejava.chapter2.XSLT;
import java.io.File;
import java.io.FileOutputStream;
import javax.xml.transform.Transformer;
import javax.xml.transform.TransformerFactory;
import javax.xml.transform.stream.StreamResult;
import javax.xml.transform.stream.StreamSource;
public class MyXSLTTest
{
private static String workDir = System.getProperty("user.dir")
+ File.separator + "src" + File.separator + "com" + File.separator
+ "corejava" + File.separator + "chapter2" + File.separator
+ "XSLT" + File.separator;
public static void main(String[] args)
{
try
{
TransformerFactory tFactory = TransformerFactory.newInstance();
Transformer transformer = tFactory.newTransformer(new StreamSource(workDir + "howto.xsl"));
transformer.transform(new StreamSource(workDir + "howto.xml"),
new StreamResult(new FileOutputStream(workDir + "howto.html")));
System.out.println("successful transforming over ! ");
} catch (Exception e)
{
e.printStackTrace();
}
}
}
荔枝二: 转换多个xml中的对象为 html 格式
(for source code , please visit
https://github.com/pacosonTang/core-java-volume/blob/master/coreJavaAdvanced/chapter2/XSLT/XSLTTestMultiple.java
)