forrest-svn mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From cross...@apache.org
Subject svn commit: r526507 - /forrest/trunk/etc/test-whitespace/html2document.xsl
Date Sun, 08 Apr 2007 01:57:56 GMT
Author: crossley
Date: Sat Apr  7 18:57:56 2007
New Revision: 526507

URL: http://svn.apache.org/viewvc?view=rev&rev=526507
Log:
Add test for <xsl:text>

Modified:
    forrest/trunk/etc/test-whitespace/html2document.xsl

Modified: forrest/trunk/etc/test-whitespace/html2document.xsl
URL: http://svn.apache.org/viewvc/forrest/trunk/etc/test-whitespace/html2document.xsl?view=diff&rev=526507&r1=526506&r2=526507
==============================================================================
--- forrest/trunk/etc/test-whitespace/html2document.xsl (original)
+++ forrest/trunk/etc/test-whitespace/html2document.xsl Sat Apr  7 18:57:56 2007
@@ -15,300 +15,262 @@
   See the License for the specific language governing permissions and
   limitations under the License.
 -->
-
 <xsl:stylesheet
     version="1.0"
     xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
-
-    <xsl:key name="h2s" match="h2" use="generate-id(preceding-sibling::h1[1])"/>
-    <xsl:key name="h3s" match="h3" use="generate-id(preceding-sibling::h2[1])"/>
-    <xsl:key name="h4s" match="h4" use="generate-id(preceding-sibling::h3[1])"/>
-    <xsl:key name="h5s" match="h5" use="generate-id(preceding-sibling::h4[1])"/>
-    <xsl:key name="h6s" match="h6" use="generate-id(preceding-sibling::h5[1])"/>
-
-    <xsl:template match="/">
-     <xsl:choose>
-   	   <xsl:when test="name(child::node())='html'">
-         <xsl:apply-templates/>
-	   </xsl:when>
-	     
-	   <xsl:otherwise>
-	     <document>
-	      <header><title>Error in conversion</title></header>
-	      <body>
-	       <warning>This file is not in a html format, please convert manually.</warning>
-	      </body>
-	     </document>
-	   </xsl:otherwise>
-     </xsl:choose>
-    </xsl:template>
-           
-    <xsl:template match="html">
+  <xsl:key name="h2s" match="h2" use="generate-id(preceding-sibling::h1[1])"/>
+  <xsl:key name="h3s" match="h3" use="generate-id(preceding-sibling::h2[1])"/>
+  <xsl:key name="h4s" match="h4" use="generate-id(preceding-sibling::h3[1])"/>
+  <xsl:key name="h5s" match="h5" use="generate-id(preceding-sibling::h4[1])"/>
+  <xsl:key name="h6s" match="h6" use="generate-id(preceding-sibling::h5[1])"/>
+  <xsl:template match="/">
+    <xsl:choose>
+      <xsl:when test="name(child::node())='html'">
+        <xsl:apply-templates/>
+      </xsl:when>
+      <xsl:otherwise>
         <document>
-            <xsl:apply-templates/>
+          <header>
+            <title>Error in conversion</title>
+          </header>
+          <body>
+            <warning>
+              This file is not in a html format, please convert manually.
+            </warning>
+            <xsl:text> </xsl:text>
+          </body>
         </document>
