Use for-each loop
File: Data.xml <?xml version="1.0"?> <Objects> <Object name="Car"> <Characteristic>A</Characteristic> <Characteristic>B</Characteristic> <Characteristic>C</Characteristic> <Characteristic>D</Characteristic> </Object> <Object name="Orange"> <Characteristic>1</Characteristic> <Characteristic>2</Characteristic> <Characteristic>3</Characteristic> <Characteristic>4</Characteristic> </Object> </Objects> File: Transform.xslt <?xml version="1.0"?> <xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0"> <xsl:template match="/"> <html> <head> <title>title</title> </head> <body> <h3> Characteristics of <xsl:value-of select="Objects/Object/@name" /> </h3> <xsl:apply-templates select="/Objects/Object" /> </body> </html> </xsl:template> <xsl:template match="Object"> <ul> <xsl:for-each select="Characteristic"> <li> <xsl:value-of select="." /> </li> </xsl:for-each> </ul> </xsl:template> </xsl:stylesheet> Output: <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> <title>title</title> </head> <body> <h3> Characteristics of Car </h3> <ul> <li>A</li> <li>B</li> <li>C</li> <li>D</li> </ul> <ul> <li>1</li> <li>2</li> <li>3</li> <li>4</li> </ul> </body> </html>