Chương trình Java này sử dụng một Ternary nếu, để ánh xạ các booleans tới các chuỗi đầu ra: (a "*" cho đúng, một chuỗi rỗng cho sai).Thành ngữ XSLT 1.0 cho ternary nếu?
public class ternary {
public static void main(String[] args) {
boolean flags[]={true,false,true};
for (boolean f : flags) {
System.out.println(f?"*":"");
}
}
}
Vì vậy, đầu ra là *, [empty], *.
Tôi có một tài liệu đầu vào XML, một cái gì đó như:
<?xml version="1.0" ?>
<?xml-stylesheet type="text/xsl" href="change.xsl"?>
<root>
<change flag="true"/>
<change flag="false"/>
<change flag="true"/>
</root>
Và tôi có mẫu XSLT sau đó bản đồ đúng với '*' và sai để '' (nó hoạt động):
<xsl:template match="change">
<xsl:variable name="flag" select="translate(substring(@flag,1,1),'tf','*')"/>
<xsl:value-of select="$flag"/>
</xsl:template>
Có phiên bản ngắn gọn hơn về điều này không?
a) Tôi có thể tự động nhận giá trị boolean true | false trực tiếp từ chuỗi 'true | false' không? b) Có cấu trúc (xpath?) Để ánh xạ boolean true | false tới '*', '' không?
Câu hỏi tương tự: http://stackoverflow.com/questions/971067/is-there-an-if-then-else-statement-in-xpath – Vadzim