-    </xsl:template>
-
-    <xsl:template match="head">
-        <header>
-            <xsl:apply-templates/>
-        </header>
-    </xsl:template>
-        
-    <xsl:template match="meta">
-        <xsl:copy>
-            <xsl:apply-templates select="node()|@*"/>
-        </xsl:copy>
-    </xsl:template>  
-    
-    <!--infer structure from sibling headings-->
-    <xsl:template match="body">
-       <body>
-          <xsl:apply-templates select="*[1]" mode="next"/>
-          <xsl:call-template name="process_h1"/>
-       </body>
-    </xsl:template>
-    
-    <xsl:template name="process_h1">
-       <xsl:for-each select="h1">
-         <section>
-           <xsl:if test="a/@name">
-             <xsl:attribute name="id"><xsl:value-of select="a/@name"/></xsl:attribute>
-           </xsl:if>
-           <title><xsl:apply-templates/></title>
-           <xsl:apply-templates select="following-sibling::*[1]" mode="next"/>
-           <xsl:for-each select="key('h2s',generate-id(.))">
-             <section>
-               <title><xsl:apply-templates/></title>
-               <xsl:apply-templates select="following-sibling::*[1]" mode="next"/>
-               <xsl:for-each select="key('h3s',generate-id(.))">
-                 <section>
-                   <title><xsl:apply-templates/></title>
-                   <xsl:apply-templates select="following-sibling::*[1]"
+      </xsl:otherwise>
+    </xsl:choose>
+  </xsl:template>
+  <xsl:template match="html">
+    <document>
+      <xsl:apply-templates/>
+    </document>
+  </xsl:template>
+  <xsl:template match="head">
+    <header>
+      <xsl:apply-templates/>
+    </header>
+  </xsl:template>
+  <xsl:template match="meta">
+    <xsl:copy>
+      <xsl:apply-templates select="node()|@*"/>
+    </xsl:copy>
+  </xsl:template>
+<!--infer structure from sibling headings-->
+  <xsl:template match="body">
+    <body>
+      <xsl:apply-templates select="*[1]" mode="next"/>
+      <xsl:call-template name="process_h1"/>
+    </body>
+  </xsl:template>
+  <xsl:template name="process_h1">
+    <xsl:for-each select="h1">
+      <section>
+        <xsl:if test="a/@name">
+          <xsl:attribute name="id">
+            <xsl:value-of select="a/@name"/>
+          </xsl:attribute>
+        </xsl:if>
+        <title><xsl:apply-templates/></title>
+        <xsl:apply-templates select="following-sibling::*[1]" mode="next"/>
+        <xsl:for-each select="key('h2s',generate-id(.))">
+          <section>
+            <title><xsl:apply-templates/></title>
+            <xsl:apply-templates select="following-sibling::*[1]" mode="next"/>
+            <xsl:for-each select="key('h3s',generate-id(.))">
+              <section>
+                <title><xsl:apply-templates/></title>
+                <xsl:apply-templates select="following-sibling::*[1]"
                                         mode="next"/>
-                   <xsl:for-each select="key('h4s',generate-id(.))">
-                     <section>
-                       <title><xsl:apply-templates/></title>
-                       <xsl:apply-templates select="following-sibling::*[1]"
+                <xsl:for-each select="key('h4s',generate-id(.))">
+                  <section>
+                    <title><xsl:apply-templates/></title>
+                    <xsl:apply-templates select="following-sibling::*[1]"
                                             mode="next"/>
-                       <xsl:for-each select="key('h5s',generate-id(.))">
-                         <section>
-                           <title><xsl:apply-templates/></title>
-                           <xsl:apply-templates select="following-sibling::*[1]"
+                    <xsl:for-each select="key('h5s',generate-id(.))">
+                      <section>
+                        <title><xsl:apply-templates/></title>
+                        <xsl:apply-templates select="following-sibling::*[1]"
                                                 mode="next"/>
-                           <xsl:for-each select="key('h6s',generate-id(.))">
-                             <section>
-                               <title><xsl:apply-templates/></title>
+                        <xsl:for-each select="key('h6s',generate-id(.))">
+                          <section>
+                            <title><xsl:apply-templates/></title>
                             <xsl:apply-templates select="following-sibling::*[1]" mode="next"/>
