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 / fil8212DC70DA9BFCFAB291C52225008026 < prev    next >
Extensible Markup Language  |  2010-07-12  |  4KB  |  135 lines

  1. <?xml version="1.0"?>
  2. <!DOCTYPE stylesheet SYSTEM "chrome://yasearch/locale/dialogs/welcome.dtd">
  3.  
  4. <xsl:stylesheet version="1.0"
  5.   xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
  6.   xmlns:html="http://www.w3.org/1999/xhtml"
  7.   xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul"
  8. >
  9.  
  10. <xsl:output method="xml" encoding="UTF-8" indent="no"/>
  11.  
  12. <xsl:param name="localeTld" select="'ru'"/>
  13. <xsl:param name="defaultLocaleTld" select="'ru'"/>
  14. <xsl:param name="maxRows" select="3"/>
  15.  
  16. <xsl:template match="services">
  17.   <vbox flex="1">
  18.     <grid flex="1">
  19.       <columns>
  20.         <column flex="1"/>
  21.         <column flex="1"/>
  22.       </columns>
  23.       <rows>
  24.         <xsl:call-template name="services">
  25.           <xsl:with-param name="serviceNodes" select="service"/>
  26.         </xsl:call-template>
  27.       </rows>
  28.     </grid>
  29.     
  30.     <hbox id="all-services-box">
  31.       <label value="&yasearch.services.iuse.all.label;" yaLinkAction="3800">
  32.         <xsl:if test="boolean(count(service[@error='0']) > $maxRows * 2)">
  33.           <xsl:attribute name="yahref">
  34.             <xsl:text>http://i.yandex.ru/</xsl:text>
  35.           </xsl:attribute>
  36.         </xsl:if>
  37.       </label>
  38.     </hbox>
  39.   </vbox>
  40. </xsl:template>
  41.  
  42. <xsl:template name="services">
  43.   <xsl:param name="serviceNodes"/>
  44.   
  45.   <xsl:for-each select="$serviceNodes[position()-1 < $maxRows]">
  46.     <xsl:variable name="position" select="(position()) + $maxRows"/>
  47.     <row>
  48.       <hbox><xsl:apply-templates select="."/></hbox>
  49.       <hbox><xsl:apply-templates select="$serviceNodes[position() = $position]"/></hbox>
  50.     </row>
  51.   </xsl:for-each>
  52. </xsl:template>
  53.  
  54. <xsl:template match="service">
  55.   <hbox class="service-data" yaserviceerror="{@error}">
  56.     <hbox class="service-icon">
  57.       <vbox><xsl:apply-templates select="./icon" mode="lang"/></vbox>
  58.     </hbox>
  59.     <xsl:apply-templates select="./iuse" mode="lang"/>
  60.     <hbox class="service-counter-data" yaIsCounter="{@counter}" flex="1">
  61.       <xsl:apply-templates select=".[@counter='yes' and @error='0']/@v[number(.) >= 0]"/>
  62.     </hbox>
  63.   </hbox>
  64. </xsl:template>
  65.  
  66. <!-- filter by @lang -->
  67. <xsl:template match="service/*" mode="lang">
  68.   <xsl:variable name="nodeName" select="name()"/>
  69.   
  70.   <xsl:variable name="nodeEmptyLang"
  71.                 select="../*[not(@lang) and name()=$nodeName]"/>
  72.   
  73.   <xsl:variable name="nodeWithLang"
  74.                 select="../*[@lang = $localeTld and name()=$nodeName]"/>
  75.   <xsl:choose>
  76.     <xsl:when test="(@lang = $localeTld)
  77.                    or (not(@lang) and not($nodeWithLang))
  78.                    or (@lang = $defaultLocaleTld and not($nodeWithLang) and not($nodeEmptyLang))">
  79.       <xsl:apply-templates select="."/>
  80.     </xsl:when>
  81.     <xsl:otherwise/>
  82.   </xsl:choose>
  83. </xsl:template>
  84.  
  85. <xsl:template match="service/*/@*" mode="lang">
  86.   <xsl:variable name="nodeName" select="name(parent::*)"/>
  87.   
  88.   <xsl:variable name="nodeWithLang"
  89.                 select="../../*[@lang = $localeTld and name()=$nodeName]"/>
  90.   
  91.   <xsl:choose>
  92.     <xsl:when test="(../@lang = $localeTld)
  93.                     or (not(../@lang) and not($nodeWithLang))">
  94.       <xsl:apply-templates select="."/>
  95.     </xsl:when>
  96.     <xsl:otherwise/>
  97.   </xsl:choose>
  98. </xsl:template>
  99. <!-- /filter by @lang-->
  100.  
  101. <xsl:template match="icon">
  102.   <image src="{.}"/>
  103. </xsl:template>
  104.  
  105. <xsl:template match="iuse">
  106.   <label crop="end" value="{.}">
  107.     <xsl:if test="string(../url) != ''">
  108.       <xsl:attribute name="yahref">
  109.         <xsl:apply-templates select="../url" mode="lang"/>
  110.       </xsl:attribute>
  111.       <xsl:attribute name="yaLinkAction">
  112.         <xsl:apply-templates select="../url/@action" mode="lang"/>
  113.       </xsl:attribute>
  114.     </xsl:if>
  115.   </label>
  116. </xsl:template>
  117.  
  118. <xsl:template match="url | counterurl">
  119.   <xsl:value-of select="."/>
  120. </xsl:template>
  121.  
  122. <xsl:template match="@v[number(.) > 0]">
  123.   <hbox class="full-counter yaoverfl" flex="1" value="{.}">
  124.     <xsl:attribute name="yahref">
  125.       <xsl:apply-templates select="../counterurl" mode="lang"/>
  126.     </xsl:attribute>
  127.     <xsl:attribute name="yaLinkAction">
  128.       <xsl:apply-templates select="../counterurl/@action" mode="lang"/>
  129.     </xsl:attribute>
  130.   </hbox>
  131. </xsl:template>
  132.  
  133. <xsl:template match="@v"/>
  134.  
  135. </xsl:stylesheet>