Сейчас я делаю преобразование html в xml xslt, довольно просто.Но у меня есть одна небольшая проблема, которая остается нерешенной.
Например, в моем html-источнике узел выглядит так:
<p class="Arrow"><span class="char-style-override-12">4</span><span class="char-style-override-13"> </span>Sore, rash, growth, discharge, or swelling.</p>
Как видите, первый дочерний узел имеет значение 4, действительно ли оно отображается как точка стрелки в браузере (возможно, какая-то проблема с кодировкой, в моем редакторе XML это рассматривается как числовое значение).
Итак, мой вопрос, я написалшаблон, соответствующий тегу, затем передайте текстовое содержимое другого шаблона:
<xsl:template match="text()">
<xsl:variable name="noNum">
<xsl:value-of select="normalize-space(translate,'4',''))"/>
</xsl:variable>
<xsl:copy-of select="$noNum"/>
</xsl:template>
Как видите, это определенно не хорошее решение, оно заменит все числа, отображаемые вСтрока, а не только первый символ.Поэтому мне интересно, есть ли способ удалить только первый символ, ЕСЛИ это число, может быть, с помощью регулярного выражения?Или, на самом деле, я иду по неправильному пути, должен ли быть лучший способ решения этой проблемы (например, изменение кодировки)?
Любая идея приветствуется!Заранее спасибо!