-                             </section>
-                           </xsl:for-each>
-                         </section>
-                       </xsl:for-each>
-                     </section>
-                   </xsl:for-each>
-                 </section>
-               </xsl:for-each>
-             </section>
-           </xsl:for-each>
-         </section>
-       </xsl:for-each>
-    </xsl:template>
-    
-    <!--process each sibling in order until the next heading level-->
-
-    <xsl:template match="*" mode="next">
-       <xsl:if test="not( translate( local-name(.),'123456','' ) = 'h' )">
-         <xsl:apply-templates select="."/>
-         <xsl:apply-templates select="following-sibling::*[1]" mode="next"/>
-       </xsl:if>
-    </xsl:template>
-      
-    <xsl:template match="P|p">
+                          </section>
+                        </xsl:for-each>
+                      </section>
+                    </xsl:for-each>
+                  </section>
+                </xsl:for-each>
+              </section>
+            </xsl:for-each>
+          </section>
+        </xsl:for-each>
+      </section>
+    </xsl:for-each>
+  </xsl:template>
+<!--process each sibling in order until the next heading level-->
+  <xsl:template match="*" mode="next">
+    <xsl:if test="not( translate( local-name(.),'123456','' ) = 'h' )">
+      <xsl:apply-templates select="."/>
+      <xsl:apply-templates select="following-sibling::*[1]" mode="next"/>
+    </xsl:if>
+  </xsl:template>
+  <xsl:template match="P|p">
+    <p>
+      <xsl:if test="@class">
+        <xsl:attribute name="class">
+          <xsl:value-of select="@class"/>
+        </xsl:attribute>
+      </xsl:if>
+      <xsl:apply-templates/>
+    </p>
+  </xsl:template>
+  <xsl:template match="img">
+    <xsl:choose>
+      <xsl:when test="name(..)='section'">
+        <figure alt="{@alt}" src= "{@src}"/>
+      </xsl:when>
+      <xsl:otherwise>
+        <img alt="{@alt}" src= "{@src}"/>
+      </xsl:otherwise>
+    </xsl:choose>
+  </xsl:template>
+  <xsl:template match="source|blockquote">
+    <xsl:choose>
+      <xsl:when test="name(..)='p'"><code>
+        <xsl:value-of select="." /></code>
+      </xsl:when>
+      <xsl:otherwise>
+        <source>
+          <xsl:value-of select="." />
+        </source>
+      </xsl:otherwise>
+    </xsl:choose>
+  </xsl:template>
+<!-- convert a to link -->
+  <xsl:template match="a">
+    <xsl:if test="@name">
+<!-- Attach an id to the current node -->
+      <xsl:attribute name="id">
+        <xsl:value-of select="translate(@name, ' $', '__')"/>
+      </xsl:attribute>
+      <xsl:apply-templates/>
+    </xsl:if>
+    <xsl:if test="@href"><link href="{@href}">
+      <xsl:apply-templates/></link>
+    </xsl:if>
+  </xsl:template>
+  <xsl:template match="@valign | @align"/>
+  <xsl:template match="center">
+    <xsl:choose>
+      <xsl:when test="name(..)='p'">
+        <xsl:apply-templates/>
+      </xsl:when>
+      <xsl:otherwise>
         <p>
-          <xsl:if test="@class">
-            <xsl:attribute name="class"><xsl:value-of select="@class"/></xsl:attribute>

-          </xsl:if>
           <xsl:apply-templates/>
         </p>
-    </xsl:template>
-    
-    <xsl:template match="img">
-       <xsl:choose>
-    	<xsl:when test="name(..)='section'">
-          <figure alt="{@alt}" src= "{@src}"/>
-    	</xsl:when>
-    	<xsl:otherwise>
-          <img alt="{@alt}" src= "{@src}"/>
-    	</xsl:otherwise>
-       </xsl:choose>
-    </xsl:template>
-    
-    <xsl:template match="source|blockquote">
-      <xsl:choose>
-    	<xsl:when test="name(..)='p'">
-    	  <code>
-    	    <xsl:value-of select="." />
-    	  </code> 
-    	</xsl:when>
-      
-    	<xsl:otherwise>
-    	  <source>
-    	    <xsl:value-of select="." />
-    	  </source> 
-    	</xsl:otherwise>
-       </xsl:choose>
-    </xsl:template>
-
-  
-    <!-- convert a to link -->
-    <xsl:template match="a">
-      <xsl:if test="@name">
-        <!-- Attach an id to the current node -->
-        <xsl:attribute name="id"><xsl:value-of select="translate(@name, ' $', '__')"/></xsl:attribute>
-        <xsl:apply-templates/>
-      </xsl:if>
-      <xsl:if test="@href">
-        <link href="{@href}">
+      </xsl:otherwise>
+    </xsl:choose>
+  </xsl:template>
+  <xsl:template match="ol">
+    <xsl:choose>
+      <xsl:when test="name(..)='p'">
+<xsl:text disable-output-escaping="yes"><![CDATA[</p>]]></xsl:text>
+        <ol>
           <xsl:apply-templates/>
