XSL概述(一)
来源:互联网 发布:护士资格考试题库软件 编辑:程序博客网 时间:2024/06/04 19:30
XSL,EXtensible Stylesheet Language,可扩展样式语言。
你说他是样式吧,他说他是语言,因为他支持表达式和执行逻辑;
你说他是语言吧,他还真能实现类似把一个word文件变成pdf的功能。
下面是一个简单的XSL文件:
<?xml version="1.0" encoding="utf-8"?>
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0">
<xsl:template match="/">
<html><head><title></title></head><body/></html>
</xsl:template>
</xsl:stylesheet>
从上文xsl范例中可以发现:
xsl一是个xml文件,第一行就是一个标准的xml声明;
w3c对xsl有个国际标准,一般来说,这个名称空间的alias为xsl;
相应的,还有一些transform的标准,比如微软自己的xml解析器支持的:xmlns:msxsl="urn:schemas-microsoft-com:xslt"
在java里,那就更开放了,凡是所有的静态方法,全部可以在xsl里使用,例如定义一个名称空间 xmlns:yizi="java.net.URLEncoder",然后我们就可以在xsl主体中写 <xsl:value-of select="yizi:encode('http://www.baidu.com')"/>
问题一:用上文提到的java名称空间定义范例,写了一个xsl文件,在IE浏览器中解析的效果是什么?为什么会出现这种效果?
<?xml version="1.0" encoding="utf-8"?>
<?xml-stylesheet type="text/xsl" href="sample.xsl"?>
<html xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="D:/gz_wap.xsd">
<head>
<title/>
</head>
<body>
<a href="http://forum.csdn.net/BList/Enterprise" id="a1">企业开发大论坛</a>
</body>
</html>
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0" xmlns:yizi="java.net.URLEncoder">
<xsl:output method="html"/>
<xsl:template match="/">
<html>
<body>
title==<xsl:value-of select="//a/text()"/><br/>
href==<xsl:value-of select="//a/@href"/><br/>
urlencode==<xsl:value-of select="yizi:encode(//a@href)"/>
</body>
</html>
</xsl:template>
</xsl:stylesheet>
最常用的结点
范例xml:
<?xml version="1.0" encoding="utf-8"?>
<?xml-stylesheet type="text/xsl" href="sample.xsl"?>
<html>
<head>
<title/>
</head>
<body>
<a href="http://forum.csdn.net/BList/Enterprise" id="a1">企业开发大论坛</a>
<a href="" id="a2">空连接</a>
<a href="http://www.baidu.com" id="a3">baidu</a>
</body>
</html>
<xsl:for-each>
<xsl:if>
如果<a>的href属性为空,则不显示
显示格式为:title==企业开发大论坛, href==http://forum.csdn.net/BList/Enterprise
<xsl:choose>
显示所有有href属性的<a>标签的href和text(),没有href属性的显示text(),并注明其href为空
显示格式为:title==企业开发大论坛, href==http://forum.csdn.net/BList/Enterprise
title==baidu, href==空
- XSL概述(一)
- XSL基础教程(一)
- XSL基础教程(一)
- XSL基础教程(一)
- XSL-FO 基础知识(一)
- Xsl实践总结(一)
- XSL概述(二)
- 跟我学XSL(一)
- 跟我学XSL(一) [Z]
- 跟我学XSL(一)
- 跟我学XSL(一)
- 跟我学XSL(一)
- 跟我学XSL(一)
- 跟我学XSL(一)
- 跟我学XSL(一)
- 跟我学XSL(一)
- 跟我学XSL(一)
- 跟我学XSL(一)
- ajax最简单的一个实例
- java中的Proxy模式(一)
- Learning note(1) for Windows PowerShell Tips
- STOS/STOSB/STOSW/STOSD/STOSQ---存储字符串
- Symbian:3版到2版移植
- XSL概述(一)
- 正式开博了~
- 动态实现分页
- asp.net页面生存周期
- API窗口句柄函数
- 关于Java时间类型转换
- 基础中的基础,关于网页DOCTYPE(文档类型)的定义
- visualnet相关案例资料
- VSTS : 在性能调优中找到瓶颈所在