]> git.saurik.com Git - bison.git/blobdiff - data/xslt/xml2text.xsl
Merge remote-tracking branch 'origin/maint'
[bison.git] / data / xslt / xml2text.xsl
index 4bd119fce9ca57d3b4e3ec50f1e5e456badf3f5a..8b3f5ae4c39a4c624c164c662a497bad94a75335 100644 (file)
@@ -3,7 +3,7 @@
 <!--
     xml2text.xsl - transform Bison XML Report into plain text.
 
-    Copyright (C) 2007-2011 Free Software Foundation, Inc.
+    Copyright (C) 2007-2012 Free Software Foundation, Inc.
 
     This file is part of Bison, the GNU Compiler Compiler.
 
 <xsl:template match="automaton/state">
   <xsl:param name="pad"/>
   <xsl:text>&#10;&#10;</xsl:text>
-  <xsl:text>state </xsl:text>
+  <xsl:text>State </xsl:text>
   <xsl:value-of select="@number"/>
   <xsl:text>&#10;&#10;</xsl:text>
   <xsl:apply-templates select="itemset/item">
     <xsl:text>&#10;</xsl:text>
     <xsl:apply-templates select="transition[@type = $type]">
       <xsl:with-param name="pad">
-        <xsl:call-template name="max-width-symbol">
-          <xsl:with-param name="node" select="transition[@type = $type]"/>
-        </xsl:call-template>
+       <xsl:call-template name="max-width-symbol">
+         <xsl:with-param name="node" select="transition[@type = $type]"/>
+       </xsl:call-template>
       </xsl:with-param>
     </xsl:apply-templates>
   </xsl:if>
     <xsl:text>&#10;</xsl:text>
     <xsl:apply-templates select="error">
       <xsl:with-param name="pad">
-        <xsl:call-template name="max-width-symbol">
-          <xsl:with-param name="node" select="error"/>
-        </xsl:call-template>
+       <xsl:call-template name="max-width-symbol">
+         <xsl:with-param name="node" select="error"/>
+       </xsl:call-template>
       </xsl:with-param>
     </xsl:apply-templates>
   </xsl:if>
     <xsl:text>&#10;</xsl:text>
     <xsl:apply-templates select="reduction">
       <xsl:with-param name="pad">
-        <xsl:call-template name="max-width-symbol">
-          <xsl:with-param name="node" select="reduction"/>
-        </xsl:call-template>
+       <xsl:call-template name="max-width-symbol">
+         <xsl:with-param name="node" select="reduction"/>
+       </xsl:call-template>
       </xsl:with-param>
     </xsl:apply-templates>
   </xsl:if>
 <xsl:template match="item">
   <xsl:param name="pad"/>
   <xsl:param name="prev-rule-number"
-             select="preceding-sibling::item[1]/@rule-number"/>
+            select="preceding-sibling::item[1]/@rule-number"/>
   <xsl:apply-templates
     select="key('bison:ruleByNumber', current()/@rule-number)"
   >
   <xsl:choose>
     <xsl:when test="$itemset != 'true' and $prev-lhs = lhs[text()]">
       <xsl:call-template name="lpad">
-        <xsl:with-param name="str" select="'|'"/>
-        <xsl:with-param name="pad" select="number(string-length(lhs[text()])) + 1"/>
+       <xsl:with-param name="str" select="'|'"/>
+       <xsl:with-param name="pad" select="number(string-length(lhs[text()])) + 1"/>
       </xsl:call-template>
     </xsl:when>
     <xsl:when test="$itemset = 'true' and $prev-lhs = lhs[text()]">
       <xsl:call-template name="lpad">
-        <xsl:with-param name="str" select="'|'"/>
-        <xsl:with-param name="pad" select="number(string-length(lhs[text()])) + 1"/>
+       <xsl:with-param name="str" select="'|'"/>
+       <xsl:with-param name="pad" select="number(string-length(lhs[text()])) + 1"/>
       </xsl:call-template>
     </xsl:when>
     <xsl:otherwise>
       <xsl:value-of select="@rule"/>
       <xsl:text> (</xsl:text>
       <xsl:value-of
-          select="key('bison:ruleByNumber', current()/@rule)/lhs[text()]"/>
+         select="key('bison:ruleByNumber', current()/@rule)/lhs[text()]"/>
       <xsl:text>)</xsl:text>
     </xsl:otherwise>
   </xsl:choose>
   <xsl:variable name="longest">
     <xsl:for-each select="$node">
       <xsl:sort data-type="number" select="string-length(@symbol)"
-                order="descending"/>
+               order="descending"/>
       <xsl:if test="position() = 1">
-        <xsl:value-of select="string-length(@symbol)"/>
+       <xsl:value-of select="string-length(@symbol)"/>
       </xsl:if>
     </xsl:for-each>
   </xsl:variable>
     </xsl:when>
     <xsl:otherwise>
       <xsl:call-template name="space">
-        <xsl:with-param name="repeat" select="$diff"/>
+       <xsl:with-param name="repeat" select="$diff"/>
       </xsl:call-template>
       <xsl:value-of select="$str"/>
     </xsl:otherwise>
     <xsl:otherwise>
       <xsl:value-of select="$str"/>
       <xsl:call-template name="space">
-        <xsl:with-param name="repeat" select="$diff"/>
+       <xsl:with-param name="repeat" select="$diff"/>
       </xsl:call-template>
     </xsl:otherwise>
   </xsl:choose>
 </xsl:template>
 
-<xsl:template name="space">
-  <xsl:param name="repeat">0</xsl:param>
-  <xsl:param name="fill" select="' '"/>
-  <xsl:if test="number($repeat) &gt;= 1">
-    <xsl:call-template name="space">
-      <xsl:with-param name="repeat" select="$repeat - 1"/>
-      <xsl:with-param name="fill" select="$fill"/>
-    </xsl:call-template>
-    <xsl:value-of select="$fill"/>
-  </xsl:if>
-</xsl:template>
-
 <xsl:template name="line-wrap">
   <xsl:param name="line-length"/> <!-- required -->
   <xsl:param name="first-line-length" select="$line-length"/>