📄 deepxsl3.htm
字号:
<HTML>
<HEAD>
<META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=gb_2312-80">
<TITLE>深入XSL(3)</TITLE>
<style type="text/css">
<!--
.normal10 { font-size: 10pt}
.normal9 { font-size: 9pt}
p{ font-size: 9pt}
a{ text-decoration: none }
a:hover{ color:Red;text-decoration:underline }
a {
font-size:10.5pt;
COLOR: cornflowerblue;
FONT-FAMILY: "新细明体", "宋体";
FONT-WEIGHT: bold
}
.normal105 { font-size: 10.5pt ;line-height:12pt}
-->
</style>
</HEAD>
<BODY>
<p ALIGN="CENTER">[<a href="../../../default.asp.htm" tppabs="http://www.xml.org.cn:8188/default.asp" target="_parent">返回首页</a>][<a href="../../resource.htm" tppabs="http://www.xml.org.cn:8188/resource/resource.htm" target="_parent">返回资源</a>]</p>
<table width="85%" border="0" align="center">
<tr>
<td width="22%" height="40"> </td>
<td width="53%" height="40">
<h2 align="center"><b><font face="宋体" lang="ZH-CN" size="5">深入XSL(3)<br>
---模板规则和模式</font></b></h2>
<p align="center"><span class="normal105"><span class="normal11"><span class="normal105">翻译:<a href="mailto:onecenter@yahoo.com">孙一中</a></span></span></span></p>
</td>
<td width="25%" height="40"><a name="top"></a></td>
</tr>
<tr>
<td colspan="3" height="238" >
<p class="normal11" align="left"><span class="normal105"><span class="normal10"><span class="normal105">上一篇:<font lang=ZH-CN class="normal9"><a href="DeepXSL2.htm" tppabs="http://www.xml.org.cn:8188/resource/article/deepxsl/DeepXSL2.htm" target="_parent">深入XSL(2)--样式表结构</a></font><br>
下一篇:<span class="normal11"><b><a href="DeepXSL4.htm" tppabs="http://www.xml.org.cn:8188/resource/article/deepxsl/DeepXSL4.htm">深入XSL(4)--模板</a></b></span></span></span></span></p>
<p align="JUSTIFY"><b><font face="宋体" lang="ZH-CN" size="5">模板规则</font></b></p>
<p align="JUSTIFY"><font lang="ZH-CN"><span class="normal10"><span class="normal105">模板规则由xsl:template元素来规定."match</span></span></font><span class="normal105"><span class="normal10">"<font lang="ZH-CN">属性标识了规则应用的源节点(集).xsl:template.
例如:一个XML文档可能包含下面的内容:</font></span></span></p>
<p align="JUSTIFY"></p>
<p align="JUSTIFY"><b class="normal10">This is an <emph>important</emph>
point.</b></p>
<p align="JUSTIFY"></p>
<p align="JUSTIFY"><font lang="ZH-CN" class="normal105">下列的模板规则匹配emph类型的元素,另有一个模板产生一fo:sequence
格式化对象,其font-weight属性为粗体(bold).</font></p>
<p align="JUSTIFY"></p>
<p align="JUSTIFY"><b><span class="normal10"><xsl:template match="emph"><br>
<fo:sequence font-weight="bold"><br>
<xsl:process-children/><br>
</fo:sequence><br>
</xsl:template></span></b></p>
<p align="JUSTIFY"></p>
<p align="JUSTIFY"><font lang="ZH-CN"><span class="normal105">xsl:process-children元素会递归处理</span></font><span class="normal105">”<font lang="ZH-CN">父</font>”<font lang="ZH-CN">元素的“子”节点。</font></span></p>
<p align="JUSTIFY"><b><font face="宋体" lang="ZH-CN" size="5">模式</font></b></p>
<p align="JUSTIFY"><font lang="ZH-CN"><span class="normal105">一个模式是一个字符串,它用于匹配XML源文件中的一个元素.最通常的模式规定了匹配元素的类型名称.
</span></font><font lang="ZH-CN"><span class="normal105">例如, emph模式匹配类型为emph的元素.更复杂的模式规定了相匹配元素的</span></font><span class="normal105">”<font lang="ZH-CN">祖先</font>”<font lang="ZH-CN">节点的元素类型.例如,
olist/item 模式匹配类型为item并且父亲元素为olist类型的元素. </font>“<font lang="ZH-CN">祖先</font>”<font lang="ZH-CN">序列中的每个元素类型之后可以跟着一系列由逗号分隔的限定词.
如, list[attribute(ordered)="yes")]/item[first-of-type()] 匹配item类型的元素,位于相同层次的元素的第一个,而且父节点类型为list,属性名</font>”<font lang="ZH-CN">ordered</font>”<font lang="ZH-CN">的值为</font>”<font lang="ZH-CN">yes</font>”<font lang="ZH-CN">.
<br>
<br>
这部分详细描述了模式的语法和语义.匹配元素的模式被认为是匹配模式(<i>match pattern</i>). xsl:template 的模式就是匹配模式.
一个模式也可以用来选择一系列的节点;这样的模式被认为是选择模式(<i>select pattern</i>).在一个选择模式中, 存在一个当前节点来提供选择的前后关系.该模式会选择相匹配的一列源节点.这些节点是以文件来排序的.
xsl:process, xsl:for-each 和xsl:value-of 中的模式都是选择模式.</font></span></p>
<p align="JUSTIFY"></p>
<p class="normal11" align="left"> </p>
<p align="left"><span class="normal105">上一篇:<font lang=ZH-CN class="normal9"><a href="DeepXSL2.htm" tppabs="http://www.xml.org.cn:8188/resource/article/deepxsl/DeepXSL2.htm" target="_parent">深入XSL(2)--样式表结构</a></font><br>
下一篇:<span class="normal11"><b><a href="DeepXSL4.htm" tppabs="http://www.xml.org.cn:8188/resource/article/deepxsl/DeepXSL4.htm">深入XSL(4)--模板</a></b></span></span></p>
</td>
</tr>
<tr>
<td colspan="3"><font face="宋体" lang="ZH-CN" size=3> </font> <rev></rev><font face="宋体" lang="ZH-CN" size=3></font>
<hr size="1">
<p align="center"><font face="宋体" lang="ZH-CN"><span class="normal11">[<a href="#top">返回标题</a>][<a href="../../resource.htm" tppabs="http://www.xml.org.cn:8188/resource/resource.htm" target="_parent">返回资源</a>][<a href="../../../default.asp.htm" tppabs="http://www.xml.org.cn:8188/default.asp" target="_parent">返回首页</a>][<a href="mailto:xml@tangram.com.cn">欢迎投稿</a>]</span></font></p>
<p align="center"><span class="normal11">最后更新:1999年8月20日<br>
<font color="#FF0033" size="-1">本站点所刊文章版权,均归本站点所有。署名作者拥有其著作权。<br>
未经</font><font color="#FF0033"><a href="mailto:xml@tangram.com.cn"><font color="#6666FF" size="-1">允许</font></a></font><font color="#FF0033" size="-1">,不得随意转载,违者必究!!</font>
</span></p>
</td>
</tr>
</table>
<h2 ALIGN="CENTER"> </h2>
<FONT FACE="宋体" LANG="ZH-CN" SIZE=3>
<P ALIGN="JUSTIFY"> </P>
</FONT><FONT FACE="宋体" LANG="ZH-CN" SIZE=3></FONT>
</BODY>
</HTML>
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -