jer
...
установка нескольких XML/XSL-блоков на "страницу" - вопросы...
Есть движок сайта, в котором страницы собираются из блоков. Для каждого блока есть XML и соответственно XSL. Cначала все блоки собираются в единый XML и XSL документ, а потом парсятся в HTML. Все достаточно стандартно и просто.
Так вот, есть такая проблема:
при "установке" на страницу несколько одинаковых блоков, но с разными настройками, получается, что появляются два XML блока с разными данными, но с одинаковой структурой, и два совершенно идентичных XSL-блока.
при трансформации соот-но каждый XSL-блок выводит каждый XML-блок, что не есть верно, с точки зрения работы движка. Нужно чтобы соответствующий XSLT-блок выводил только свой XML-блок.
например:
XML:
и
XSL (изначально одинаковый для обоих блоков):
ситуация пока не частая и решаю ее путем исправления ручками одинаковых XSL-блоков. хочется этот процесс автоматизировать и при том грамотно!.
хотелось бы узнать как другие справляются с этим? и может я в самом подходе к проблеме в чем то ошибаюсь? в XSLT еще далеко не гуру.
Есть движок сайта, в котором страницы собираются из блоков. Для каждого блока есть XML и соответственно XSL. Cначала все блоки собираются в единый XML и XSL документ, а потом парсятся в HTML. Все достаточно стандартно и просто.
Так вот, есть такая проблема:
при "установке" на страницу несколько одинаковых блоков, но с разными настройками, получается, что появляются два XML блока с разными данными, но с одинаковой структурой, и два совершенно идентичных XSL-блока.
при трансформации соот-но каждый XSL-блок выводит каждый XML-блок, что не есть верно, с точки зрения работы движка. Нужно чтобы соответствующий XSLT-блок выводил только свой XML-блок.
например:
XML:
PHP:
<newslist>
<news id="1">
<name>название1</name>
<desc>1бла-бла-бла...</desc>
</news>
<news id="2">
<name>название2</name>
<desc>2бла-бла-бла...</desc>
</news>
</newslist>
PHP:
<newslist>
<news id="3">
<name>название3</name>
<desc>3бла-бла-бла...</desc>
</news>
<news id="8">
<name>название8</name>
<desc>8бла-бла-бла...</desc>
</news>
</newslist>
PHP:
<xsl:template match="newslist">
News list:
<xsl:apply-templates select="news"/>
</xsl:template>
<xsl:template match="news">
<xsl:value-of select="name"/>
<p><xsl:value-of select="desc"/></p>
</xsl:template>
хотелось бы узнать как другие справляются с этим? и может я в самом подходе к проблеме в чем то ошибаюсь? в XSLT еще далеко не гуру.