📄 how xsl defines the context for xsl pattern queries.htm
字号:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<!-- saved from url=(0068)file://G:\application\XSL%20uguid\Authoring%20Well-Formed%20HTML.htm -->
<HTML><HEAD><TITLE>Xsl是如何定义Xsl模式查询的上下文的</TITLE>
<META content="text/html; charset=gb_2312-80" http-equiv=Content-Type>
<STYLE type=text/css>.normal10 {
FONT-SIZE: 11pt
}
.normal9 {
FONT-SIZE: 9pt
}
A {
TEXT-DECORATION: none
}
A:hover {
COLOR: red; TEXT-DECORATION: underline
}
A {
COLOR: cornflowerblue; FONT-FAMILY: "新细明体", "宋体"; FONT-SIZE: 11pt; FONT-WEIGHT: bold
}
.normal105 {
FONT-SIZE: 11pt
}
.p {
FONT-SIZE: 11pt
}
</STYLE>
<LINK href="level_2_2.files/Global.css" tppabs="http://www.xml.org.cn:8188/application/XSL%20uguid/level_2_2.files/Global.css" rel=stylesheet>
<META content="MSHTML 5.00.2014.210" name=GENERATOR></HEAD>
<BODY>
<P align=center class=normal105>[<A href="file:///G:/default.asp"
target=_parent>返回首页</A>][<FONT face=宋体 lang=ZH-CN><A
href="file:///G:/application/application.htm"
target=_parent>返回实践应用</A></FONT>]</P>
<TABLE align=center border=0 width="85%">
<TBODY>
<TR>
<TD height=63 width="15%"> </TD>
<TD height=63 width="77%">
<H2 align=center><font size="4">Xsl是如何定义Xsl模式查询的上下文的</font></H2>
</TD>
<TD height=63 width="8%"><a name=top></a></TD>
</TR>
<TR>
<TD colSpan=3 height=1165>
<P><SPAN class=normal105><SPAN class=normal105>上一篇:<a href="Introduction to the Syntax of XSL Patterns.htm" tppabs="http://www.xml.org.cn:8188/application/XSL%20uguid/Introduction%20to%20the%20Syntax%20of%20XSL%20Patterns.htm">介绍XSL模式语言的语法
</a><BR>
下一篇:<a href="How the DOM Defines the Context for XSL Pattern Queries.htm" tppabs="http://www.xml.org.cn:8188/application/XSL%20uguid/How%20the%20DOM%20Defines%20the%20Context%20for%20XSL%20Pattern%20Queries.htm">DOM如何定义XSL模式语言查询的样式</a>
<BR>
返 回 :<a href="XSL Patterns.htm" tppabs="http://www.xml.org.cn:8188/application/XSL%20uguid/XSL%20Patterns.htm">XSL模式语言 </a></SPAN></SPAN></P>
<P><font color="#FF0000" size="2"><span class="normal105"><font color="#000000">在运行时,样式表中的模板是与特别的源节点相联系的,这些源节点是从文档根节点(<b>match="/"</b>)开始的</font></span></font><span class="normal105"><font size="2" class="normal105">.在模板中,</font><font color="#FF0000" size="2"><span class="normal105"><font color="#000000">源节点</font></span></font>又<font size="2" class="normal105">被认为是当前节点(current
node).当前节点定义了一个在模板中求Xsl模式查询的返回值的上下文.</font></span></P>
<p><font size="2" class="normal105">XSL 模式语言会被当作 <b><xsl:value-of></b>,
<b><xsl:for-each></b>, <b><xsl:apply-templates></b>, <b><xsl:if></b>,
<b><xsl:when></b>,和 <b><xsl:template></b>的属性值来接受.不同的属性名称定义了如何确定查询的上下文以及他是不是会导致产生一个新的上下文.</font></p>
<h2><font size="2"><a name=patterns-xsl-select class="normal105">选择模式</a></font></h2>
<p> <font size="2"><b><span class="normal105"><xsl:value-of></span></b><span class="normal105">,
<b><xsl:for-each></b>,和 <b><xsl:apply-templates></b> 元素有一个
<b>select</b>属性.这个查询从样板的当前节点中求返回值,并且识别了一系列新的节点集.在<b><xsl:for-each></b>
or <b><xsl:apply-templates></b>中,节点集中的每个节点都会成为在其中执行更多的查询的当前节点.</span></font></p>
<pre class=clsCode><font size="2" face="Arial, Helvetica, sans-serif" class="normal105"><TABLE BORDER="1">
<xsl:for-each select="invoices/invoice">
<TR>
<TD>Invoice #<xsl:value-of select="@id"/></TD>
</TR>
<xsl:for-each select="items/item">
<TR>
<TD><xsl:value-of select="qty"/></TD>
<TD><xsl:value-of select="description"/></TD>
<TD>$<xsl:value-of select="price"/></TD>
</TR>
</xsl:for-each>
</xsl:for-each>
</TABLE></font></pre>
<p><font size="2" class="normal105">第一个 <b><xsl:for-each></b>选择了一系列"invoice"元素集,这个元素集的每个元素都会成为"items/item"查询的上下文.它选择了一个"invoice"集合,每个"invoice"元素都会成为"items/item"查询的上下文.接下来每个"item"都成为了在<b><xsl:value-of></b>
元素中的各种查询的上下文</font></p>
<p><font size="2" class="normal105">每个由<b><xsl:apply-templates></b>
选择的节点是与一个模板相联系的因此它也成为了这个样板的当前节点</font></p>
<p><font size="2" class="normal105">由于每个查询定义了一个新的上下文,<font color="#000000">在上面的样例中,一系列的嵌讨式查询产生了一个</font><font size="2" class="normal105" color="#000000">上下文节点"路径"</font><font color="#000000">的集合.
Microsoft
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -