gpt4 book ai didi

xslt - 在XSL节点选择中基于属性通配符排除节点

转载 作者:行者123 更新时间:2023-12-03 16:22:30 24 4
gpt4 key购买 nike

使用CruiseControl进行持续集成时,我对Weblogic Ant任务感到有些烦恼,以及它们如何认为服务器调试信息是警告而非调试,因此在构建报告电子邮件中显示。 Cruise的XML输出类似于:

<cruisecontrol>
<build>
<target name="compile-xxx">
<task name="xxx" />
</target>
<target name="xxx.weblogic">
<task name="wldeploy">
<message priority="warn">Message which isn't really a warning"</message>
</task>
</target>
</build>
</cruisecontrol>


在cruisecontrol XSL模板中,任务列表的当前选择是:

<xsl:variable name="tasklist" select="/cruisecontrol/build//target/task"/>


我想要的是以相同方式选择任务列表的东西,但是不包括任何具有属性名称=“ * weblogic”的目标节点,其中*是通配符。我努力了

<xsl:variable name="tasklist" select="/cruisecontrol/build//target[@name!='*weblogic']/task"/>


但这似乎没有用。我不是XSLT的专家,只是想解决此问题,以便我可以继续进行项目的实际开发。任何帮助深表感谢。

最佳答案

在cruisecontrol XSL模板中,
任务列表的当前选择
是:

<xsl:variable name="tasklist" select="/cruisecontrol/build//target/task"/>    


我想要的是
以相同的方式选择任务列表,
但不包含任何目标节点
具有属性
name =“ * weblogic”,其中*是通配符


用:

  /cruisecontrol/build
//target
[not(substring(@name, string-length(@name)-7)
= 'weblogic'
)
]/task

关于xslt - 在XSL节点选择中基于属性通配符排除节点,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2794905/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com