当其中一个元素可能不存在时,如何在两个元素中concat()?

时间:2019-06-20 14:43:15

标签: xml xslt

我正在尝试从XML源构建固定宽度的文本文件。除了其他解决方案,我的方法如下:

<xsl:value-of select="substring(concat(wd:MailAdd/wd:CD-CITY-MAIL-ADD, $eightySpaces), 1, 26)"/>

本质上,将给定字段的值与一堆空格连接起来。然后对结果的前#个字符进行子字符串化,这样就只有该字段的宽度了。

对于具有城市BRYAN的记录和具有城市ONE LONG INCREDIBLY UNBROKEN SENTENCE的另一记录,上面的结果将产生如下内容:
BRYAN_____________________

ONE LONG INCREDIBLY UNBROK

问题是当源XML中没有元素之一时(任何记录可能有也可能没有地址)。 XSLT只是跳过该concat语句,然后移至下一行。如果concat()不知道如何串联它找不到的XPath,我想这可能有意义。

如果第一个参数的计算结果为空,是否有一种方法可以强制concat()无条件地连接变量?

0 个答案:

没有答案