changeset 1085:c454373427ef

Regenerated.
author Maxim Dounin <mdounin@mdounin.ru>
date Fri, 28 Feb 2014 20:12:47 +0400
parents be1d72ba7e5f
children 710767011227
files xslt/article.xslt xslt/body.xslt xslt/books.xslt xslt/content.xslt xslt/directive.xslt xslt/dirindex.xslt xslt/dirname.xslt xslt/donate.xslt xslt/download.xslt xslt/error.xslt xslt/ga.xslt xslt/link.xslt xslt/menu.xslt xslt/news.xslt xslt/rss.xslt xslt/security.xslt xslt/style.xslt xslt/versions.xslt
diffstat 18 files changed, 1030 insertions(+), 1793 deletions(-) [+]
line wrap: on
line diff
--- a/xslt/article.xslt	Fri Feb 21 20:15:37 2014 +0400
+++ b/xslt/article.xslt	Fri Feb 28 20:12:47 2014 +0400
@@ -1,83 +1,57 @@
 <?xml version="1.0" encoding="utf-8"?>
+<!--
+  Copyright (C) Igor Sysoev
+  Copyright (C) Nginx, Inc.
+  -->
+
 <xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0">
 
-   <xsl:output indent="no" version="4.0" encoding="utf-8" method="html"/>
-
-   <xsl:strip-space elements="article section"/>
-
-   <xsl:param select="'../xml'" name="XML"/>
-
-   <xsl:param name="YEAR"/>
+<xsl:output method="html" version="4.0" indent="no" encoding="utf-8"/>
 
-   <xsl:param name="ORIGIN"/>
-
-   <xsl:param name="TRANS"/>
-
-   <xsl:variable select="/article/@link | /module/@link" name="LINK"/>
-
-   <xsl:variable select="/article/@lang | /module/@lang" name="LANG"/>
-
-   <xsl:include href="dirname.xslt"/>
+<xsl:strip-space elements="article section"/>
 
-   <xsl:include href="link.xslt"/>
-
-   <xsl:include href="style.xslt"/>
-
-   <xsl:include href="body.xslt"/>
-
-   <xsl:include href="menu.xslt"/>
-
-   <xsl:include href="ga.xslt"/>
+<!--
+  .. a current directory of a XSLT script is where the script is stored,
+  .. but not where XSLT processor has been started to run the script
+  -->
+<xsl:param select="'../xml'" name="XML"/>
+<xsl:param name="YEAR"/>
+<xsl:param name="ORIGIN"/>
+<xsl:param name="TRANS"/>
 
-   <xsl:include href="content.xslt"/>
-
-   <xsl:include href="books.xslt"/>
-
-   <xsl:include href="directive.xslt"/>
-
-   <xsl:include href="donate.xslt"/>
-
-   <xsl:include href="download.xslt"/>
+<xsl:variable select="/article/@link | /module/@link" name="LINK"/>
+<xsl:variable select="/article/@lang | /module/@lang" name="LANG"/>
 
-   <xsl:include href="security.xslt"/>
-
-   <xsl:include href="versions.xslt"/>
-
-   <xsl:template match="/article | /module">
-
-      <html>
+<xsl:include href="dirname.xslt"/>
+<xsl:include href="link.xslt"/>
+<xsl:include href="style.xslt"/>
+<xsl:include href="body.xslt"/>
+<xsl:include href="menu.xslt"/>
+<xsl:include href="ga.xslt"/>
+<xsl:include href="content.xslt"/>
+<xsl:include href="books.xslt"/>
+<xsl:include href="directive.xslt"/>
+<xsl:include href="donate.xslt"/>
+<xsl:include href="download.xslt"/>
+<xsl:include href="security.xslt"/>
+<xsl:include href="versions.xslt"/>
 
-         <xsl:if test="@lang = 'he'">
-            <xsl:attribute name="dir">
-               <xsl:text>rtl</xsl:text>
-            </xsl:attribute>
-         </xsl:if>
-
-         <xsl:if test="@lang = 'cn'">
-            <xsl:attribute name="lang">
-               <xsl:text>zh-CN</xsl:text>
-            </xsl:attribute>
-         </xsl:if>
 
-         <head>
+<xsl:template match="/article | /module">
+    <html>
 
-            <title>
-               <xsl:value-of select="@name"/>
-            </title>
+    <xsl:if test="@lang = 'he'"> <xsl:attribute name="dir"> <xsl:text>rtl</xsl:text> </xsl:attribute> </xsl:if>
 
-            <xsl:call-template name="style">
-               <xsl:with-param select="@lang" name="lang"/>
-            </xsl:call-template>
+    <xsl:if test="@lang = 'cn'"> <xsl:attribute name="lang"> <xsl:text>zh-CN</xsl:text> </xsl:attribute> </xsl:if>
 
-            <xsl:call-template name="ga"/>
+    <head>
 
-         </head>
+    <title> <xsl:value-of select="@name"/> </title>
 
-         <xsl:call-template name="body">
-            <xsl:with-param select="@lang" name="lang"/>
-         </xsl:call-template>
+    <xsl:call-template name="style"><xsl:with-param select="@lang" name="lang"/></xsl:call-template><xsl:call-template name="ga"/></head>
 
-      </html>
-   </xsl:template>
+    <xsl:call-template name="body"><xsl:with-param select="@lang" name="lang"/></xsl:call-template></html>
+</xsl:template>
+
 
 </xsl:stylesheet>
--- a/xslt/body.xslt	Fri Feb 21 20:15:37 2014 +0400
+++ b/xslt/body.xslt	Fri Feb 28 20:12:47 2014 +0400
@@ -1,248 +1,139 @@
 <?xml version="1.0" encoding="utf-8"?>
+<!--
+  Copyright (C) Igor Sysoev
+  Copyright (C) Nginx, Inc.
+  -->
+
 <xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0">
 
-   <xsl:template name="body">
-      <xsl:param name="lang"/>
-
-      <xsl:variable name="MENU_ALIGN">
-         <xsl:choose>
-
-            <xsl:when test="$lang = 'he'">
-               <xsl:text>left</xsl:text>
-            </xsl:when>
-            <xsl:otherwise>
-               <xsl:text>right</xsl:text>
-            </xsl:otherwise>
-         </xsl:choose>
-      </xsl:variable>
-
-      <xsl:variable name="INDEX_ALIGN">
-         <xsl:choose>
-
-            <xsl:when test="$lang = 'he'">
-               <xsl:text>right</xsl:text>
-            </xsl:when>
-            <xsl:otherwise>
-               <xsl:text>left</xsl:text>
-            </xsl:otherwise>
-         </xsl:choose>
-      </xsl:variable>
-
-      <body>
+<xsl:template name="body"><xsl:param name="lang"/>
 
-         <table width="100%">
-
-            <tr>
-
-               <td width="70%">
-
-                  <div id="banner">
-
-                     <xsl:if test="@lang = 'he'">
-                        <xsl:attribute name="class">
-                           <xsl:text>ltr</xsl:text>
-                        </xsl:attribute>
-                     </xsl:if>
-
-                     <center>
+    <xsl:variable name="MENU_ALIGN">
+        <xsl:choose><xsl:when test="$lang = 'he'"> <xsl:text>left</xsl:text> </xsl:when><xsl:otherwise> <xsl:text>right</xsl:text> </xsl:otherwise></xsl:choose>
+    </xsl:variable>
 
-                        <table>
-
-                           <tr>
-
-                              <td align="center">
-
-                                 <strong>Looking to make your web app faster? Look no further!</strong>
-
-                              </td>
-
-                           </tr>
-
-                           <tr>
-
-                              <td align="center">
+    <xsl:variable name="INDEX_ALIGN">
+        <xsl:choose><xsl:when test="$lang = 'he'"> <xsl:text>right</xsl:text> </xsl:when><xsl:otherwise> <xsl:text>left</xsl:text> </xsl:otherwise></xsl:choose>
+    </xsl:variable>
 
-                                 <i>NGINX Plus for HTTP load balancing, caching and SSL offload —
-
-                                    <a href="http://nginx.com/products/">Free 30-Day Trial</a>.
-                                 </i>
-
-                              </td>
-
-                           </tr>
-
-                        </table>
-
-                     </center>
-
-                  </div>
-
-               </td>
-
-               <td align="right">
-
-                  <xsl:if test="@lang = 'he'">
-                     <xsl:attribute name="align">
-                        <xsl:text>left</xsl:text>
-                     </xsl:attribute>
-                  </xsl:if>
-
-                  <a href="http://nginx.org">
-
-                     <img src="http://nginx.org/nginx.gif" alt="nginx" border="0"/>
+    <body>
+    <table width="100%">
+    <tr>
+        <td width="70%">
+            <div id="banner">
+                <xsl:if test="@lang = 'he'"> <xsl:attribute name="class"> <xsl:text>ltr</xsl:text> </xsl:attribute> </xsl:if>
+                <center>
+                <table>
+                    <tr>
+                        <td align="center">
+                            <strong>Looking to make your web app faster? Look no further!</strong>
+                        </td>
+                    </tr>
+                    <tr>
+                        <td align="center">
+                            <i>NGINX Plus for HTTP load balancing, caching and SSL offload &#8212;
+                            <a href="http://nginx.com/products/">Free 30-Day Trial</a>.</i>
+                        </td>
+                    </tr>
+                </table>
+                </center>
+            </div>
+        </td>
+        <td align="right">
+            <xsl:if test="@lang = 'he'"> <xsl:attribute name="align"> <xsl:text>left</xsl:text> </xsl:attribute> </xsl:if>
+            <a href="http://nginx.org">
+                <img src="http://nginx.org/nginx.gif" alt="nginx" border="0"/>
+            </a>
+        </td>
+    </tr>
 
-                  </a>
-
-               </td>
-
-            </tr>
+    <tr>
+        <td width="70%"><center><h3>
+            <xsl:value-of select="@name"/> <xsl:if test="$YEAR"> <xsl:text>: </xsl:text> <xsl:value-of select="$YEAR"/> </xsl:if>
+        </h3></center></td>
 
-            <tr>
-
-               <td width="70%">
-                  <center>
-                     <h3>
+        <td rowspan="2" align="{$MENU_ALIGN}" valign="top">
+            <br/>
 
-                        <xsl:value-of select="@name"/>
-                        <xsl:if test="$YEAR">
-                           <xsl:text>: </xsl:text>
-                           <xsl:value-of select="$YEAR"/>
-                        </xsl:if>
+            <xsl:apply-templates select="document(concat($XML, '/menu.xml'))
+                         /menus/menu[@lang = $lang]/item"/>
+        </td>
 
-                     </h3>
-                  </center>
-               </td>
+    </tr>
 
-               <td rowspan="2" align="{$MENU_ALIGN}" valign="top">
-
-                  <br/>
+    <tr><td valign="top">
 
