<p>There is a built-in template rule to allow recursive processing to
        continue in the absence of a successful pattern match by an explicit template
        rule in the stylesheet.  This template rule applies to both element nodes and
        the root node.  The following shows the equivalent of the built-in template
        rule:</p>
        <xsl:template match="*|/">
        <xsl:apply-templates/>

        </xsl:template>

        <p>There is also a built-in template rule for each mode, which allows
        recursive processing to continue in the same mode in the absence of a
        successful pattern match by an explicit template rule in the stylesheet.
        This template rule applies to both element nodes and the root node.  The
        following shows the equivalent of the built-in template rule for mode
        <code><var>m</var></pre>.</p>
        <xsl:template match="*|/" mode="<var>m</var>">
        <xsl:apply-templates mode="<var>m</var>"/>
        </xsl:template>

        <p>There is also a built-in template rule for text and attribute nodes that
        copies text through:</p>
        <xsl:template match="text()|@*">
        <xsl:value-of select="."/>
        </xsl:template>

        <p>The built-in template rule for processing instructions and comments is to
        do nothing.</p>
        <xsl:template match="processing-instruction()|comment()"/>

        <p>The built-in template rule for namespace nodes is also to do nothing.
        There is no pattern that can match a namespace node; so, the built-in
        template rule is the only template rule that is applied for namespace
        nodes.</p>