Skip to content

Commit 86773b0

Browse files
committed
XSL: Bring example parsing in sync with UI's XSL.
1 parent b9cfe2b commit 86773b0

1 file changed

Lines changed: 72 additions & 51 deletions

File tree

entries2html.xsl

Lines changed: 72 additions & 51 deletions
Original file line numberDiff line numberDiff line change
@@ -69,29 +69,81 @@
6969
</div>
7070
</xsl:if>
7171

72-
<xsl:if test="$number-examples &gt; 0">
73-
<div id="examples">
74-
<h3>Example<xsl:if test="$number-examples &gt; 1">s</xsl:if>:</h3>
75-
<div class="entry-examples">
76-
<xsl:attribute name="id">
77-
<xsl:text>entry-examples</xsl:text>
78-
<xsl:if test="$entry-index &gt; 1">
79-
<xsl:text>-</xsl:text><xsl:value-of select="$entry-index - 1"/>
80-
</xsl:if>
81-
</xsl:attribute>
82-
<xsl:for-each select="example">
83-
<div class="entry-example">
72+
<xsl:if test="example">
73+
<section class="entry-examples">
8474
<xsl:attribute name="id">
85-
<xsl:text>example-</xsl:text>
75+
<xsl:text>entry-examples</xsl:text>
8676
<xsl:if test="$entry-index &gt; 1">
87-
<xsl:value-of select="$entry-index - 1"/>
88-
<xsl:text>-</xsl:text>
77+
<xsl:text>-</xsl:text><xsl:value-of select="$entry-index - 1"/>
8978
</xsl:if>
90-
<xsl:value-of select="position() - 1"/>
9179
</xsl:attribute>
92-
<h4><xsl:if test="$number-examples &gt; 1">Example: </xsl:if><span class="desc"><xsl:value-of select="desc" /></span></h4>
93-
<pre><code data-linenum="true"><xsl:choose>
94-
<xsl:when test="html">&lt;!DOCTYPE html&gt;
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>
92+
</article>
93+
</xsl:for-each>
94+
</xsl:template>
95+
96+
<!-- examples -->
97+
<xsl:template match="example">
98+
<xsl:param name="entry-index"/>
99+
<xsl:param name="number-examples"/>
100+
101+
<div class="entry-example">
102+
<xsl:attribute name="id">
103+
<xsl:text>example-</xsl:text>
104+
<xsl:if test="$entry-index &gt; 1">
105+
<xsl:value-of select="$entry-index - 1"/>
106+
<xsl:text>-</xsl:text>
107+
</xsl:if>
108+
<xsl:value-of select="position() - 1"/>
109+
</xsl:attribute>
110+
111+
<h4>
112+
<xsl:if test="$number-examples &gt; 1">Example: </xsl:if>
113+
<span class="desc"><xsl:value-of select="desc"/></span>
114+
</h4>
115+
<pre><code data-linenum="true">
116+
<xsl:choose>
117+
<xsl:when test="html">
118+
<xsl:call-template name="example-code"/>
119+
</xsl:when>
120+
<xsl:otherwise>
121+
<xsl:copy-of select="code/text()"/>
122+
</xsl:otherwise>
123+
</xsl:choose>
124+
</code></pre>
125+
126+
<xsl:if test="html">
127+
<h4>Demo:</h4>
128+
<div class="demo code-demo">
129+
<xsl:if test="height">
130+
<xsl:attribute name="data-height">
131+
<xsl:value-of select="height"/>
132+
</xsl:attribute>
133+
</xsl:if>
134+
</div>
135+
</xsl:if>
136+
137+
<xsl:if test="results">
138+
<h4>Result:</h4>
139+
<pre><code class="results">
140+
<xsl:value-of select="results"/>
141+
</code></pre>
142+
</xsl:if>
143+
</div>
144+
</xsl:template>
145+
<xsl:template name="example-code">
146+
&lt;!DOCTYPE html&gt;
95147
&lt;html&gt;
96148
&lt;head&gt;<xsl:if test="css/text()">
97149
&lt;style&gt;<xsl:copy-of select="css/text()" />&lt;/style&gt;</xsl:if>
@@ -110,38 +162,7 @@
110162
</xsl:choose>
111163

112164
&lt;/body&gt;
113-
&lt;/html&gt;</xsl:when>
114-
<xsl:otherwise>
115-
<xsl:attribute name="class">example</xsl:attribute>
116-
<xsl:copy-of select="code/text()" />
117-
</xsl:otherwise>
118-
</xsl:choose></code></pre>
119-
120-
<xsl:if test="html">
121-
<h4>Demo:</h4>
122-
<div class="demo code-demo">
123-
<xsl:if test="height">
124-
<xsl:attribute name="data-height">
125-
<xsl:value-of select="height"/>
126-
</xsl:attribute>
127-
</xsl:if>
128-
</div>
129-
</xsl:if>
130-
131-
<xsl:if test="results">
132-
<h4>Result:</h4>
133-
<pre><code class="results">
134-
<xsl:value-of select="results"/>
135-
</code></pre>
136-
</xsl:if>
137-
</div>
138-
</xsl:for-each>
139-
</div>
140-
</div>
141-
</xsl:if>
142-
</div>
143-
</article>
144-
</xsl:for-each>
165+
&lt;/html&gt;
145166
</xsl:template>
146167

147168
<xsl:template match="option|property">

0 commit comments

Comments
 (0)