<xslTutorial creator="nicmila@idoox.com">
<index keywords='xsl:value-of xsl:apply-templates'/>

<description>Contents of original elements can be recovered from original sources in two basic ways. <stylesheet id='id5'/> uses xsl:value-of construct. In this case the contents of the element is used without any further processing. Construct xsl:apply-templates in <stylesheet id='id6'/> is different. The parser further processes selected elements, for which a template is defined..</description>
<example id="id1">
<xmlSource id="id3">
<employee>
<firstName>Joe</firstName>
<surname>Smith</surname>
</employee>
</xmlSource>

<attValues>
<value match="em">matches any element named em
</value>

<value match=".">selects the currently processed element
</value>
</attValues>

<xslStylesheet id="id5">

<xsl:template match="employee">
<B><xsl:value-of select="."/></B>
</xsl:template>

<xsl:template match="surname">
<i><xsl:value-of select="."/></i>
</xsl:template>
</xslStylesheet>

<xslStylesheet id="id6">
<xsl:template match="employee">
<B><xsl:apply-templates select="firstName"/></B> 
<B><xsl:apply-templates select="surname"/></B>
</xsl:template>

<xsl:template match="surname">
<i> <xsl:value-of select="."/></i>
</xsl:template>
</xslStylesheet>

</xslStylesheet>
</example>
</xslTutorial>