-                  <xsl:apply-templates select="document(concat($XML, '/menu.xml'))                          /menus/menu[@lang = $lang]/item"/>
+        <xsl:if test="$ORIGIN and document(concat($XML, '/', $ORIGIN))/*/@rev and
+              (not(@rev) or
+              @rev != document(concat($XML, '/', $ORIGIN))/*/@rev)">
+            <span>
 
-               </td>
-
-            </tr>
+            <xsl:if test="@lang = 'he'"> <xsl:attribute name="class"> <xsl:text>ltr</xsl:text> </xsl:attribute> </xsl:if>
 
-            <tr>
-               <td valign="top">
-
-                  <xsl:if test="$ORIGIN and document(concat($XML, '/', $ORIGIN))/*/@rev and               (not(@rev) or               @rev != document(concat($XML, '/', $ORIGIN))/*/@rev)">
-
-                     <span>
-
-                        <xsl:if test="@lang = 'he'">
-                           <xsl:attribute name="class">
-                              <xsl:text>ltr</xsl:text>
-                           </xsl:attribute>
-                        </xsl:if>
+            <blockquote class="note">
 
-                        <blockquote class="note">
-                           <xsl:choose>
-
-                              <xsl:when test="document(concat($XML, '/i18n.xml'))                            /i18n/text[@lang = $lang]/item[@id='outdated']">
-
-                                 <xsl:apply-templates select="document(concat($XML, '/i18n.xml'))                              /i18n/text[@lang = $lang]/item[@id='outdated']"/>
-                              </xsl:when>
+            <xsl:choose><xsl:when test="document(concat($XML, '/i18n.xml'))
+                           /i18n/text[@lang = $lang]/item[@id='outdated']">
+                <xsl:apply-templates select="document(concat($XML, '/i18n.xml'))
+                             /i18n/text[@lang = $lang]/item[@id='outdated']"/>
+            </xsl:when><xsl:otherwise>
+                <xsl:apply-templates select="document(concat($XML, '/i18n.xml'))
+                             /i18n/text[@lang = 'en']/item[@id='outdated']"/>
+            </xsl:otherwise></xsl:choose>
 
-                              <xsl:otherwise>
-
-                                 <xsl:apply-templates select="document(concat($XML, '/i18n.xml'))                              /i18n/text[@lang = 'en']/item[@id='outdated']"/>
-                              </xsl:otherwise>
-                           </xsl:choose>
-
-                        </blockquote>
+            </blockquote>
+            </span>
+        </xsl:if>
 
-                     </span>
-                  </xsl:if>
-
-                  <xsl:if test="@toc = 'yes' and section[@id and @name]">
-
-                     <table width="100%">
-                        <tr>
-                           <td align="{$INDEX_ALIGN}">
-
-                              <xsl:for-each select="section[@id and @name]">
-
-                                 <a href="#{@id}">
-                                    <xsl:value-of select="@name"/>
-                                 </a>
-                                 <br/>
-
-                                 <xsl:for-each select="section[@id and @name]">
-
-                                    <xsl:text>     </xsl:text>
-
-                                    <a href="#{@id}">
-                                       <xsl:value-of select="@name"/>
-                                    </a>
-                                    <br/>
-                                 </xsl:for-each>
-
-                                 <xsl:if test="@id = 'directives'">
-
-                                    <xsl:for-each select="directive[@name]">
-
-                                       <xsl:text>     </xsl:text>
+        <xsl:if test="@toc = 'yes' and section[@id and @name]">
+            <table width="100%"><tr><td align="{$INDEX_ALIGN}">
+            <xsl:for-each select="section[@id and @name]">
+                <a href="#{@id}"> <xsl:value-of select="@name"/> </a><br/>
+                <xsl:for-each select="section[@id and @name]">
+                    <xsl:text>&#160;&#160;&#160;&#160;&#160;</xsl:text>
+                    <a href="#{@id}"> <xsl:value-of select="@name"/> </a><br/>
+                </xsl:for-each>
+                <xsl:if test="@id = 'directives'">
+                    <xsl:for-each select="directive[@name]">
+                        <xsl:text>&#160;&#160;&#160;&#160;&#160;</xsl:text>
+                        <a href="#{@name}"> <xsl:value-of select="@name"/> </a><br/>
+                    </xsl:for-each>
+                </xsl:if>
+            </xsl:for-each>
+            </td></tr></table>
+        </xsl:if>
 
-                                       <a href="#{@name}">
-                                          <xsl:value-of select="@name"/>
-                                       </a>
-                                       <br/>
-                                    </xsl:for-each>
-                                 </xsl:if>
-                              </xsl:for-each>
+        <xsl:apply-templates/>
 
-                           </td>
-                        </tr>
-                     </table>
-                  </xsl:if>
-
-                  <xsl:apply-templates/>
+        <xsl:if test="@author or @editor or @translator">
+            <table width="100%"><tr><td align="right">
 
-                  <xsl:if test="@author or @editor or @translator">
-
-                     <table width="100%">
-                        <tr>
-                           <td align="right">
-
-                              <xsl:if test="@author">
-
-                                 <xsl:value-of select="document(concat($XML, '/i18n.xml'))                            /i18n/text[@lang = $lang]/item[@id='author']"/>
-
-                                 <xsl:text> </xsl:text>
-                                 <xsl:value-of select="@author"/>
-                                 <br/>
-                              </xsl:if>
+            <xsl:if test="@author">
+                <xsl:value-of select="document(concat($XML, '/i18n.xml'))
+                           /i18n/text[@lang = $lang]/item[@id='author']"/>
+                <xsl:text> </xsl:text> <xsl:value-of select="@author"/> <br/>
+            </xsl:if>
 
-                              <xsl:if test="@editor">
-
-                                 <xsl:value-of select="document(concat($XML, '/i18n.xml'))                            /i18n/text[@lang = $lang]/item[@id='editor']"/>
-
-                                 <xsl:text> </xsl:text>
-                                 <xsl:value-of select="@editor"/>
-                                 <br/>
-                              </xsl:if>
-
-                              <xsl:if test="@translator">
-
-                                 <xsl:value-of select="document(concat($XML, '/i18n.xml'))                            /i18n/text[@lang = $lang]/item[@id='translator']"/>
+            <xsl:if test="@editor">
+                <xsl:value-of select="document(concat($XML, '/i18n.xml'))
+                           /i18n/text[@lang = $lang]/item[@id='editor']"/>
+                <xsl:text> </xsl:text> <xsl:value-of select="@editor"/> <br/>
+            </xsl:if>
 
-                                 <xsl:text> </xsl:text>
-                                 <xsl:value-of select="@translator"/>
-                                 <br/>
-                              </xsl:if>
+            <xsl:if test="@translator">
+                <xsl:value-of select="document(concat($XML, '/i18n.xml'))
+                           /i18n/text[@lang = $lang]/item[@id='translator']"/>
+                <xsl:text> </xsl:text> <xsl:value-of select="@translator"/> <br/>
+            </xsl:if>
 
-                           </td>
-                        </tr>
-                     </table>
-                  </xsl:if>
+            </td></tr></table>
+        </xsl:if>
+
+    </td></tr>
 
-               </td>
-            </tr>
+    </table>
+    </body>
 
-         </table>
-
-      </body>
-   </xsl:template>
+</xsl:template>
 
 </xsl:stylesheet>
--- a/xslt/books.xslt	Fri Feb 21 20:15:37 2014 +0400
+++ b/xslt/books.xslt	Fri Feb 28 20:12:47 2014 +0400
@@ -1,62 +1,31 @@
 <?xml version="1.0" encoding="utf-8"?>
+<!--
+  Copyright (C) Igor Sysoev
+  Copyright (C) Nginx, Inc.
+  -->
+
 <xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0">
 
-   <xsl:template match="book">
-
-      <table>
-         <tr>
+<xsl:template match="book">
 
-            <td bgcolor="#EEEEEE">
-
-               <a href="{@link}">
-
-                  <img src="{@cover}" alt="" style="padding: 2pt;" border="0"/>
-
-               </a>
+    <table><tr>
 
-            </td>
-
-            <td>
-
-               <xsl:text>title: </xsl:text> 
-               <a href="{@link}">
-                  <xsl:value-of select="@title"/>
-               </a>
-               <br/>
-
-               <xsl:text>author: </xsl:text>
-               <xsl:choose>
+    <td bgcolor="#EEEEEE">
+    <a href="{@link}">
+    <img src="{@cover}" alt="" style="padding: 2pt;" border="0"/>
+    </a>
+    </td>
 
-                  <xsl:when test="@site"> 
-                     <a href="{@site}">
-                        <xsl:value-of select="@author"/>
-                     </a>
-                  </xsl:when>
-                  <xsl:otherwise>
-                     <xsl:value-of select="@author"/>
-                  </xsl:otherwise>
-               </xsl:choose>
-               <br/>
+    <td>
+    <xsl:text>title: </xsl:text> <a href="{@link}"><xsl:value-of select="@title"/></a> <br/>
+    <xsl:text>author: </xsl:text>
+    <xsl:choose><xsl:when test="@site"> <a href="{@site}"><xsl:value-of select="@author"/></a> </xsl:when><xsl:otherwise> <xsl:value-of select="@author"/> </xsl:otherwise></xsl:choose> <br/>
+    <xsl:if test="@translator"> <xsl:text>translator: </xsl:text> <xsl:value-of select="@translator"/> <br/> </xsl:if>
+    <xsl:if test="@publisher"> <xsl:text>publisher: </xsl:text> <xsl:value-of select="@publisher"/> <br/> </xsl:if>
+    <xsl:text>language: </xsl:text> <xsl:value-of select="@lang"/>
+    </td>
 
-               <xsl:if test="@translator">
-                  <xsl:text>translator: </xsl:text>
-                  <xsl:value-of select="@translator"/>
-                  <br/>
-               </xsl:if>
-
-               <xsl:if test="@publisher">
-                  <xsl:text>publisher: </xsl:text>
-                  <xsl:value-of select="@publisher"/>
-                  <br/>
-               </xsl:if>
-
-               <xsl:text>language: </xsl:text>
-               <xsl:value-of select="@lang"/>
-
-            </td>
-
-         </tr>
-      </table>
-   </xsl:template>
+    </tr></table>
+</xsl:template>
 
 </xsl:stylesheet>
--- a/xslt/content.xslt	Fri Feb 21 20:15:37 2014 +0400
+++ b/xslt/content.xslt	Fri Feb 28 20:12:47 2014 +0400
@@ -1,446 +1,178 @@
 <?xml version="1.0" encoding="utf-8"?>
+<!--
+  Copyright (C) Igor Sysoev
+  Copyright (C) Nginx, Inc.
+  -->
+
 <xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0">
 
-   <xsl:template match="section[@id and @name]">
-
-      <a name="{@id}"/> 
-      <center>
-         <h4>
-            <xsl:value-of select="@name"/>
-         </h4>
-      </center>
-
-      <xsl:apply-templates/>
-   </xsl:template>
+    <xsl:template match="section[@id and @name]">
+        <a name="{@id}"/> <center><h4> <xsl:value-of select="@name"/> </h4></center>
+        <xsl:apply-templates/>
+    </xsl:template>
 
-   <xsl:template match="section/section[@id and @name]">
-
-      <a name="{@id}"/> 
-      <center>
-         <h5>
-            <xsl:value-of select="@name"/>
-         </h5>
-      </center>
-
-      <xsl:apply-templates/>
-   </xsl:template>
-
-   <xsl:template match="section[@id and not(@name)]">
+    <xsl:template match="section/section[@id and @name]">
+        <a name="{@id}"/> <center><h5> <xsl:value-of select="@name"/> </h5></center>
+        <xsl:apply-templates/>
+    </xsl:template>
 
-      <a name="{@id}"/>
-
-      <xsl:apply-templates/>
-   </xsl:template>
-
-   <xsl:template match="section[not(@id) and @name]">
-
-      <center>
-         <h4>
-            <xsl:value-of select="@name"/>
-         </h4>
-      </center>
+    <xsl:template match="section[@id and not(@name)]">
+        <a name="{@id}"/>
+        <xsl:apply-templates/>
+    </xsl:template>
 
-      <xsl:apply-templates/>
-   </xsl:template>
-
-   <xsl:template match="section/section[not(@id) and @name]">
-
-      <center>
-         <h5>
-            <xsl:value-of select="@name"/>
-         </h5>
-      </center>
-
-      <xsl:apply-templates/>
-   </xsl:template>
+    <xsl:template match="section[not(@id) and @name]">
+        <center><h4> <xsl:value-of select="@name"/> </h4></center>
+        <xsl:apply-templates/>
+    </xsl:template>
 
-   <xsl:template match="para"> 
-      <p>
-         <xsl:apply-templates/>
-      </p>
-   </xsl:template>
+    <xsl:template match="section/section[not(@id) and @name]">
+        <center><h5> <xsl:value-of select="@name"/> </h5></center>
+        <xsl:apply-templates/>
+    </xsl:template>
 
-   <xsl:template match="para[@align]"> 
-      <p align="{@align}">
-         <xsl:apply-templates/>
-      </p>
-   </xsl:template>
+    <xsl:template match="para"> <p> <xsl:apply-templates/> </p> </xsl:template>
 
-   <xsl:template match="initial"> 
-      <span class="initial">
-         <b>
-            <xsl:apply-templates/>
-         </b>
-      </span>
-   </xsl:template>
+    <xsl:template match="para[@align]"> <p align="{@align}"> <xsl:apply-templates/> </p> </xsl:template>
 
-   <xsl:template match="programlisting"> 
-      <blockquote class="example">
-         <pre>
-            <xsl:apply-templates/>
-         </pre>
-      </blockquote>
-   </xsl:template>
+    <xsl:template match="initial"> <span class="initial"><b> <xsl:apply-templates/> </b></span> </xsl:template>
 
-   <xsl:template match="para/programlisting">
 
-      <xsl:text disable-output-escaping="yes">&lt;/p&gt; </xsl:text>
+    <xsl:template match="programlisting"> <blockquote class="example"><pre> <xsl:apply-templates/> </pre></blockquote> </xsl:template>
 
-      <blockquote class="example">
-         <pre>
-            <xsl:apply-templates/>
-         </pre>
-      </blockquote>
-
-      <xsl:text disable-output-escaping="yes">&lt;p&gt; </xsl:text>
-   </xsl:template>
+    <xsl:template match="para/programlisting">
+        <xsl:text disable-output-escaping="yes">&lt;/p&gt; </xsl:text>
+        <blockquote class="example"><pre> <xsl:apply-templates/> </pre></blockquote>
+        <xsl:text disable-output-escaping="yes">&lt;p&gt; </xsl:text>
+    </xsl:template>
 
-   <xsl:template match="note"> 
-      <blockquote class="note">
-         <xsl:apply-templates/>
-      </blockquote>
-   </xsl:template>
-
-   <xsl:template match="para/note">
-
-      <xsl:text disable-output-escaping="yes">&lt;/p&gt; </xsl:text>
-
-      <blockquote class="note">
-         <xsl:apply-templates/>
-      </blockquote>
 
-      <xsl:text disable-output-escaping="yes">&lt;p&gt; </xsl:text>
-   </xsl:template>
-
-   <xsl:template match="list[@type='bullet']">
-      <xsl:choose>
-
-         <xsl:when test="@compact = 'yes'">
-
-            <ul class="compact">
-               <xsl:apply-templates/>
-            </ul>
-         </xsl:when>
-
-         <xsl:otherwise>
-
-            <ul>
-               <xsl:apply-templates/>
-            </ul>
-         </xsl:otherwise>
-      </xsl:choose>
-   </xsl:template>
-
-   <xsl:template match="para/list[@type='bullet']">
-
-      <xsl:text disable-output-escaping="yes">&lt;/p&gt; </xsl:text>
-      <xsl:choose>
+    <xsl:template match="note"> <blockquote class="note"> <xsl:apply-templates/> </blockquote> </xsl:template>
 
-         <xsl:when test="@compact = 'yes'">
-
-            <ul class="compact">
-               <xsl:apply-templates/>
-            </ul>
-         </xsl:when>
-
-         <xsl:otherwise>
-
-            <ul>
-               <xsl:apply-templates/>
-            </ul>
-         </xsl:otherwise>
-      </xsl:choose>
-
-      <xsl:text disable-output-escaping="yes">&lt;p&gt; </xsl:text>
-   </xsl:template>
-
-   <xsl:template match="list[@type='enum']">
-      <xsl:choose>
-
-         <xsl:when test="@compact = 'yes'">
-
-            <ol class="compact">
-               <xsl:apply-templates/>
-            </ol>
-         </xsl:when>
+    <xsl:template match="para/note">
+        <xsl:text disable-output-escaping="yes">&lt;/p&gt; </xsl:text>
+        <blockquote class="note"> <xsl:apply-templates/> </blockquote>
+        <xsl:text disable-output-escaping="yes">&lt;p&gt; </xsl:text>
+    </xsl:template>
 
-         <xsl:otherwise>
-
-            <ol>
-               <xsl:apply-templates/>
-            </ol>
-         </xsl:otherwise>
-      </xsl:choose>
-   </xsl:template>
-
-   <xsl:template match="para/list[@type='enum']">
-
-      <xsl:text disable-output-escaping="yes">&lt;/p&gt; </xsl:text>
-      <xsl:choose>
-
-         <xsl:when test="@compact = 'yes'">
-
-            <ol class="compact">
-               <xsl:apply-templates/>
-            </ol>
-         </xsl:when>
-
-         <xsl:otherwise>
+    <xsl:template match="list[@type='bullet']">
+        <xsl:choose><xsl:when test="@compact = 'yes'">
+            <ul class="compact"> <xsl:apply-templates/> </ul>
+        </xsl:when><xsl:otherwise>
+            <ul> <xsl:apply-templates/> </ul>
+        </xsl:otherwise></xsl:choose>
+    </xsl:template>
+    <xsl:template match="para/list[@type='bullet']">
+        <xsl:text disable-output-escaping="yes">&lt;/p&gt; </xsl:text>
+        <xsl:choose><xsl:when test="@compact = 'yes'">
+            <ul class="compact"> <xsl:apply-templates/> </ul>
+        </xsl:when><xsl:otherwise>
+            <ul> <xsl:apply-templates/> </ul>
+        </xsl:otherwise></xsl:choose>
+        <xsl:text disable-output-escaping="yes">&lt;p&gt; </xsl:text>
+    </xsl:template>
 
-            <ol>
-               <xsl:apply-templates/>
-            </ol>
-         </xsl:otherwise>
-      </xsl:choose>
-
-      <xsl:text disable-output-escaping="yes">&lt;p&gt; </xsl:text>
-   </xsl:template>
-
-   <xsl:template match="listitem"> 
-      <li>
-         <xsl:apply-templates/>
-      </li>
-   </xsl:template>
-
-   <xsl:template match="listitem[@id]"> 
-      <li id="{@id}">
-         <xsl:apply-templates/>
-      </li>
-   </xsl:template>
-
-   <xsl:template match="list[@type='tag']">
-      <xsl:choose>
-
-         <xsl:when test="@compact = 'yes'">
-
-            <dl class="compact">
-               <xsl:apply-templates/>
-            </dl>
-         </xsl:when>
-
-         <xsl:otherwise>
+    <xsl:template match="list[@type='enum']">
+        <xsl:choose><xsl:when test="@compact = 'yes'">
+            <ol class="compact"> <xsl:apply-templates/> </ol>
+        </xsl:when><xsl:otherwise>
+            <ol> <xsl:apply-templates/> </ol>
+        </xsl:otherwise></xsl:choose>
+    </xsl:template>
+    <xsl:template match="para/list[@type='enum']">
+        <xsl:text disable-output-escaping="yes">&lt;/p&gt; </xsl:text>
+        <xsl:choose><xsl:when test="@compact = 'yes'">
+            <ol class="compact"> <xsl:apply-templates/> </ol>
+        </xsl:when><xsl:otherwise>
+            <ol> <xsl:apply-templates/> </ol>
+        </xsl:otherwise></xsl:choose>
+        <xsl:text disable-output-escaping="yes">&lt;p&gt; </xsl:text>
+    </xsl:template>
 
-            <dl>
-               <xsl:apply-templates/>
-            </dl>
-         </xsl:otherwise>
-      </xsl:choose>
-   </xsl:template>
-
-   <xsl:template match="para/list[@type='tag']">
-
-      <xsl:text disable-output-escaping="yes">&lt;/p&gt; </xsl:text>
-      <xsl:choose>
-
-         <xsl:when test="@compact = 'yes'">
-
-            <dl class="compact">
-               <xsl:apply-templates/>
-            </dl>
-         </xsl:when>
-
-         <xsl:otherwise>
-
-            <dl>
-               <xsl:apply-templates/>
-            </dl>
-         </xsl:otherwise>
-      </xsl:choose>
-
-      <xsl:text disable-output-escaping="yes">&lt;p&gt; </xsl:text>
-   </xsl:template>
-
-   <xsl:template match="tag-name"> 
-      <dt>
-         <xsl:apply-templates/>
-      </dt>
-   </xsl:template>
-
-   <xsl:template match="tag-name[@id]"> 
-      <dt id="{@id}">
-         <xsl:apply-templates/>
-      </dt>
-   </xsl:template>
-
-   <xsl:template match="tag-desc"> 
-      <dd>
-         <xsl:apply-templates/>
-      </dd>
-   </xsl:template>
-
-   <xsl:template match="table[@note and @width]">
+    <xsl:template match="listitem"> <li> <xsl:apply-templates/> </li> </xsl:template>
+    <xsl:template match="listitem[@id]"> <li id="{@id}"> <xsl:apply-templates/> </li> </xsl:template>
+    
+    <xsl:template match="list[@type='tag']">
+        <xsl:choose><xsl:when test="@compact = 'yes'">
+            <dl class="compact"> <xsl:apply-templates/> </dl>
+        </xsl:when><xsl:otherwise>
+            <dl> <xsl:apply-templates/> </dl>
+        </xsl:otherwise></xsl:choose>
+    </xsl:template>
+    <xsl:template match="para/list[@type='tag']">
+        <xsl:text disable-output-escaping="yes">&lt;/p&gt; </xsl:text>
+        <xsl:choose><xsl:when test="@compact = 'yes'">
+            <dl class="compact"> <xsl:apply-templates/> </dl>
+        </xsl:when><xsl:otherwise>
+            <dl> <xsl:apply-templates/> </dl>
+        </xsl:otherwise></xsl:choose>
+        <xsl:text disable-output-escaping="yes">&lt;p&gt; </xsl:text>
+    </xsl:template>
 
-      <blockquote>
-         <table width="{@width}">
-            <xsl:apply-templates/>
-         </table>
-      </blockquote>
-   </xsl:template>
-
-   <xsl:template match="table[@note and not(@width)]">
+    <xsl:template match="tag-name"> <dt> <xsl:apply-templates/> </dt> </xsl:template>
+    <xsl:template match="tag-name[@id]"> <dt id="{@id}"> <xsl:apply-templates/> </dt> </xsl:template>
 
-      <blockquote>
-         <table width="100%">
-            <xsl:apply-templates/>
-         </table>
-      </blockquote>
-   </xsl:template>
-
-   <xsl:template match="table[not(@note) and @width]">
-
-      <table width="{@width}">
-         <xsl:apply-templates/>
-      </table>
-   </xsl:template>
-
-   <xsl:template match="table">
-
-      <table width="100%">
+    <xsl:template match="tag-desc"> <dd> <xsl:apply-templates/> </dd> </xsl:template>
 
-         <xsl:if test="@class">
-
-            <xsl:attribute name="class">
-               <xsl:value-of select="@class"/>
-            </xsl:attribute>
-         </xsl:if>
-
-         <xsl:apply-templates/>
-
-      </table>
-   </xsl:template>
-
-   <xsl:template match="tr"> 
-      <tr>
-         <xsl:apply-templates/>
-      </tr>
-   </xsl:template>
-
-   <xsl:template match="td[@width]"> 
-      <td width="{@width}">
-         <xsl:apply-templates/>
-      </td>
-   </xsl:template>
-
-   <xsl:template match="td"> 
-      <td>
-         <xsl:apply-templates/>
-      </td>
-   </xsl:template>
+    <xsl:template match="table[@note and @width]">
+        <blockquote><table width="{@width}"> <xsl:apply-templates/> </table></blockquote>
+    </xsl:template>
+    <xsl:template match="table[@note and not(@width)]">
+        <blockquote><table width="100%"> <xsl:apply-templates/> </table></blockquote>
+    </xsl:template>
+    <xsl:template match="table[not(@note) and @width]">
+        <table width="{@width}"> <xsl:apply-templates/> </table>
+    </xsl:template>
+    <xsl:template match="table">
+        <table width="100%">
+        <xsl:if test="@class">
+            <xsl:attribute name="class"> <xsl:value-of select="@class"/> </xsl:attribute>
+        </xsl:if>
+        <xsl:apply-templates/>
+        </table>
+    </xsl:template>
 
-   <xsl:template match="c-def"> 
-      <code>
-         <xsl:apply-templates/>
-      </code>
-   </xsl:template>
+    <xsl:template match="tr"> <tr> <xsl:apply-templates/> </tr> </xsl:template>
+    <xsl:template match="td[@width]"> <td width="{@width}"> <xsl:apply-templates/> </td> </xsl:template>
+    <xsl:template match="td"> <td> <xsl:apply-templates/> </td> </xsl:template>
 
-   <xsl:template match="c-func"> 
-      <code>
-         <xsl:apply-templates/>
-         <xsl:text>()</xsl:text>
-      </code>
-   </xsl:template>
+    <xsl:template match="c-def"> <code> <xsl:apply-templates/> </code> </xsl:template>
 
-   <xsl:template match="command"> 
-      <code>
-         <xsl:apply-templates/>
-      </code>
-   </xsl:template>
+    <xsl:template match="c-func"> <code> <xsl:apply-templates/> <xsl:text>()</xsl:text> </code> </xsl:template>
 
-   <xsl:template match="emphasis"> 
-      <strong>
-         <xsl:apply-templates/>
-      </strong>
-   </xsl:template>
+    <xsl:template match="command"> <code> <xsl:apply-templates/> </code> </xsl:template>
 
-   <xsl:template match="example"> 
-      <blockquote class="example">
-         <pre>
-            <xsl:apply-templates/>
-         </pre>
-      </blockquote>
-   </xsl:template>
+    <xsl:template match="emphasis"> <strong> <xsl:apply-templates/> </strong> </xsl:template>
 
-   <xsl:template match="para/example">
-
-      <xsl:text disable-output-escaping="yes">&lt;/p&gt; </xsl:text>
+    <xsl:template match="example"> <blockquote class="example"><pre> <xsl:apply-templates/> </pre></blockquote> </xsl:template>
 
-      <blockquote class="example">
-         <pre>
-            <xsl:apply-templates/>
-         </pre>
-      </blockquote>
-
-      <xsl:text disable-output-escaping="yes">&lt;p&gt; </xsl:text>
-   </xsl:template>
-
-   <xsl:template match="literal"> 
-      <code>
-         <xsl:apply-templates/>
-      </code>
-   </xsl:template>
-
-   <xsl:template match="header">
+    <xsl:template match="para/example">
+        <xsl:text disable-output-escaping="yes">&lt;/p&gt; </xsl:text>
+        <blockquote class="example"><pre> <xsl:apply-templates/> </pre></blockquote>
+        <xsl:text disable-output-escaping="yes">&lt;p&gt; </xsl:text>
+    </xsl:template>
 
-      <xsl:text>“</xsl:text>
-      <xsl:apply-templates/>
-      <xsl:text>”</xsl:text>
-   </xsl:template>
-
-   <xsl:template match="http-status">
-
-      <xsl:value-of select="@code"/>
-      <xsl:text> (</xsl:text>
-      <xsl:value-of select="@text"/>
-      <xsl:text>)</xsl:text>
-   </xsl:template>
+    <xsl:template match="literal"> <code> <xsl:apply-templates/> </code> </xsl:template>
 
-   <xsl:template match="value"> 
-      <code>
-         <i>
-            <xsl:apply-templates/>
-         </i>
-      </code>
-   </xsl:template>
+    <xsl:template match="header">
+        <xsl:text>&#8220;</xsl:text> <xsl:apply-templates/> <xsl:text>&#8221;</xsl:text>
+    </xsl:template>
 
-   <xsl:template match="registered">
-      <xsl:apply-templates/>
-      <sup>
-         <xsl:text>®</xsl:text>
-      </sup>
-   </xsl:template>
+    <xsl:template match="http-status">
+        <xsl:value-of select="@code"/> <xsl:text> (</xsl:text> <xsl:value-of select="@text"/> <xsl:text>)</xsl:text>
+    </xsl:template>
 
-   <xsl:template match="var"> 
-      <code>
-         <xsl:apply-templates/>
-      </code>
-   </xsl:template>
+    <xsl:template match="value"> <code><i> <xsl:apply-templates/> </i></code> </xsl:template>
 
-   <xsl:template match="path"> 
-      <code>
-         <xsl:apply-templates/>
-      </code>
-   </xsl:template>
+    <xsl:template match="registered"> <xsl:apply-templates/> <sup> <xsl:text>&#174;</xsl:text> </sup> </xsl:template>
+
+    <xsl:template match="var"> <code> <xsl:apply-templates/> </code> </xsl:template>
 
-   <xsl:template match="i"> 
-      <i>
-         <xsl:apply-templates/>
-      </i>
-   </xsl:template>
+    <xsl:template match="path"> <code> <xsl:apply-templates/> </code> </xsl:template>
+    <xsl:template match="i"> <i> <xsl:apply-templates/> </i> </xsl:template>
+    <xsl:template match="b"> <b> <xsl:apply-templates/> </b> </xsl:template>
+    <xsl:template match="nobr"> <nobr> <xsl:apply-templates/> </nobr> </xsl:template>
+    <xsl:template match="br"> <br/> </xsl:template>
 
-   <xsl:template match="b"> 
-      <b>
-         <xsl:apply-templates/>
-      </b>
-   </xsl:template>
-
-   <xsl:template match="nobr"> 
-      <nobr>
-         <xsl:apply-templates/>
-      </nobr>
-   </xsl:template>
-
-   <xsl:template match="br"> 
-      <br/>
-   </xsl:template>
 
 </xsl:stylesheet>
--- a/xslt/directive.xslt	Fri Feb 21 20:15:37 2014 +0400
+++ b/xslt/directive.xslt	Fri Feb 28 20:12:47 2014 +0400
@@ -1,245 +1,168 @@
 <?xml version="1.0" encoding="utf-8"?>
+<!--
+  Copyright (C) Igor Sysoev
+  Copyright (C) Nginx, Inc.
+  -->
+
 <xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0">
 
-   <xsl:template match="directive">
-
-      <a name="{@name}"/>
-        <!-- <center><h4><xsl:value-of select="@name"/> </h4></center> -->
-
-      <div class="directive">
-
-         <table cellspacing="0">
-
-            <xsl:apply-templates select="syntax"/>
-
-            <xsl:apply-templates select="default"/>
-
-            <xsl:apply-templates select="context"/>
-
-         </table>
-
-         <xsl:apply-templates select="appeared-in"/>
-
-      </div>
-
-      <xsl:apply-templates select="para"/>
-   </xsl:template>
-
-   <xsl:template match="syntax">
-
-      <xsl:if test="position() = 1">
-
-         <xsl:text disable-output-escaping="yes">
-                &lt;tr&gt;
-                &lt;td&gt;
-            </xsl:text>
-
-         <xsl:value-of select="document(concat($XML, '/i18n.xml'))                        /i18n/text[@lang = $LANG]/item[@id='syntax']"/>
-
-         <xsl:text>:</xsl:text>
-
-         <xsl:text disable-output-escaping="yes">
-                &lt;/td&gt;
-                &lt;td&gt;
-            </xsl:text>
-      </xsl:if>
+    <xsl:template match="directive">
+        <a name="{@name}"/>
+        <!-- <center><h4> !{@name} </h4></center> -->
+        <div class="directive">
+        <table cellspacing="0">
+        <xsl:apply-templates select="syntax"/>
+        <xsl:apply-templates select="default"/>
+        <xsl:apply-templates select="context"/>
+        </table>
+        <xsl:apply-templates select="appeared-in"/>
+        </div>
+        <xsl:apply-templates select="para"/>
+    </xsl:template>
 
-      <code>
-
-         <strong>
-
-            <xsl:value-of select="../@name"/>
-
-         </strong>
-
-         <xsl:if test="count(node()) != 0">
-
-            <xsl:text> </xsl:text>
-            <xsl:apply-templates/>
-         </xsl:if>
-         <xsl:choose>
-
-            <xsl:when test="@block = 'yes'">
-
-               <xsl:text> { ... }</xsl:text>
-            </xsl:when>
-
-            <xsl:otherwise>
-
-               <xsl:text>;</xsl:text>
-            </xsl:otherwise>
-         </xsl:choose>
-
-      </code>
-
-      <br/>
-
-      <xsl:if test="position() = last()">
-
-         <xsl:text disable-output-escaping="yes">
-                &lt;/td&gt;
-                &lt;/tr&gt;
-            </xsl:text>
-      </xsl:if>
-   </xsl:template>
-
-   <xsl:template match="default">
-
-      <xsl:if test="position() = 1">
-
-         <xsl:text disable-output-escaping="yes">
+    <xsl:template match="syntax">
+        <xsl:if test="position() = 1">
+            <xsl:text disable-output-escaping="yes">
                 &lt;tr&gt;
                 &lt;td&gt;
             </xsl:text>
-
-         <xsl:value-of select="document(concat($XML, '/i18n.xml'))                        /i18n/text[@lang = $LANG]/item[@id='default']"/>
-
-         <xsl:text>:</xsl:text>
-
-         <xsl:text disable-output-escaping="yes">
+            <xsl:value-of select="document(concat($XML, '/i18n.xml'))
+                       /i18n/text[@lang = $LANG]/item[@id='syntax']"/>
+            <xsl:text>:</xsl:text>
+            <xsl:text disable-output-escaping="yes">
                 &lt;/td&gt;
                 &lt;td&gt;
             </xsl:text>
-      </xsl:if>
-      <xsl:choose>
-
-         <xsl:when test="count(node()) = 0">
-            —</xsl:when>
-
-         <xsl:otherwise>
-
-            <pre>
-
-               <xsl:value-of select="../@name"/>
-               <xsl:choose>
-
-                  <xsl:when test="count(../syntax[@block='yes'])">
-
-                     <xsl:text> {</xsl:text>
-                     <xsl:apply-templates/>
-                     <xsl:text>}</xsl:text>
-                  </xsl:when>
-
-                  <xsl:otherwise>
-
-                     <xsl:text> </xsl:text>
-                     <xsl:apply-templates/>
-                     <xsl:text>;</xsl:text>
-                  </xsl:otherwise>
-               </xsl:choose>
-
-            </pre>
-         </xsl:otherwise>
-      </xsl:choose>
-
-      <xsl:if test="position() = last()">
-
-         <xsl:text disable-output-escaping="yes">
-                &lt;/td&gt;
-                &lt;/tr&gt;
-            </xsl:text>
-      </xsl:if>
-   </xsl:template>
-
-   <xsl:template match="context">
-
-      <xsl:if test="position() = 1">
-
-         <xsl:text disable-output-escaping="yes">
-                &lt;tr&gt;
-                &lt;td&gt;
-            </xsl:text>
-
-         <xsl:value-of select="document(concat($XML, '/i18n.xml'))                        /i18n/text[@lang = $LANG]/item[@id='context']"/>
-
-         <xsl:text>:</xsl:text>
-
-         <xsl:text disable-output-escaping="yes">
-                &lt;/td&gt;
-                &lt;td&gt;
-            </xsl:text>
-      </xsl:if>
-
-      <code>
-         <xsl:choose>
-
-            <xsl:when test="count(node()) = 0">
-
-               <xsl:value-of select="document(concat($XML, '/i18n.xml'))                        /i18n/text[@lang = $LANG]/item[@id='context.any']"/>
-            </xsl:when>
-
-            <xsl:otherwise>
-
-               <xsl:apply-templates/>
-            </xsl:otherwise>
-         </xsl:choose>
-
-      </code>
-      <xsl:choose>
-
-         <xsl:when test="position() != last()">
-
-            <xsl:text>, </xsl:text>
-         </xsl:when>
-
-         <xsl:otherwise>
-
-            <br/>
-
+        </xsl:if>
+        <code>
+        <strong>
+        <xsl:value-of select="../@name"/>
+        </strong>
+        <xsl:if test="count(node()) != 0">
+            <xsl:text> </xsl:text> <xsl:apply-templates/>
+        </xsl:if>
+        <xsl:choose><xsl:when test="@block = 'yes'">
+            <xsl:text> { ... }</xsl:text>
+        </xsl:when><xsl:otherwise>
+            <xsl:text>;</xsl:text>
+        </xsl:otherwise></xsl:choose>
+        </code>
+        <br/>
+        <xsl:if test="position() = last()">
             <xsl:text disable-output-escaping="yes">
                 &lt;/td&gt;
                 &lt;/tr&gt;
             </xsl:text>
-         </xsl:otherwise>
-      </xsl:choose>
-   </xsl:template>
+        </xsl:if>
+    </xsl:template>
 
-   <xsl:template match="appeared-in">
-      <xsl:choose>
-
-         <xsl:when test="last() = 1">
-
-            <p>
-
-               <xsl:value-of select="document(concat($XML, '/i18n.xml'))                        /i18n/text[@lang = $LANG]/item                        [@id='directive.version']"/>
+    <xsl:template match="default">
+        <xsl:if test="position() = 1">
+            <xsl:text disable-output-escaping="yes">
+                &lt;tr&gt;
+                &lt;td&gt;
+            </xsl:text>
+            <xsl:value-of select="document(concat($XML, '/i18n.xml'))
+                       /i18n/text[@lang = $LANG]/item[@id='default']"/>
+            <xsl:text>:</xsl:text>
+            <xsl:text disable-output-escaping="yes">
+                &lt;/td&gt;
+                &lt;td&gt;
+            </xsl:text>
+        </xsl:if>
+        <xsl:choose><xsl:when test="count(node()) = 0">
+            &#8212;
+        </xsl:when><xsl:otherwise>
+            <pre>
+            <xsl:value-of select="../@name"/>
+            <xsl:choose><xsl:when test="count(../syntax[@block='yes'])">
+                <xsl:text> {</xsl:text> <xsl:apply-templates/> <xsl:text>}</xsl:text>
+            </xsl:when><xsl:otherwise>
+                <xsl:text> </xsl:text> <xsl:apply-templates/> <xsl:text>;</xsl:text>
+            </xsl:otherwise></xsl:choose>
+            </pre>
+        </xsl:otherwise></xsl:choose>
+        <xsl:if test="position() = last()">
+            <xsl:text disable-output-escaping="yes">
+                &lt;/td&gt;
+                &lt;/tr&gt;
+            </xsl:text>
+        </xsl:if>
+    </xsl:template>
 
-               <xsl:text> </xsl:text>
+    <xsl:template match="context">
+        <xsl:if test="position() = 1">
+            <xsl:text disable-output-escaping="yes">
+                &lt;tr&gt;
+                &lt;td&gt;
+            </xsl:text>
+            <xsl:value-of select="document(concat($XML, '/i18n.xml'))
+                       /i18n/text[@lang = $LANG]/item[@id='context']"/>
+            <xsl:text>:</xsl:text>
+            <xsl:text disable-output-escaping="yes">
+                &lt;/td&gt;
+                &lt;td&gt;
+            </xsl:text>
+        </xsl:if>
+        <code>
+        <xsl:choose><xsl:when test="count(node()) = 0">
+            <xsl:value-of select="document(concat($XML, '/i18n.xml'))
+                       /i18n/text[@lang = $LANG]/item[@id='context.any']"/>
+        </xsl:when><xsl:otherwise>
+            <xsl:apply-templates/>
+        </xsl:otherwise></xsl:choose>
+        </code>
+        <xsl:choose><xsl:when test="position() != last()">
+            <xsl:text>, </xsl:text>
+        </xsl:when><xsl:otherwise>
+            <br/>
+            <xsl:text disable-output-escaping="yes">
+                &lt;/td&gt;
+                &lt;/tr&gt;
+            </xsl:text>
+        </xsl:otherwise></xsl:choose>
+    </xsl:template>
 
-               <xsl:apply-templates/>.
-
+    <xsl:template match="appeared-in">
+        <xsl:choose><xsl:when test="last() = 1">
+            <p>
+            <xsl:value-of select="document(concat($XML, '/i18n.xml'))
+                       /i18n/text[@lang = $LANG]/item
+                       [@id='directive.version']"/>
+            <xsl:text> </xsl:text>
+            <xsl:apply-templates/>.
             </p>
-         </xsl:when>
-
-         <xsl:otherwise>
-
+        </xsl:when><xsl:otherwise>
             <xsl:choose>
-               <xsl:when test="position() = 1">
-                  <xsl:text disable-output-escaping="yes">
+                <xsl:when test="position() = 1">
+                    <xsl:text disable-output-escaping="yes">
                         &lt;p&gt;
                     </xsl:text>
-                  <xsl:value-of select="document(concat($XML, '/i18n.xml'))                                /i18n/text[@lang = $LANG]/item                                [@id='directive.versions']"/>
-                  <xsl:text> </xsl:text>
-                  <xsl:apply-templates/>
-                  <xsl:if test="last() &gt; 2">
-                     <xsl:text>,</xsl:text>
-                  </xsl:if>
-                  <xsl:text> </xsl:text>
-               </xsl:when>
-               <xsl:when test="position() != last()">
-                  <xsl:apply-templates/>
-                  <xsl:text>, </xsl:text>
-               </xsl:when>
-               <xsl:otherwise>
-                  <xsl:value-of select="document(concat($XML, '/i18n.xml'))                                /i18n/text[@lang = $LANG]/item                                [@id='and']"/>
-                  <xsl:text> </xsl:text>
-                  <xsl:apply-templates/>.
-                  <xsl:text disable-output-escaping="yes">
+                    <xsl:value-of select="document(concat($XML, '/i18n.xml'))
+                               /i18n/text[@lang = $LANG]/item
+                               [@id='directive.versions']"/>
+                    <xsl:text> </xsl:text>
+                    <xsl:apply-templates/>
+                    <xsl:if test="last() > 2">
+                        <xsl:text>,</xsl:text>
+                    </xsl:if>
+                    <xsl:text> </xsl:text>
+                </xsl:when>
+                <xsl:when test="position() != last()">
+                    <xsl:apply-templates/>
+                    <xsl:text>, </xsl:text>
+                </xsl:when>
+                <xsl:otherwise>
+                    <xsl:value-of select="document(concat($XML, '/i18n.xml'))
+                               /i18n/text[@lang = $LANG]/item
+                               [@id='and']"/>
+                    <xsl:text> </xsl:text>
+                    <xsl:apply-templates/>.
+                    <xsl:text disable-output-escaping="yes">
                         &lt;/p&gt;
                     </xsl:text>
-               </xsl:otherwise>
+                </xsl:otherwise>
             </xsl:choose>
-         </xsl:otherwise>
-      </xsl:choose>
-   </xsl:template>
-
+        </xsl:otherwise></xsl:choose>
+    </xsl:template>
 </xsl:stylesheet>
--- a/xslt/dirindex.xslt	Fri Feb 21 20:15:37 2014 +0400
+++ b/xslt/dirindex.xslt	Fri Feb 28 20:12:47 2014 +0400
@@ -1,41 +1,38 @@
 <?xml version="1.0" encoding="utf-8"?>
+<!--
+  Copyright (C) Nginx, Inc.
+  -->
+
 <xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0">
 
-   <xsl:output doctype-system="../../../dtd/article.dtd" encoding="utf-8" method="xml"/>
-
-   <xsl:param select="'../xml'" name="XML"/>
-
-   <xsl:param name="LANG"/>
-
-   <xsl:template match="modules">
+<xsl:output method="xml" doctype-system="../../../dtd/article.dtd" encoding="utf-8"/>
 
-      <article name="{document(concat($XML, '/i18n.xml'))                     /i18n/text[@lang = $LANG]/item[@id='dirindex']}" link="/{$LANG}/docs/dirindex.html" lang="{$LANG}">
-
-         <section>
+<!--
+  .. a current directory of a XSLT script is where the script is stored,
+  .. but not where XSLT processor has been started to run the script
+  -->
+<xsl:param select="'../xml'" name="XML"/> 
 
-            <para>
-
-               <links>
-
-                  <xsl:apply-templates select="module"/>
+<xsl:param name="LANG"/>
 
-               </links>
-
-            </para>
-
-         </section>
-
-      </article>
-   </xsl:template>
+<xsl:template match="modules">
+    <article name="{document(concat($XML, '/i18n.xml'))
+                    /i18n/text[@lang = $LANG]/item[@id='dirindex']}" link="/{$LANG}/docs/dirindex.html" lang="{$LANG}">
+    <section>
+    <para>
+    <links>
+    <xsl:apply-templates select="module"/>
+    </links>
+    </para>
+    </section>
+    </article>
+</xsl:template>
 
-   <xsl:template match="module">
-
-      <xsl:variable select="@name" name="module"/>
-
-      <xsl:for-each select="document(@name)/module/section/directive">
-
-         <link doc="{$module}" id="{@name}"/>
-      </xsl:for-each>
-   </xsl:template>
+<xsl:template match="module">
+    <xsl:variable select="@name" name="module"/>
+    <xsl:for-each select="document(@name)/module/section/directive">
+        <link doc="{$module}" id="{@name}"/>
+    </xsl:for-each>
+</xsl:template>
 
 </xsl:stylesheet>
--- a/xslt/dirname.xslt	Fri Feb 21 20:15:37 2014 +0400
+++ b/xslt/dirname.xslt	Fri Feb 28 20:12:47 2014 +0400
@@ -1,51 +1,35 @@
 <?xml version="1.0" encoding="utf-8"?>
+<!--
+  Copyright (C) Igor Sysoev
+  Copyright (C) Nginx, Inc.
+  -->
+
 <xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0">
 
-   <xsl:variable name="DIRNAME">
-      <xsl:call-template name="dirname">
-         <xsl:with-param select="$LINK" name="path"/>
-      </xsl:call-template>
-   </xsl:variable>
 
-   <xsl:template name="dirname">
-      <xsl:param name="path"/>
+<!-- return a dirname of an article link -->
+
+<xsl:variable name="DIRNAME"> <xsl:call-template name="dirname"><xsl:with-param select="$LINK" name="path"/></xsl:call-template></xsl:variable>
 
-      <xsl:if test="contains($path, '/')">
-
-         <xsl:value-of select=" substring-before($path, '/')"/>
-
-         <xsl:text>/</xsl:text>
+<xsl:template name="dirname"><xsl:param name="path"/>
+    <xsl:if test="contains($path, '/')">
+        <xsl:value-of select=" substring-before($path, '/') "/>
+        <xsl:text>/</xsl:text>
+        <xsl:call-template name="dirname"><xsl:with-param select="substring-after($path, '/')" name="path"/></xsl:call-template></xsl:if>
+</xsl:template>
 
-         <xsl:call-template name="dirname">
-            <xsl:with-param select="substring-after($path, '/')" name="path"/>
-         </xsl:call-template>
-      </xsl:if>
-   </xsl:template>
 
-   <xsl:variable name="ROOT">
-      <xsl:call-template name="root">
-         <xsl:with-param name="path">
-            <xsl:value-of select=" substring($DIRNAME, 2)"/>
-         </xsl:with-param>
-      </xsl:call-template>
-   </xsl:variable>
+<!-- return a path to the root of an article link, i.e., "../../.."  -->
 
-   <xsl:template name="root">
-      <xsl:param name="path"/>
-
-      <xsl:if test="contains($path, '/')">
+<xsl:variable name="ROOT"> <xsl:call-template name="root"><xsl:with-param name="path"> <xsl:value-of select=" substring($DIRNAME, 2) "/> </xsl:with-param></xsl:call-template></xsl:variable>
 
-         <xsl:text>..</xsl:text>
-
-         <xsl:if test="substring-after($path, '/')">
-
+<xsl:template name="root"><xsl:param name="path"/>
+    <xsl:if test="contains($path, '/')">
+        <xsl:text>..</xsl:text>
+        <xsl:if test="substring-after($path, '/')">
             <xsl:text>/</xsl:text>
-
-            <xsl:call-template name="root">
-               <xsl:with-param select="substring-after($path, '/')" name="path"/>
-            </xsl:call-template>
-         </xsl:if>
-      </xsl:if>
-   </xsl:template>
+            <xsl:call-template name="root"><xsl:with-param select="substring-after($path, '/')" name="path"/></xsl:call-template></xsl:if>
+    </xsl:if>
+</xsl:template>
 
 </xsl:stylesheet>
--- a/xslt/donate.xslt	Fri Feb 21 20:15:37 2014 +0400
+++ b/xslt/donate.xslt	Fri Feb 28 20:12:47 2014 +0400
@@ -1,19 +1,22 @@
 <?xml version="1.0" encoding="utf-8"?>
+<!--
+  Copyright (C) Igor Sysoev
+  Copyright (C) Nginx, Inc.
+  -->
+
 <xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0">
 
-   <xsl:template match="paypal">
+<xsl:template match="paypal">
 
-      <form action="https://www.paypal.com/cgi-bin/webscr" method="post">
-
-         <input type="hidden" name="cmd" value="_s-xclick"/>
+   <form action="https://www.paypal.com/cgi-bin/webscr" method="post">
+        <input type="hidden" name="cmd" value="_s-xclick"/>
+        <input type="hidden" name="hosted_button_id" value="ZJK5JR3ZSBUFC"/>
 
-         <input type="hidden" name="hosted_button_id" value="ZJK5JR3ZSBUFC"/>
-
-         <input type="image" border="0" name="submit" src="https://www.paypalobjects.com/en_US/i/btn/btn_donate_LG.gif" alt="PayPal - The safer, easier way to pay online!"/>
+        <input type="image" border="0" name="submit" src="https://www.paypalobjects.com/en_US/i/btn/btn_donate_LG.gif" alt="PayPal - The safer, easier way to pay online!"/>
 
-         <img src="https://www.paypalobjects.com/en_US/i/scr/pixel.gif" alt="" border="0" width="1" height="1"/>
+        <img src="https://www.paypalobjects.com/en_US/i/scr/pixel.gif" alt="" border="0" width="1" height="1"/>
+    </form>
 
-      </form>
-   </xsl:template>
+</xsl:template>
 
 </xsl:stylesheet>
--- a/xslt/download.xslt	Fri Feb 21 20:15:37 2014 +0400
+++ b/xslt/download.xslt	Fri Feb 28 20:12:47 2014 +0400
@@ -1,140 +1,82 @@
 <?xml version="1.0" encoding="utf-8"?>
+<!--
+  Copyright (C) Igor Sysoev
+  Copyright (C) Nginx, Inc.
+  -->
+
 <xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0">
 
-   <xsl:template match="download">
-
-      <xsl:variable select="@last" name="last"/>
-
-      <xsl:for-each select="document(concat($XML, '/versions.xml'))                 /versions/download[@tag = current()/@tag]">
-
-         <table width="100%">
-
-            <xsl:apply-templates select="item[position() &lt;= $last]"/>
-
-         </table>
-      </xsl:for-each>
-   </xsl:template>
-
-   <xsl:template match="download/item">
+<xsl:template match="download">
+    <xsl:variable select="@last" name="last"/>
+    <xsl:for-each select="document(concat($XML, '/versions.xml'))
+                /versions/download[@tag = current()/@tag]">
+        <table width="100%">
 
-      <tr>
-
-         <td width="20%">
-
-            <xsl:if test="position() = 1">
-
-               <a>
+        <xsl:apply-templates select="item[position() &lt;= $last]"/>
 
-                  <xsl:attribute name="href">
+        </table>
+    </xsl:for-each>
+</xsl:template>
 
-                     <xsl:text>/</xsl:text>
-                     <xsl:value-of select="$LANG"/>
-                     <xsl:text>/CHANGES</xsl:text>
-
-                     <xsl:if test="$LANG != 'en'">
-                        <xsl:text>.</xsl:text>
-                        <xsl:value-of select="$LANG"/>
-                     </xsl:if>
 
-                     <xsl:if test="../@changes != ''">
-                        <xsl:text>-</xsl:text>
-                        <xsl:value-of select="../@changes"/>
-                     </xsl:if>
-                  </xsl:attribute>
-
-                  <xsl:text>CHANGES</xsl:text>
-
-                  <xsl:if test="$LANG != 'en'">
-                     <xsl:text>.</xsl:text>
-                     <xsl:value-of select="$LANG"/>
-                  </xsl:if>
-
-                  <xsl:if test="../@changes != ''">
-                     <xsl:text>-</xsl:text>
-                     <xsl:value-of select="../@changes"/>
-                  </xsl:if>
+<xsl:template match="download/item">
+    <tr>
+        <td width="20%">
+        <xsl:if test="position() = 1">
+            <a>
+            <xsl:attribute name="href">
+                <xsl:text>/</xsl:text> <xsl:value-of select="$LANG"/> <xsl:text>/CHANGES</xsl:text>
+                <xsl:if test="$LANG != 'en'"> <xsl:text>.</xsl:text> <xsl:value-of select="$LANG"/> </xsl:if>
+                <xsl:if test="../@changes != ''"> <xsl:text>-</xsl:text> <xsl:value-of select="../@changes"/> </xsl:if>
+            </xsl:attribute>
+            <xsl:text>CHANGES</xsl:text>
+            <xsl:if test="$LANG != 'en'"> <xsl:text>.</xsl:text> <xsl:value-of select="$LANG"/> </xsl:if>
+            <xsl:if test="../@changes != ''"> <xsl:text>-</xsl:text> <xsl:value-of select="../@changes"/> </xsl:if>
+            </a>
+        </xsl:if>
+        </td>
 
-               </a>
-            </xsl:if>
-
-         </td>
-
-         <td width="20%">
-
-            <a>
+        <td width="20%">
+        <a>
+        <xsl:attribute name="href">
+            <xsl:text>/download/nginx-</xsl:text> <xsl:value-of select="@ver"/> <xsl:text>.tar.gz</xsl:text>
+        </xsl:attribute>
+        <xsl:text>nginx-</xsl:text> <xsl:value-of select="@ver"/>
+        </a>
 
-               <xsl:attribute name="href">
+        <xsl:if test="@pgp = 'yes'">
+            <xsl:text>&#xA0; </xsl:text>
+            <a>
+            <xsl:attribute name="href">
+                <xsl:text>/download/nginx-</xsl:text> <xsl:value-of select="@ver"/> <xsl:text>.tar.gz.asc</xsl:text>
+            </xsl:attribute>
+            <xsl:text>pgp</xsl:text>
+            </a>
+        </xsl:if>
+        </td>
 
-                  <xsl:text>/download/nginx-</xsl:text>
-                  <xsl:value-of select="@ver"/>
-                  <xsl:text>.tar.gz</xsl:text>
-               </xsl:attribute>
-
-               <xsl:text>nginx-</xsl:text>
-               <xsl:value-of select="@ver"/>
-
+        <td>
+        <xsl:if test="@win= 'yes'">
+            <a>
+            <xsl:attribute name="href">
+                <xsl:text>/download/nginx-</xsl:text> <xsl:value-of select="@ver"/> <xsl:text>.zip</xsl:text>
+            </xsl:attribute>
+            <xsl:text>nginx/Windows-</xsl:text> <xsl:value-of select="@ver"/>
             </a>
 
             <xsl:if test="@pgp = 'yes'">
-
-               <xsl:text>  </xsl:text>
-
-               <a>
-
-                  <xsl:attribute name="href">
-
-                     <xsl:text>/download/nginx-</xsl:text>
-                     <xsl:value-of select="@ver"/>
-                     <xsl:text>.tar.gz.asc</xsl:text>
-                  </xsl:attribute>
-
-                  <xsl:text>pgp</xsl:text>
-
-               </a>
+                <xsl:text>&#xA0; </xsl:text>
+                <a>
+                <xsl:attribute name="href">
+                    <xsl:text>/download/nginx-</xsl:text> <xsl:value-of select="@ver"/> <xsl:text>.zip.asc</xsl:text>
+                </xsl:attribute>
+                <xsl:text>pgp</xsl:text>
+                </a>
             </xsl:if>
-
-         </td>
-
-         <td>
-
-            <xsl:if test="@win= 'yes'">
-
-               <a>
-
-                  <xsl:attribute name="href">
+        </xsl:if>
+        </td>
 
-                     <xsl:text>/download/nginx-</xsl:text>
-                     <xsl:value-of select="@ver"/>
-                     <xsl:text>.zip</xsl:text>
-                  </xsl:attribute>
-
-                  <xsl:text>nginx/Windows-</xsl:text>
-                  <xsl:value-of select="@ver"/>
-
-               </a>
-
-               <xsl:if test="@pgp = 'yes'">
-
-                  <xsl:text>  </xsl:text>
-
-                  <a>
-
-                     <xsl:attribute name="href">
-
-                        <xsl:text>/download/nginx-</xsl:text>
-                        <xsl:value-of select="@ver"/>
-                        <xsl:text>.zip.asc</xsl:text>
-                     </xsl:attribute>
-
-                     <xsl:text>pgp</xsl:text>
-
-                  </a>
-               </xsl:if>
-            </xsl:if>
-
-         </td>
-
-      </tr>
-   </xsl:template>
+    </tr>
+</xsl:template>
 
 </xsl:stylesheet>
--- a/xslt/error.xslt	Fri Feb 21 20:15:37 2014 +0400
+++ b/xslt/error.xslt	Fri Feb 28 20:12:47 2014 +0400
@@ -1,77 +1,58 @@
 <?xml version="1.0" encoding="utf-8"?>
+<!--
+  Copyright (C) Igor Sysoev
+  Copyright (C) Nginx, Inc.
+  -->
+
 <xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0">
 
-   <xsl:output indent="no" version="4.0" encoding="utf-8" method="html"/>
-
-   <xsl:strip-space elements="*"/>
-
-   <xsl:param select="'../xml'" name="XML"/>
-
-   <xsl:param name="YEAR"/>
+<xsl:output method="html" version="4.0" indent="no" encoding="utf-8"/>
 
-   <xsl:param name="TRANS"/>
-
-   <xsl:variable select="/error/@link" name="LINK"/>
-
-   <xsl:variable select="/error/@lang" name="LANG"/>
-
-   <xsl:include href="dirname.xslt"/>
+<xsl:strip-space elements="*"/>
 
-   <xsl:include href="menu.xslt"/>
-
-   <xsl:include href="ga.xslt"/>
-
-   <xsl:template match="/error">
+<!--
+  .. a current directory of a XSLT script is where the script is stored,
+  .. but not where XSLT processor has been started to run the script
+  -->
+<xsl:param select="'../xml'" name="XML"/>
+<xsl:param name="YEAR"/>
+<xsl:param name="TRANS"/>
 
-      <html>
-         <head>
-            <title>
-               <xsl:value-of select="@name"/>
-            </title>
+<xsl:variable select="/error/@link" name="LINK"/>
+<xsl:variable select="/error/@lang" name="LANG"/>
 
-            <style type="text/css">
-               <xsl:value-of select=" normalize-space('         body  { font-family:  Georgia, serif; }         ')"/>
+<xsl:include href="dirname.xslt"/>
+<xsl:include href="menu.xslt"/>
+<xsl:include href="ga.xslt"/>
 
-            </style>
 
-            <xsl:call-template name="ga"/>
+<xsl:template match="/error">
+    <html><head><title> <xsl:value-of select="@name"/> </title>
 
-         </head>
-
-         <body>
-
-            <table width="100%">
-
-               <tr>
+    <style type="text/css"><xsl:value-of select=" normalize-space('
+        body  { font-family:  Georgia, serif; }
+        ') "/>
+    </style>
 
-                  <td width="70%">
-                     <center>
-                        <h1>
-                           <xsl:value-of select="@name"/>
-                        </h1>
-                     </center>
-                  </td>
-
-                  <td rowspan="2" align="right" valign="top">
+    <xsl:call-template name="ga"/></head>
 
-                     <img src="/nginx.gif" alt="nginx"/>
-                     <br/>
-
-                     <br/>
-
-                     <br/>
-
-                     <xsl:apply-templates select="document(concat($XML, '/menu.xml'))                          /menus/menu[@lang = current()/@lang]/item"/>
+    <body>
+    <table width="100%">
+    <tr>
+        <td width="70%"><center><h1> <xsl:value-of select="@name"/> </h1></center></td>
+        <td rowspan="2" align="right" valign="top">
+            <img src="/nginx.gif" alt="nginx"/><br/>
 
-                  </td>
-
-               </tr>
+            <br/>
+            <br/>
 
-            </table>
-
-         </body>
-
-      </html>
-   </xsl:template>
+            <xsl:apply-templates select="document(concat($XML, '/menu.xml'))
+                         /menus/menu[@lang = current()/@lang]/item"/>
+        </td>
+    </tr>
+    </table>
+    </body>
+    </html>
+</xsl:template>
 
 </xsl:stylesheet>
--- a/xslt/ga.xslt	Fri Feb 21 20:15:37 2014 +0400
+++ b/xslt/ga.xslt	Fri Feb 28 20:12:47 2014 +0400
@@ -1,9 +1,13 @@
 <?xml version="1.0" encoding="utf-8"?>
+<!--
+  Copyright (C) Nginx, Inc.
+  -->
+
 <xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0">
 
-   <xsl:template name="ga">
+<xsl:template name="ga">
 
-      <script type="text/javascript">
+    <script type="text/javascript">
 
         var _gaq = _gaq || [];
         _gaq.push(['_setAccount', 'UA-27974099-2']);
@@ -17,6 +21,7 @@
         })();
 
     </script>
-   </xsl:template>
+
+</xsl:template>
 
 </xsl:stylesheet>
--- a/xslt/link.xslt	Fri Feb 21 20:15:37 2014 +0400
+++ b/xslt/link.xslt	Fri Feb 28 20:12:47 2014 +0400
@@ -1,117 +1,60 @@
 <?xml version="1.0" encoding="utf-8"?>
+<!--
+  Copyright (C) Igor Sysoev
+  Copyright (C) Nginx, Inc.
+  -->
+
 <xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0">
 
-   <xsl:template match="img"> 
-      <img src="{@href}">
-         <xsl:apply-templates/>
-      </img>
-   </xsl:template>
-
-   <xsl:template match="origin">
-
-      <a>
-
-         <xsl:attribute name="href">
+<xsl:template match="img"> <img src="{@href}"> <xsl:apply-templates/> </img> </xsl:template>
 
-            <xsl:call-template name="root">
-               <xsl:with-param select="$ORIGIN" name="path"/>
-            </xsl:call-template>
-
-            <xsl:value-of select=" concat(substring-before($ORIGIN, '.xml'), '.html')"/>
-         </xsl:attribute>
-
-         <xsl:apply-templates/>
-
-      </a>
-   </xsl:template>
-
-   <xsl:template match="link[@url]">
+<xsl:template match="origin">
+    <a>
+    <xsl:attribute name="href">
+        <xsl:call-template name="root"><xsl:with-param select="$ORIGIN" name="path"/></xsl:call-template><xsl:value-of select=" concat(substring-before($ORIGIN, '.xml'), '.html') "/>
+    </xsl:attribute>
+    <xsl:apply-templates/>
+    </a>
+</xsl:template>
 
-      <a href="{@url}">
-         <xsl:choose>
-
-            <xsl:when test="count(node()) != 0">
-               <xsl:apply-templates/>
-            </xsl:when>
-            <xsl:otherwise>
-               <xsl:value-of select="@url"/>
-            </xsl:otherwise>
-         </xsl:choose>
-
-      </a>
-   </xsl:template>
+<xsl:template match="link[@url]">
+    <a href="{@url}">
+    <xsl:choose><xsl:when test="count(node()) != 0"> <xsl:apply-templates/> </xsl:when><xsl:otherwise> <xsl:value-of select="@url"/> </xsl:otherwise></xsl:choose>
+    </a>
+</xsl:template>
 
-   <xsl:template match="link[@id and not(@doc)]">
-
-      <a href="#{@id}">
-         <xsl:choose>
-
-            <xsl:when test="count(node()) != 0">
-               <xsl:apply-templates/>
-            </xsl:when>
-            <xsl:otherwise>
-               <xsl:value-of select="@id"/>
-            </xsl:otherwise>
-         </xsl:choose>
-
-      </a>
-   </xsl:template>
+<xsl:template match="link[@id and not(@doc)]">
+    <a href="#{@id}">
+    <xsl:choose><xsl:when test="count(node()) != 0"> <xsl:apply-templates/> </xsl:when><xsl:otherwise> <xsl:value-of select="@id"/> </xsl:otherwise></xsl:choose>
+    </a>
+</xsl:template>
 
-   <xsl:template match="link[@doc and not(@id)]">
-
-      <a href="{substring-before(@doc, '.xml')}.html">
-         <xsl:choose>
-
-            <xsl:when test="count(node()) != 0">
-
-               <xsl:apply-templates/>
-            </xsl:when>
-
-            <xsl:otherwise>
-
-               <xsl:value-of select=" document(@doc)/article/@name | document(@doc)/module/@name"/>
-            </xsl:otherwise>
-         </xsl:choose>
-
-      </a>
-   </xsl:template>
-
-   <xsl:template match="link[@id and @doc]">
-
-      <a href="{substring-before(@doc, '.xml')}.html#{@id}">
-         <xsl:choose>
+<xsl:template match="link[@doc and not(@id)]">
+    <a href="{substring-before(@doc, '.xml')}.html">
+    <xsl:choose><xsl:when test="count(node()) != 0">
+        <xsl:apply-templates/>
+    </xsl:when><xsl:otherwise>
+        <xsl:value-of select=" document(@doc)/article/@name | document(@doc)/module/@name "/>
+    </xsl:otherwise></xsl:choose>
+    </a>
+</xsl:template>
 
-            <xsl:when test="count(node()) != 0">
-               <xsl:apply-templates/>
-            </xsl:when>
-            <xsl:otherwise>
-               <xsl:value-of select="@id"/>
-            </xsl:otherwise>
-         </xsl:choose>
-
-      </a>
-   </xsl:template>
-
-   <xsl:template match="links">
-
-      <xsl:for-each select="link">
-         <xsl:sort select="@id"/>
+<xsl:template match="link[@id and @doc]">
+    <a href="{substring-before(@doc, '.xml')}.html#{@id}">
+    <xsl:choose><xsl:when test="count(node()) != 0"> <xsl:apply-templates/> </xsl:when><xsl:otherwise> <xsl:value-of select="@id"/> </xsl:otherwise></xsl:choose>
+    </a>
+</xsl:template>
 
-         <a href="{substring-before(@doc, '.xml')}.html#{@id}">
-            <xsl:value-of select="@id"/>
-         </a>
-
-         <xsl:if test="count(../link[@id = current()/@id]) &gt; 1">
-
+<xsl:template match="links">
+    <xsl:for-each select="link"><xsl:sort select="@id"/>
+        <a href="{substring-before(@doc, '.xml')}.html#{@id}"><xsl:value-of select="@id"/></a>
+        <xsl:if test="count(../link[@id = current()/@id]) > 1">
             <xsl:text> (</xsl:text>
-
             <xsl:value-of select="substring-before(substring-after(@doc, '/'), '.xml')"/>
-
             <xsl:text>)</xsl:text>
-         </xsl:if>
-
-         <br/>
-      </xsl:for-each>
-   </xsl:template>
+        </xsl:if>
+        <br/>
+    </xsl:for-each>
+</xsl:template>
 
 </xsl:stylesheet>
--- a/xslt/menu.xslt	Fri Feb 21 20:15:37 2014 +0400
+++ b/xslt/menu.xslt	Fri Feb 28 20:12:47 2014 +0400
@@ -1,145 +1,99 @@
 <?xml version="1.0" encoding="utf-8"?>
+<!--
+  Copyright (C) Igor Sysoev
+  Copyright (C) Nginx, Inc.
+  -->
+
 <xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0">
 
-   <xsl:template match="menu/item">
-      <xsl:choose>
-
-         <xsl:when test="@href = $LINK">
-            <xsl:choose>
+<xsl:template match="menu/item">
 
-               <xsl:when test="$YEAR and @href='/'">
-
-                  <a href="./"> news </a> 
-                  <br/>
-               </xsl:when>
-
-               <xsl:otherwise>
+    <!--
+      ..  variables are not allowed in a template match predicate,
+      ..  therefore, we have to use ugly "if"s instead of elegant
+      ..     "menu/item[@href = $LINK]", etc.
+      -->
 
-                  <xsl:value-of select=" normalize-space(text())"/>
-                  <br/>
-               </xsl:otherwise>
-            </xsl:choose>
-         </xsl:when>
-
-         <xsl:otherwise>
-            <xsl:choose>
+    <xsl:choose><xsl:when test="@href = $LINK">
+        <xsl:choose><xsl:when test="$YEAR and @href='/'">
+            <a href="./"> news </a> <br/>
+        </xsl:when><xsl:otherwise>
+            <xsl:value-of select=" normalize-space(text()) "/><br/>
+        </xsl:otherwise></xsl:choose>
 
-               <xsl:when test="$TRANS and @switchlang">
-                  <xsl:choose>
-
-                     <xsl:when test="contains($TRANS, @switchlang)">
-
-                        <a>
-
-                           <xsl:attribute name="href">
+    </xsl:when><xsl:otherwise>
 
-                              <xsl:value-of select=" concat($ROOT, '/', @switchlang, '/',                         substring-after($LINK, concat('/', $LANG, '/')))"/>
-                           </xsl:attribute>
-
-                           <xsl:value-of select=" normalize-space(text())"/>
-
-                        </a>
-                     </xsl:when>
-
-                     <xsl:otherwise>
-
-                        <a class="notrans">
-                           <xsl:value-of select=" normalize-space(text())"/>
-                        </a>
-                     </xsl:otherwise>
-                  </xsl:choose>
-               </xsl:when>
+        <!--
+          .. If a menu item has the switchlang attribute, then it will point
+          .. to the same document in the specified language.
+          -->
+        <xsl:choose><xsl:when test="$TRANS and @switchlang">
 
-               <xsl:otherwise>
-
-                  <a>
-
-                     <xsl:attribute name="href">
-                        <xsl:choose>
+            <!--
+              .. Check if list of available translations ($TRANS) contains
+              .. the language we are going to generate link to.
+              .. If yes - generate link, otherwise just name the language.
+              -->
+            <xsl:choose><xsl:when test="contains($TRANS, @switchlang)">
+                <a>
+                <xsl:attribute name="href">
+                    <xsl:value-of select=" concat($ROOT, '/', @switchlang, '/',
+                        substring-after($LINK, concat('/', $LANG, '/'))) "/>
+                </xsl:attribute>
+                <xsl:value-of select=" normalize-space(text()) "/>
+                </a>
 
-                           <xsl:when test="starts-with(@href, $DIRNAME)">
-                              <xsl:choose>
-
-                                 <xsl:when test="substring-after(@href, $DIRNAME) = ''">
+            </xsl:when><xsl:otherwise>
+                <a class="notrans"> <xsl:value-of select=" normalize-space(text()) "/> </a>
+            </xsl:otherwise></xsl:choose>
+        </xsl:when><xsl:otherwise>
 
-                                    <xsl:text>./</xsl:text>
-                                 </xsl:when>
-
-                                 <xsl:otherwise>
+            <a>
+            <xsl:attribute name="href">
 
-                                    <xsl:value-of select=" substring-after(@href, $DIRNAME)"/>
-                                 </xsl:otherwise>
-                              </xsl:choose>
-                           </xsl:when>
-
-                           <xsl:otherwise>
-
-                              <xsl:value-of select=" concat($ROOT, @href)"/>
-                           </xsl:otherwise>
-                        </xsl:choose>
-                     </xsl:attribute>
-
-                     <xsl:value-of select=" normalize-space(text())"/>
-
-                  </a>
+                <xsl:choose><xsl:when test="starts-with(@href, $DIRNAME)">
+                    <xsl:choose><xsl:when test="substring-after(@href, $DIRNAME) = ''">
+                        <xsl:text>./</xsl:text>
+                    </xsl:when><xsl:otherwise>
+                        <xsl:value-of select=" substring-after(@href, $DIRNAME) "/>
+                    </xsl:otherwise></xsl:choose>
 
-                  <xsl:if test="@lang">
-                     <xsl:text> [</xsl:text>
-                     <xsl:value-of select="@lang"/>
-                     <xsl:text>]</xsl:text>
-                  </xsl:if>
-               </xsl:otherwise>
-            </xsl:choose>
+                </xsl:when><xsl:otherwise>
+                    <xsl:value-of select=" concat($ROOT, @href) "/>
+                </xsl:otherwise></xsl:choose>
+            </xsl:attribute>
+            <xsl:value-of select=" normalize-space(text()) "/>
+            </a>
 
-            <br/>
-         </xsl:otherwise>
-      </xsl:choose>
-   </xsl:template>
+            <xsl:if test="@lang"> <xsl:text> [</xsl:text> <xsl:value-of select="@lang"/> <xsl:text>]</xsl:text></xsl:if>
+        </xsl:otherwise></xsl:choose>
 
-   <xsl:template match="menu/item[@year]">
+        <br/>
+    </xsl:otherwise></xsl:choose>
+</xsl:template>
 
-      <xsl:if test="$YEAR or $LINK='/'">
-         <xsl:choose>
-
-            <xsl:when test="$YEAR=@year">
 
-               <xsl:value-of select="@year"/> 
-               <br/>
-            </xsl:when>
-
-            <xsl:otherwise>
-
-               <xsl:if test="@href"> 
-                  <a href="{@href}">
-                     <xsl:value-of select="@year"/>
-                  </a>
-               </xsl:if>
-
-               <br/>
-            </xsl:otherwise>
-         </xsl:choose>
-      </xsl:if>
-   </xsl:template>
+<xsl:template match="menu/item[@year]">
+    <xsl:if test="$YEAR or $LINK='/'">
+        <xsl:choose><xsl:when test="$YEAR=@year">
+            <xsl:value-of select="@year"/> <br/>
+        </xsl:when><xsl:otherwise>
+            <xsl:if test="@href"> <a href="{@href}"> <xsl:value-of select="@year"/> </a> </xsl:if>
+            <br/>
+        </xsl:otherwise></xsl:choose>
+    </xsl:if>
+</xsl:template>
 
-   <xsl:template match="menu/item[starts-with(@href, 'http://') or starts-with(@href, 'https://')]">
-
-      <a href="{@href}">
-         <xsl:value-of select=" normalize-space(text())"/>
-      </a>
 
-      <xsl:if test="@lang">
-         <xsl:text> [</xsl:text>
-         <xsl:value-of select="@lang"/>
-         <xsl:text>]</xsl:text>
-      </xsl:if>
+<xsl:template match="menu/item[starts-with(@href, 'http://') or starts-with(@href, 'https://')]">
+    <a href="{@href}"> <xsl:value-of select=" normalize-space(text()) "/> </a>
+    <xsl:if test="@lang"> <xsl:text> [</xsl:text> <xsl:value-of select="@lang"/> <xsl:text>]</xsl:text></xsl:if>
+    <br/>
+</xsl:template>
 
-      <br/>
-   </xsl:template>
 
-   <xsl:template match="menu/item[not(@href) and not(@year)]">
-
-      <xsl:value-of select=" normalize-space(text())"/> 
-      <br/>
-   </xsl:template>
+<xsl:template match="menu/item[not(@href) and not(@year)]">
+    <xsl:value-of select=" normalize-space(text()) "/> <br/>
+</xsl:template>
 
 </xsl:stylesheet>
--- a/xslt/news.xslt	Fri Feb 21 20:15:37 2014 +0400
+++ b/xslt/news.xslt	Fri Feb 28 20:12:47 2014 +0400
@@ -1,109 +1,76 @@
 <?xml version="1.0" encoding="utf-8"?>
+<!--
+  Copyright (C) Igor Sysoev
+  Copyright (C) Nginx, Inc.
+  -->
+
 <xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0">
 
-   <xsl:output indent="no" version="4.0" encoding="utf-8" method="html"/>
-
-   <xsl:strip-space elements="*"/>
-
-   <xsl:param select="'../xml'" name="XML"/>
-
-   <xsl:param name="YEAR"/>
+<xsl:output method="html" version="4.0" indent="no" encoding="utf-8"/>
 
-   <xsl:param name="ORIGIN"/>
-
-   <xsl:param name="TRANS"/>
-
-   <xsl:variable select="'http://nginx.org'" name="SITE"/>
-
-   <xsl:variable select="/news/@link" name="LINK"/>
-
-   <xsl:variable select="/news/@lang" name="LANG"/>
+<xsl:strip-space elements="*"/>
 
-   <xsl:include href="dirname.xslt"/>
-
-   <xsl:include href="link.xslt"/>
-
-   <xsl:include href="style.xslt"/>
-
-   <xsl:include href="body.xslt"/>
+<!--
+  .. a current directory of a XSLT script is where the script is stored,
+  .. but not where XSLT processor has been started to run the script
+  -->
+<xsl:param select="'../xml'" name="XML"/>
+<xsl:param name="YEAR"/>
+<xsl:param name="ORIGIN"/>
+<xsl:param name="TRANS"/>
 
-   <xsl:include href="menu.xslt"/>
-
-   <xsl:include href="ga.xslt"/>
-
-   <xsl:include href="content.xslt"/>
-
-   <xsl:template match="/news">
-
-      <html>
-         <head>
+<xsl:variable select="'http://nginx.org'" name="SITE"/>
+<xsl:variable select="/news/@link" name="LINK"/>
+<xsl:variable select="/news/@lang" name="LANG"/>
 
-            <link rel="alternate" type="application/rss+xml" title="{@name}" href="{$SITE}/index.rss"/>
+<xsl:include href="dirname.xslt"/>
+<xsl:include href="link.xslt"/>
+<xsl:include href="style.xslt"/>
+<xsl:include href="body.xslt"/>
+<xsl:include href="menu.xslt"/>
+<xsl:include href="ga.xslt"/>
+<xsl:include href="content.xslt"/>
 
-            <title>
-               <xsl:value-of select="@name"/>
-               <xsl:if test="$YEAR">
-                  <xsl:text>: </xsl:text>
-                  <xsl:value-of select="$YEAR"/>
-               </xsl:if>
-            </title>
 
-            <xsl:call-template name="style">
-               <xsl:with-param select="@lang" name="lang"/>
-            </xsl:call-template>
+<xsl:template match="/news">
+    <html><head>
 
-            <xsl:call-template name="ga"/>
-
-         </head>
+    <link rel="alternate" type="application/rss+xml" title="{@name}" href="{$SITE}/index.rss"/>
 
-         <xsl:call-template name="body">
-            <xsl:with-param select="@lang" name="lang"/>
-         </xsl:call-template>
+    <title> <xsl:value-of select="@name"/> <xsl:if test="$YEAR"> <xsl:text>: </xsl:text> <xsl:value-of select="$YEAR"/> </xsl:if> </title>
+
+    <xsl:call-template name="style"><xsl:with-param select="@lang" name="lang"/></xsl:call-template><xsl:call-template name="ga"/></head>
 
-      </html>
-   </xsl:template>
+    <xsl:call-template name="body"><xsl:with-param select="@lang" name="lang"/></xsl:call-template></html>
+</xsl:template>
 
-   <xsl:template match="event">
 
-      <xsl:variable name="year">
-         <xsl:value-of select="substring(../event[position()=1]/@date, 1, 4)"/>
-      </xsl:variable>
+<xsl:template match="event">
 
-      <xsl:variable name="y">
-         <xsl:value-of select="substring(@date, 1, 4)"/>
-      </xsl:variable>
+    <xsl:variable name="year"> <xsl:value-of select="substring(../event[position()=1]/@date, 1, 4)"/> </xsl:variable>
+    <xsl:variable name="y"> <xsl:value-of select="substring(@date, 1, 4)"/> </xsl:variable>
 
-      <xsl:if test="position() = 1">
-
-         <xsl:text disable-output-escaping="yes">
+    <xsl:if test="position() = 1">
+        <xsl:text disable-output-escaping="yes">
             &lt;table class="news"&gt;
         </xsl:text>
-      </xsl:if>
-
-      <xsl:if test="(not($YEAR) and ($year = $y or position() &lt; 11)) or $YEAR=$y">
-
-         <tr>
-
-            <td class="date">
-
-               <a name="{@date}"/>
-               <xsl:value-of select="@date"/>
+    </xsl:if>
 
-            </td>
-
-            <td>
-               <xsl:apply-templates select="para"/>
-            </td>
+    <xsl:if test="(not($YEAR) and ($year = $y or position() &lt; 11)) or $YEAR=$y">
+        <tr>
+        <td class="date">
+            <a name="{@date}"/> <xsl:value-of select="@date"/>
+        </td>
+        <td> <xsl:apply-templates select="para"/> </td>
+        </tr>
+    </xsl:if>
 
-         </tr>
-      </xsl:if>
-
-      <xsl:if test="position() = last()">
-
-         <xsl:text disable-output-escaping="yes">
+    <xsl:if test="position() = last()">
+        <xsl:text disable-output-escaping="yes">
             &lt;/table&gt;
         </xsl:text>
-      </xsl:if>
-   </xsl:template>
+    </xsl:if>
+</xsl:template>
+
 
 </xsl:stylesheet>
--- a/xslt/rss.xslt	Fri Feb 21 20:15:37 2014 +0400
+++ b/xslt/rss.xslt	Fri Feb 28 20:12:47 2014 +0400
@@ -1,111 +1,77 @@
 <?xml version="1.0" encoding="utf-8"?>
-<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:date="http://exslt.org/dates-and-times" version="1.0">
-
-   <xsl:output indent="no" encoding="utf-8"/>
-
-   <xsl:strip-space elements="*"/>
-
-   <xsl:param select="'../xml'" name="XML"/>
-
-   <xsl:param name="YEAR"/>
+<!--
+  Copyright (C) Igor Sysoev
+  Copyright (C) Nginx, Inc.
+  -->
 
-   <xsl:variable select="'http://nginx.org'" name="SITE"/>
-
-   <xsl:variable select="/news/@link" name="LINK"/>
-
-   <xsl:include href="dirname.xslt"/>
+<xsl:stylesheet xmlns:date="http://exslt.org/dates-and-times" xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0">
 
-   <xsl:include href="link.xslt"/>
-
-   <xsl:include href="menu.xslt"/>
+<xsl:output indent="no" encoding="utf-8"/>
 
-   <xsl:include href="content.xslt"/>
-
-   <xsl:template match="/news">
+<xsl:strip-space elements="*"/>
 
-      <rss version="2.0">
-
-         <channel>
-
-            <title>
-               <xsl:value-of select="@name"/>
-            </title>
-
-            <link>
-               <xsl:value-of select="$SITE"/>
-            </link>
+<!--
+  .. a current directory of a XSLT script is where the script is stored,
+  .. but not where XSLT processor has been started to run the script
+  -->
+<xsl:param select="'../xml'" name="XML"/>
+<xsl:param name="YEAR"/>
 
-            <description/>
-
-            <xsl:apply-templates select="event"/>
-
-         </channel>
+<xsl:variable select="'http://nginx.org'" name="SITE"/>
+<xsl:variable select="/news/@link" name="LINK"/>
 
-      </rss>
-   </xsl:template>
+<xsl:include href="dirname.xslt"/>
+<xsl:include href="link.xslt"/>
+<xsl:include href="menu.xslt"/>
+<xsl:include href="content.xslt"/>
 
-   <xsl:template match="event[position() &lt;= 10]">
-
-      <xsl:variable name="year">
-         <xsl:value-of select="substring(../event[position()=1]/@date, 1, 4)"/>
-      </xsl:variable>
 
-      <xsl:variable name="y">
-         <xsl:value-of select="substring(@date, 1, 4)"/>
-      </xsl:variable>
-
-      <xsl:variable name="page">
-
-         <xsl:if test="$year != $y">
-
-            <xsl:value-of select="concat($y, '.html')"/>
-         </xsl:if>
-      </xsl:variable>
+<xsl:template match="/news">
+    <rss version="2.0">
+    <channel>
+    <title> <xsl:value-of select="@name"/> </title>
+    <link> <xsl:value-of select="$SITE"/> </link>
+    <description/>
+    <xsl:apply-templates select="event"/>
+    </channel>
+    </rss>
+</xsl:template>
 
-      <item>
+
+<xsl:template match="event[position() &lt;= 10]">
 
-         <title>
-
-            <xsl:apply-templates select="para[1]//text()"/> 
-         </title>
+    <xsl:variable name="year"> <xsl:value-of select="substring(../event[position()=1]/@date, 1, 4)"/> </xsl:variable>
+    <xsl:variable name="y"> <xsl:value-of select="substring(@date, 1, 4)"/> </xsl:variable>
 
-         <guid>
-            <xsl:value-of select="$SITE"/>
-            <xsl:text>/</xsl:text>
-            <xsl:value-of select="$page"/>
-            <xsl:text>#</xsl:text>
-            <xsl:value-of select="@date"/>
-         </guid>
+    <xsl:variable name="page">
+        <xsl:if test="$year != $y">
+            <xsl:value-of select="concat($y, '.html')"/>
+        </xsl:if>
+    </xsl:variable>
 
-         <link>
-            <xsl:value-of select="$SITE"/>
-            <xsl:text>/</xsl:text>
-            <xsl:value-of select="$page"/>
-            <xsl:text>#</xsl:text>
-            <xsl:value-of select="@date"/>
-         </link>
-
-         <pubdate>
-
-            <xsl:value-of select=" concat(date:day-abbreviation(@date), ', ',                       format-number(date:day-in-month(@date), '00'), ' ',                       date:month-abbreviation(@date), ' ',                       date:year(@date),                       ' 00:00:00 +0300')"/>
-
-         </pubdate>
+    <item>
+        <title> <xsl:apply-templates select="para[1]//text()"/> </title>
+        <guid> <xsl:value-of select="$SITE"/> <xsl:text>/</xsl:text> <xsl:value-of select="$page"/> <xsl:text>#</xsl:text> <xsl:value-of select="@date"/> </guid>
+        <link> <xsl:value-of select="$SITE"/> <xsl:text>/</xsl:text> <xsl:value-of select="$page"/> <xsl:text>#</xsl:text> <xsl:value-of select="@date"/> </link>
+        <pubdate>
+            <xsl:value-of select=" concat(date:day-abbreviation(@date), ', ',
+                      format-number(date:day-in-month(@date), '00'), ' ',
+                      date:month-abbreviation(@date), ' ',
+                      date:year(@date),
+                      ' 00:00:00 +0300') "/>
+        </pubdate>
 
-         <description>
-
+        <description>
             <xsl:text disable-output-escaping="yes">&lt;![CDATA[</xsl:text>
-
             <xsl:value-of select="@date"/>
-
             <xsl:apply-templates select="para"/>
+            <xsl:text disable-output-escaping="yes">]]&gt;</xsl:text>
+         </description>
+    </item>
+</xsl:template>
 
-            <xsl:text disable-output-escaping="yes">]]&gt;</xsl:text>
-
-         </description>
 
-      </item>
-   </xsl:template>
+<xsl:template match="event"> </xsl:template>
 
-   <xsl:template match="event"/>
 
 </xsl:stylesheet>
--- a/xslt/security.xslt	Fri Feb 21 20:15:37 2014 +0400
+++ b/xslt/security.xslt	Fri Feb 28 20:12:47 2014 +0400
@@ -1,152 +1,94 @@
 <?xml version="1.0" encoding="utf-8"?>
+<!--
+  Copyright (C) Igor Sysoev
+  Copyright (C) Nginx, Inc.
+  -->
+
 <xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0">
 
-   <xsl:template match="security"> 
-      <ul>
-         <xsl:apply-templates/>
-      </ul>
-   </xsl:template>
+<xsl:template match="security"> <ul> <xsl:apply-templates/> </ul> </xsl:template>
 
-   <xsl:template match="security/item">
+
+<xsl:template match="security/item">
 
-      <li>
-
-         <p>
+    <li>
+    <p>
 
-            <xsl:value-of select="@name"/>
-            <br/>
-            <xsl:choose>
+    <xsl:value-of select="@name"/><br/>
 
-               <xsl:when test="@severity = 'major'">
-
-                  <xsl:text>Severity: </xsl:text> 
-                  <b>
-                     <xsl:value-of select="@severity"/>
-                  </b>
-                  <br/>
-               </xsl:when>
+    <xsl:choose><xsl:when test="@severity = 'major'">
+        <xsl:text>Severity: </xsl:text> <b><xsl:value-of select="@severity"/></b><br/>
+    </xsl:when><xsl:otherwise>
+        <xsl:text>Severity: </xsl:text> <xsl:value-of select="@severity"/><br/>
+    </xsl:otherwise></xsl:choose>
 
-               <xsl:otherwise>
-
-                  <xsl:text>Severity: </xsl:text>
-                  <xsl:value-of select="@severity"/>
-                  <br/>
-               </xsl:otherwise>
-            </xsl:choose>
-
-            <xsl:if test="@advisory">
+    <xsl:if test="@advisory">
+        <a href="{@advisory}"> <xsl:text>Advisory</xsl:text> </a>
+        <br/>
+    </xsl:if>
 
-               <a href="{@advisory}">
-                  <xsl:text>Advisory</xsl:text>
-               </a>
-
-               <br/>
-            </xsl:if>
-
-            <xsl:if test="@cert">
-
-               <a>
-
-                  <xsl:attribute name="href">
-
-                     <xsl:text>http://www.kb.cert.org/vuls/id/</xsl:text>
-                     <xsl:value-of select="@cert"/>
-                  </xsl:attribute>
+    <xsl:if test="@cert">
+        <a>
+        <xsl:attribute name="href">
+            <xsl:text>http://www.kb.cert.org/vuls/id/</xsl:text> <xsl:value-of select="@cert"/>
+        </xsl:attribute>
+        <xsl:text>VU#</xsl:text> <xsl:value-of select="@cert"/>
+        </a>
+    </xsl:if>
 
-                  <xsl:text>VU#</xsl:text>
-                  <xsl:value-of select="@cert"/>
-
-               </a>
-            </xsl:if>
-
-            <xsl:if test="@cve">
-
-               <xsl:if test="@cert">
-
-                  <xsl:text>  </xsl:text>
-               </xsl:if>
-
-               <a>
-
-                  <xsl:attribute name="href">
-
-                     <xsl:text>http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-</xsl:text>
-                     <xsl:value-of select="@cve"/>
-                  </xsl:attribute>
+    <xsl:if test="@cve">
+        <xsl:if test="@cert">
+            <xsl:text>&#xA0;&#xA0;</xsl:text>
+        </xsl:if>
+        <a>
+        <xsl:attribute name="href">
+            <xsl:text>http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-</xsl:text> <xsl:value-of select="@cve"/>
+        </xsl:attribute>
+        <xsl:text>CVE-</xsl:text> <xsl:value-of select="@cve"/>
+        </a>
+    </xsl:if>
 
-                  <xsl:text>CVE-</xsl:text>
-                  <xsl:value-of select="@cve"/>
-
-               </a>
-            </xsl:if>
-
-            <xsl:if test="@core">
-
-               <xsl:if test="@cert or @cve">
-
-                  <xsl:text>  </xsl:text>
-               </xsl:if>
-
-               <a href="{@href}">
+    <xsl:if test="@core">
+        <xsl:if test="@cert or @cve">
+            <xsl:text>&#xA0;&#xA0;</xsl:text>
+        </xsl:if>
+        <a href="{@href}"> <xsl:value-of select="@core"/> </a>
+    </xsl:if>
 
-                  <xsl:value-of select="@core"/> 
-               </a>
-            </xsl:if>
-
-            <xsl:if test="@cert or @cve or @core">
-
-               <br/>
-            </xsl:if>
+    <xsl:if test="@cert or @cve or @core">
+        <br/>
+    </xsl:if>
 
-            <xsl:text>Not vulnerable: </xsl:text>
-            <xsl:value-of select="@good"/>
-            <br/>
+    <xsl:text>Not vulnerable: </xsl:text> <xsl:value-of select="@good"/> <br/>
+    <xsl:text>Vulnerable: </xsl:text> <xsl:value-of select="@vulnerable"/>
 
-            <xsl:text>Vulnerable: </xsl:text>
-            <xsl:value-of select="@vulnerable"/>
-
-            <xsl:for-each select="patch">
-
-               <br/>
-
-               <a>
+    <xsl:for-each select="patch">
+        <br/>
 
-                  <xsl:attribute name="href">
-
-                     <xsl:text>/download/</xsl:text>
-                     <xsl:value-of select="@name"/>
-                  </xsl:attribute>
-
-                  <xsl:text>The patch</xsl:text>
+        <a>
+        <xsl:attribute name="href">
+            <xsl:text>/download/</xsl:text> <xsl:value-of select="@name"/>
+        </xsl:attribute>
+        <xsl:text>The patch</xsl:text>
+        </a>
 
-               </a>
-
-               <xsl:text>  </xsl:text>
-
-               <a>
-
-                  <xsl:attribute name="href">
+        <xsl:text>&#xA0;&#xA0;</xsl:text>
 
-                     <xsl:text>/download/</xsl:text>
-                     <xsl:value-of select="@name"/>
-                     <xsl:text>.asc</xsl:text>
-                  </xsl:attribute>
-
-                  <xsl:text>pgp</xsl:text>
-
-               </a>
-
-               <xsl:if test="@versions">
+        <a>
+        <xsl:attribute name="href">
+            <xsl:text>/download/</xsl:text> <xsl:value-of select="@name"/> <xsl:text>.asc</xsl:text>
+        </xsl:attribute>
+        <xsl:text>pgp</xsl:text>
+        </a>
 
-                  <xsl:text>  (for </xsl:text>
-                  <xsl:value-of select="@versions"/>
-                  <xsl:text>)</xsl:text>
-               </xsl:if>
-            </xsl:for-each>
+        <xsl:if test="@versions">
+            <xsl:text>&#xA0;&#xA0;(for </xsl:text> <xsl:value-of select="@versions"/> <xsl:text>)</xsl:text>
+        </xsl:if>
+    </xsl:for-each>
 
-         </p>
+    </p>
+    </li>
+</xsl:template>
 
-      </li>
-   </xsl:template>
 
 </xsl:stylesheet>
--- a/xslt/style.xslt	Fri Feb 21 20:15:37 2014 +0400
+++ b/xslt/style.xslt	Fri Feb 28 20:12:47 2014 +0400
@@ -1,23 +1,83 @@
 <?xml version="1.0" encoding="utf-8"?>
+<!--
+  Copyright (C) Igor Sysoev
+  Copyright (C) Nginx, Inc.
+  -->
+
 <xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0">
 
-   <xsl:template name="style">
-      <xsl:param name="lang"/>
-
-      <style type="text/css">
-         <xsl:value-of select=" normalize-space('         body              { background:     white;                             color:          black;                             font-family:    Georgia, serif; }         p                 { text-align:     justify; }         table.news p      { margin-top:     0; }         table.news td     { vertical-align: baseline; }         table.news .date  { text-align:     right;                             padding-right:  0.5em;                             white-space:    nowrap; }         table.donors td   { vertical-align: baseline; }         table.donors li   { text-align:     left; }         div.directive     { background:     #EEEEEE;                             padding:        10pt 10pt 10pt 0; }         div.directive td  { vertical-align: baseline; }         div.directive pre { padding:        0;                             margin:         0; }         div.directive p   { margin:         5pt 0 0 0;                             font-size:      80%; }         div#banner        { background:     #EEEEEE;                             padding:        10pt 10pt 10pt 0; }         a.notrans         { color:          gray;                             text-decoration:none; }         span.initial      { font-size:      200%;                             float:          left;                             padding-right:  10pt;}         li                { text-align:     justify;                             padding-top:    0.5em; }         .compact li       { padding-top:    0; }         dt                { padding-top:    0.5em; }         .compact dt       { padding-top:    0; }         dd                { text-align:     justify; }         td.list           { background:     #EEEEEE; }         blockquote.note   { text-align:     justify;                             background:     #EEEEEE;                             border:         none;                             margin:         1em;                             padding:        0.5em; }         blockquote.example {                             background:     transparent;                             border:         none;                             margin:         1em;                             padding:        0.5em; }         blockquote.example pre {                             padding:        0;                             margin:         0; }         sup               { font-size:      50%; }         ')"/>
-
-         <xsl:if test="$lang = 'he'">
+<xsl:template name="style"><xsl:param name="lang"/>
 
-            <xsl:value-of select=" normalize-space('         pre               { text-align:     left;                             direction:      ltr; }         code              { direction:      ltr;                             unicode-bidi:   embed; }         .ltr              { direction:      ltr;                             unicode-bidi:   embed; }         ')"/>
-         </xsl:if>
-
-         <xsl:if test="$lang = 'cn'">
+    <style type="text/css"><xsl:value-of select=" normalize-space('
+        body              { background:     white;
+                            color:          black;
+                            font-family:    Georgia, serif; }
+        p                 { text-align:     justify; }
+        table.news p      { margin-top:     0; }
+        table.news td     { vertical-align: baseline; }
+        table.news .date  { text-align:     right;
+                            padding-right:  0.5em;
+                            white-space:    nowrap; }
+        table.donors td   { vertical-align: baseline; }
+        table.donors li   { text-align:     left; }
+        div.directive     { background:     #EEEEEE;
+                            padding:        10pt 10pt 10pt 0; }
+        div.directive td  { vertical-align: baseline; }
+        div.directive pre { padding:        0;
+                            margin:         0; }
+        div.directive p   { margin:         5pt 0 0 0;
+                            font-size:      80%; }
+        div#banner        { background:     #EEEEEE;
+                            padding:        10pt 10pt 10pt 0; }
+        a.notrans         { color:          gray;
+                            text-decoration:none; }
+        span.initial      { font-size:      200%;
+                            float:          left;
+                            padding-right:  10pt;}
+        li                { text-align:     justify;
+                            padding-top:    0.5em; }
+        .compact li       { padding-top:    0; }
+        dt                { padding-top:    0.5em; }
+        .compact dt       { padding-top:    0; }
+        dd                { text-align:     justify; }
+        td.list           { background:     #EEEEEE; }
+        blockquote.note   { text-align:     justify;
+                            background:     #EEEEEE;
+                            border:         none;
+                            margin:         1em;
+                            padding:        0.5em; }
+        blockquote.example {
+                            background:     transparent;
+                            border:         none;
+                            margin:         1em;
+                            padding:        0.5em; }
+        blockquote.example pre {
+                            padding:        0;
+                            margin:         0; }
+        sup               { font-size:      50%; }
+        ') "/>
 
-            <xsl:value-of select=" normalize-space('         p                 { text-align:     left; }         li                { text-align:     left; }         dd                { text-align:     left; }         blockquote.note   { text-align:     left; }         ')"/>
-         </xsl:if>
+    <xsl:if test="$lang = 'he'">
+        <xsl:value-of select=" normalize-space('
+        pre               { text-align:     left;
+                            direction:      ltr; }
+        code              { direction:      ltr;
+                            unicode-bidi:   embed; }
+        .ltr              { direction:      ltr;
+                            unicode-bidi:   embed; }
+        ') "/>
+    </xsl:if>
 
-      </style>
-   </xsl:template>
+    <xsl:if test="$lang = 'cn'">
+        <xsl:value-of select=" normalize-space('
+        p                 { text-align:     left; }
+        li                { text-align:     left; }
+        dd                { text-align:     left; }
+        blockquote.note   { text-align:     left; }
+        ') "/>
+    </xsl:if>
+
+    </style>
+</xsl:template>
 
 </xsl:stylesheet>
--- a/xslt/versions.xslt	Fri Feb 21 20:15:37 2014 +0400
+++ b/xslt/versions.xslt	Fri Feb 28 20:12:47 2014 +0400
@@ -1,19 +1,23 @@
 <?xml version="1.0" encoding="utf-8"?>
+<!--
+  Copyright (C) Igor Sysoev
+  Copyright (C) Nginx, Inc.
+  -->
+
 <xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0">
 
-   <xsl:template match="mainline_version">
-
-      <xsl:apply-templates select="document(concat($XML, '/versions.xml'))                 /versions/download[@tag='mainline'][1]/item[1]/@ver"/>
-   </xsl:template>
-
-   <xsl:template match="stable_version">
+<xsl:template match="mainline_version">
+   <xsl:apply-templates select="document(concat($XML, '/versions.xml'))
+                /versions/download[@tag='mainline'][1]/item[1]/@ver"/>
+</xsl:template>
 
-      <xsl:apply-templates select="document(concat($XML, '/versions.xml'))                 /versions/download[@tag='stable'][1]/item[1]/@ver"/>
-   </xsl:template>
+<xsl:template match="stable_version">
+   <xsl:apply-templates select="document(concat($XML, '/versions.xml'))
+                /versions/download[@tag='stable'][1]/item[1]/@ver"/>
+</xsl:template>
 
-   <xsl:template match="commercial_version">
-
-      <a href="http://nginx.com/products/">commercial subscription</a>
-   </xsl:template>
+<xsl:template match="commercial_version">
+    <a href="http://nginx.com/products/">commercial subscription</a>
+</xsl:template>
 
 </xsl:stylesheet>