Skip to content

Commit d6f4fdf

Browse files
committed
XSL: Refactored entry-body templates.
1 parent 4ecb3f6 commit d6f4fdf

File tree

1 file changed

+110
-128
lines changed

1 file changed

+110
-128
lines changed

entries2html.xsl

Lines changed: 110 additions & 128 deletions
Original file line numberDiff line numberDiff line change
@@ -48,47 +48,44 @@
4848
</xsl:attribute>
4949

5050
<xsl:call-template name="entry-title"/>
51+
<xsl:call-template name="entry-body"/>
5152

52-
<div class="jq-box roundBottom entry-details">
53-
<xsl:call-template name="entry-body"/>
53+
<xsl:if test="normalize-space(longdesc/*)">
54+
<div class="longdesc">
55+
<xsl:copy-of select="longdesc/*" />
56+
</div>
57+
</xsl:if>
5458

55-
<xsl:if test="normalize-space(longdesc/*)">
56-
<div class="longdesc">
57-
<xsl:copy-of select="longdesc/*" />
58-
</div>
59-
</xsl:if>
59+
<xsl:if test="note">
60+
<h3>Additional Notes:</h3>
61+
<div class="longdesc">
62+
<ul>
63+
<xsl:for-each select="note">
64+
<li><xsl:apply-templates select="."/></li>
65+
</xsl:for-each>
66+
</ul>
67+
</div>
68+
</xsl:if>
6069

61-
<xsl:if test="note">
62-
<h3>Additional Notes:</h3>
63-
<div class="longdesc">
64-
<ul>
65-
<xsl:for-each select="note">
66-
<li><xsl:apply-templates select="."/></li>
67-
</xsl:for-each>
68-
</ul>
69-
</div>
70-
</xsl:if>
70+
<xsl:if test="example">
71+
<section class="entry-examples">
72+
<xsl:attribute name="id">
73+
<xsl:text>entry-examples</xsl:text>
74+
<xsl:if test="$entry-index &gt; 1">
75+
<xsl:text>-</xsl:text><xsl:value-of select="$entry-index - 1"/>
76+
</xsl:if>
77+
</xsl:attribute>
7178

