2016-02-17 4 views
0

Я получаю строку в xml что-то вроде hello world#how r u#blahblah#blah. Мне нужно заменить каждый # на новую строку. Так что в HTML он должен показать, какКак заменить символ '#' символом новой строки в xslt?

hello world 
how r u 
blahblah 
blah 

translate Я попробовал:

<xsl:value-of select="translate('hello world#howru#blahblah#blah','#','&#xa;&#xd;')" /> 

Он компилируется, но не работает в IE, так и FireFox.

+0

я попытался это, Безразлично' t work – user2321652

+0

Для создания новой строки браузеру необходимо «
». Вы не можете использовать функцию 'translate()' для этого, вам нужен рекурсивный именованный шаблон - см., Например: http://stackoverflow.com/questions/24995282/xsl-for-converting-xml-to-csv-adding -quotes-to-the-end-on-data-field/25003101 # 25003101 –

ответ

0

В XSLT 2.0,

<xsl:analyze-string select="$in" regex="#"> 
    <xsl:matching-substring><br/></xsl:matching-substring> 
    <xsl:non-matching-substring><xsl:value-of select="."/></xsl:non-matching-substring> 
</xsl:analyze-string> 
+0

Нет, я не использую XSLT2.0. Спасибо, что ответили. – user2321652

+0

Как мы терпим неудачу при работе без синтаксиса? Теперь исправлено. –

Смежные вопросы