我有幾個信息條目,我想用逗號分隔。但是,每個條目可能都是空的,如果首先出現的條目爲空,則不應出現逗號。例如:使用布爾值在XSLT中格式化字符串
如果我們有四個XSLT參數:姓名,電話號碼,地址,職業
,我們有
- 名稱:約翰
- 電話號碼:111-111-1111
- 地址:虛街道
- 職業:貝克
那麼最終的字符串應該是:
約翰,111-111-1111,虛街,貝克
如果姓名和電話號碼參數爲空或null,則最終的字符串應該是:
虛街,貝克
如果只有電話號碼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>
注意,某些條目可能是空的,我只會用名,PHONENUMBER,地址和職業。年齡和性別應該被忽略。
什麼是您的XML輸入是什麼樣子? –
這是XSLT 1.0還是XSLT 2.0? –
@MatthewGreen我編輯了我原來的帖子以包含一個例子。 –