提问人:skeetastax 提问时间:10/29/2023 更新时间:10/29/2023 访问量:13
如何在 Freeplane 父节点中连接所有子节点的匹配属性?
How do I join matching attributes of all child nodes in Freeplane parent node?
问:
Freeplane 文件是 XML,它们显然使用脚本,但我无法弄清楚如何使用父节点中的公式返回属性(作为文本字符串)。主要帮助页面在这里: https://docs.freeplane.org/scripting/Formulas.htmlgroovy
假设我有以下树结构:
rootNode
| +---child0
| |
+--------+---child1
|
+---child2
现在,我想向 和 添加属性,以便:rootNode
children
rootNode:
| +->attr[sum=children.sum(0){ it['size'].num0 }]
| +->attr[colours=children.join(";"){ it['colour'].text }]
|
| +---child0:
| | +->attr[colour='red']
| | +->attr[size=3]
| |
+--------+---child1:
| +->attr[colour='green']
| +->attr[size=4]
|
+---child2:
+->attr[colour='blue']
+->attr[size=5]
其中 和 .rootNode['sum'] == 12
rootNode['colours'] == 'red;green;blue'
我试过:
=children.join(";"){ it['colour'].text }
=children.join(";"){ it['colour'] }
=children.text(){ it['colour'].join(";") }
=children.gettext(){ it['colour'].join(";") }
=children(){ it['colour'].join(";") }
=children.details(){ it['colour'].join(";") }
...到目前为止,唯一不会导致错误的公式:
=children.each{ it['colour'].text }.join(';')
还有其他建议吗?
答: 暂无答案
评论