72-
<xsl:if test="example">
73-
<section class="entry-examples">
74-
<xsl:attribute name="id">
75-
<xsl:text>entry-examples</xsl:text>
76-
<xsl:if test="$entry-index &gt; 1">
77-
<xsl:text>-</xsl:text><xsl:value-of select="$entry-index - 1"/>
78-
</xsl:if>
79-
</xsl:attribute>
80-
81-
<header>
82-
<h3 class="underline">Example<xsl:if test="$number-examples &gt; 1">s</xsl:if>:</h3>
83-
</header>
84-
85-
<xsl:apply-templates select="example">
86-
<xsl:with-param name="entry-index" select="$entry-index"/>
87-
<xsl:with-param name="number-examples" select="$number-examples"/>
88-
</xsl:apply-templates>
89-
</section>
90-
</xsl:if>
91-
</div>
79+
<header>
80+
<h3 class="underline">Example<xsl:if test="$number-examples &gt; 1">s</xsl:if>:</h3>
81+
</header>
82+
83+
<xsl:apply-templates select="example">
84+
<xsl:with-param name="entry-index" select="$entry-index"/>
85+
<xsl:with-param name="number-examples" select="$number-examples"/>
86+
</xsl:apply-templates>
87+
</section>
88+
</xsl:if>
9289
</article>
9390
</xsl:for-each>
9491
</xsl:template>
@@ -153,9 +150,9 @@
153150
<xsl:if test="not(contains($method-name, '.')) and $method-name != 'jQuery'">.</xsl:if>
154151
<xsl:value-of select="$method-name"/>(
155152
<xsl:if test="argument">
153+
<xsl:text> </xsl:text>
156154
<xsl:for-each select="argument">
157-
<xsl:text> </xsl:text>
158-
<xsl:if test="@optional">[</xsl:if>
155+
<xsl:if test="@optional"> [</xsl:if>
159156
<xsl:if test="position() &gt; 1"><xsl:text>, </xsl:text></xsl:if>
160157
<xsl:value-of select="@name"/>
161158
<xsl:if test="@optional"><xsl:text> ]</xsl:text></xsl:if>
@@ -404,67 +401,67 @@
404401
</xsl:template>
405402

406403
<xsl:template name="entry-body">
404+
<p class="desc"><strong>Description: </strong> <xsl:value-of select="desc"/></p>
407405
<xsl:choose>
408406
<xsl:when test="@type='selector'">
409407
<xsl:call-template name="entry-body-selector"/>
410408
</xsl:when>
411-
<xsl:when test="@type='method' or @type='property'">
412-
<xsl:call-template name="entry-body-method-property"/>
409+
<xsl:when test="@type='property'">
410+
<xsl:call-template name="entry-body-property"/>
411+
</xsl:when>
412+
<xsl:when test="@type='method'">
413+
<xsl:call-template name="entry-body-method"/>
413414
</xsl:when>
414415
</xsl:choose>
415416
</xsl:template>
416417

417418
<xsl:template name="entry-body-selector">
418-
<xsl:if test="./sample">
419-
<h4 class="name">
420-
<xsl:if test="./signature/added">
421-
<span class="versionAdded">
422-
version added:
423-
<a href="/category/version/{signature/added}/">
424-
<xsl:value-of select="signature/added"/>
425-
</a>
426-
</span>
427-
</xsl:if>
428-
<xsl:if test="./signature/deprecated">
429-
<span class="version-deprecated">
430-
version deprecated:
431-
<a href="/category/version/{signature/deprecated}/">
432-
<xsl:value-of select="signature/deprecated"/>
433-
</a>
434-
</span>
435-
</xsl:if>
436-
<xsl:if test="./signature/removed">
437-
<span class="version-removed">version removed:
438-
<a href="/category/version/{signature/removed}/">
439-
<xsl:value-of select="signature/removed"/>
440-
</a>
441-
</span>
442-
</xsl:if>
443-
<xsl:text>jQuery('</xsl:text><xsl:value-of select="sample"/><xsl:text>')</xsl:text>
444-
</h4>
445-
</xsl:if>
419+
<ul class="signatures">
420+
<li class="signature">
421+
<h4 class="name">
422+
<xsl:if test="signature/added">
423+
<span class="versionAdded">
424+
version added:
425+
<a href="/category/version/{signature/added}/">
426+
<xsl:value-of select="signature/added"/>
427+
</a>
428+
</span>
429+
</xsl:if>
430+
<xsl:text>jQuery('</xsl:text><xsl:value-of select="sample"/><xsl:text>')</xsl:text>
431+
</h4>
432+
433+
<xsl:for-each select="signature/argument">
434+
<p class="argument">
435+
<strong><xsl:value-of select="@name"/>: </strong>
436+
<xsl:copy-of select="desc/text()|desc/*"/>
437+
</p>
438+
</xsl:for-each>
439+
</li>
440+
</ul>
441+
</xsl:template>
446442

447-
<xsl:if test="signature/argument">
448-
<ul class="signatures">
449-
<li>
450-
<dl class="arguments">
451-
<xsl:for-each select="signature/argument">
452-
<dt><xsl:value-of select="@name"/></dt>
453-
<dd><xsl:copy-of select="desc/text()|desc/*"/></dd>
454-
</xsl:for-each>
455-
</dl>
456-
</li>
457-
</ul>
458-
</xsl:if>
459-
<p class="desc"><strong>Description: </strong> <xsl:value-of select="desc"/></p>
443+
<xsl:template name="entry-body-property">
444+
<ul class="signatures">
445+
<li class="signature">
446+
<h4 class="name">
447+
<xsl:if test="signature/added">
448+
<span class="versionAdded">
449+
version added:
450+
<a href="/category/version/{signature/added}/">
451+
<xsl:value-of select="added"/>
452+
</a>
453+
</span>
454+
</xsl:if>
455+
<xsl:value-of select="@name"/>
456+
</h4>
457+
</li>
458+
</ul>
460459
</xsl:template>
461460

462-
<xsl:template name="entry-body-method-property">
463-
<xsl:variable name="entry-type" select="@type"/>
461+
<xsl:template name="entry-body-method">
464462
<xsl:variable name="entry-name" select="@name"/>
465463
<xsl:variable name="entry-name-trans" select="translate($entry-name,'$., ()/{}','s---')"/>
466464

467-
<p class="desc"><strong>Description: </strong> <xsl:value-of select="desc"/></p>
468465
<ul class="signatures">
469466
<xsl:for-each select="signature">
470467
<li class="signature">
@@ -475,6 +472,7 @@
475472
<xsl:text>-</xsl:text><xsl:value-of select="$arg-name"/>
476473
</xsl:for-each>
477474
</xsl:attribute>
475+
478476
<h4 class="name">
479477
<xsl:if test="./added">
480478
<span class="versionAdded">
@@ -484,52 +482,36 @@
484482
</a>
485483
</span>
486484
</xsl:if>
487-
<xsl:if test="$entry-type='method'">
488-
<xsl:if test="not(contains($entry-name, '.')) and $entry-name != 'jQuery'">.</xsl:if>
489-
</xsl:if>
490-
<xsl:value-of select="$entry-name"/>
491-
<xsl:if test="$entry-type='method'">(
492-
<xsl:if test="argument">
493-
<xsl:text> </xsl:text>
494-
<xsl:variable name="desc-arg-num" select="count(argument)"/>
495-
<xsl:for-each select="argument">
496-
<xsl:if test="@optional"> [</xsl:if>
497-
<xsl:if test="position() &gt; 1">
498-
<xsl:text>, </xsl:text>
499-
</xsl:if>
500-
<xsl:value-of select="@name"/>
501-
<xsl:if test="@optional">]</xsl:if>
502-
</xsl:for-each>
503-
<xsl:text> </xsl:text>
504-
</xsl:if>)
505-
</xsl:if>
485+
<xsl:call-template name="method-signature">
486+
<xsl:with-param name="method-name" select="$entry-name"/>
487+
</xsl:call-template>
506488
</h4>
507-
<xsl:if test="argument">
508-
<xsl:for-each select="argument">
509-
<xsl:variable name="name" select="@name"/>
510-
<xsl:choose>
511-
<xsl:when test="@type='Option'">
512-
<div class="options">
513-
<xsl:apply-templates select="../../options/option[@name=$name]"/>
514-
</div>
515-
</xsl:when>
516-
<xsl:otherwise>
517-
<p class="argument">
518-
<strong><xsl:value-of select="$name"/>: </strong>
519-
<xsl:call-template name="render-types"/>
520-
<xsl:text>
521-
</xsl:text>
522-
<xsl:copy-of select="desc/text()|desc/*"/>
523-
</p>
524-
</xsl:otherwise>
525-
</xsl:choose>
526-
<xsl:if test="option">
489+
490+
<xsl:for-each select="argument">
491+
<xsl:variable name="name" select="@name"/>
492+
<xsl:choose>
493+
<!-- TODO: get rid of Option -->
494+
<xsl:when test="@type='Option'">
527495
<div class="options">
528-
<xsl:apply-templates select="option"/>
496+
<xsl:apply-templates select="../../options/option[@name=$name]"/>
529497
</div>
530-
</xsl:if>
531-
</xsl:for-each>
532-
</xsl:if>
498+
</xsl:when>
499+
<xsl:otherwise>
500+
<p class="argument">
501+
<strong><xsl:value-of select="$name"/>: </strong>
502+
<xsl:call-template name="render-types"/>
503+
<xsl:text>
504+
</xsl:text>
505+
<xsl:copy-of select="desc/text()|desc/*"/>
506+
</p>
507+
</xsl:otherwise>
508+
</xsl:choose>
509+
<xsl:if test="option">
510+
<div class="options">
511+
<xsl:apply-templates select="option"/>
512+
</div>
513+
</xsl:if>
514+
</xsl:for-each>
533515
</li>
534516
</xsl:for-each>
535517
</ul>

0 commit comments

Comments
 (0)