Мне нужно отобразить измененные тексты, используя xlst.
часть кода.
Вариант 1:
<tu>
<tuv xml:lang="en-us" changedate="20110216T070945Z">
<seg>
<ut># 302 </ut>The gradient of the objective function cannot be
<ph x="1" type="inldel">! </ph>computed at the starting point</seg>
</tuv>
</tu>
* Вариант 2 1011 *
<tuv xml:lang="zh-cn" changedate="20110216T070945Z">
<seg>
<ut># 302 </ut>The gradient of the; objective function cannot be
<ph x="2" type="inldel">! </ph>computed at the starting point</seg>
</tuv>
просит:
1. если в текстовом поле есть разрывы \ возвраты, замените возврат пробелами и отобразите \ выведите новую строку.
В случае 1, градиент целевой функции не может быть вычислен в начальной точке.
- когда есть точки с запятой, замените их на двоеточия.
В случае 2, градиент функции: target не может быть вычислен в начальной точке.
Мое текущее решение для case2:
*<xsl:if test="tuv[@xml:lang='en-us']/seg/text()">
<xsl:choose>
<xsl:when test="contains(tuv[@xml:lang='en-us']/seg/text(),';')">
<xsl:text>translate(tuv[tuv[@xml:lang='en-us']/seg/text(),';',':')</xsl:text> </xsl:when>
<xsl:otherwise>
<xsl:apply-templates select="tuv[@xml:lang='en-us']/seg/text()"/>
</xsl:otherwise>
</xsl:choose>
</xsl:if>*
Но вывод не показывает возвращенную пустоту функции Translate, вместо этого он отображает "translate (tuv ....)".
Я новичок в xslt и думаю, что это не сложный вопрос для экспертов :)
Кто-нибудь может помочь?
спасибо