XSLT
Релиб
Форумы       Участники    Календарь    Кто он-лайн?
Добро пожаловать, гость ( Вход | Регистрация )
        



XSLT Expand / Collapse
Автор
Сообщение
03.11.2004 15:15
Forum Member

Forum MemberForum MemberForum MemberForum MemberForum MemberForum MemberForum MemberForum Member

участник
Last Login: 08.09.2005 9:31
Сообщ.: 48, Visits: 529
Народ, каким образом можно написать XSLT шаблон,
чтобы сымулировать команду include. Т. е.:
Есть xml файл

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

<Root xmlns:xpl="http://www.itslab.niks.by">
<c>Привет</c>
<d>
<xpl:include select="../../c"
</d>
</Root>

На этот файл нужно наложить такой шаблон, чтобы выходной файл
выглядел след образом:

<Root xmlns:xpl="http://www.itslab.niks.by">
<c>Привет</c>
<d>
<c>Привет</c>
</d>
</Root>


Моя идея:
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:template match="include">
<xsl:value-of select="@select"/> - только как сделать, чтобы в value-of попадало именно значение @select?????????
</xsl:template>
</xsl:stylesheet>
Сообщ. #842805
04.11.2004 11:47
Supreme Being

Supreme BeingSupreme BeingSupreme BeingSupreme BeingSupreme BeingSupreme BeingSupreme BeingSupreme Being

участник
Last Login: 27.10.2006 10:12
Сообщ.: 179, Visits: 1 960
Насколько я понял тебе надо в тэг d вставить тэг c с его содержимым.
Делаешь так -

XML:

<?xml version="1.0" encoding="windows-1251"?>
<Root xmlns:xpl="http://www.itslab.niks.by">
<c>Привет</c>
<d></d>
</Root>

XSL:

<?xml version="1.0" encoding="windows-1251"?>
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform" >
<xsl:template match="Root">
<c><xsl:value-of select="c"/></c>
<d><c><xsl:value-of select="c"/></c></d>
</xsl:template>
</xsl:stylesheet>

И не надо никаких тэгов include выдумывать...все просто.
Сообщ. #842935
04.11.2004 11:50
Supreme Being

Supreme BeingSupreme BeingSupreme BeingSupreme BeingSupreme BeingSupreme BeingSupreme BeingSupreme Being

участник
Last Login: 27.10.2006 10:12
Сообщ.: 179, Visits: 1 960
P.S. В дальнейшем, если у тебя XML файл большой, много разных тегов и тебе надо вставлять там много инклудов, то создаешь в нем же теги <c> или какие хочешь. Они и будут играть роль инклудов. И вставляешь их, как я описал выше.
Сообщ. #842936
« пред. тема | след. тема »


Эту тему читают Expand / Collapse
Посетители: 0 (0 гостей, 0 участников, 0 скрыт.участников)
Сейчас нет участников, просматривающих тему.
Модераторы: Alexey, boombastik, bazile, pl

Время GMT +3:00, Сейчас 8:20