xslt这里选择的内容<xsl:for-each select =“./ child :: *”>

时间:2015-08-05 14:31:37

标签: xml xslt

我有几个问题请。

此声明中的*是什么?

count(*[substring(@Title,4,1) = '_'])  

这个时期有什么作用?

count(./tcm:Page[starts-with(@Title, '000_')])

./child::*寻找什么?

<xsl:for-each select="./child::*"> 

::是什么意思和做法?

count(./child::tcm:Page[starts-with(@Title, '000_')])  

1 个答案:

答案 0 :(得分:2)

这些都是非常基本的XPath问题。

  

此声明中的* for是什么?

代表任何元素

  

这个时期有什么作用?

在这种情况下,没有。 .的位置步骤是self::node()的缩写。但你已经在那里了,所以不是:

count(./tcm:Page[starts-with(@Title, '000_')])

你可以写:

count(tcm:Page[starts-with(@Title, '000_')])
  

./child::*寻找什么?

它查找当前节点的子元素。和以前一样,它可以简化为*,因为(1).不会将你移动到任何地方,(2)child是默认轴。

  

:: mean和do

是什么

来自XPath规范:

  

位置步骤的语法是轴名称和节点测试   用双冒号分隔,后跟每个零或多个表达式   在方括号中。

http://www.w3.org/TR/xpath/#section-Location-Steps