home *** CD-ROM | disk | FTP | other *** search
/ Chip 2011 November / CHIP_2011_11.iso / Programy / Narzedzia / AIMP2 / aimp_2.61.583.exe / $TEMP / YandexPackSetup.msi / fil619DB0B82BEAFAE2C5AA8E9C195A20DC < prev    next >
Extensible Markup Language  |  2010-07-12  |  5KB  |  131 lines

  1. <?xml version="1.0" encoding="UTF-8"?>
  2. <!DOCTYPE stylesheet SYSTEM "chrome://yasearch/locale/yasearch.dtd">
  3.  
  4. <xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
  5.   xmlns:data="urn:data"
  6.   xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul"
  7.   extension-element-prefixes="data"
  8. >
  9.  
  10. <xsl:import href="chrome://yasearch/content/xsl-templ/xsl-menu-popup.xsl"/>
  11.  
  12. <xsl:output method="xml" encoding="UTF-8" indent="no"/>
  13.  
  14. <xsl:param name="max-favorites" select="7"/>
  15. <xsl:variable name="id" select="'yandex-bar-services'"/>
  16. <xsl:param name="homePageHost" select="'www.yandex.ru'"/>
  17.  
  18. <xsl:param name="cbl" select="'{'"/>
  19. <xsl:param name="cbr" select="'}'"/>
  20.  
  21. <xsl:template match="data:services">
  22.   <toolbarbutton type="menu-button"
  23.                  statustext="http://{$homePageHost}/"
  24.                  oncommand="if (event.target == this) Ya.loadURI('http://{$homePageHost}/', event, {$cbl}clid:4, action:10{$cbr});"
  25.                  label="&yasearch.bar.label;">
  26.     <xsl:apply-templates select="@id"/>
  27.     <menupopup>
  28.       <xsl:apply-templates select="." mode="favorites"/>
  29.       <xsl:apply-templates select="data:group[*]"/>
  30.       
  31.       <menuseparator/>
  32.       
  33.       <menuitem label="&yasearch.preferences.label;" tooltiptext="&yasearch.preferences.open.tooltiptext;"
  34.                 class="menuitem-iconic" image="{$images}bar-options.png"
  35.                 oncommand="Ya.openPrefWindow()"/>
  36.       <menuitem label="&yasearch.about.label;" tooltiptext="&yasearch.about.open.tooltiptext;"
  37.                 class="menuitem-iconic" image="{$images}bar-logo-16.png"
  38.                 oncommand="Ya.openAboutWindow()"/>
  39.     </menupopup>
  40.   </toolbarbutton>
  41. </xsl:template>
  42.  
  43. <xsl:template match="data:services" mode="favorites">
  44.   <xsl:variable name="services" select=".//data:service[@service-timestamp != 0]"/>
  45.  
  46.   <xsl:if test="count($services) > 0">
  47.     <xsl:for-each select="$services">
  48.       <xsl:sort select="@service-timestamp" order="descending" data-type="number"/>
  49.       <xsl:if test="position() <= $max-favorites">
  50.         <xsl:apply-templates select="." mode="top"/>
  51.       </xsl:if>
  52.     </xsl:for-each>
  53.     <menuseparator />
  54.   </xsl:if>
  55. </xsl:template>
  56.  
  57. <xsl:template match="data:services/data:group">
  58.   <menu>
  59.     <xsl:apply-templates select="@*"/>
  60.     <menupopup>
  61.       <xsl:apply-templates select="data:service | data:complex"/>
  62.     </menupopup>
  63.   </menu>
  64. </xsl:template>
  65.  
  66. <xsl:template match="data:service" mode="url">
  67.   <xsl:attribute name="statustext">
  68.     <xsl:choose>
  69.       <xsl:when test="@host">
  70.         <xsl:value-of select="@host"/>
  71.       </xsl:when>
  72.       <xsl:otherwise>
  73.         <xsl:text>http://</xsl:text>
  74.         <xsl:value-of select="concat(@id, $domain)"/>
  75.       </xsl:otherwise>
  76.     </xsl:choose>
  77.   </xsl:attribute>
  78.   <xsl:attribute name="oncommand">
  79.     <xsl:text>Ya.loadService('</xsl:text>
  80.     <xsl:value-of select="@id"/>
  81.     <xsl:text>',this.getAttribute('statustext'),event</xsl:text>
  82.     <xsl:if test="@action">
  83.       <xsl:value-of select="concat(',', $cbl, 'clid:-1, action:', @action, $cbr)"/>
  84.     </xsl:if>
  85.     <xsl:text>);</xsl:text>
  86.   </xsl:attribute>
  87. </xsl:template>
  88.  
  89. <xsl:template match="data:service">
  90.   <menuitem>
  91.     <xsl:apply-templates select="@*"/>
  92.     <xsl:apply-templates select="." mode="url"/>
  93.   </menuitem>
  94. </xsl:template>
  95.  
  96. <xsl:template match="data:service" mode="top">
  97.   <menuitem>
  98.     <xsl:apply-templates select="@*" mode="top"/>
  99.     <xsl:apply-templates select="." mode="url"/>
  100.   </menuitem>
  101. </xsl:template>
  102.  
  103. <xsl:template match="@*" mode="top">
  104.   <xsl:apply-templates select="."/>
  105. </xsl:template>
  106.  
  107. <xsl:template match="data:service[parent::data:complex[@image != 'null']]/@image" mode="top">
  108.   <xsl:attribute name="image">
  109.     <xsl:value-of select="concat($images, parent::data:service/parent::data:complex/@image, '.png')"/>
  110.   </xsl:attribute>
  111.   <xsl:attribute name="class">
  112.     <xsl:text>menuitem-iconic</xsl:text>
  113.   </xsl:attribute>
  114. </xsl:template>
  115.  
  116. <xsl:template match="data:service[parent::data:complex]/@label" mode="top">
  117.   <xsl:attribute name="label">
  118.     <xsl:value-of select="parent::data:service/parent::data:complex/@label"/>
  119.     <xsl:text> / </xsl:text>
  120.     <xsl:value-of select="."/>
  121.   </xsl:attribute>
  122. </xsl:template>
  123.  
  124. <xsl:template match="data:services/@image">
  125.   <xsl:attribute name="class">
  126.     <xsl:text>toolbarbutton-icon</xsl:text>
  127.   </xsl:attribute>
  128.   <xsl:apply-templates select="." mode="image"/>
  129. </xsl:template>
  130.  
  131. </xsl:stylesheet>