Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > XML, XSL > функция Trim в хсл


Автор: t77 24.3.2010, 13:24
Доброе время суток.
Проверяю на наличие значения определенного тега в файле хмл...
Необходимо знать если имеется значение или нет. Так получилось, что иногда в теге имеются пробелы.
Код

<TAG>
 <![CDATA[simple text1]]>
</TAG>
<TAG>
 <![CDATA[blablabla]]>
</TAG>
<TAG>
 <![CDATA[]]>
</TAG>
<TAG>
 <![CDATA[        ]]>
</TAG>



Код

<xsl:for-each select="$xmlDoc">                    
     <xsl:variable name="elemValue">
    <xsl:value-of select="child::*[name()='TAG']"/>
     </xsl:variable>

     <xsl:if test="$elemValue != ''">
          <hr style="border-bottom: 1px solid #c9d1dc;"/>     
          <xsl:value-of select="$elemValue"/>
     </xsl:if>
</xsl:for-each>

В вышеприведенном коде, пробегаюсь по всем тегам TAG и в случае если имеется значение, рисую линию и под ней распечатываю значение тега.


В данном случае условие:
Код

<xsl:if test="$elemValue != ''">

возвращает TRUE

Вопрос как можно удалить пробелы перед проверкой значения?
Или как сделать что то подобное функции Trim в С# на XSL ?
Заранее благодарю.

Автор: diadiavova 24.3.2010, 19:32
Цитата(t77 @  24.3.2010,  13:24 Найти цитируемый пост)
Вопрос как можно удалить пробелы перед проверкой значения?

Если не ошибаюсь, функция называется normalize-space.

Автор: t77 30.3.2010, 19:18
diadiavova, вы правильно помните, это именно тоб что нужно.
Спасибо.

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)