任何人都可以在xslt中建议短期和适当的解决方案以满足以下要求。
我在Xpaths下方返回'Y'或'N'作为输出。
us:user /ws:Additional_Information/ws:is_HR = 'Y'
us:user /ws:Additional_Information/ws:is_Manager = 'Y'
us:user /ws:Additional_Information/ws:is_Employee = 'Y'
us:user /ws:Additional_Information/ws:is_Admin= 'Y'
所以,我需要在上面的结果中形成一个字符串'HR-Manager-Employee-Admin',因为每个其他xpath都返回'Y'。
假设,如果xpaths将输出返回为
us:user /ws:Additional_Information/ws:is_HR = 'Y'
us:user /ws:Additional_Information/ws:is_Manager = 'Y'
us:user /ws:Additional_Information/ws:is_Employee = 'Y'
us:user /ws:Additional_Information/ws:is_Admin= 'N'
字符串应为'HR-Manager-Employee'。
这个过程应该满足所有组合。
答案 0 :(得分:2)
假设XSLT 2或3可以使用
<xsl:value-of select="us:user/ws:Additional_Information/(ws:is_HR,ws:is_Manager,ws:is_Employee,ws:is_Admin)[. = 'Y']/substring(local-name(), 4)" separator="-"/>
或纯XPath 2或更高版本
string-join(us:user/ws:Additional_Information/(ws:is_HR,ws:is_Manager,ws:is_Employee,ws:is_Admin)[. = 'Y']/substring(local-name(), 4), '-')