|
| 1 | +<xsl:stylesheet version='1.0' xmlns:xsl='http://www.w3.org/1999/XSL/Transform'> |
| 2 | + |
| 3 | +<xsl:output method="html" omit-xml-declaration="yes"/> |
| 4 | + |
| 5 | +<xsl:template match="option|property"> |
| 6 | + <h5 class="option"> |
| 7 | + <xsl:value-of select="@name" /> |
| 8 | + <xsl:if test="@added"> <span class="added">(added <xsl:value-of select="@added" />)</span></xsl:if> |
| 9 | + <xsl:if test="@deprecated"> <span class="deprecated">(deprecated <xsl:value-of select="@deprecated" />)</span></xsl:if> |
| 10 | + <xsl:if test="@removed"> <span class="removed">(removed <xsl:value-of select="@removed" />)</span></xsl:if> |
| 11 | + <span class="type"> |
| 12 | + <a href="http://api.jquery.com/Types#{@type}"><xsl:value-of select="@type" /></a> |
| 13 | + </span> |
| 14 | + </h5> |
| 15 | + <xsl:if test="@default"> |
| 16 | + <div class="default-value"><strong>Default: </strong> <xsl:value-of select="@default" /></div> |
| 17 | + </xsl:if> |
| 18 | + <p> |
| 19 | + <xsl:copy-of select="desc/text()|desc/*" /> |
| 20 | + </p> |
| 21 | +</xsl:template> |
| 22 | + |
| 23 | + |
| 24 | +<xsl:template match="/"> |
| 25 | +<script> |
| 26 | + { |
| 27 | + "title": "<xsl:value-of select="//entry/@name" />" |
| 28 | + } |
| 29 | +</script> |
| 30 | +<xsl:if test="count(//entry) > 1"> |
| 31 | +<div class="toc"> |
| 32 | + <h4><span>Contents:</span></h4> |
| 33 | + <ul class="toc-list"> |
| 34 | + <xsl:for-each select="//entry"> |
| 35 | + <xsl:variable name="entry-name" select="@name" /> |
| 36 | + <xsl:variable name="entry-name-trans" select="translate($entry-name,'$., ()/{}','s---')" /> |
| 37 | + <xsl:variable name="arg-num" select="count(signature[1]/argument)" /> |
| 38 | + <li> |
| 39 | + <a href="#{concat($entry-name-trans,position())}"> |
| 40 | + <xsl:value-of select="@name" /><xsl:if test="@type='method'">(<xsl:if test="signature/argument"><xsl:text> </xsl:text> |
| 41 | + <xsl:for-each select="signature[1]/argument"> |
| 42 | + |
| 43 | + <xsl:if test="@optional">[<xsl:text> </xsl:text></xsl:if> |
| 44 | + <xsl:if test="position() > 1"> |
| 45 | + <xsl:text>, </xsl:text> |
| 46 | + </xsl:if> |
| 47 | + <xsl:value-of select="@name" /> |
| 48 | + <xsl:if test="@optional"><xsl:text> </xsl:text>]</xsl:if> |
| 49 | + <xsl:text> </xsl:text> |
| 50 | + </xsl:for-each> |
| 51 | + <xsl:text> </xsl:text></xsl:if>)</xsl:if> |
| 52 | + <xsl:text> </xsl:text> |
| 53 | + </a> |
| 54 | + |
| 55 | + <xsl:if test="@type='method'"> |
| 56 | + <ul> |
| 57 | + <xsl:for-each select="signature"> |
| 58 | + <li> |
| 59 | + <xsl:variable name="method-sig-arg-num" select="count(argument)" /> |
| 60 | + |
| 61 | + <xsl:if test="not(contains($entry-name, '.')) and $entry-name != 'jQuery'">.</xsl:if><xsl:value-of select="$entry-name" />(<xsl:if test="argument"><xsl:text> </xsl:text> |
| 62 | + <xsl:for-each select="argument"> |
| 63 | + <xsl:if test="@optional"> [</xsl:if> |
| 64 | + <xsl:if test="position() > 1"> |
| 65 | + <xsl:text>, </xsl:text> |
| 66 | + </xsl:if> |
| 67 | + <xsl:value-of select="@name" /> |
| 68 | + <xsl:if test="@optional">] </xsl:if> |
| 69 | + </xsl:for-each><xsl:text> </xsl:text></xsl:if>) |
| 70 | + </li> |
| 71 | + </xsl:for-each> |
| 72 | + </ul> |
| 73 | + </xsl:if> |
| 74 | + </li> |
| 75 | + </xsl:for-each> |
| 76 | + </ul> |
| 77 | +</div> |
| 78 | +</xsl:if> |
| 79 | + |
| 80 | +<xsl:for-each select="//entry"> |
| 81 | + <xsl:variable name="entry-name" select="@name" /> |
| 82 | + <xsl:variable name="entry-name-trans" select="translate($entry-name,'$., ()/{}','s---')" /> |
| 83 | + <xsl:variable name="entry-type" select="@type" /> |
| 84 | + <xsl:variable name="plugin-name" select="@plugin" /> |
| 85 | + <xsl:variable name="entry-index" select="position()" /> |
| 86 | + <xsl:variable name="number-examples" select="count(example)" /> |
| 87 | + <xsl:variable name="entry-pos" select="concat($entry-name-trans,$entry-index)" /> |
| 88 | + |
| 89 | + <div> |
| 90 | + <xsl:attribute name="id"> |
| 91 | + <xsl:value-of select="$entry-pos"></xsl:value-of> |
| 92 | + </xsl:attribute> |
| 93 | + <xsl:attribute name="class"> |
| 94 | + <xsl:choose> |
| 95 | + <xsl:when test="$plugin-name"> |
| 96 | + <xsl:value-of select="concat('entry plugin ', $entry-type)" /> |
| 97 | + </xsl:when> |
| 98 | + <xsl:otherwise> |
| 99 | + <xsl:value-of select="concat('entry ', $entry-type)" /> |
| 100 | + </xsl:otherwise> |
| 101 | + </xsl:choose> |
| 102 | + |
| 103 | + </xsl:attribute> |
| 104 | + <h2 class="jq-clearfix roundTop section-title"> |
| 105 | + <span class="name"> |
| 106 | + <xsl:choose> |
| 107 | + <xsl:when test="$entry-type='method'"><xsl:if test="not(contains($entry-name, '.')) and not(contains($entry-name, '{')) and $entry-name != 'jQuery'">.</xsl:if></xsl:when> |
| 108 | + </xsl:choose> |
| 109 | + <xsl:value-of select="@name" /><xsl:if test="@type='method'">(<xsl:if test="signature/argument"><xsl:text> </xsl:text> |
| 110 | + <xsl:variable name="sig-arg-num" select="count(signature[1]/argument)" /> |
| 111 | + |
| 112 | + <xsl:for-each select="signature[1]/argument"> |
| 113 | + <xsl:if test="@optional"> [</xsl:if> |
| 114 | + <xsl:if test="position() > 1"> |
| 115 | + <xsl:text>, </xsl:text> |
| 116 | + </xsl:if> |
| 117 | + <xsl:value-of select="@name" /> |
| 118 | + <xsl:if test="@optional">] </xsl:if> |
| 119 | + </xsl:for-each> |
| 120 | + <xsl:text> </xsl:text></xsl:if>)</xsl:if> |
| 121 | + </span> |
| 122 | + <xsl:text> </xsl:text> |
| 123 | + |
| 124 | + <xsl:choose> |
| 125 | + <xsl:when test="$entry-type='selector'"> |
| 126 | + <xsl:text> selector</xsl:text> |
| 127 | + </xsl:when> |
| 128 | + <xsl:otherwise> |
| 129 | + |
| 130 | + <span class="returns"> |
| 131 | + <xsl:if test="@return != ''">Returns: <a class="return" href="http://api.jquery.com/Types/#{@return}"><xsl:value-of select="@return" /></a></xsl:if> |
| 132 | + </span> |
| 133 | + </xsl:otherwise> |
| 134 | + </xsl:choose> |
| 135 | + </h2> |
| 136 | + <div class="jq-box roundBottom entry-details"> |
| 137 | + <xsl:choose> |
| 138 | + <xsl:when test="$entry-type='selector'"> |
| 139 | + <xsl:if test="./sample"> |
| 140 | + <h4 class="name"> |
| 141 | + <xsl:if test="./signature/added"> |
| 142 | + <span class="versionAdded">version added: <a href="/category/version/{signature/added}/"><xsl:value-of select="signature/added" /></a></span> |
| 143 | + </xsl:if> |
| 144 | + <xsl:if test="./signature/deprecated"> |
| 145 | + <span class="version-deprecated">version deprecated: <a href="/category/version/{signature/deprecated}/"><xsl:value-of select="signature/deprecated" /></a></span> |
| 146 | + </xsl:if> |
| 147 | + <xsl:if test="./signature/removed"> |
| 148 | + <span class="version-removed">version removed: <a href="/category/version/{signature/removed}/"><xsl:value-of select="signature/removed" /></a></span> |
| 149 | + </xsl:if> |
| 150 | + <xsl:text>jQuery('</xsl:text><xsl:value-of select="sample" /><xsl:text>')</xsl:text> |
| 151 | + </h4> |
| 152 | + </xsl:if> |
| 153 | + <xsl:if test="signature/argument"> |
| 154 | + <ul class="signatures"> |
| 155 | + <li> |
| 156 | + <dl class="arguments"> |
| 157 | + <xsl:for-each select="signature/argument"> |
| 158 | + <dt><xsl:value-of select="@name" /></dt> |
| 159 | + <dd><xsl:copy-of select="desc/text()|desc/*" /></dd> |
| 160 | + </xsl:for-each> |
| 161 | + </dl> |
| 162 | + </li> |
| 163 | + </ul> |
| 164 | + </xsl:if> |
| 165 | + <p class="desc"><strong>Description: </strong> <xsl:value-of select="desc" /></p> |
| 166 | + </xsl:when> |
| 167 | + <xsl:otherwise> |
| 168 | + |
| 169 | + <p class="desc"><strong>Description: </strong> <xsl:value-of select="desc" /></p> |
| 170 | + <ul class="signatures"> |
| 171 | + <xsl:for-each select="signature"> |
| 172 | + <li class="signature"> |
| 173 | + <xsl:attribute name="id"> |
| 174 | + <xsl:value-of select="$entry-name-trans" /> |
| 175 | + <xsl:for-each select="argument"> |
| 176 | + <xsl:variable name="arg-name" select="translate(@name, ',.)(', '--')" /> |
| 177 | + <xsl:text>-</xsl:text><xsl:value-of select="$arg-name"/> |
| 178 | + </xsl:for-each> |
| 179 | + </xsl:attribute> |
| 180 | + <h4 class="name"> |
| 181 | + <xsl:if test="./added"> |
| 182 | + <span class="versionAdded">version added: <a href="/category/version/{added}/"><xsl:value-of select="added" /></a></span> |
| 183 | + </xsl:if> |
| 184 | + <xsl:if test="$entry-type='method'"><xsl:if test="not(contains($entry-name, '.')) and $entry-name != 'jQuery'">.</xsl:if></xsl:if><xsl:value-of select="$entry-name" /><xsl:if test="$entry-type='method'">(<xsl:if test="argument"><xsl:text> </xsl:text> |
| 185 | + <xsl:variable name="desc-arg-num" select="count(argument)" /> |
| 186 | + |
| 187 | + <xsl:for-each select="argument"> |
| 188 | + <xsl:if test="@optional"> [</xsl:if> |
| 189 | + |
| 190 | + <xsl:if test="position() > 1"> |
| 191 | + <xsl:text>, </xsl:text> |
| 192 | + </xsl:if> |
| 193 | + <xsl:value-of select="@name" /> |
| 194 | + <xsl:if test="@optional">]</xsl:if> |
| 195 | + |
| 196 | + </xsl:for-each> |
| 197 | + <xsl:text> </xsl:text></xsl:if>)</xsl:if> |
| 198 | + </h4> |
| 199 | + <xsl:if test="argument"> |
| 200 | + <xsl:for-each select="argument"> |
| 201 | + <p class="arguement"><strong><xsl:value-of select="@name" /> </strong> <xsl:copy-of select="desc/text()|desc/*" /></p> |
| 202 | + <xsl:if test="option"> |
| 203 | + <div class="options"> |
| 204 | + <xsl:apply-templates select="option"/> |
| 205 | + </div> |
| 206 | + </xsl:if> |
| 207 | + </xsl:for-each> |
| 208 | + </xsl:if> |
| 209 | + <xsl:if test="option|property"> |
| 210 | + <div class="options"> |
| 211 | + <xsl:apply-templates select="option|property"/> |
| 212 | + </div> |
| 213 | + </xsl:if> |
| 214 | + </li> |
| 215 | + |
| 216 | + </xsl:for-each> |
| 217 | + </ul> |
| 218 | + |
| 219 | + </xsl:otherwise> |
| 220 | + </xsl:choose> |
| 221 | + <xsl:if test="normalize-space(download/*)"> |
| 222 | + <div class="download"> |
| 223 | + <xsl:copy-of select="download/*" /> |
| 224 | + </div> |
| 225 | + </xsl:if> |
| 226 | + |
| 227 | + <xsl:if test="normalize-space(longdesc/*)"> |
| 228 | + <div class="longdesc"> |
| 229 | + <xsl:copy-of select="longdesc/*" /> |
| 230 | + </div> |
| 231 | + </xsl:if> |
| 232 | + <xsl:if test="$number-examples > 0"> |
| 233 | + <h3>Example<xsl:if test="$number-examples > 1">s</xsl:if>:</h3> |
| 234 | + <div class="entry-examples"> |
| 235 | + <xsl:attribute name="id"> |
| 236 | + <xsl:text>entry-examples</xsl:text> |
| 237 | + <xsl:if test="$entry-index > 1"> |
| 238 | + <xsl:text>-</xsl:text><xsl:value-of select="$entry-index - 1"/> |
| 239 | + </xsl:if> |
| 240 | + </xsl:attribute> |
| 241 | + <xsl:for-each select="example"> |
| 242 | + <div> |
| 243 | + <xsl:attribute name="id"> |
| 244 | + <xsl:text>example-</xsl:text> |
| 245 | + <xsl:if test="$entry-index > 1"> |
| 246 | + <xsl:value-of select="$entry-index - 1"/> |
| 247 | + <xsl:text>-</xsl:text> |
| 248 | + </xsl:if> |
| 249 | + <xsl:value-of select="position() - 1"/> |
| 250 | + </xsl:attribute> |
| 251 | + <h4><xsl:if test="$number-examples > 1">Example: </xsl:if><span class="desc"><xsl:value-of select="desc" /></span></h4> |
| 252 | + <pre class="prettyprint"><code><xsl:choose> |
| 253 | + <xsl:when test="html"><xsl:attribute name="class">example demo-code</xsl:attribute><!DOCTYPE html> |
| 254 | +<html> |
| 255 | +<head><xsl:if test="css/text()"> |
| 256 | + <style><xsl:copy-of select="css/text()" /></style></xsl:if> |
| 257 | + <xsl:choose> |
| 258 | + <xsl:when test="count(js)"> |
| 259 | + <xsl:for-each select="js"> |
| 260 | + <script src="<xsl:value-of select="@src" />"></script></xsl:for-each> |
| 261 | + </xsl:when> |
| 262 | + <xsl:otherwise> |
| 263 | + <script src="http://code.jquery.com/jquery-latest.js"></script></xsl:otherwise></xsl:choose><xsl:if test="code/@location='head'"> |
| 264 | + <script> |
| 265 | + <xsl:copy-of select="code/text()" /> |
| 266 | + </script> |
| 267 | +</xsl:if> |
| 268 | +</head> |
| 269 | +<body> |
| 270 | + <xsl:copy-of select="html/text()" /> |
| 271 | +<xsl:choose> |
| 272 | + <xsl:when test="code/@location='head'"></xsl:when> |
| 273 | + <xsl:otherwise> |
| 274 | +<script><xsl:copy-of select="code/text()" /></script></xsl:otherwise> |
| 275 | +</xsl:choose> |
| 276 | + |
| 277 | +</body> |
| 278 | +</html></xsl:when> |
| 279 | + <xsl:otherwise> |
| 280 | + <xsl:attribute name="class">example</xsl:attribute> |
| 281 | + <xsl:copy-of select="code/text()" /> |
| 282 | + </xsl:otherwise> |
| 283 | + </xsl:choose></code></pre> |
| 284 | + <xsl:if test="html"> |
| 285 | + <h4>Demo:</h4> |
| 286 | + <div><xsl:choose> |
| 287 | + <xsl:when test="html"> |
| 288 | + <xsl:attribute name="class">demo code-demo</xsl:attribute> |
| 289 | + <xsl:if test="height"> |
| 290 | + <xsl:attribute name="rel"><xsl:value-of select="height"/></xsl:attribute> |
| 291 | + </xsl:if> |
| 292 | + </xsl:when> |
| 293 | + <xsl:otherwise> |
| 294 | + <xsl:attribute name="class">demo</xsl:attribute> |
| 295 | + </xsl:otherwise> |
| 296 | + </xsl:choose> |
| 297 | + </div> |
| 298 | + </xsl:if> |
| 299 | + <xsl:if test="results"> |
| 300 | + <h4>Result:</h4> |
| 301 | + <pre> |
| 302 | + <code class="results"> |
| 303 | + <xsl:value-of select="results"/> |
| 304 | + </code> |
| 305 | + </pre> |
| 306 | + </xsl:if> |
| 307 | + </div> |
| 308 | + </xsl:for-each> |
| 309 | + </div> |
| 310 | + </xsl:if> |
| 311 | + </div> |
| 312 | +</div> |
| 313 | + |
| 314 | +</xsl:for-each> |
| 315 | + |
| 316 | +</xsl:template> |
| 317 | + |
| 318 | +</xsl:stylesheet> |
0 commit comments