Упрощение XSL шаблонов

#
Re: Упрощение XSL шаблонов
Подскажите как правильно пользоваться include и insert в xml
#
Re: Упрощение XSL шаблонов
Люди.
Кто знает как сделать, чтобы можно было в xsl шаблоне можно было вставить содержимое другого файла? (php, js и другого)
#
Re: Упрощение XSL шаблонов
Если у тебя много java то импорт скрипта производится так пример:
<script type="text/javascript" src="/counter.js"></script>

Для ипорта xsl есть 2 способа xsl:import и xsl:include, я использую:
<xsl:import href="menuSection.xsl" />

Читай документацию по XSL там разбирается разница между ними
Модератор
#
Re: Упрощение XSL шаблонов
phantik,
AIPNZ,
Вставка тэга <script> для полной совместимости с разными XSLT-процессорами:
      <script>
         <xsl:comment>
            <xsl:text disable-output-escaping="yes">
            <![CDATA[
            // Здесь JS-код
            ]]>
            </xsl:text>
         </xsl:comment>
      </script>
#
Re: Re: Упрощение XSL шаблонов
HostCMS,
А если нужно подключить файл??
#
Re: Упрощение XSL шаблонов
Вот смотрите. У меня есть код.
<!-- Текст элемента информационного блока -->
<p><b>Дата публикации:</b>&#xA0; <xsl:value-of disable-output-escaping="yes" select="item_date"/></p>
<p><b>Просмотров:</b>&#xA0; <xsl:value-of disable-output-escaping="yes" select="item_propertys/item_property/prosm"/></p>
<p><b>Версия файла:</b>&#xA0; <xsl:value-of disable-output-escaping="yes" select="item_propertys/item_property/version"/></p>
<p><b>Автор файла:</b>&#xA0; <xsl:value-of disable-output-escaping="yes" select="item_propertys/item_property/autor"/></p>
<p><b>Размер файла:</b>&#xA0; <xsl:value-of disable-output-escaping="yes" select="item_propertys/item_property/razmer"/></p>
<p><b>Описание:</b>&#xA0; <xsl:value-of disable-output-escaping="yes" select="item_text"/></p>
<p><b>Загрузить с сервера:</b>&#xA0; <a href="/download_file.php?download_propertys_items_id={item_propertys/item_property/property_id}">Скачать <xsl:value-of disable-output-escaping="yes" select="item_name"/></a></p>
<p><b>Ссылка на Deposit:</b>&#xA0; <a href="{item_propertys/item_property/ssilka}">Скачать <xsl:value-of disable-output-escaping="yes" select="item_name"/></a></p>
<p><b>Создать закладку в :</b>&#xA0; <noindex><a onclick="this.style.behavior='url(#default#homepage)';this.setHomePage('http://www.zakachay.mobi{item_path}'); return false;" href="http://www.zakachay.mobi{item_path}#" style=""><img src="/images/link/zakachay.png" title="Добавить в избранное браузера" alt="Добавить в избранное браузера" border="0"/></a></noindex> &#xA0; <noindex><a class="social_img" onclick="window.open(this.href, '_blank', 'scrollbars=yes,menubar=no,height=600,width=750,resizable=yes,toolbar=no,location=no,status=no'); return false;" href="http://www.technorati.com/faves?add=http://www.zakachay.mobi{item_path}" rel="nofollow" title="Добавить в Technorati"><img src="/images/link/technorati.png" title="Добавить в Technorati" alt="Добавить в Technorati" border="0"/></a></noindex> &#xA0; <noindex><a class="social_img" onclick="window.open(this.href, '_blank', 'scrollbars=yes,menubar=no,height=600,width=750,resizable=yes,toolbar=no,location=no,status=no'); return false;" href="http://www.google.com/bookmarks/mark?op=edit&amp;output=popup&amp;bkmk=http://www.zakachay.mobi{item_path}" rel="nofollow" title="Добавить в Google Bookmarks"><img src="/images/link/google.png" title="Добавить в Google Bookmarks" alt="Добавить в Google Bookmarks" border="0"/></a></noindex> &#xA0; <noindex><a class="social_img" onclick="window.open(this.href, '_blank', 'scrollbars=yes,menubar=no,height=600,width=750,resizable=yes,toolbar=no,location=no,status=no'); return false;" href="http://memori.ru/link/?sm=1&amp;u_data%5Burl%5D=http://www.zakachay.mobi{item_path}" rel="nofollow" title="Cохранить на Memori"><img src="/images/link/memori.gif" title="Cохранить на Memori" alt="Cохранить на Memori" border="0"/></a></noindex> &#xA0; <noindex><a class="social_img" onclick="window.open(this.href, '_blank', 'scrollbars=yes,menubar=no,height=600,width=750,resizable=yes,toolbar=no,location=no,status=no'); return false;" href="http://news2.ru/add_story.php?url=http://www.zakachay.mobi{item_path}" rel="nofollow" title="Разместить на News2.ru!"><img src="/images/link/news2ru.png" title="Разместить на News2.ru!" alt="Разместить на News2.ru!" border="0"/></a></noindex> &#xA0; <noindex><a class="social_img" onclick="window.open(this.href, '_blank', 'scrollbars=yes,menubar=no,height=600,width=750,resizable=yes,toolbar=no,location=no,status=no'); return false;" href="http://www.newsland.ru/News/Add/" rel="nofollow" title="Добавить на Newsland.ru"><img src="/images/link/newsland.gif" title="Добавить на Newsland.ru" alt="Добавить на Newsland.ru" border="0" /></a></noindex> &#xA0; <noindex><a class="social_img" onclick="window.open(this.href, '_blank', 'scrollbars=yes,menubar=no,height=600,width=750,resizable=yes,toolbar=no,location=no,status=no'); return false;" href="http://rumarkz.ru/bookmarks/?action=add&amp;popup=1&amp;address=http://www.zakachay.mobi{item_path}" rel="nofollow" title="Добавить на RUmarkz"><img src="/images/link/rumark.png" title="Добавить на RUmarkz" alt="Добавить на RUmarkz" border="0" /></a></noindex> &#xA0; <noindex><a class="social_img" onclick="window.open(this.href, '_blank', 'scrollbars=yes,menubar=no,height=600,width=750,resizable=yes,toolbar=no,location=no,status=no'); return false;" href="http://www.habrahabr.ru/link/add/" rel="nofollow" title="Добавить на Habr"><img src="/images/link/habr.gif" title="Добавить на Habr" alt="Добавить на Habr" border="0" /></a></noindex></p>
<table width="100%" border="0">
  <tr>
   <td width="70%"><b>Код ссылки для файла:</b></td>
   <td width="10%"></td>
  </tr>
  <tr><td>Для форума На форум (phpBB, BBcode):</td></tr>
  <tr><td><table align="center" bordercolor="#000000" border="1" bgcolor="#FFFFCC"><tr>
