<?xml version="1.0"?>
<!DOCTYPE xsl:stylesheet [ <!ENTITY nbsp "&#160;"> ]>
<xsl:stylesheet version="1.0"
              xmlns:xsl="http://www.w3.org/1999/XSL/Transform">

  <!--                                                          -->
  <!-- Please, don't hard-code output strings! Use the language -->
  <!-- files and the translation "stuff"...                     -->
  <!--                                                          -->

  <!-- Constants used for case translation -->
  <xsl:variable name="lowercase" select="'abcdefghijklmnopqrstuvwxyz'" />
  <xsl:variable name="uppercase" select="'ABCDEFGHIJKLMNOPQRSTUVWXYZ'" />

  <xsl:variable name="path">
    <xsl:choose>
      <xsl:when test="*/relativepath/@href">
        <xsl:value-of select="*/relativepath/@href"/>
      </xsl:when>
      <xsl:otherwise>
        <xsl:value-of select="'..'"/>
      </xsl:otherwise>
    </xsl:choose>
  </xsl:variable>


  <!--                              -->
  <!-- Builds the moduleindex page  -->
  <!--                              -->
  <xsl:template match="moduleindex">
    <html>
      <xsl:call-template name="head"/>
      <body>
        <blockquote>
          <xsl:call-template name="top"/>  
          <h1 align="center">
            <xsl:value-of select="title"/>
          </h1>
          
          <xsl:apply-templates select="summary" />
          
          <h2>
            <xsl:value-of select="$messages/message[@name='corefeatures']"/>
          </h2>
            
          <dl>
            <xsl:for-each select="document(modulefilelist/modulefile)/modulesynopsis">
              <xsl:sort select="name"/>
                
              <xsl:if test="status='MPM' or status='Core'">
                <dt>
                  <a href="{name}.html">
                    <xsl:value-of select="name"/>
                  </a>
                </dt>
                <dd>
                  <xsl:apply-templates select="description"/>
                </dd>
              </xsl:if>
            </xsl:for-each>
          </dl>
            
          <h2>
            <xsl:value-of select="$messages/message[@name='othermodules']"/>
          </h2>
            
          <dl>
            <xsl:for-each select="document(modulefilelist/modulefile)/modulesynopsis">
              <xsl:sort select="name"/>
                
              <xsl:if test="status!='MPM' and status!='Core'">
                <dt>
                  <a href="{name}.html">
                    <xsl:value-of select="name"/>
                  </a>
                </dt>
                <dd>
                  <xsl:apply-templates select="description"/>
                </dd>
              </xsl:if>
            </xsl:for-each>
          </dl>
        </blockquote>
        <hr />
        <xsl:call-template name="bottom"/>
      </body>
    </html>
  </xsl:template> 
  <!-- /moduleindex -->



  <!--                                                    -->
  <!-- <directiveindex>                                   -->
  <!-- Builds the directive index page                    -->
  <!--                                                    -->
  <xsl:template match="directiveindex">
    <html>
      <xsl:call-template name="head"/>
      <body>
        <blockquote>
          <xsl:call-template name="top"/>
          <h1 align="center">
            <xsl:value-of select="title"/>
          </h1>
          
          <xsl:apply-templates select="summary" />
          
          <ul>
            <xsl:for-each select="document(modulefilelist/modulefile)/modulesynopsis/directivesynopsis">
              <xsl:sort select="name"/>
               
              <xsl:if test="not(@location)">
                <li>
                  <a href="{/modulesynopsis/name}.html#{translate(name,$uppercase,$lowercase)}">
                    <xsl:value-of select="name"/>
                  </a>
                </li>
              </xsl:if>
            </xsl:for-each>
          </ul>
        </blockquote>
        <hr />
        <xsl:call-template name="bottom"/>
      </body>
    </html>
  </xsl:template> 
  <!-- /directiveindex -->

  <!--                                                    -->
  <!-- <manualpage>                                       -->
  <!-- Process an entire document into an HTML page       -->
  <!--                                                    -->
  <xsl:template match="manualpage">
    <html>
      <xsl:call-template name="head"/>
      <body>
        <blockquote>
          <xsl:call-template name="top"/>          
          <h1 align="center">
            <xsl:value-of select="title"/>
          </h1>

          <xsl:apply-templates select="summary"/>
          
          <xsl:if test="count(section) > 1">
            <ul>
              <xsl:apply-templates select="section" mode="index"/>
            </ul>
          </xsl:if>
          <hr />
          
          <xsl:if test="seealso">
            <p>
              <strong>
                <xsl:value-of select="$messages/message[@name='seealso']"/>
              </strong>
            </p>
            
            <ul>
              <xsl:for-each select="seealso">
                <li>
                  <xsl:apply-templates/>
                </li>
              </xsl:for-each>
            </ul>
          </xsl:if>
          
          <xsl:apply-templates select="section"/>
          <hr />
        </blockquote>
        <xsl:call-template name="bottom"/>
      </body>
    </html>
  </xsl:template>
  <!-- /manualpage -->



  <!--                                                    -->
  <!-- <modulesynopsis>                                   -->
  <!-- Process an entire document into an HTML page       -->
  <!--                                                    -->
  <xsl:template match="modulesynopsis">
    <html>
      <xsl:call-template name="head"/>
      <body>
        <blockquote>
          <xsl:call-template name="top"/>
          <h1 align="center">
            <xsl:value-of select="$messages/message[@name='apachemodule']"/>
            <xsl:text> </xsl:text> 
            <xsl:value-of select="name"/>
          </h1>
          
          <!-- Description and module-headers -->
          <table bgcolor="#cccccc" cellpadding="0" cellspacing="1">
            <tr>
              <td>
                <table bgcolor="#ffffff">
                  <tr>
                    <td valign="top" nowrap="nowrap">
                      <span class="help">
                        <xsl:value-of select="$messages/message[@name='description']"/>:
                      </span>
                    </td>
                    <td>
                      <xsl:apply-templates select="description"/>
                    </td>
                  </tr>
                  
                  <tr>
                    <td nowrap="nowrap">
                      <a class="help" href="module-dict.html#Status">
                        <xsl:value-of select="$messages/message[@name='status']"/>:
                      </a>
                    </td>
                    <td>
                      <xsl:value-of select="status"/>
                    </td>
                  </tr>
                  
                  <xsl:if test="identifier">
                    <tr>
                      <td nowrap="nowrap">
                        <a class="help" href="module-dict.html#ModuleIdentifier">
                          <xsl:value-of select="$messages/message[@name='moduleidentifier']"/>:
                        </a> 
                      </td>
                      <td>
                        <xsl:value-of select="identifier"/>
                      </td>
                    </tr>
                  </xsl:if>
                  
                  <xsl:if test="compatibility">
                    <tr>
                      <td valign="top" align="left">
                        <a class="help" href="module-dict.html#Compatibility">
                          <xsl:value-of select="$messages/message[@name='compatibility']"/>:
                        </a>
                      </td>
                      <td>
                        <xsl:apply-templates select="compatibility"/>
                      </td>
                    </tr>
                  </xsl:if>
                </table>
              </td>
            </tr>
          </table>
   
          <!-- Summary of module features/usage (1 to 3 paragraphs, optional) -->
          <xsl:if test="summary">
            <h2>
              <xsl:value-of select="$messages/message[@name='summary']"/>
            </h2>
            
            <xsl:apply-templates select="summary"/>
          </xsl:if>
   
          <!-- Index of directives, automatically generated from
               directivesynopsis/name -->
          <h2>
            <xsl:value-of select="$messages/message[@name='directives']"/>
          </h2>
          
          <xsl:if test="directivesynopsis">
            <ul>
              <xsl:for-each select="directivesynopsis">
                <xsl:sort select="name"/>
                
                <xsl:variable name="name">
                  <xsl:value-of select="name"/>
                </xsl:variable>
                
                <xsl:variable name="lowername" select="translate($name, $uppercase, $lowercase)" />
                
                <xsl:if test="not(@location)">
                  <li>
                    <a href="#{$lowername}">
                      <xsl:value-of select="name"/>
                    </a>
                  </li>
                </xsl:if>
                
                <xsl:if test="./@location">
                  <xsl:variable name="location">
                    <xsl:value-of select="./@location"/>
                  </xsl:variable>
                  
                  <xsl:variable name="lowerlocation" select="translate($location, $uppercase, $lowercase)" />
                  
                  <li>
                    <a href="{$lowerlocation}.html#{$lowername}">
                      <xsl:value-of select="name"/>
                    </a>
                  </li>
                </xsl:if>
              </xsl:for-each>
            </ul>
          </xsl:if>
          
          <xsl:if test="not(directivesynopsis)">
            <p>
              <xsl:value-of select="$messages/message[@name='nodirectives']"/>
            </p>
          </xsl:if>
   
          <xsl:if test="seealso">
            <p>
              <strong>
                <xsl:value-of select="$messages/message[@name='seealso']"/>
              </strong>
            </p>
            
            <ul>
              <xsl:for-each select="seealso">
                <li>
                  <xsl:apply-templates/>
                </li>
              </xsl:for-each>
            </ul>
          </xsl:if>
   
          <!-- Sections of documentation about the module as a whole -->
          <xsl:apply-templates select="section"/>
          
          <hr />
          <!-- Directive documentation -->
          <xsl:apply-templates select="directivesynopsis">
            <xsl:sort select="name"/>
          </xsl:apply-templates> 
        </blockquote>
        <xsl:call-template name="bottom"/>
      </body>
    </html>
  </xsl:template>
  <!-- /modulesynopsis -->


  <!--                                                            -->
  <!--    Utility templates for constructing pages                -->
  <!--                                                            -->

  <xsl:template name="head">
    <head>
      <xsl:comment>
        XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
              This file is generated from xml source: DO NOT EDIT
        XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
      </xsl:comment>
      <title>
        <xsl:choose>
          <xsl:when test="name">
            <xsl:value-of select="name"/>
          </xsl:when>
          <xsl:otherwise>
            <xsl:value-of select="title"/>
          </xsl:otherwise>
        </xsl:choose>
        <xsl:text> </xsl:text>
        <xsl:value-of select="$messages/message[@name='apachetitle']"/>
      </title>
      
      <link rel="stylesheet" type="text/css" href="{$path}/style/manual.css" />
    </head>
  </xsl:template>

  <xsl:template name="top">
    <div align="center">
      <img src="{$path}/images/sub.gif">
        <xsl:attribute name="alt">
          <xsl:value-of select="$messages/message[@name='apachedocalt']"/>
        </xsl:attribute>
      </img>
            
      <h3>
        <xsl:value-of select="$messages/message[@name='apachehttpserver']"/>
      </h3>
    </div>
  </xsl:template>

  <xsl:template name="bottom">
    <h3 align="center">
      <xsl:value-of select="$messages/message[@name='apachehttpserver']"/>
    </h3>
    
    <a href="./">
      <img src="{$path}/images/index.gif">
        <xsl:attribute name="alt">
          <xsl:value-of select="$messages/message[@name='index']"/>
        </xsl:attribute>
      </img>
    </a>
    <a href="{$path}/">
      <img src="{$path}/images/home.gif">
        <xsl:attribute name="alt">
          <xsl:value-of select="$messages/message[@name='home']"/>
        </xsl:attribute>
      </img>
    </a>
  </xsl:template>

  <!--                                                            -->
  <!--    Sections and Subsections                                -->
  <!--                                                            -->


  <!-- Subsections: get a lower level heading -->
  <xsl:template match="section/section">
    <xsl:variable name="href">
      <xsl:value-of select="@id"/>
    </xsl:variable>
    
    <!-- Section heading -->
    <xsl:if test="@id">
      <h3>
        <a name="{$href}">
          <xsl:apply-templates select="./title" mode="print"/>
        </a>
      </h3>
    </xsl:if>
    
    <xsl:if test="not(@id)">
      <h3>
        <xsl:apply-templates select="./title" mode="print"/>
      </h3>
    </xsl:if>
    
    <!-- Section body -->
    <xsl:apply-templates/>
  </xsl:template>



  <!-- Process a documentation section -->
  <xsl:template match="section">
    <xsl:variable name="href">
      <xsl:value-of select="@id"/>
    </xsl:variable>
    
    <!-- Section heading -->
    <xsl:if test="@id">
      <h2>
        <a name="{$href}">
          <xsl:apply-templates select="./title" mode="print"/>
        </a>
      </h2>
    </xsl:if>
    
    <xsl:if test="not(@id)">
      <h2>
        <xsl:apply-templates select="./title" mode="print"/>
      </h2>
    </xsl:if>
    
    <!-- Section body -->
    <xsl:apply-templates/>
  </xsl:template>



  <xsl:template match="section/title" mode="print">
    <xsl:apply-templates/>
  </xsl:template>



  <!-- Don't print the title twice -->
  <xsl:template match="section/title">
  </xsl:template>



  <xsl:template match="section" mode="index">
    <xsl:variable name="href">
      <xsl:value-of select="@id"/>
    </xsl:variable>
    
    <li>
      <a href="#{$href}">
        <xsl:apply-templates select="title" mode="print"/>
      </a>
      
      <xsl:if test="section">
        <ul>
          <xsl:apply-templates select="section" mode="index"/>
        </ul>
      </xsl:if>
    </li>
  </xsl:template>

  <!--                                                            -->
  <!--    Directivesynopsis                                       -->
  <!--                                                            -->


  <xsl:template match="directivesynopsis">
    <xsl:if test="not(@location)">
      <xsl:variable name="name">
        <xsl:value-of select="./name"/>
      </xsl:variable>
      
      <xsl:variable name="lowername" select="translate($name, $uppercase, $lowercase)" />
      
      <!-- Directive heading gets both mixed case and lowercase anchors,
           and includes lt/gt only for "section" directives -->
      <h2>
        <a name="{$name}">
          <xsl:if test="./@type='section'">&lt;</xsl:if>
          <xsl:value-of select="./name"/>
          <xsl:if test="./@type='section'">&gt;</xsl:if>
        </a>
        <xsl:text> </xsl:text>
        <a name="{$lowername}">
          <xsl:value-of select="$messages/message[@name='directive']"/>
        </a>
      </h2>

      <!-- Directive header -->
      <table bgcolor="#cccccc" border="0" cellspacing="0" cellpadding="1">
        <tr>
          <td>
            <table bgcolor="#ffffff">
              <tr>
                <td nowrap="nowrap">
                  <strong>
                    <xsl:value-of select="$messages/message[@name='description']"/>: 
                  </strong>
                </td>
                <td>
                  <xsl:value-of select="description"/>
                </td>
              </tr>
              
              <tr>
                <td nowrap="nowrap">
                  <a class="help" href="directive-dict.html#Syntax">
                    <xsl:value-of select="$messages/message[@name='syntax']"/>:
                  </a> 
                </td>
                <td>
                  <xsl:apply-templates select="syntax"/>
                </td>
              </tr>
              
              <xsl:if test="default">
                <tr>
                  <td nowrap="nowrap">
                    <a class="help" href="directive-dict.html#Default">
                      <xsl:value-of select="$messages/message[@name='default']"/>: 
                    </a> 
                  </td>
                  <td>
                    <code>
                      <xsl:value-of select="default"/>
                    </code>
                  </td>
                </tr>
              </xsl:if>
              
              <tr>
                <td nowrap="nowrap">
                  <a class="help" href="directive-dict.html#Context">
                    <xsl:value-of select="$messages/message[@name='context']"/>:
                  </a> 
                </td>
                <td>
                  <xsl:apply-templates select="contextlist"/>
                </td>
              </tr>
              
              <xsl:if test="override">
                <tr>
                  <td nowrap="nowrap">
                    <a class="help" href="directive-dict.html#Override">
                      <xsl:value-of select="$messages/message[@name='override']"/>:
                    </a> 
                  </td>
                  <td>
                    <xsl:value-of select="override"/>
                  </td>
                </tr>
              </xsl:if>
              
              <tr>
                <td nowrap="nowrap">
                  <a class="help" href="directive-dict.html#Status">
                    <xsl:value-of select="$messages/message[@name='status']"/>:
                  </a> 
                </td>
                <td>
                  <xsl:value-of select="/modulesynopsis/status"/>
                </td>
              </tr>
              
              <tr>
                <td nowrap="nowrap">
                  <a class="help" href="directive-dict.html#Module">
                    <xsl:value-of select="$messages/message[@name='module']"/>:
                  </a> 
                </td>
                <td>
                  <xsl:if test="modulelist">
                    <xsl:apply-templates select="modulelist"/>
                  </xsl:if>
                  
                  <xsl:if test="not(modulelist)">
                    <xsl:value-of select="/modulesynopsis/name"/>
                  </xsl:if>
                </td>
              </tr>
              
              <xsl:if test="compatibility">
                <tr>
                  <td valign="top" align="left" nowrap="nowrap">
                    <a class="help" href="directive-dict.html#Compatibility">
                      <xsl:value-of select="$messages/message[@name='compatibility']"/>:
                    </a> 
                  </td>
                  <td>
                    <xsl:value-of select="compatibility"/>
                  </td>
                </tr>
              </xsl:if>
            </table>
          </td>
        </tr>
      </table>

      <xsl:apply-templates select="usage"/>
      
      <xsl:if test="seealso">
        <p>
          <strong>
            <xsl:value-of select="$messages/message[@name='seealso']"/>
          </strong>
        </p>
        
        <ul>
          <xsl:for-each select="seealso">
            <li>
              <xsl:apply-templates/>
            </li>
          </xsl:for-each>
        </ul>
      </xsl:if>
      
      <hr />
    </xsl:if> <!-- not(@location) -->
  </xsl:template>
  <!-- /directivesynopsis -->



  <!--                                                    -->
  <!-- <contextlist>                                      -->
  <!-- Passes through content                             -->
  <!--                                                    -->
  <xsl:template match="contextlist">
    <xsl:apply-templates select="context"/>
  </xsl:template> 
  <!-- /contextlist -->



  <!--                                                    -->
  <!-- <context>                                          -->
  <!-- Each entry is separeted with a comma               -->
  <!--                                                    -->
  <xsl:template match="context">
    <xsl:value-of select="." />
    <xsl:if test="not(position()=last())">, </xsl:if>
  </xsl:template> 
  <!-- /context -->



  <!--                                                    -->
  <!-- <modulelist>                                       -->
  <!-- Passes through content                             -->
  <!--                                                    -->
  <xsl:template match="modulelist">
    <xsl:for-each select="module">
      <xsl:call-template name="module"/>
      <xsl:if test="not(position()=last())">, </xsl:if>
    </xsl:for-each>
  </xsl:template> 
  <!-- /modulelist -->


  <!--                                                    -->
  <!-- <example>                                          -->
  <!-- Examples are set in a "colored" table.             -->
  <!--                                                    -->
  <xsl:template match="example">
    <blockquote>
      <table cellpadding="10">
        <tr>
          <td bgcolor="#eeeeee">
            <xsl:apply-templates select="title" mode="print"/>
            
            <code>
              <xsl:apply-templates/>
            </code>
          </td>
        </tr>
      </table>
    </blockquote>
  </xsl:template> 
  <!-- /example -->



  <!--                                                    -->
  <!-- <example><title>                                   -->
  <!--                                                    -->
  <xsl:template match="example/title" mode="print">
    <p align="center">
      <strong>
        <xsl:apply-templates/>
      </strong>
    </p>
  </xsl:template> 
  <!-- /example/title -->



  <!--                                                    -->
  <!-- <example><title>                                   -->
  <!--                                                    -->
  <xsl:template match="example/title">
  </xsl:template>
  <!-- /example/title -->



  <!--                                                    -->
  <!-- <note>                                             -->
  <!-- Notes are placed in a table. Uses different back-  -->
  <!-- ground colors, depending on type of note.          -->
  <!--                                                    -->
  <xsl:template match="note">
    <blockquote>
      <table>
        <tr>
          <td>
            <xsl:choose>
              <xsl:when test="@type='warning'">
                <xsl:attribute name="bgcolor">#ffe5f5</xsl:attribute>
              </xsl:when>
              <xsl:otherwise>
                <xsl:attribute name="bgcolor">#e0e5f5</xsl:attribute>
              </xsl:otherwise>
            </xsl:choose>
            
            <xsl:apply-templates/>
          </td>
        </tr>
      </table>
    </blockquote>
  </xsl:template>  
  <!-- /note -->



  <!--                                                    -->
  <!-- <note><title>                                      -->
  <!--                                                    -->
  <xsl:template match="note/title">
    <p align="center">
      <strong>
        <xsl:apply-templates/>
      </strong>
    </p>
  </xsl:template> 
  <!-- /note/title -->



  <!--                                                    -->
  <!-- <directive>                                        -->
  <!-- Inserts link to another directive, which might be  -->
  <!-- in another module. References are converted into   --> 
  <!-- lower case.                                        -->
  <!--                                                    -->
  <xsl:template match="directive" name="directive">
    <xsl:if test="@module">
      <xsl:variable name="module">
        <xsl:value-of select="./@module"/>
      </xsl:variable>
      
      <xsl:variable name="directive">
        <xsl:value-of select="."/>
      </xsl:variable>
      
      <xsl:variable name="lowerdirective" select="translate($directive, $uppercase, $lowercase)" />
      
      <xsl:choose>
        <xsl:when test="@module=/modulesynopsis/name">
          <a class="directive" href="#{$lowerdirective}">
            <code class="directive">
              <xsl:if test="./@type='section'">&lt;</xsl:if>
              <xsl:value-of select="."/>
              <xsl:if test="./@type='section'">&gt;</xsl:if>
            </code>
          </a>
        </xsl:when>
        <xsl:otherwise>
          <a class="directive" href="{$path}/mod/{$module}.html#{$lowerdirective}">
            <code class="directive">
              <xsl:if test="./@type='section'">&lt;</xsl:if>
              <xsl:value-of select="."/>
              <xsl:if test="./@type='section'">&gt;</xsl:if>
            </code>
          </a>
        </xsl:otherwise>
      </xsl:choose>
    </xsl:if>
    
    <xsl:if test="not(@module)">
      <code class="directive">
        <xsl:if test="./@type='section'">&lt;</xsl:if>
        <xsl:value-of select="."/>
        <xsl:if test="./@type='section'">&gt;</xsl:if>
      </code>
    </xsl:if>
  </xsl:template>
  <!-- /directive -->



  <!--                                                    -->
  <!-- <module>                                           -->
  <!-- Inserts a link to refereed module                  -->
  <!--                                                    -->
  <xsl:template match="module" name="module">
    <code>
      <a href="{$path}/mod/{.}.html">
        <xsl:value-of select="."/>
      </a>
    </code>
  </xsl:template> 
  <!-- /module -->



  <!--                                                    -->
  <!-- <related>                                          -->
  <!--                                                    -->
  <xsl:template match="related">
    <table border="1">
      <tr>
        <td valign="top">
          <strong>
            <xsl:value-of select="$messages/message[@name='relatedmodules']"/>
          </strong>
          <br />
          <br />
          
          <xsl:apply-templates select="modulelist"/>
        </td>
        <td valign="top">
          <strong>
            <xsl:value-of select="$messages/message[@name='relateddirectives']"/>
          </strong>
          <br />
          <br />
          
          <xsl:apply-templates select="directivelist"/>
        </td>
      </tr>
    </table>
  </xsl:template>
  <!-- /related -->



  <xsl:template match="related/modulelist">
    <xsl:for-each select="module">
      <xsl:call-template name="module"/>
      <br />
    </xsl:for-each>
  </xsl:template>



  <xsl:template match="related/directivelist">
    <xsl:for-each select="directive">
      <xsl:call-template name="directive"/>
      <br />
    </xsl:for-each>
  </xsl:template>



  <!--                                                    -->
  <!-- <summary>                                          -->
  <!-- Passes through content                             -->
  <!--                                                    -->
  <xsl:template match="summary">
    <xsl:apply-templates/>
  </xsl:template> 
  <!-- /summary -->



  <!--                                                    -->
  <!-- <description>                                      -->
  <!-- Passes through content                             -->
  <!--                                                    -->
  <xsl:template match="description">
    <xsl:apply-templates/>
  </xsl:template> 
  <!-- /description -->



  <!--                                                    -->
  <!-- <usage>                                            -->
  <!-- Passes through content                             -->
  <!--                                                    -->
  <xsl:template match="usage">
    <xsl:apply-templates/>
  </xsl:template> 
  <!-- /usage -->



  <!--                                                    -->
  <!-- <syntax>                                           -->
  <!-- Passes through content                             -->
  <!--                                                    -->
  <xsl:template match="syntax">
    <xsl:apply-templates/>
  </xsl:template> 
  <!-- /syntax -->



  <!--                                                    -->
  <!-- Process everything else by just passing it through -->
  <!--                                                    -->
  <xsl:template match="*|@*">
    <xsl:copy>
      <xsl:apply-templates select="@*|*|text()"/>
    </xsl:copy>
  </xsl:template>

</xsl:stylesheet>




