Автор Дельфийский задал вопрос в разделе Другие языки и технологии
HostCMS, XSL-шаблон и получил лучший ответ
Ответ от ?????? ????r?????u[гуру]
гляньте тут: ссылка
там перебор строк, может поможет
Ответ от Byte[мастер]
Никогда не работал с данной CMS но XSL везде одинаковый, я бы в твоем случае сделал вот так:
<?xml version="1.0" encoding="UTF-8"?>
<xsl:stylesheet version="1.0" xmlns:xsl="ссылка">
<xsl:template match="/">
<xsl:apply-templates select='informationsystem_group'/>
</xsl:template>
<xsl:template match="informationsystem_group">
<!-- Такая же проверка, как в первом шаблоне -->
<xsl:if test="informationsystem_group">
<!-- &lt; - это правая угловая скобка, просто в явном виде валидатор на нее сругнется -->
-&lt;<xsl:value-of select="name" disable-output-escaping="yes"/>
<xsl:apply-templates select='informationsystem_group'/>
</xsl:if>
</xsl:template>
<xsl:template match="informationsystem_group[parent_id = 0]">
<!-- Проверяем текущий узел на наличие дочернего узла с названием "informationsystem_group" -->
<xsl:if test="informationsystem_group">
<!-- Если такой имеется, то выводим его и следом применяем шаблон для дочернего узла -->
<p>
<xsl:value-of select="name" disable-output-escaping="yes"/>
<xsl:apply-templates select='informationsystem_group'/>
</p>
</xsl:if>
</xsl:template>
</xsl:stylesheet>
Результат должен быть вот таким: <p>Россия -> Москва</p>
Если я что-то не так понял, пиши на почту, помогу
Никогда не работал с данной CMS но XSL везде одинаковый, я бы в твоем случае сделал вот так:
<?xml version="1.0" encoding="UTF-8"?>
<xsl:stylesheet version="1.0" xmlns:xsl="ссылка">
<xsl:template match="/">
<xsl:apply-templates select='informationsystem_group'/>
</xsl:template>
<xsl:template match="informationsystem_group">
<!-- Такая же проверка, как в первом шаблоне -->
<xsl:if test="informationsystem_group">
<!-- &lt; - это правая угловая скобка, просто в явном виде валидатор на нее сругнется -->
-&lt;<xsl:value-of select="name" disable-output-escaping="yes"/>
<xsl:apply-templates select='informationsystem_group'/>
</xsl:if>
</xsl:template>
<xsl:template match="informationsystem_group[parent_id = 0]">
<!-- Проверяем текущий узел на наличие дочернего узла с названием "informationsystem_group" -->
<xsl:if test="informationsystem_group">
<!-- Если такой имеется, то выводим его и следом применяем шаблон для дочернего узла -->
<p>
<xsl:value-of select="name" disable-output-escaping="yes"/>
<xsl:apply-templates select='informationsystem_group'/>
</p>
</xsl:if>
</xsl:template>
</xsl:stylesheet>
Результат должен быть вот таким: <p>Россия -> Москва</p>
Если я что-то не так понял, пиши на почту, помогу
Ответ от 3 ответа[гуру]
Привет! Вот подборка тем с ответами на Ваш вопрос: HostCMS, XSL-шаблон