<td bordercolor="#000000">[url=http://www.zakachay.mobi<xsl:value-of disable-output-escaping="yes" select="item_path"/>]Скачать <xsl:value-of disable-output-escaping="yes" select="item_name"/>[/url]</td></tr></table>
</td></tr>
<tr><td>В ЖЖ (LiveJournal) или на сайт:</td></tr>
  <tr><td><table align="center" bordercolor="#000000" border="1" bgcolor="#FFFFCC"><tr>
<td bordercolor="#000000">a href="http://www.zakachay.mobi<xsl:value-of disable-output-escaping="yes" select="item_path"/>" Скачать <xsl:value-of disable-output-escaping="yes" select="item_name"/>/a</td></tr></table>
</td></tr>
</table>
<script type="text/javascript" src="/tpl/givelink.js"></script>
</xsl:template>


Я хочу весь этот кусок спрятать в другой файл и вызвать его в xsl шаблоне архива файлов. Как мне это сделать. Я как только не пробовал. И как planrik сказал и как HostCMS посоветовал. Ну не появляется ни чего.
Можно ли это реализовать и как это сделать лучше.
#
Re: Упрощение XSL шаблонов
Структура импортируемого файла должна быть следующей, как мне кажется:
<?xml version="1.0" encoding="windows-1251"?>
<!DOCTYPE xsl:stylesheet>
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:output xmlns="http://www.w3.org/TR/xhtml1/strict" doctype-public="-//W3C//DTD XHTML 1.0 Strict//EN"
encoding="Windows-1251" indent="yes" method="html" omit-xml-declaration="no" version="1.0" media-type="text/xml" />

<xsl:template match=Как-нибудь обзови">

...

</xsl:template>

</xsl:stylesheet>

А дальше вставишь такую строку в тот XSL, где произвел импорт:
<xsl:import href="импортируемый.xsl" />
<xsl:apply-templates select="Как обозвал"/>
#
Re: Упрощение XSL шаблонов
для простоты можешь назвать шаблон по названию XSL файла
#
Re: Упрощение XSL шаблонов
Вышло вот что:
Ошибка номер 30 XSL преобразования шаблона 'ПодробнаяИнформацияОФайле':
XSL element 'import' can only be used at the top level
Модератор
#
Re: Упрощение XSL шаблонов
AIPNZ писал(а):
XSL element 'import' can only be used at the top level

Покажите начало XSL-шаблона до импорта включительно
Авторизация