- 浏览: 465496 次
- 性别:
- 来自: 上海
-
文章分类
- 全部博客 (233)
- 技术日志 (87)
- portal (7)
- jBPM/Activiti (34)
- Roller学习 (18)
- Java基础、网站开发 (19)
- 收藏URL (4)
- UML (3)
- linux操作 (7)
- 工作环境准备 (8)
- Mina (15)
- tomcat (8)
- Mylyn (3)
- sina网站 (2)
- 规则引擎 (3)
- 工作记录 (11)
- html(5) (9)
- 手机开发 (3)
- oracle (26)
- 常用的 (2)
- maven (8)
- hadoop (0)
- xml (7)
- 错误解决 (5)
- linux (1)
- c# (2)
- c++ (1)
- node.js (1)
- 银行业务知识 (1)
- Java调试 (0)
最新评论
-
tomcatmeng:
请问候选用户是怎样task自己的任务,看网上说先根据任务id先 ...
jBPM4.4:ForEach的使用--动态设置参与人数 -
maoweiwer:
友情提醒:如果是在MYSQL下创建数据库,则还需要更改\jbp ...
jBPM4.4: 创建数据库表 -
zybing:
ganjiang 写道有点疑惑,请lz指点,1.那个“depl ...
jBPM4.4:如何图示化显示当前的流程执行到了哪一步骤 -
zybing:
ganjiang 写道有点疑惑,请lz指点,1.那个“depl ...
jBPM4.4:如何图示化显示当前的流程执行到了哪一步骤 -
ganjiang:
有点疑惑,请lz指点,1.那个“deployId”不知是那个i ...
jBPM4.4:如何图示化显示当前的流程执行到了哪一步骤
Xsl学习
<?xml version="1.0" encoding="GB2312"?> <xsl:stylesheet xmlns:xsl="http://www.w3.org/TR/WD-xsl">
|
参考微软的"XSL开发者指南",我们大致可将模式语言分为三种:
选择模式:
<xsl:for-each>、<xsl:value-of>和 <xsl:apply-templates>
测试模式:
条件判断<xsl:if>与多条件判断<xsl:choose>及<xsl:when>
匹配模式:
<xsl:template>
一、 选择模式
选择模式语句将数据从XML中提取出来,是一种简单获得数据的方法,这几个标记都有一个select属性,选取XML中特定的结点名的数据。
1、<xsl:for-each>
如在XML中有这样的数据:
<author> <name>小禹</name> <name>春华</name> <name>秋实</name> </author> |
我们要读取这三个作者名字,是一个一个地按"author/name"方法来读取吗,可有多个这样的name呀?如果有一种程序性的语句来循环读取有多好啊!
想得很对,XSL提供了这样的具有程序语言性质的语句:<xsl:for-each>
用它读取这三个作者名字的方法如下:
<xsl:for-each select="author/name">
……
</xsl:for-each>
select,顾名思义,选取,它可以选定XML中特定唯一的标记,也可以选择某一类相同的标记,我们称之为结点集。
语法:
<xsl:for-each select="pattern" order-by="sort-criteria-list">
属性:
1.select
根据XSL样式查询考察上下文以决定哪类结点集(满足select条件)使用此样式描述。作为一种简化的表示就是,如果你想对文档中的某一种标记的内容的显示方式进行格式化,就可以将让select等于此元素的标记名。例如欲对标记xml_mark进行格式化,即可用如下方式表示:
<xsl:for-each select="xml_mark">
<!--样式定义-->
</xsl:for-each>
2.order-by
以分号(;)分隔、作为排序标准的列表。在列表元素前添加加号(+)表示按此标记的内容以升序排序,添加减号(-)表示逆序排序。作为一种简化的表示就是,排序标准列表就是由select规定的标记的子标记的序列,每个标记之间以(;)分隔。
2、<xsl:value-of>
<xsl:for-each>模式只是选取节点,并没有取出节点的值,好比猴子只是爬到了树的某个枝干上,那么就用< xsl:value-of >来摘"胜利果实"吧!
语法:
<xsl:value-of select="pattern">提取节点的值
属性:
select用来与当前上下文匹配的XSL式样。简单的讲,如果要在XSL文档某处插入某个XML标记(假定是xml_mark标记)的内容,可用如下方式表示:
<xsl:value-of select="xml_mark"></xsl:value-of>
或
<xsl:value-of select="xml_mark"/>
示例:
此处仍以上期的个人简历的作为例子,我们需要对文件(个人简历.xml)作一定修改,确切的说是将其中的第二行:
<?xml-stylesheet type="text/css" href="resume.css"?>
修改为:
<?xml-stylesheet type="text/xsl" href="resume.xsl"?>
然后建立一个新文件:resume.xsl,其内容如下:
<?xml version="1.0" encoding="GB2312"?> <HTML xmlns:xsl="http://www.w3.org/TR/WD-xsl"> <HEAD> <TITLE>个人简历</TITLE> </HEAD><BODY> <xsl:for-each select="resume"> <P/> <TABLE border="1" cellspacing="0"> <CAPTION style="font-size: 150%; font-weight: bold"> 个人简历 </CAPTION> <TR> <TH>姓名</TH><TD><xsl:value-of select="name"/></TD> <TH>性别</TH><TD><xsl:value-of select="sex"/></TD> <TH>生日</TH><TD><xsl:value-of select="birthday"/></TD> </TR> <TR> <TH>技能</TH><TD colspan="5"><xsl:value-of select="skill"/></TD> </TR> </TABLE> </xsl:for-each> </BODY> </HTML> |
数据xml文件:
<?xml version="1.0" encoding="GB2312"?> <resume> <name>禹希初</name> <sex>男</sex> <birthday>1977.5</birthday> <skill>数据库设计与维护、WEB开发</skill> </resume> |
Template:
装集装箱--书写模板(块):<xsl:template>
语法:
<xsl:template match="node-context" language="language-name">
属性:
match ── 确定什么样的情况下执行此模板。作为一种简化的说明,在此处使用标记的名字;其中最上层模板必须将match设为"/"。
language ── 确定在此模板中执行什么脚本语言,其取值与HTML中的SCRIPT标记的LANGUAGE属性的取值相同,缺省值是Jscript。
<xsl:template>用match属性从XML选取满足条件的节点,征对这些特定的节点形成一个特定输出形式的模板。
吊集装箱上船--调用模板(块):<xsl:apply-templates>
语法:
<xsl:apply-templates select="pattern" order-by="sort-criteria-list">
属性:
select ── 确定在此上下文环境中应执行什么模板,即选取用< xsl:template >标记建立的模板(块)。
order-by ── 以分号(;)分隔的排序标准,通常是子标记的序列。
注意:如果XML文档中不同标记有同名的子标记,在为其编写模板时,应把父标记作为其前缀,格式为(parent_mark/child_mark)。模板文件必须有一个根模板,其属性match是"/"。
测试模式:
条件判断<xsl:if>与多条件判断<xsl:choose>及<xsl:when>
<xsl:if>的语法结构:
语法:
<xsl:if expr="script-expression" language="language-name" test="pattern">
属性:
expr ── 脚本语言表达式,计算结果为"真"或"假";如果结果为"真",且通过test,则在输出中显示其中内容(可省略此项属性)。
language ── expr属性中表达式的脚本语言类型,其取值与HTML标记SCRIPT的LANGUAGE属性的取值相同,缺省为"JScript"。
test ──源数据测试条件。
<xsl:if test=".[value()$le$20]">
$le$ ── 是关系运算符中的"小于等于",其它关系有小于($lt$)、大于($gt$)、大于等于($ge$)、等于($eq$)、不等于($ne$)等。
. ── 表示引用当前标记。
[ ] ── 表示筛选,只有满足筛选条件的标记才能被选取。
value() ──XSL函数,其他常用XSL函数有text()、end()、index()等。
<xsl:choose>
语法:<xsl:choose>
属性:无,表示一个多选测试的开始
<xsl:when>
语法:
<xsl:when expr="script-expression" language="language-name" test="pattern">
属性:
expr ── 脚本语言表达式,计算结果为"真"或"假";如果结果为"真",且通过test,则在输出中显示其中内容(可省略此项属性)。
language ── expr属性中表达式的脚本语言类型,其取值与HTML标记SCRIPT的LANGUAGE属性的取值相同,缺省为"JScript"。
test ── 源数据测试条件。
<xsl:otherwise>
语法:<xsl:otherwise>
属性:无,在一个多选测试中,如果没有不满足<xsl:when>规定的条件,如果在最后有此标记,则输出此标记中的内容。
<xsl:choose>
<xsl:when test=".[value()$gt$85]">优秀</xsl:when>
<xsl:when test=".[value()$gt$70]">一般</xsl:when>
<xsl:when test=".[value()$gt$60]">起格</xsl:when>
<xsl:otherwise>不起格</xsl:otherwise>
</xsl:choose>
XSL的运算符
表一、运算符与特殊字符
运算符 |
描述 |
/ |
选择子元素,返回左侧元素的直接子元素;如果"/"位于最左侧表示选择根结点的直接子元素 |
// |
递归下降,不论深度,搜索指定的元素;如果位于最左侧表示从根结点出发递归下降搜索指定元素 |
. |
表示当前元素 |
* |
通配符,选择任意元素,不考虑名字 |
@ |
取得属性值,作为属性名的前缀 |
@* |
通配符,选择任意属性,不考虑名字 |
: |
名字作用范围分隔符,将名字作用范围前缀与元素或属性名分隔开来 |
!* |
在相关节点上应用指定方法 |
()* |
分组,明确指定优先顺序 |
[] |
应用过滤样式 |
[]* |
下标运算符,用于在集合中指示元素 |
表二、逻辑运算符
可选方式 |
描述 |
and $and$ 或 && |
逻辑与 |
or $or$ 或 || |
逻辑或 |
not() $not$ |
逻辑非 |
表三、关系运算符
可选方式 |
描述 |
= 或 $eq$ |
相等 |
= 或 $ieq$ |
相等(不区分大小写) |
!= 或 $ne$ |
不等 |
$ine$ |
不等(不区分大小写) |
< 或 $lt$ |
小于 |
$ilt$ |
小于(不区分大小写) |
<= 或 $le$ |
小于等于 |
$ile$ |
小于等于(不区分大小写) |
> 或 $gt$ |
大于 |
$igt$ |
大于(不区分大小写) |
>= 或 $ge$ |
大于等于 |
$ige$ |
大于等于(不区分大小写) |
$all$ |
集合运算符,如果集合中所有项目均满足条件则返回"真" |
$any$ |
集合运算符,如果集合中任意项目满足条件则返回"真" |
| |
集合运算符,返回两个集合的联合 |
例子:
文档:
<document> |
个人简历中寻找具有具有"WEB开发"技能的人的姓名与E-Mail。
<xsl:for-each select="resume [$any$skill="WEB开发"]">
1.[ ] ── 表示选择条件,只有满足条件的个人简历才被显示。
2.$any$ ── 由于每个人有多种技能,故加$any$作为前缀,以使每个人所有技能都能被比较。
3.skill='WEB开发' ── 筛选条件。
如果欲选择1977/1/1之前出生的人的姓名、技能与E-Mail,相应的XSL文档结构如下(假定生日格式为yyyy/mm/dd):
<xsl:for-each select="resume[birthday$lt$"1977/1/1"]">
1.birthday $lt$ '1977/1/1' ── 搜索条件,在此处使用"< "会错误,故使用"$lt$"表示小于。
2.skill [0] ── 表示选择skill的第一项。
3.skill [index()>0] ── 表示选择skill的第二项以后(包括第二项)的项目。
4.xsl:value-of select="." ── 表示选择当前标记的值。
函数
一、end()
含义:返回集合中最后一个元素。
示例:输出最后一份简历
假定XML文件格式为:
……<resume>…</resume>……<resume>…</resume>……
相应XSL文件内容为:
<xsl:for-each select="resume[end()]">……</xsl:for-each>
或:
<xsl:templates match="resume[end()]">……</xsl:templates>
或:
<xsl:apply-template select="resume[end()]">……</xsl:apply-template>
二、index()
含义:返回该元素在集合中的位置,返回值是一整数,其中第一个元素返回0。
示例:返回前面三份简历。
resume[index()$le$3]
注意:index()是与父元素相关的,请看下例:
<x>
<y/>
<y/>
</x>
<x>
<y/>
<y/>
</x>
返回所有<x>中的第一个<y>
x/y[index()=0] 或x/y[0]
三、nodeName()
含义:返回元素的名字,即标记名。
示例:选择任意元素,假如其名字(即标记名)等于"name":
*[nodeName()='name'] 或 *[name]
四、number()
含义:将值转换为数值形式,如果不是数值则返回空,要求参数。
示例:年龄(age)小于30岁的人的简历(resume):
resume[number(age)$lt$30] 或 resume[age$lt$30]
五、nodeType()
含义:返回结点类型,结果为是数值。以下是返回值列表:
结点类型 |
结点类型值 |
结点的字符形式描述 |
Element |
1 |
'element' |
Element Attribute |
2 |
'attribute' |
Markup-Delimited Region of Text |
3 |
'text' |
Processing Instruction |
7 |
'processing_instruction' |
Comment |
8 |
'comment' |
Document Entity |
9 |
'document' |
六、value()
含义:返回元素或属性的值。
示例:value()是元素或属性的缺省方法,以下表示是等价:
name!value()="NAME" 与 name="NAME"
@attr="attribute_value" 与 @attr="attribute_value"
注:@是属性前缀,@attr表示是属性attr
七、attribute()
含义:返回所有属性结点的集合,等价于"@*"。
示例:寻找所有的resume元素,满足条件至少有一个属性的值为"ABC":
resume[$any$attribute()='ABC'] 或 resume[$any$@*='ABC']
寻找所有的resume元素,满足条件至少有一个子元素有一个属性的值为"ABC":
resume[$any$*/attribute()='ABC'] 或 resume[$any$*/@*='ABC']
八、comment()
含义:返回所有注释结点。
示例:
resume[$any$comment()='禹希初的简历']
表示寻找含有注释语句:<!--禹希初的简历-->的<resume>元素。
九、cdata()
含义:返回所有CDATA类型的结点的集合。
示例:
resume[$any$cdata()='禹希初的简历']
表示寻找含有下述语句(必须是直接子结点)<![CDATA[禹希初的简历]]>的<resume>元素。
十、node()
含义:返回当前上下文环境中除根结点和属性结点以外的所有结点的集合,等价于:
"*|pi()|comment()|text()"
示例:寻找所有元素resume,其最后一个结点的名字为"skill":
resume[node()[end()]!nodeName()='skill']
寻找所有resume元素的第一个结点:resume/node()[0]。
十一、textnode()
含义:返回所有文本类型的结点的集合。
示例:寻找每一个p元素的第二个文本结点:
p/textnode(1) 或 p!textnode(1)
十二、text()
含义:返回所有表示文本字符串的结点的集合,等价于"cdata()|textnode()"。
在xsl中使用脚本
<xsl:eval>
含义:计算脚本表达式,输出一个文本字符串。
语法:
<xsl:eval language="language-name">
属性:
language ── 规定所用脚本语言的名字,可用的属性有"JavaScript"、"JScript"、"VBScript"、"VBS"等,缺省为"JScript"。
<xsl:script>
含义:声明全局变量或定义函数。
语法:
<xsl:script language="language-name">
属性:同<xsl:eval>
<xsl:script>定义函数, <xsl:eval>使用函数
可以在脚本中使用的函数:
多个XSL对于VBScript、JScript增加的方法、属性,以充分发挥XML的优势,用于<xsl:script>、<xsl:eval>标记内表达式的编写或<xsl:if>、<xsl:when>的expr属性。
一、absoluteChildNumber
含义:返回结点相对于它所有的兄弟(不论名字是否相同)的序号。
语法:absoluteChildNumber(node)
参数:node ── 对象,欲返回编号的结点。
示例:
1、假定文档结构为:
<document>
<head/>
<body/>
</document>,
其中document为顶层结点,下述表达式将输出:
<xsl:eval>
absoluteChildNumber(this.selectNodes('/document/body').item(0))
</xsl:eval>
2、确定当前结点相对于其所有兄弟的序号:
<xsl:eval>
absoluteChildNumber(this)
</xsl:eval>
二、ancestorChildNumber
含义:从给定结点出发根据给定祖先结点名返回最近的祖先结点的序号(相对于同名结点)。如果找不祖先,则返回0。
语法:ancestorChildNumber(bstrNodeName, pNode)
参数:
bstrNodeName ── 字符串。被搜索的祖先结点的名字。
pNode ── 对象。搜索开始位置的结点。
示例查找当前结点最近的名为report祖先结点:
ancestorChildNumber('report',this)
三、attributes
含义:返回结点属性的集合。
语法:object.attributes
参数:object ── 结点对象。
示例:当前结点属性的个数
this.attributes.length
当前结点第三个属性的值
this.attributs.item(2).value
或
this.attributes.item(2).text
或
this.attributes(2).text
注意:如果给定的下标大于属性总和减1将出错,第一个属性的下标是0。
四、baseName
含义:返回有名字空间限制的基本名,即不包括名字前缀。
语法:object.baseName
参数:object ── 结点对象
示例,当前结点的基本名:
this.baseName
五、childNumber
含义:返回结点相对于同名同胞的序号。
语法:childNumber(object)
参数:object ── 结点对象
示例,假定XML文档结构如下:
<x><y><z></z></y></x>
如果当前结点是z,则childNumber(this)返回1,而absoluteChildNumber(this)返回3。
六、dataType
含义:设定或读取结点的数据类型。
语法:设定结点的数据类型 object.dataType=objValue
读取结点的数据类型 objValue=object.dataType
参数:object ── 结点对象。
示例,读取当前结点的数据类型:
dtType=this.dataType
七、depth
含义:指定结点出现在文档树上的深度,即该结点位于文档第几层,顶层结点位于第一层,根结点(即用"/"表示的结点)位于第0层。
语法:depth(pNode)
参数:pNode ── 结点对象
示例,当前结点的深度:
depth(this)
八、firstChild、lastChild
含义:返回结点的第一个子结点(或最后一个子结点)。
语法:pNode.firstChild
pNode.lastChild
参数:pNode ── 结点对象
示例,当前结点的第一个结点的名字:
this.firstChild.nodeName
九、formatIndex
含义:用指定的计数系统格式化提供的整数。
语法:formatIndex(lIndex, bstrFormat)
参数:
lIndex ── 整型数值或变量
bstrFormat ── 数据格式,可选值有a、A、i、I、1、01(以0打头的数值形式,如果要求固定长度的编号如0001、0002则非常有用)。
示例,当前结点的大写罗马数字编号:
formatIndex(childNumber(this),'I')
十、formatNumber
含义:以指定格式输出数值。
语法:formatNumber(dblNumber, bstrFormat)
参数:说明同formatNumber,不同之处在于格式化的可以是小数。
示例,对变量a的值格式化为两位小数:
formatNumber(a,'#.00'):
十一、hasChildNodes
含义:如果结点有子结点则返回true(-1),否则为false(0)。
语法:pNode.hasChildNodes()
注意:与此前介绍的函数不同,此函数后必须带一个空括号。
示例,判断当前结点是否有子结点:
this.hasChildNodes
十二、namespaceURI、prefix
含义:返回结点名字空间的全局资源标识符(或前缀)。
语法:pNode.namespaceURI
pNode.prifix
十三、nextSibling、previousSibling、parentNode
含义:返回结点的下一个兄弟(或前一个兄弟、或结点的父结点)。
语法:pNode.nextSibling
pNode.previousSibling
pNode.parentNode
注意:对根结点(即"/")应用parentNode方法、对第一个孩子结点应用previousSibling方法、对最后一个孩子结点应用nextSibling方法均会导致错误,可通过此过关系运算符==(等于)和!=(不等于)来判断一个结点是否某一指定结点,格式为pNode1 = pNode2或pNode2 != pNode2。
十四、nodeName
含义:返回元素、属性、入口的名字或其他类型结点的一个特定字符串。
语法:pNode.nodeName
示例,当前结点的名字:
this.nodeName
十五、nodeType、NodeTypeString
含义:返回结点的类型的数值形式(或字符串形式)。
语法:pNode.nodeType 或 pNode.nodeTypeString
结点类型 |
结点类型值 |
结点的字符形式描述 |
Element |
1 |
'element' |
Element Attribute |
2 |
'attribute' |
Markup-Delimited Region of Text |
3 |
'text' |
Processing Instruction |
7 |
'processing_instruction' |
Comment |
8 |
'comment' |
Document Entity |
9 |
'document' |
十六、nodeTypedValue
含义:以结点预定义的数据类型返回结点的值。
语法:pNode.nodeTypedValue
示例,假定当前结点的数据类型是fixed.14.4,下例将以数值返回结点的值,而不是文本一个字符串:
this.nodeTypedValue
十七、nodeValue
含义:返回结点的文本。
语法:pNode.nodeValue
注意:该方法不用于元素类结点,可用于属性、CDATA、注释、文本等结点。
示例,当前元素第一个属性的值:
this.attributes(0).nodeValue
当前元素内的文本(假定该元素内只有文本,无其它元素,即<mark>text</mark>,建议多尝几次掌握其确切的用法)。
this.firstChild.nodeValue
十八、ownerDocument
含义:返回包含该结点的文档的根。
语法:pNode.ownerDocument
注意:该方法用于文档的根结点将出错。
十九、selectNodes
含义:给定的样式匹配应用于当前结点并返回匹配的结点集合。
语法:pNode.selectNodes('pattern')
提示:pattern的编写与<xsl:for-each>的select属性的值类似,其中以"/"开头表示从文档的根出发搜索;以"//"开头表遍历文档的所有结点;以".."开头表示从当前结点的父结点开始;如果欲从当前结点向下搜索则不能有以上特殊字符打头。
示例,与当前结点同名的元素在其父元素内的个数:
childNumber(this.selectNodes("../"+this.nodeName+"[end()]").item(0))
当前元素内名字为"skill"的元素的个数:
childNumber(this.selectNodes("skill[end()]").item(0))
二十、selectSingleNode
含义:与selectNodes类似,不同的只返回匹配的第一个结点、而不是结点集合。
语法:pNode.selectSingleNode('pattern')
示例,与当前结点同名的元素在其父元素内的个数:
childNumber(this.selectSingleNode("../"+this.nodeName+"[end()]"))
当前元素内名字为"skill"的元素的个数:
childNumber(this.selectSingleNode("skill[end()]"))
二十一、text
含义:返回结点与它的子树内的文字内容。
语法:pNode.text
示例,整个文档内的文字内容:
this.ownerDocument.text
当前元素及其子树的文字内容:
this.text
二十二、xml
含义:返回结点及其后代的XML表示。
语法:pNode.xml
示例,当前文档的XML内容:
this.ownerDocument.xml
另有几个函数不作介绍,列于其下以供参考,如感兴趣,请访问http://msdn.microsoft.com获取详细说明。
formatTime(varTime, bstrFormat,varDestLocale)
formatDate(varDate, bstrFormat,varDestLocale)
apendChild(newChild)
definition
CloneNode
insertBefore(newChild, refChild)
parsed
removeChild(oldChild)
replaceChild(newChild, oldChild)
specified
transformNode(stylesheet)
transformNodeToObject(stylesheet,outputObject)
uniqueID(pNode)
发表评论
-
新公司新的环境 --- 开发环境说明
2013-10-17 05:37 1004到了新公司,开发环境和原来的公司几乎不同,虽说开发环境不同简 ... -
Java中JSON解析器的一点见解
2013-08-15 17:25 1476最终采用了Jackson JSON ... -
npm设置代理 以及 重定向
2013-07-30 10:49 3696node.js通过npm安装模块,npm的代理设置法:npm ... -
windows7访问xp的共享目录
2013-07-18 20:17 2083新装了了一台win7,无法访问到xp的共享目录,怎么调都不行 ... -
Access restriction: The type XXX is not accessible due to restriction on require
2013-01-06 09:14 1150引用rt.jar中的一个类,结 ... -
JVM崩溃
2012-07-03 10:19 1682程序本来好好的, 做了一次大修改,测试的时候发现在某些场合下, ... -
关于泛型中<? extends A> 和 <? super A>的差别
2012-05-22 16:05 1244天下文章一大抄, 继续抄 来源: 百度上搜索&quo ... -
泛型类型的子类及通配符的使用
2012-05-22 15:30 1569最近碰到一个泛型的问题, 就在网上找技术贴, 挖坟挖出个08年 ... -
Calendar中的Time/isTimeSet
2012-05-03 14:15 1214在调试程序,在Eclipse的watch窗口,发现Cal ... -
Java中getResourceAsStream的用法
2012-02-14 10:12 1384Java中getResourceAsStream的用 ... -
Tomcat没有说支持WebSocket,只能用Jetty了
2012-01-18 11:11 1405Tomcat没有说支持WebSocket,只能用Jetty了 -
做网站需要注意的地方以及需要采用的技术、产品
2012-01-16 10:24 1226整个网站: 内容组织 1. 前台技术 ... -
【HTML】块级元素的盒子属性
2012-01-09 09:42 1778html中的块级元素:标记节、division、标题、段落、列 ... -
CSS几种定义方式
2012-01-09 09:26 18851. 针对标记的定义: <style ty ... -
HTML中的注释
2012-01-09 09:05 1357在HTML中的注释是 <!-- --> ... -
jBPM4.4+SpringSecurity用户合并到自己体系中来
2011-12-30 10:53 3547jbPM4.4中的用户: 见:http://zybin ... -
【】ActiveX回调JS函数
2011-11-03 14:11 2018控件回调JS函数 http://blog.163 ... -
【xml】在页面中使用XML同步对象
2011-10-31 10:30 1276在页面中,需要获得XML数据,这个数据有控件进行获取,为了保证 ... -
【xml】SchemaLocation、import、include
2011-10-27 16:27 3221在xml中,定义了namespace,如果要验证xml文档的有 ... -
eXtremeDB微秒级实时数据库简介
2011-10-26 13:47 1670eXtremeDB微秒级实时数据库简介 eXtreme ...
相关推荐
XML(可扩展标记语言)和XSL(可扩展样式表语言)是Web开发中的核心技术,它们主要用于数据的结构化表示和格式化展示。XML是一种标记语言,它允许开发者定义自己的标签来描述数据,使得数据更加结构化,易于解析和...
在这个“xml与xsl的小实例”中,我们将探讨这两种语言的基础知识以及它们如何协同工作。 XML是一种标记语言,它的主要目标是存储和传输结构化数据。XML文档由一系列元素组成,每个元素都有开始标签和结束标签,例如...
【标题】"se.zip_player_sexmlvideo_web player_xml xsl" 涉及的知识点主要集中在Web开发领域,特别是XML和XSL技术在构建视频播放器中的应用。XML(Extensible Markup Language)是一种用于存储和传输结构化数据的...
### XSL基础教程知识点 #### 一、XSL与XML的关系 XSL(Extensible Stylesheet Language,可扩展样式表语言)是一种用于控制XML文档显示的标记语言。它主要用于将XML文档转换为其他格式,例如HTML或PDF。XSL允许...
### IBM—XML 文件:使用 WebSphere Studio 版本 5 开发 XML/XSL 应用程序 ...通过阅读和实践,开发者能够掌握 XML 的基础知识,并利用 WebSphere Studio 的强大功能来创建高质量的 XML/XSL 应用程序。
标题中的“xsl、xml编程电子书和网页”揭示了我们即将探讨的主题——XSL(Extensible Stylesheet Language)和XML(eXtensible Markup Language)的编程知识。这两个技术在处理结构化数据方面起着关键作用,尤其在...
在“XML学习 练习XSL”中,我们可能会涉及到以下几个关键知识点: 1. **XML基础**:理解XML的基本结构,包括元素、属性、文本内容、注释、处理指令等。学习如何编写有效的XML文档,遵循XML的命名规则和语法规则。 ...
总的来说,这些文件涵盖了XML的基础知识,如XML结构、DTD的使用、XSLT转换以及DOM解析,同时也涉及到XML Schema这一高级验证工具。通过学习这些资料,你将能够有效地创建、验证和处理XML文档,以及进行数据的格式...
1. **使用说明.txt**:这个文件很可能是对如何使用XML和XSL进行转换的详细步骤或指导,包括解释如何应用XSL样式表到XML文档上,以及如何查看转换结果。 2. **books.xml**:这是一个XML文件,可能包含了关于书籍的...
XML(可扩展标记语言)是Web开发中的一个关键知识点,它是一种用于标记数据的语言,强调数据的结构化和可读性。XML的设计目的是传输和存储数据,而不是显示数据,这与HTML(超文本标记语言)的功能形成鲜明对比。在...
综上所述,XSL开发基础参考资料涵盖了XSL函数、XSL元素、XPath和XSL知识速查的关键内容。通过深入学习和实践这些知识,开发者能够有效地处理XML数据,实现XML文档的灵活转换和呈现。阅读提供的PDF文件,如"XSL元素....
XML(可扩展标记语言,eXtensible Markup Language)、HTML(超文本标记语言,HyperText Markup Language)、CSS(层叠样式表,Cascading Style Sheets)以及XSL(可扩展样式表语言,eXtensible Stylesheet Language...
2. **创建XML和XSL源**:在`Transform`方法中,通过`TransformerFactory.newInstance()`创建一个`TransformerFactory`实例,然后使用`newTransformer(Source xslSource)`创建一个`Transformer`,其中`xslSource`是从...
本篇将深入探讨如何利用XSL将XML转换为HTML,以及这个过程中的关键知识点。 首先,XML是一种结构化数据的语言,它允许我们以自定义的方式描述数据。每个XML文档由一系列的元素构成,这些元素通过嵌套关系形成层次...
XML,全称是eXtensible Markup Language,是一种用于描述数据的标记语言,它的设计目标是传输和...掌握XML和XSLT的知识对于理解和操作结构化数据至关重要,特别是在Web服务、数据交换、文档管理和自动化流程等领域。
- `returnXml`方法:此方法可能接收XML字符串和XSL样式表,通过XSLT转换生成新的XML字符串。 - `Transform`方法:这个方法接收XML文件、XSL文件和目标HTML文件的路径,执行XSLT转换,将XML转换为HTML,并保存到...
在这里,我们将深入探讨XSL的基本概念,特别是对于初学者来说的入门知识。 首先,让我们来看看XSLT,它是XSL的核心,负责XML文档的转换。XSLT通过一系列模板匹配来定义如何将源XML文档转换为目标格式。这些模板包含...
XML,全称可扩展标记语言(eXtensible Markup Language),是一种用于标记数据的语言,它在IT领域中扮演着至关重要的角色,特别...理解并掌握这些知识点,对于深入理解和使用XML,以及进行数据处理和交换具有重要意义。
根据提供的文件信息,我们可以整理出一系列关于XML的基础知识点,这些知识点不仅适合于笔试、面试等考试场景,也是学习XML技术的基础。以下是对题目中的知识点进行详细的解析: ### 1. XML是什么? - **正确答案:*...