Pull Model: <xsl:template match="people"> <top> <name><xsl:value-of select="person/last-name"/></name> </top> </xsl:template> Push Model: <xsl:template match="people"> <top> <xsl:apply-templates/> </top> </xsl:template> <xsl:template match="last-name"> <name><xsl:apply-templates/></name> </xsl:template> Example Content: people-1.xml people-2.xml Example Transformations: pull-person.xsl push-person