title: Show page title for all pages when we print XSLT Report using XML
body: <p>I want to print report by having PatientID in all pages as heading or title so that it will print page title in all the pages when we print
  I'm not sure how to write XSLT for showing title in all pages</p>
  
  <p>Below is my code</p>
  
  <p>XSLT Code</p>
  
  <pre><code> &lt;?xml version="1.0" encoding="ISO-8859-1"?&gt;
  
      &lt;xsl:transform version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL /Transform"&gt;
      &lt;xsl:output method="html" version='1.0' indent ='yes' omit-xml-declaration="yes"/&gt;
      &lt;xsl:template match="/"&gt;
  
          &lt;html&gt;
  
       &lt;STYLE TYPE="text/css"&gt;
       p     { line-height: "1"}
       br     { line-height: "1pt"}
  
       &lt;/STYLE&gt;
  
       &lt;body&gt;
  
    &lt;table &gt;
        &lt;xsl:for-each select="Report/PatDetails"&gt;
  
      &lt;tr&gt;
  
      &lt;td align = "left" width = "250" height="50"  style="text-align: justify"&gt;
          &lt;font name="Book Antiqua"  size="5.0"&gt;&lt;B&gt;
  
                      &lt;xsl:call-template 
                  name="substring-before-last"&gt;
                  &lt;xsl:with-param name="input" select="Value"/&gt;
                  &lt;xsl:with-param name="marker" select="'@'" /&gt;
                  &lt;/xsl:call-template&gt;
  &lt;/B&gt;
          &lt;/font&gt;
      &lt;/td&gt;
  
        &lt;td align = "left" width = "600" height="30"&gt;
          &lt;font name="Book Antiqua"  size="5.0"&gt;
  
                  &lt;xsl:call-template 
                  name="substring-after-last"&gt;
                  &lt;xsl:with-param name="input" select="Value"/&gt;
                  &lt;xsl:with-param name="marker" select="'@'" /&gt;
                  &lt;/xsl:call-template&gt;
          &lt;/font&gt;
        &lt;/td&gt;
  
      &lt;/tr&gt;
  
      &lt;/xsl:for-each&gt;
      &lt;/table&gt;&lt;/body&gt;
  
          &lt;/html&gt;
      &lt;/xsl:template&gt;
  
  
      &lt;xsl:template name="string-replace"&gt;
          &lt;xsl:param name="arg"/&gt;
          &lt;xsl:param name="toReplace"/&gt;
          &lt;xsl:choose&gt;
              &lt;xsl:when test="contains($arg, $toReplace)"&gt;
                  &lt;xsl:variable name="prefix" select="substring-before($arg, $toReplace)"/&gt;
                  &lt;xsl:variable name="postfix" select="substring($arg, string- length($prefix)+string-length($toReplace)+1)"/&gt;
                  &lt;xsl:value-of select="$prefix"/&gt;
                  &lt;xsl:text disable-output-escaping="yes"&gt;&amp;lt;br/&amp;      gt;&lt;/xsl:text&gt;
                  &lt;xsl:call-template name="string-replace"&gt;
                      &lt;xsl:with-param name="arg" select="$postfix"/&gt;
                      &lt;xsl:with-param name="toReplace" select="$toReplace"/&gt;
                  &lt;/xsl:call-template&gt;
              &lt;/xsl:when&gt;
              &lt;xsl:otherwise&gt;
                  &lt;xsl:value-of select="$arg"/&gt;
              &lt;/xsl:otherwise&gt;
          &lt;/xsl:choose&gt;
       &lt;/xsl:template&gt;
  
  
       &lt;xsl:template name="substring-after-last"&gt;
       &lt;xsl:param name="input" /&gt;
       &lt;xsl:param name="marker" /&gt;
  
       &lt;xsl:choose&gt;
        &lt;xsl:when test="contains($input,$marker)"&gt;
        &lt;xsl:call-template name="substring-after-last"&gt;
        &lt;xsl:with-param name="input" 
            select="substring-after($input,$marker)" /&gt;
        &lt;xsl:with-param name="marker" select="$marker" /&gt;
        &lt;/xsl:call-template&gt;
       &lt;/xsl:when&gt;
       &lt;xsl:otherwise&gt;
       &lt;xsl:value-of select="$input" /&gt;
       &lt;/xsl:otherwise&gt;
       &lt;/xsl:choose&gt;
  
       &lt;/xsl:template&gt;
  
  
       &lt;xsl:template name="substring-before-last"&gt;
       &lt;xsl:param name="input" /&gt;
       &lt;xsl:param name="marker" /&gt;
  
       &lt;xsl:choose&gt;
       &lt;xsl:when test="contains($input,$marker)"&gt;
        &lt;xsl:call-template name="substring-before-last"&gt;
        &lt;xsl:with-param name="input" 
            select="substring-before($input,$marker)" /&gt;
        &lt;xsl:with-param name="marker" select="$marker" /&gt;
      &lt;/xsl:call-template&gt;
      &lt;/xsl:when&gt;
      &lt;xsl:otherwise&gt;
      &lt;xsl:value-of select="$input" /&gt;
      &lt;/xsl:otherwise&gt;
      &lt;/xsl:choose&gt;
  
      &lt;/xsl:template&gt;
  
      &lt;/xsl:transform&gt;
  </code></pre>
  
  <p>Below is my XML Code</p>
  
  <pre><code>&lt;?xml version="1.0"?&gt;
  &lt;?xml-stylesheet type= 'text/xsl' href = 'HNP.xsl'?&gt;
  
  &lt;Report&gt;
  &lt;PatDetails&gt;
  &lt;Value&gt;Patient Id:@9999&lt;/Value&gt;&lt;/PatDetails&gt;
  
  &lt;Impression&gt;
  &lt;Value&gt;1. @Test1&lt;/Value&gt;&lt;/Impression&gt;
  
  &lt;Impression&gt;
  &lt;Value&gt;2. @Test2&lt;/Value&gt;&lt;/Impression&gt;
  
  &lt;Impression&gt;
  &lt;Value&gt;3. @Test3&lt;/Value&gt;&lt;/Impression&gt;
  
  &lt;Impression&gt;
  &lt;Value&gt;4. @Test4&lt;/Value&gt;&lt;/Impression&gt;
  
  &lt;Impression&gt;
  &lt;Value&gt;5. @Test5&lt;/Value&gt;&lt;/Impression&gt;
  
  &lt;Impression&gt;
  &lt;Value&gt;6. @Test6&lt;/Value&gt;&lt;/Impression&gt;
  
  &lt;Impression&gt;
  &lt;Value&gt;7. @Test7&lt;/Value&gt;&lt;/Impression&gt;
  
  &lt;Impression&gt;
  &lt;Value&gt;8. @Test8&lt;/Value&gt;&lt;/Impression&gt;
  
  &lt;Impression&gt;
  &lt;Value&gt;1. @Test1&lt;/Value&gt;&lt;/Impression&gt;
  
  &lt;Impression&gt;
  &lt;Value&gt;2. @Test2&lt;/Value&gt;&lt;/Impression&gt;
  
  &lt;Impression&gt;
  &lt;Value&gt;3. @Test3&lt;/Value&gt;&lt;/Impression&gt;
  
  &lt;Impression&gt;
  &lt;Value&gt;4. @Test4&lt;/Value&gt;&lt;/Impression&gt;
  
  &lt;Impression&gt;
  &lt;Value&gt;5. @Test5&lt;/Value&gt;&lt;/Impression&gt;
  
  &lt;Impression&gt;
  &lt;Value&gt;6. @Test6&lt;/Value&gt;&lt;/Impression&gt;
  
  &lt;Impression&gt;
  &lt;Value&gt;7. @Test7&lt;/Value&gt;&lt;/Impression&gt;
  
  &lt;Impression&gt;
  &lt;Value&gt;8. @Test8&lt;/Value&gt;&lt;/Impression&gt;
  
  
  &lt;Impression&gt;
  &lt;Value&gt;1. @Test1&lt;/Value&gt;&lt;/Impression&gt;
  
  &lt;Impression&gt;
  &lt;Value&gt;2. @Test2&lt;/Value&gt;&lt;/Impression&gt;
  
  &lt;Impression&gt;
  &lt;Value&gt;3. @Test3&lt;/Value&gt;&lt;/Impression&gt;
  
  &lt;Impression&gt;
  &lt;Value&gt;4. @Test4&lt;/Value&gt;&lt;/Impression&gt;
  
  &lt;Impression&gt;
  &lt;Value&gt;5. @Test5&lt;/Value&gt;&lt;/Impression&gt;
  
  &lt;Impression&gt;
  &lt;Value&gt;6. @Test6&lt;/Value&gt;&lt;/Impression&gt;
  
  &lt;Impression&gt;
  &lt;Value&gt;7. @Test7&lt;/Value&gt;&lt;/Impression&gt;
  
  &lt;Impression&gt;
  &lt;Value&gt;8. @Test8&lt;/Value&gt;&lt;/Impression&gt;
  
  &lt;/Report&gt;
  </code></pre>