как отследить возврат каретки в строку - PullRequest
0 голосов
/ 03 августа 2011

я столкнулся с небольшой проблемой, мой xml, который выглядит как упомянуто ниже, для этого я пишу логику в xslt, но я не могу достичь результата, может кто-нибудь помочь мне, пожалуйста, как можно скорее вот мой XML

  <block4>  
    <tag>
    <name>72</name>
    <value>/BNF/
           FETA/ABNAAFU000000D93--16.560-10/</value>
  </tag>
  </block4>

вот мой XSL

<xsl:for-each select="block4/tag[name = '72']">
<xsl:value-of  select="concat((concat(substring-before(value,'&#13;'),',')),(substring-after(value,'&#13;'))) "/>
</xsl:for-each>,<xsl:text/> 

Требуется вывод: / BNF /, Фет / ABNAAFU000000D93--16.560-10 /

примечание: я пытаюсь получить вывод как таковой LINE1, LINE2

1 Ответ

1 голос
/ 03 августа 2011

Ну, я не совсем уверен, что вы пытаетесь сделать, но я думаю, что комбинация функций normalize-space и translate - это то, что вам нужно, что-то вроде этого:

<xsl:for-each select="block4/tag[name = '72']">
    <xsl:value-of  select="translate(normalize-space(value), ' ', ',')"/>
</xsl:for-each>,<xsl:text/>

normalize-space превратит все пробелы в пробелы и преобразует несколько пробелов в один пробел.translate превратит все оставшиеся пробелы в запятые.

...