如何在xslt中的数据之间应用空格
我已经为上面的
<block4>
<tag>
<name>50K</name>
<value>
0501/045788775099
Praveen // name will come
MENENDEZ Y PELAYOA CORUNA SPA // address will come
</value>
</tag>
</block4>
标签编写了一个 xslt,但我遇到了用空格替换剩余长度的问题 您可以在中线 praveen 中看到上面的值,让我们假设对于此 xml 消息 praveen,我们收到了另一条消息,我们可能会收到 Tom,但最大长度为 < strong>35 所以我们需要计算字符串名称值的剩余长度,我们应该用空格替换,所以我不知道如何替换那里的空格...
xsl
<?xml version="1.0"?>
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:output method="text" />
<xsl:template match="/">
<xsl:for-each select ="block4/tag[name = '50K']">
<xsl:value-of select="concat(substring(value, 1, 5), ',',substring(substring- before(value,' '),6), ',',substring-after(value,' '))" />
</xsl:for-each>
</xsl:template>
</xsl:stylesheet>
预期输出如下:
0501/,045788775099,praveen。 .........................MENENDEZ Y PELAYOA CORUNA SPA
其中点代表空间,不要假设点
我需要那里的空间,假设 Praveen 是 7 个字符,剩余的 28 个字符应该在 xslt 中腾出空间
xml
<block4>
<tag>
<name>50K</name>
<value>
0501/045788775099
Praveen // name will come
MENENDEZ Y PELAYOA CORUNA SPA // address will come
</value>
</tag>
</block4>
i have written a xslt for this above tag but i have facing a problem with replacing remaining length with space
the above value you can see in middle line praveen is there let us assume for this xml message praveen we recieved for another message we cam may be recieve Tom but maximum length is 35 so we need to caluclate the string name value remaining length we should replace with SPACE so i dunno how replace a space over there ...
xsl
<?xml version="1.0"?>
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:output method="text" />
<xsl:template match="/">
<xsl:for-each select ="block4/tag[name = '50K']">
<xsl:value-of select="concat(substring(value, 1, 5), ',',substring(substring- before(value,'
'),6), ',',substring-after(value,'
'))" />
</xsl:for-each>
</xsl:template>
</xsl:stylesheet>
EXpected OUPUT lIKE:
0501/,045788775099,praveen............................MENENDEZ Y PELAYOA CORUNA SPA
where dots represents space dont assume dots
i need space over there assume think praveen is 7 char and remaining 28 char should make space wantedly in xslt
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(4)
尝试使用
这些标签之间有空格。
有关详细信息:XSLT 控制空白
Try using
The space is between those tags.
For more info: XSLT Controlling Whitespace
使用:
这计算出将
$vstr
('Praveen')与$vBlanks35
(35个空格)连接起来的结果然后取开始的 35 个字符。这是一个完整的示例:
当此转换应用于任何 XML 文档(未使用)时,就会产生所需的正确结果:
Use:
This evaluates to the result of concatenating
$vstr
('Praveen') with$vBlanks35
(35 blanks) and then taking the starting 35 characters.Here is a complete example:
when this transformation is applied on any XML document (not used), the wanted, correct result is produced:
在 xml 中添加空格的一种(通用)方法是使用保留空格的特殊 xml 属性:
另一种方法是使用 XSL 的保留/剥离空间 ...
One (universal) way to add space in xml is to use the special xml attribute that preserves spaces:
Another method is to use XSL's preserve/strip space ...
您应该使用 SQL 函数 RPAD 的 XSLT 版本:
用法:
您可以选择指定一个 char 参数,用空格以外的字符填充字符串。
You should use a XSLT version of SQL function RPAD:
Usage:
Optionnally you may specify a char parameter for padding your string with a character other than space.