如何将在位掩码中指定标志的元素转换为位掩码?我有以下 XML 架构:
例如,我怎样才能打开这个 XML
<Flags>
<Flag>1</Flag>
<Flag>3</Flag>
</Flags>
使用 XSLT 进入这个输出 XML?
<Bitmask>10</Bitmask>
(10 = 1010 二进制 - 位 1 和 3 已设置)
在过程编程语言中,我会简单地做这样的事情:
var bitmask = 0;
foreach(var falg in flags) {
bitmask = bitmask + pow(2,flag);
}
但这在 xslt 中是不可能的,因为 xsl:variable 是静态的。是否有另一种方法,或者如何做到这一点?