-        </link>
-      </xsl:if>
-    </xsl:template>
-    
-    <xsl:template match="@valign | @align"/>
-        
-    <xsl:template match="center">
-      <xsl:choose>
-    	<xsl:when test="name(..)='p'">
-    	    <xsl:apply-templates/>
-    	</xsl:when>
-      
-    	<xsl:otherwise>
-    	  <p>
-    	    <xsl:apply-templates/>
-    	  </p> 
-    	</xsl:otherwise>
-       </xsl:choose>
-    </xsl:template>
-
-    <xsl:template match="ol">
-      <xsl:choose>
-    	<xsl:when test="name(..)='p'">
-    	   <xsl:text disable-output-escaping="yes"><![CDATA[</p>]]></xsl:text>
-    	    <ol>
-    	     <xsl:apply-templates/>
-    	    </ol>
-    	   <xsl:text disable-output-escaping="yes"><![CDATA[<p>]]></xsl:text>
-    	</xsl:when>
-      	<xsl:otherwise>
-    	    <ol>
-    	     <xsl:apply-templates/>
-    	    </ol>
-    	</xsl:otherwise>
-       </xsl:choose>
-    </xsl:template>
-    
-    <xsl:template match="ul">
-      <xsl:choose>
-    	<xsl:when test="name(..)='p'">
-    	   <xsl:text disable-output-escaping="yes"><![CDATA[</p>]]></xsl:text>
-    	    <ul>
-    	     <xsl:apply-templates/>
-    	    </ul>
-    	   <xsl:text disable-output-escaping="yes"><![CDATA[<p>]]></xsl:text>
-    	</xsl:when>
-      	<xsl:otherwise>
-    	    <ul>
-    	     <xsl:apply-templates/>
-    	    </ul>
-    	</xsl:otherwise>
-       </xsl:choose>
-    </xsl:template>
-        
-    <xsl:template match="b">
-      <strong>
-        <xsl:value-of select = "."/>
-      </strong>
-    </xsl:template>
-    
-    <xsl:template match="i">
-      <em>
-        <xsl:value-of select = "."/>
-      </em>
-    </xsl:template>
-
-    <xsl:template match="u">
-      <u>
-        <xsl:value-of select = "."/>
-      </u>
-    </xsl:template>
-    
-    <xsl:template match="table">
-      <table>
-            <xsl:apply-templates select="node()"/>
-      </table>
-    </xsl:template>
-    
-            
-    <xsl:template match="br">
-      <xsl:choose>
-	    <xsl:when test="normalize-space(text())">
-	    	    
-		  <xsl:choose>
-		    <xsl:when test="name(..)='p'">
-		        <xsl:apply-templates/>
-		      <br/> 
-		    </xsl:when>
-	  	    <xsl:otherwise>
-		      <p>
-	            <xsl:apply-templates/>
-		      </p>
-		    </xsl:otherwise>
-	       </xsl:choose>
-	      
-	    </xsl:when>
-  	    <xsl:otherwise>
-	      <br/>
-	    </xsl:otherwise>
-       </xsl:choose>
-    </xsl:template>
-    
-    <!-- Strip -->
-    <xsl:template match="font|big">
-      <xsl:apply-templates/>
-    </xsl:template>
-
-
-    <xsl:template match="span">
-		  <xsl:choose>
-		    <xsl:when test="contains(@style,'bold')">
-		       <strong>
-		        <xsl:apply-templates/>
-		       </strong>
-		    </xsl:when>
-		    <xsl:when test="contains(@style,'italic')">
-		       <em>
-		        <xsl:apply-templates/>
-		       </em>
-		    </xsl:when>
-		    <xsl:when test="contains(@style,'underline')">
-		       <u>
-		        <xsl:apply-templates/>
-		       </u>
-		    </xsl:when>
-	  	    <xsl:otherwise>
-	  	        <!-- Strip -->
-	            <xsl:apply-templates/>
-		    </xsl:otherwise>
-	    </xsl:choose>
-    
-      <xsl:apply-templates select="./*"/>
-    </xsl:template>
-
-    <xsl:template match="@*|*|text()|processing-instruction()|comment()">
-      <xsl:copy>
-        <xsl:apply-templates select="@*|*|text()|processing-instruction()|comment()"/>
-      </xsl:copy>
-    </xsl:template>
-
-
+        </ol>
+<xsl:text disable-output-escaping="yes"><![CDATA[<p>]]></xsl:text>
+      </xsl:when>
+      <xsl:otherwise>
+        <ol>
+          <xsl:apply-templates/>
+        </ol>
+      </xsl:otherwise>
+    </xsl:choose>
+  </xsl:template>
+  <xsl:template match="ul">
+    <xsl:choose>
+      <xsl:when test="name(..)='p'">
+<xsl:text disable-output-escaping="yes"><![CDATA[</p>]]></xsl:text>
+        <ul>
+          <xsl:apply-templates/>
+        </ul>
+<xsl:text disable-output-escaping="yes"><![CDATA[<p>]]></xsl:text>
+      </xsl:when>
+      <xsl:otherwise>
+        <ul>
+          <xsl:apply-templates/>
+        </ul>
+      </xsl:otherwise>
+    </xsl:choose>
+  </xsl:template>
+  <xsl:template match="b"><strong>
+    <xsl:value-of select = "."/></strong>
+  </xsl:template>
+  <xsl:template match="i"><em>
+    <xsl:value-of select = "."/></em>
+  </xsl:template>
+  <xsl:template match="u">
+    <u>
+      <xsl:value-of select = "."/>
+    </u>
+  </xsl:template>
+  <xsl:template match="table">
+    <table>
+      <xsl:apply-templates select="node()"/>
+    </table>
+  </xsl:template>
+  <xsl:template match="br">
+    <xsl:choose>
+      <xsl:when test="normalize-space(text())">
+        <xsl:choose>
+          <xsl:when test="name(..)='p'">
+            <xsl:apply-templates/>
+            <br/>
+          </xsl:when>
+          <xsl:otherwise>
+            <p>
+              <xsl:apply-templates/>
+            </p>
+          </xsl:otherwise>
+        </xsl:choose>
+      </xsl:when>
+      <xsl:otherwise>
+        <br/>
+      </xsl:otherwise>
+    </xsl:choose>
+  </xsl:template>
+<!-- Strip -->
+  <xsl:template match="font|big">
+    <xsl:apply-templates/>
+  </xsl:template>
+  <xsl:template match="span">
+    <xsl:choose>
+      <xsl:when test="contains(@style,'bold')"><strong>
+        <xsl:apply-templates/></strong>
+      </xsl:when>
+      <xsl:when test="contains(@style,'italic')"><em>
+        <xsl:apply-templates/></em>
+      </xsl:when>
+      <xsl:when test="contains(@style,'underline')">
+        <u>
+          <xsl:apply-templates/>
+        </u>
+      </xsl:when>
+      <xsl:otherwise>
+<!-- Strip -->
+        <xsl:apply-templates/>
+      </xsl:otherwise>
+    </xsl:choose>
+    <xsl:apply-templates select="./*"/>
+  </xsl:template>
+  <xsl:template match="@*|*|text()|processing-instruction()|comment()">
+    <xsl:copy>
+      <xsl:apply-templates select="@*|*|text()|processing-instruction()|comment()"/>
+    </xsl:copy>
+  </xsl:template>
 </xsl:stylesheet>



Mime
View raw message