此 Java 程序使用三元 if 将布尔值映射到输出字符串:(“*”表示真,空字符串表示假)。
public class ternary {
public static void main(String[] args) {
boolean flags[]={true,false,true};
for (boolean f : flags) {
System.out.println(f?"*":"");
}
}
}
所以输出是*,[空],*。
我有一个输入 XML 文档,例如:
<?xml version="1.0" ?>
<?xml-stylesheet type="text/xsl" href="change.xsl"?>
<root>
<change flag="true"/>
<change flag="false"/>
<change flag="true"/>
</root>
我有以下 XSLT 模板,它将 true 映射到 '*' 并将 false 映射到 '' (它有效):
<xsl:template match="change">
<xsl:variable name="flag" select="translate(substring(@flag,1,1),'tf','*')"/>
<xsl:value-of select="$flag"/>
</xsl:template>
有没有更简洁的版本?
a) 我可以直接从字符串 'true|false' 自动获取布尔值 true|false 吗?b) 是否有 (xpath?) 构造将布尔值 true|false 映射到 '*', '' ?