Есть такой блок:
<div id="block">
<div id="popup">
<div class="infoblock">
<div class="title">
<span style="margin: 6px 7px 0 0; float: right;">
<a href="javascript:;" onClick="hide()" alt="" title=""><img src="/images/design/close.png" border="0" height="18" width="18" alt="" title="" /></a>
</span>
<h2></h2>
</div>
<div class="body">
<div class="in">
<div style="padding: 12px; background: #ffffff; border: 1px solid #dedede; -moz-border-radius: 5px; -webkit-border-radius: 5px; border-radius: 5px;">
<img style="margin: 1px 10px -30px 0;" src="/images/design/basket-full.png" border="0" height="28" width="28" />
<div style="margin-left: 40px;">
<strong>
<xsl:text></xsl:text><br/>
<xsl:text></xsl:text>
</strong>
</div>
</div>
<div style="text-align: center; margin: -1px 0 -12px 0;">
<img src="/images/design/tail.png" border="0" height="11" width="21" />
</div>
<div style="padding: 12px; margin-bottom: 5px;">
<xsl:text</xsl:text> </div>
</div>
</div>
</div>
</div>
</div>
Вчитываться необязательно. Просьба подсказать, как создать/сделать из этого отдельный .xsl-файл без изменения самого вышеуказанного кода, т.е. вставив его в файл?, где расположить сам файл и каким вызовом разместить в default.xsl (основной шаблон)?
если вам нужно просто иметь возможность вставлять данный кусок кода в уже существующие шаблоны, то не обязательно создавать отдельный xsl фалй. Достаточно прописать в любом уже задействованном xsl файле, такой шаблон
<xsl:template name="your_name">
... your code
</xsl:template>
и в нужных местах вызывайте его так
<xsl:call-template name="your_name" />
Стимулировать к самостоятельным действиям Вы мастер. И правильно, если Вы знаете и умеете работать с XSLT, и где-то научились к этому, почему бы и меня не подтолкнуть к этому, и почему бы мне не последовать за Вами?!
Вопрос ставлю по-другому:
<?xml version="1.0" encoding="UTF-8" ?>
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:template name="my_template_name">
...my own code/mytemplate...
</xsl:template>
</xsl:stylesheet>
Например, я создал .xsl (код выше), где ...my own code/mytemplate... мой в самом начале описанный код, чтобы вызвать этот файл/тэплейт, мне надо прописать в default.xsl?:
1. <xsl:call-template name="my_template_name" />
или
2. <xsl:apply-templates select="document('udata://emarket/my_own_xsl_name/')/udata" />
Какой из вариантов верный?
чтобы подключить набор шаблонов из другого файла, вам необходимо воспользоваться xsl:include (как и сказано выше)
<xsl:include href="...my own code/mytemplate....xsl" />
а после этого, вы сможете использовать шаблоны из этого файла вызвав их через
<xsl:call-template name="my_template_name" />
вызов же вида
<xsl:apply-templates select="document('udata://emarket/my_own_xsl_name/')/udata" />
предполагает, что вы вызываете макрос %emarket my_own_xsl_name()%, так как такого макроса нет в umi (см. документацию с макросами), то этот вызов стоит использовать, только если вы написали свой кастом, что не относится к вашему случаю.