当且仅当前一个节点具有特定名称时,我想选择一个节点。对于给定的xml我想与c节点匹配,如果它上面的节点名称为“a”
XML
<root>
<a name="ABC"\>
<b\>
<b name="ABC"\>
<c\>
<root\>
XSLT
<xsl match ="c and preceding::sibling[a][1]">
它匹配具有名称'a'的前一个兄弟节点的节点'c'。我希望它只有在'c'上方的节点为'a'时才匹配。
我对XSLT很新,可能会以错误的方式感知事物。谢谢。
答案 0 :(得分:1)
仅当c
的前一个兄弟是a
时才匹配match="c[name(preceding-sibling::*[1])='a']"
,您可以使用:
match="c[preceding-sibling::*[1][self::a]]"
或:
import threading
class beeper(threading.Thread):
def run(self):
self.keeprunning = True
while self.keeprunning:
winsound.Beep(freq, dur) // make a short dur to make sure it stops soon after printing ends
beep = beeper()
beep.start()
printf(string)
beep.keeprunning = False