xml
<block4>
<tag>
<name>50K</name>
<value>
0501/045788775099
Praveen // name will come
MENENDEZ Y PELAYOA CORUNA SPA // address will come
</value>
</tag>
</block4>
Я написал xslt для этого тега выше, но у меня возникла проблема с заменой оставшейся длины пробелом, указанное выше значение, которое вы видите в средней строке, есть, допустим, дляэто XML-сообщение правее , которое мы получили для другого сообщения, которое мы можем получить, может быть получено Том , но максимальная длина равна 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,праве ............................ MENENDEZ Y PELAYOA CORUNA SPA
где точки представляют пробел не принимайте точки
мне нужно там место, предположим, что правеен равен 7 символам, а оставшиеся 28 символов должны занимать свободное место в xslt