在XSL 1.0中,descendant-or-self将选择所有后代和当前节点.如果您只想选择直接子节点和当前节点(即子节或自身节点),该怎么办?
这可能与XPATH有关吗?
在XPath 1.0或更高版本中使用:
SomeExpression | SomeExpresion/node()
在XPath 2.0或更高版本中使用:
SomeExpression/(self::node()|node())
答案不正确:
SomeExpression | SomeExpresion/*
因为这只选择SomeExpression的子元素作为元素,而SomeExpression也可以有其他子元素 – 作为文本节点,注释节点,处理指令节点.
也不正确的是:
./SomeExpression | ./*/SomeExpression
这不会选择./SomeExpression的直接子项,也不会选择./*/SomeExpression的子项.