XML源文件:
<people>
<person>
<age>25</age>
<salary>3500</salary>
<dept>develope</dept>
</preson>
<person>
<age>35</age>
<salary>3500</salary>
<dept>Management</dept>
</preson>
<person>
<age>23</age>
<salary>2500</salary>
<dept>develope</dept>
</preson>
</people>
XSL代码片段:
<xsl:template match="/">
<xsl:value-of select="people/person[dept='develope'][position()='2']/age"/>
</xsl:template>
如何理解这里的多重约束。
实际处理机的处理过程为:首先寻找person的dept为develop的,组成一个临时结果树,然后对于该临时树,寻找
postion()=2的节点,并输出其age.所以结果为23.
然而倒过来则不然:<xsl:value-of select="people/person[postion()=2][dept='develop']/age"/>则无法输出内容,
因为没有符合这个多重约束的person,age 也就无从谈起了。
所以多重约束,是有顺序区别的,并且上以个约束的结果作为下一个约束的临时结果树。