我有几个信息条目,我想用逗号分隔。但是,每个条目都可以为空,如果第一个出现的条目为空,则不应出现逗号。例如:
如果我们有四个 XSLT 参数:姓名、电话号码、地址、职业
我们有
- 姓名:约翰
- 电话号码:111-111-1111
- 地址:想象中的街道
- 职业:贝克
那么最终的字符串应该是:
John, 111-111-1111, Imaginary street, Baker
如果名称和电话号码参数为空或 null,则最终字符串应为:
想象中的街道,贝克
如果只有电话号码为空或为空,则最终字符串应为:
约翰,想象中的街道,贝克
在像 C# 这样的语言中,我会编写如下代码:
foreach (EntryObject entry in entryList)
{
if (firstEntry == true && entry.Type != EntryType.Age && entry.Type != EntryType.Sex)
{
finalString += entry.ValueString;
firstEntry = false;
}
else if (firstEntry == false && entry.Type != EntryType.Age && entry.Type != EntryType.Sex)
{
finalString += ", " + entry.ValueString;
}
}
return finalString;
但是,我听说 XSLT 中的变量是不可变的。我应该如何在 XSLT 中解决这个问题?
编辑: xml 条目看起来像这样:
<AddressBook>
<PersonalInfo>
<Age>33</Age>
<Sex>Male</Sex>
<Name>John</Name>
<PhoneNumber></PhoneNumber>
<Address>Imaginary Street</Address>
<Occupation>Baker</Occupation>
</PersonalInfo>
</AddressBook>
请注意,某些条目可能是空的,我只会使用姓名、电话号码、地址和职业。年龄和性别应该被忽略。