home *** CD-ROM | disk | FTP | other *** search
/ Chip 2011 November / CHIP_2011_11.iso / Programy / Narzedzia / Aplikacje_64-bitowe / Mixxx / mixxx-1.9.0-win64.exe / skins / skin.xsl < prev   
Extensible Markup Language  |  2010-12-02  |  5KB  |  164 lines

  1. <?xml version="1.0" encoding="ISO-8859-1"?>
  2.  
  3. <xsl:stylesheet
  4.   version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
  5. <xsl:output method="html" version="4.0" encoding="iso-8859-1" indent="yes" />
  6. <xsl:strip-space elements="*" />
  7.  
  8. <xsl:variable name="COMMA" select="','" />
  9.  
  10. <xsl:template match="/">
  11. <html>
  12.   <xsl:apply-templates />
  13. </html>
  14. </xsl:template>
  15.  
  16. <xsl:template match="skin">
  17. <head>
  18. <style type="text/css">
  19.   <xsl:apply-templates select="Background" mode="bg" />
  20. </style>
  21. </head>
  22. <body>
  23.   <xsl:apply-templates />
  24. </body>
  25. </xsl:template>
  26.  
  27. <xsl:template name="position">
  28.   <xsl:param name="position" />
  29.   
  30.   <xsl:variable name="top" select="substring-after( $position, $COMMA )" />
  31.   <xsl:variable name="left" select="substring-before( $position, $COMMA )" />top: <xsl:value-of select="$top" />px;left: <xsl:value-of select="$left" />px;</xsl:template>
  32.  
  33. <xsl:template name="size">
  34.   <xsl:param name="size" />
  35.  
  36.   <xsl:variable name="height" select="substring-after( $size, $COMMA )" />
  37.   <xsl:variable name="width" select="substring-before( $size, $COMMA )" />width:<xsl:value-of select="$width" />px;height: <xsl:value-of select="$height" />px;</xsl:template>
  38.  
  39. <xsl:template name="image">
  40.   <xsl:param name="position" />
  41.   <xsl:param name="path" />
  42.  
  43.   <xsl:variable name="src">
  44.     <xsl:choose>
  45.       <xsl:when test="contains( $path, '%' )">
  46.         <xsl:variable name="p1" select="substring-before( $path, '%' )" />
  47.         <xsl:variable name="p2" select="substring-after( $path, '%' )" />
  48.         <xsl:value-of select="$p1" /><xsl:value-of select="$p2" />
  49.       </xsl:when>
  50.       <xsl:otherwise>
  51.         <xsl:value-of select="$path" />
  52.       </xsl:otherwise>
  53.     </xsl:choose>
  54.   </xsl:variable>
  55.  
  56.   <div>
  57.     <xsl:attribute name="style">
  58.       <xsl:call-template name="position">
  59.         <xsl:with-param name="position" select="$position" />
  60.       </xsl:call-template>
  61.     </xsl:attribute>
  62.     <img alt="">
  63.     <xsl:attribute name="src"><xsl:value-of select="$src" /></xsl:attribute>
  64.     </img>
  65.   </div>
  66. </xsl:template>
  67.  
  68. <xsl:template match="SliderComposed|XSliderComposed">
  69.   <xsl:call-template name="image">
  70.     <xsl:with-param name="position" select="Pos" />
  71.     <xsl:with-param name="path" select="Slider" />
  72.   </xsl:call-template>
  73.  
  74.   <xsl:call-template name="image">
  75.     <xsl:with-param name="position" select="Pos" />
  76.     <xsl:with-param name="path" select="Handle" />
  77.   </xsl:call-template>
  78. </xsl:template>
  79.  
  80. <xsl:template match="Knob|Knobx|Display">
  81.   <xsl:call-template name="image">
  82.     <xsl:with-param name="position" select="Pos" />
  83.     <xsl:with-param name="path" select="Path" />
  84.   </xsl:call-template>
  85. </xsl:template>
  86.  
  87. <xsl:template match="PushButton">
  88.   <xsl:call-template name="image">
  89.     <xsl:with-param name="position" select="Pos" />
  90.     <xsl:with-param name="path" select="State/Unpressed" />
  91.   </xsl:call-template>
  92. </xsl:template>
  93.  
  94. <xsl:template match="VuMeter">
  95.   <xsl:call-template name="image">
  96.     <xsl:with-param name="position" select="Pos" />
  97.     <xsl:with-param name="path" select="PathBack" />
  98.   </xsl:call-template>
  99.  
  100.   <xsl:call-template name="image">
  101.     <xsl:with-param name="position" select="Pos" />
  102.     <xsl:with-param name="path" select="PathVu" />
  103.   </xsl:call-template>
  104. </xsl:template>
  105.  
  106. <xsl:template match="Overview|NumberPos|NumberRate|NumberBpm|Text|Visual">
  107.   <div>
  108.     <xsl:attribute name="style">
  109.       <xsl:call-template name="position">
  110.         <xsl:with-param name="position" select="Pos" />
  111.       </xsl:call-template>
  112.       <xsl:call-template name="size">
  113.         <xsl:with-param name="size" select="Size" />
  114.       </xsl:call-template><xsl:apply-templates /></xsl:attribute>
  115.   </div>
  116. </xsl:template>
  117.  
  118. <xsl:template match="Splitter">
  119.   <div>
  120.     <xsl:attribute name="style">
  121.       <xsl:call-template name="position">
  122.         <xsl:with-param name="position" select="Pos" />
  123.       </xsl:call-template>
  124.       <xsl:call-template name="size">
  125.         <xsl:with-param name="size" select="Size" />
  126.       </xsl:call-template>background: gray;</xsl:attribute>
  127.   </div>
  128. </xsl:template>
  129.  
  130. <xsl:template match="TreeView">
  131.   <div>
  132.     <xsl:attribute name="style">
  133.       <xsl:call-template name="position">
  134.         <xsl:with-param name="position" select="../Splitter/Pos" />
  135.       </xsl:call-template>
  136.       <xsl:call-template name="size">
  137.         <xsl:with-param name="size" select="Size" />
  138.       </xsl:call-template><xsl:apply-templates /></xsl:attribute>
  139.   </div>
  140. </xsl:template>
  141.  
  142. <xsl:template match="TrackTable"></xsl:template>
  143.  
  144. <xsl:template match="BgColor">background: <xsl:apply-templates />;</xsl:template>
  145.  
  146. <xsl:template match="FgColor">color: <xsl:apply-templates />;</xsl:template>
  147.  
  148. <xsl:template match="Background" mode="bg">
  149. body {
  150.   background-image: url( <xsl:value-of select="Path" /> );
  151.   background-repeat: no-repeat;
  152.   margin: 0px;
  153.   padding: 0px;
  154. }
  155.  
  156. div {
  157.   position: absolute;
  158. }
  159. </xsl:template>
  160.  
  161. <xsl:template match="*"></xsl:template>
  162.  
  163. </xsl:stylesheet>
  164.