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