|
XSLT的处理模型(4)
|
|
| |
|
来源:XSLT.org.cn 作者:XSLT专业站 发布时间:2007-08-04
|
|
XSLT的处理模型(4)
但是XSLT不管这样努力,它不可能得到下面的输出结果:
<people> <name>Hehangjun</people> </name> <people> <name>何杭军</people> </name> 下一节开始我们来粗看一下XSLT文档的具体细节,看看XSLT文档怎么当领导,看看它怎么样向XSLT发它的"命令"。
1.2 模板规则
XSLT通过定义一套详细的"规则"来规定XML源树怎样转换到结果树。这些规则称为模板规则(template rule)。模板规则由两部分构成,模板(template)和模式,其中模板规定了转换的具体内容,即怎样转换,而模板规则则规定了在什么样的情况下需要应用这个模板规则,用XSLT的术语来说就是在什么样的情况下需要将模板规则实例化(instantiated )。
我们再看一下上述的XSLT代码。
<xsl:template match="/root"> <html> <title>this is my first xslt programm</title> <body> <xsl:for-each select="name"> <xsl:text>Hello world,This is </xsl:text> <xsl:value-of select="."/> <xsl:text>Speaking</xsl:text> <br/> <br/> </xsl:for-each> </body> </html> </xsl:template>
在这个<xsl:template>元素中,定义了一个模板规则。元素<xsl:template>的match属性值"/root"是模式的一个实例。它规定模板规则只有在XSLT处理器遇到文档元素节点下的root元素节点时被实例化。在XSLT中,模式定义了一个筛选条件,在该条件下源树中的所有节点要么匹配模式指定的筛选条件,要么不匹配筛选条件,在匹配筛选条件的情况下,相应的模板规则可以实例化,然后被调用。一般情况下,一个源树节点满足模式是指该节点是模式表达式表示的结点集合的元素。这句话听起来有些拗口,我们换一个容易接受的说法。P表示一个模式,{P}表示该模式对应的结点集合,则节点N匹配模式P当且仅当N是{P}的元素。我们在举一个例子,<xsl:template match="/person" >,这里/person表示了一个模式,该模式表达式对应了所有根元素节点下的person元素节点构成的集合,因此如果当前节点是根元素下的person元素节点,则该节点匹配这个模板规则中的模式。由于模式表达式的语法涉及到了XPATH的内容,我们将在XPATH中详细讨论模式的语法。
标题: XSLT的处理模型(4)
关键字:处理模型 模式 规则 模板 节点 元素 XSLT 匹配
|
| 上一篇:XSLT的处理模型(3) 下一篇:XSLT的处理模型(5) |
|
|
|
|
|