Как объединить строки с разделителем "," (запятая), только когда значения строк не равны NULL, используя xslt2.0 - PullRequest
0 голосов
/ 29 ноября 2018

Например: Street, BuildingId, FloorId, UnitId необходимо разделять на , только в том случае, если значения не равны NULL.Если какое-либо из полей является пустым, не разделяйте запятой.

 <ADDRESS nil="true"><xsl:value-of select="//street"/><xsl:text>,</xsl:text><xsl:value-of select="//buildingId"/><xsl:text>,</xsl:text><xsl:value-of select="//floorId"/><xsl:text>,</xsl:text><xsl:value-of select="//unitId"/></ADDRESS>

1 Ответ

0 голосов
/ 30 ноября 2018

Если вы используете XSLT 2.0, попробуйте:

<xsl:value-of select="(street, buildingId, floorId, unitId)[string()]" separator=","/>

Демо : http://xsltransform.hikmatu.com/gWmuiHS/1


Добавлено:

Можно ли добавить пробел между атрибутами, если какое-либо из полей пустое?

Попробуйте:

<xsl:value-of select="for $i in (street, buildingId, floorId, unitId) return if (string($i)) then $i else ' ' " separator=","/>

Демо : http://xsltransform.hikmatu.com/gWmuiHS/3

...