URL: https://www.opennet.me/cgi-bin/openforum/vsluhboard.cgi
Форум: vsluhforumID8
Нить номер: 2156
[ Назад ]

Исходное сообщение
"XML+XSLT->HTML Возможно ли такое?"

Отправлено Андрей2003 , 10-Мрт-04 12:00 
Имеется xml-фрагмент

<ROOT>
Текст к задачке, опубликованной на <FUTURE_LINK attr="http://www....">текст будущей ссылки</<FUTURE_LINK>, где ее успешно решили.
</ROOT>

Нужно написать xsl-преобразование такое, чтобы в результате получился следующий html-фрагмент:

<P>
Текст к задачке, опубликованной на <A href="http://www....">текст будущей ссылки</A>, где ее успешно решили.
</P>

Возможно ли такое?
Если возможно, то как?


Содержание

Сообщения в этом обсуждении
"XML+XSLT->HTML Возможно ли такое?"
Отправлено Jenya , 10-Мрт-04 20:50 
>Имеется xml-фрагмент
>
><ROOT>
>Текст к задачке, опубликованной на <FUTURE_LINK attr="http://www....">текст будущей ссылки</<FUTURE_LINK>, где ее успешно решили.
></ROOT>
>
>Нужно написать xsl-преобразование такое, чтобы в результате получился следующий html-фрагмент:
>
><P>
>Текст к задачке, опубликованной на <A href="http://www....">текст будущей ссылки</A>, где ее успешно решили.
></P>
>
>Возможно ли такое?
>Если возможно, то как?

Если такое подойдёт:
..............
<?xml version="1.0" encoding="UTF-8"?>
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:fo="http://www.w3.org/1999/XSL/Format">
<xsl:template match="/ROOT">
<p>
<xsl:value-of select="text()[1]"/>
<a href="{FUTURE_LINK/@attr}"><xsl:value-of select="FUTURE_LINK/text()"/></a>
<xsl:value-of select="text()[2]"/>
</p>
</xsl:template>
</xsl:stylesheet><?xml version="1.0" encoding="UTF-8"?>
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">

<xsl:template match="/ROOT">
<p>
<xsl:value-of select="text()[1]"/>
<a href="{FUTURE_LINK/@attr}"><xsl:value-of select="FUTURE_LINK/text()"/></a>
<xsl:value-of select="text()[2]"/>
</p>
</xsl:template>
</xsl:stylesheet>


"XML+XSLT->HTML Возможно ли такое?"
Отправлено 1029384756 , 17-Мрт-04 11:19 
>Имеется xml-фрагмент
>
><ROOT>
>Текст к задачке, опубликованной на <FUTURE_LINK attr="http://www....">текст будущей ссылки</<FUTURE_LINK>, где ее успешно решили.
></ROOT>
>
>Нужно написать xsl-преобразование такое, чтобы в результате получился следующий html-фрагмент:
>
><P>
>Текст к задачке, опубликованной на <A href="http://www....">текст будущей ссылки</A>, где ее успешно решили.
></P>
>
>Возможно ли такое?
>Если возможно, то как?

Это очень просто

<?xml version="1.0" encoding="UTF-8"?>
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:fo="http://www.w3.org/1999/XSL/Format">

<xsl:template match="ROOT">
<p><xsl:apply-templates/></p>
</xsl:template>

<xsl:template match="FUTURE_LINK">
<a href="{@attr}"><xsl:apply-templates/></a>
</xsl:template>

</xsl:stylesheet>