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


Автор: umnick 14.1.2011, 16:17
simple.xsl:
Код

<?xml version="1.0" encoding="windows-1251"?>

<xsl:stylesheet version="1.0" 
    xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
    <xsl:output method="text" encoding="windows-1251"/>
    
    <xsl:template match="person">
        <xsl:apply-templates />
        <xsl:text>&#xA;&#xA;</xsl:text>
    </xsl:template>
    
    <xsl:template match="name">
        ФИО:
        <xsl:value-of select="@first"/><xsl:text> </xsl:text>
        <xsl:value-of select="@second"/><xsl:text> </xsl:text>
        <xsl:value-of select="@suname"/><xsl:text>&#xA;</xsl:text>        
    </xsl:template>
    
    <xsl:template match="address">
        <xsl:text>Адрес:</xsl:text>
        <xsl:value-of select="street" /><xsl:text>,</xsl:text>
        <xsl:value-of select="city" /><xsl:text>,</xsl:text>
        <xsl:value-of select="zip" /><xsl:text>&#xA;</xsl:text>
    </xsl:template>
    
    <xsl:template match="phone-list">
        <xsl:text>Список телефонов:&#xA; </xsl:text>
        <xsl:text>Рабочие:</xsl:text>
        <xsl:value-of select="work-phone"/><xsl:text>,</xsl:text>
        <xsl:text>&#xA;Домашние:</xsl:text>
        <xsl:value-of select="home-phone"/><xsl:text>,</xsl:text>
    </xsl:template>
    
</xsl:stylesheet>


Код

<?xml version="1.0" encoding="windows-1251"?>
<?xml:stylesheet type="text/xsl" href="simple.xsl"?>
<notebook>
    <person>
        <name first="Иван" second="Петрович" suname="Сидоров"/>
        <address>
            <street>Садовая, 12-34</street>
            <city>Новокозловск</city>
            <zip>123321</zip>
        </address>
        <phone-list>
            <work-phone>123455</work-phone>
            <home-phone>654321</home-phone>
        </phone-list>
    </person>
    <person>
        <name first="Иван" second="Петрович" suname="Сидоров"/>
        <address>
            <street>Садовая, 12-34</street>
            <city>Новокозловск</city>
            <zip>123321</zip>
        </address>
        <phone-list>
            <work-phone>123455</work-phone>
            <home-phone>654321</home-phone>
        </phone-list>
    </person>
</notebook>


Получаемый результат:
Код

ФИО: Иван Петрович Сидоров Адрес:Садовая, 12-34,Новокозловск,123321 Список телефонов: Рабочие:123455, Домашние:654321, ФИО: Иван Петрович Сидоров Адрес:Садовая, 12-34,Новокозловск,123321 Список телефонов: Рабочие:123455, Домашние:654321, 


А по идее должно быть так:
Код

ФИО: Иван Петрович Сидоров 
Адрес:Садовая, 12-34,Новокозловск,123321 
Список телефонов: 
Рабочие:123455, 
Домашние:654321, 

ФИО: Иван Петрович Сидоров 
Адрес:Садовая, 12-34,Новокозловск,123321 
Список телефонов: 
Рабочие:123455, 
Домашние:654321, 


Получается что инструкция <xsl:text>&#xA;&#xA;</xsl:text> не работает. Помогите пожалуйста.

Автор: diadiavova 16.1.2011, 20:15
Я обычно делаю так
Код

<xsl:text>Список телефонов:
</xsl:text>

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