File: Data.xml
<Employees>
<Person>
<FirstName>A</FirstName>
<LastName>B</LastName>
<DateOfBirth>2008-12-12</DateOfBirth>
</Person>
<Person>
<FirstName>C</FirstName>
<LastName>D</LastName>
<DateOfBirth>2008-11-11</DateOfBirth>
</Person>
<Person>
<FirstName>E</FirstName>
<LastName>F</LastName>
<DateOfBirth>2008-10-10</DateOfBirth>
</Person>
</Employees>
File: Transform.xslt
<xsl:stylesheet version="1.0"
xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:template match="/">
<html>
<head>
<title>this is the title</title>
</head>
<body>
<h3>header 3</h3>
<xsl:apply-templates
select="/Employees/Person[1]/FirstName" />
</body>
</html>
</xsl:template>
<xsl:template match="FirstName">
<xsl:for-each select="following::*">
<paragraph>
<xsl:value-of select="name(.)" />
which contains the text "
<xsl:value-of select="." />
".
</paragraph>
</xsl:for-each>
</xsl:template>
</xsl:stylesheet>
Output:
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>this is the title</title>
</head>
<body>
<h3>header 3</h3>
<paragraph>LastName
which contains the text "
B
".
</paragraph>
<paragraph>DateOfBirth
which contains the text "
2008-12-12
".
</paragraph>
<paragraph>Person
which contains the text "
C
D
2008-11-11
".
</paragraph>
<paragraph>FirstName
which contains the text "
C
".
</paragraph>
<paragraph>LastName
which contains the text "
D
".
</paragraph>
<paragraph>DateOfBirth
which contains the text "
2008-11-11
".
</paragraph>
<paragraph>Person
which contains the text "
E
F
2008-10-10
".
</paragraph>
<paragraph>FirstName
which contains the text "
E
".
</paragraph>
<paragraph>LastName
which contains the text "
F
".
</paragraph>
<paragraph>DateOfBirth
which contains the text "
2008-10-10
".
</paragraph>
</body>
</html>