Как разобрать строку в XSLT преобразовании?

Добрый день! Есть XML документ и необходимо произвести его XSLT преобразовании. Беда в том, что строка должна быть разобрана по ячейкам таблицы - одна буква в одной ячейке, чтобы образовывать подобие печатной формы то есть
<Документ КНД="1111053" ДатаДок="16.01.2012" КодНО="7601">

должно выглядеть примерно так
<tr>
<td>КНД</td>
<td>1</td>
<td>1</td>
<td>1</td>
<td>1</td>
<td>0</td>
<td>5</td>
<td>3</td>
</tr>
  • Вопрос задан
  • 195 просмотров
Решения вопроса 1
gromdron
@gromdron
Работаю с Bitrix24
Реализовать подобное можно при помощи substring.

XML-документ:
<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" href="docstyle.xsl"?>

<Документы>
    <Документ КНД='1102345' ДатаДок="16.01.2012" КодНО="7601" />
    <Документ КНД='1111053' ДатаДок="12.12.2016" КодНО="7601" />
</Документы>


XSL-схема (docstyle.xsl)
<?xml version="1.0" encoding="UTF-8" ?>

<xsl:stylesheet version="1.0"  xmlns:xsl="http://www.w3.org/1999/XSL/Transform"  xmlns="http://www.w3.org/1999/xhtml">
    <xsl:output method="xml" indent="yes" doctype-public="-//W3C//DTD XHTML 1.0 Strict//EN" doctype-system="http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"/>

    <xsl:template match="Документы/Документ">
        <tr>
            <td><xsl:value-of select="@ДатаДок"/></td>
            <td><xsl:value-of select='substring(@КНД,1,1)'/></td>
            <td><xsl:value-of select='substring(@КНД,2,1)'/></td>
            <td><xsl:value-of select='substring(@КНД,3,1)'/></td>
            <td><xsl:value-of select='substring(@КНД,4,1)'/></td>
            <td><xsl:value-of select='substring(@КНД,5,1)'/></td>
            <td><xsl:value-of select='substring(@КНД,6,1)'/></td>
        </tr>
    </xsl:template>
</xsl:stylesheet>
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы