Я создаю сводный вид форм Microsoft InfoPath, используя пользовательскую таблицу стилей XSLT.
У меня есть выбор радиокнопок на форме, которые нажимаются "Да", "Нет"
например.
What is the primary construction of the building?
Steel Yes
No
Timber Yes
NO
etc....
В таблице стилей у меня есть
<tr>
<td>
The primary contruction of the building is
<xsl:choose>
<xsl:when test="/my:myFields/my:BrickPrimaryConstruction= 'true'">
Brick
</xsl:when>
</xsl:choose>
<xsl:choose>
<xsl:when test="/my:myFields/my:TimberPrimaryConstruction = 'true'">
Timber Framed
</xsl:when>
</xsl:choose>
<xsl:choose>
<xsl:when test="/my:myFields/my:ConcretePrimaryConstruction = 'true'">
Concrete Framed
</xsl:when>
</xsl:choose>
etc....
Что я хочу достичь в конечном выводе HTML, это что-то вроде:
The primary construction of the building is Brick, Concrete Framed, Prefabricated
У меня нет большого опыта работы с XSLT, но как лучше всего этого достичь?
Как избежать этого:
, Concrete Framed, Prefabricated,
или
Brick, , Prefabricated
Обычно в C # я добавляю строку и проверяю, является ли она пустой, перед добавлением запятой, а затем обрезаю запятую на концах, однако я знаю, что не могу назначить переменные в xslt.
EDIT
Я также упомянул, что хотел иметь возможность повторно использовать функцию в других ситуациях, таких как
<xsl:value-of select="/my:myFields/my:Road"/>,
<xsl:value-of select="/my:myFields/my:District"/>,
<xsl:value-of select="/my:myFields/my:City"/>,
<xsl:value-of select="/my:myFields/my:County"/>,
<xsl:value-of select="/my:myFields/my:Postcode"/>
, где они будут разделены запятой или символом новой строки, но есть вероятность, что "Район", например, может быть пустым, что приведет к "Дороге, Городу" и т. Д.