用xsl转换xml文件格式笔记Word文档下载推荐.docx
《用xsl转换xml文件格式笔记Word文档下载推荐.docx》由会员分享,可在线阅读,更多相关《用xsl转换xml文件格式笔记Word文档下载推荐.docx(10页珍藏版)》请在冰豆网上搜索。
![用xsl转换xml文件格式笔记Word文档下载推荐.docx](https://file1.bdocx.com/fileroot1/2022-11/16/7c2701b7-b410-4633-97cc-535932824b14/7c2701b7-b410-4633-97cc-535932824b141.gif)
table>
元素定义表格-并且浏览器清楚如何显示它。
向HTML元素添加样式是很容易的。
通过CSS,很容易告知浏览器用特定的字体或颜色显示一个元素。
XSL=XML样式表
XML不使用预先定义的标签(我们可以使用任何喜欢的标签名),并且这些标签的意义并不都那么容易被理解。
<
元素意味着一个HTML表格,一件家具,或是别的什么东西-浏览器不清楚如何显示它。
XSL可描述如何来显示XML文档!
XSL-不仅仅是样式表语言XSL包括三部分:
XSLT
一种用于转换XML文档的语言。
XPath
一种用于在XML文档中导航的语言。
XSL-FO
一种用于格式化XML文档的语言。
Xsl大致相当于html中的css,来定义xml如何显示;
我们现在要把下面这个XML文档("
cdcatalog.xml"
)转换为XHTML:
?
xmlversion="
1.0"
encoding="
ISO-8859-1"
>
catalog>
<
cd>
title>
EmpireBurlesque<
/title>
artist>
BobDylan<
/artist>
country>
USA<
/country>
company>
Columbia<
/company>
price>
10.90<
/price>
year>
1985<
/year>
/cd>
/catalog>
方法;
写一个和xsl建立起关系的xml文件以及xsl文件
文件1:
cdcatalog.xml
xml-stylesheettype="
text/xsl"
href="
cdcatalog.xsl"
文件2:
cdcatalog.xsl
xsl:
stylesheetversion="
xmlns:
xsl="
http:
//www.w3.org/1999/XSL/Transform"
templatematch="
/"
//注释:
match="
属性则把此模板与XML源文档的根相联系。
html>
body>
h2>
MyCDCollection<
/h2>
tableborder="
1"
trbgcolor="
#9acd32"
thalign="
left"
Title<
/th>
Artist<
/tr>
for-eachselect="
catalog/cd"
//注解:
利用xslt的for-each元素将XML中元素遍历输出
//注释:
添加查找条件一般在此位置
tr>
td>
value-ofselect="
title"
/>
/td>
artist"
select
属性的值是一个XPath表达式。
此表达式的工作方式类似于定位某个文件系统,在其中正斜杠可选择子目录。
/xsl:
for-each>
/table>
/body>
/html>
template>
stylesheet>
我们需要写一个xml文件并将其显示出来出如下结果来:
张老师的学生
小张
小王
文件一:
ts.xml
UTF-8"
ts.xsl"
teacher>
name>
小张<
/name>
小王<
/teacher>
文件二:
tablewidth="
328"
border="
2"
bgcolor="
yellow"
thwidth="
133"
张老师的学生:
teacher/name"
."
5.几个XSLT重要要素
元素
元素用于构建模板。
XSL样式表由一个或多套被称为模板(template)的规则组成。
每个模板含有当某个指定的节点被匹配时所应用的规则。
value-of>
元素
value-ofselect=””>
元素用于提取某个选定节点的值,并把值添加到转换的输出流中
select
元素允许您在XSLT中进行循环。
可用于选取指定的节点集中的每个XML元素
通过在<
元素中添加一个选择属性的判别式,我们也可以过滤从XML文件输出的结果。
catalog/cd[artist='
BobDylan'
]"
合法的过滤运算符:
∙=
(等于)
∙!
=(不等于)
∙&
lt;
(小于)
gt;
(大于)
sort>
元素用于对结果进行排序。
xmlns:
th>
sortselect="
属性指示需要排序的XML元素。
if>
元素用于放置针对XML文件内容的条件测试。
语法
iftest="
expression"
...
...如果条件成立则输出...
在何处放置<
如需添加有条件的测试,请在XSL文件中的<
元素内部添加<
元素:
price&
10"
注释:
必选的
test
属性的值包含了需要求值的表达式。
上面的代码仅仅会输出价格高于10的CD的title和artist元素。
choose>
元素用于结合<
when>
和<
otherwise>
来表达多重条件测试。
whentest="
//条件表达式
...输