Java Integration
Transform Anything with Java
Simple Looping using XSLT
XML File
<?xml version="1.0" encoding="UTF-8"?>
<GolfCountryClub>
<GolfCourse NumberOfHoles="18">
<Name>Bird's Nest Course</Name>
<Yardage>7125</Yardage>
<Par>72</Par>
<Handicap>74.6</Handicap>
<Slope>138</Slope>
</GolfCourse>
<GolfCourse NumberOfHoles="18">
<Name>Eagle's Nest Course</Name>
<Yardage>7198</Yardage>
<Par>72</Par>
<Handicap>73.5</Handicap>
<Slope>136</Slope>
</GolfCourse>
<Member handicap="20">
<RegularMember>
<FirstName>Keith</FirstName>
<LastName>Chong</LastName>
<MembershipExpiry>2010-10-31</MembershipExpiry>
</RegularMember>
</Member>
<Member handicap="0">
<ExclusiveMember>
<FirstName>James</FirstName>
<MiddleName>Lion</MiddleName>
<LastName>Chan</LastName>
<ValetParkingID>124</ValetParkingID>
<LockerNumber>10</LockerNumber>
</ExclusiveMember>
</Member>
<Member handicap="25">
<RestrictedMember>
<FirstName>Allan</FirstName>
<LastName>Chong</LastName>
<MembershipExpiry>2010-10-31</MembershipExpiry>
<LimitedPlay>Weekend Only</LimitedPlay>
</RestrictedMember>
</Member>
<Member handicap="10">
<RegularMember>
<FirstName>Murray</FirstName>
<MiddleName>Izzun</MiddleName>
<LastName>Beaton</LastName>
<MembershipExpiry>2010-09-30</MembershipExpiry>
</RegularMember>
</Member>
<Employee>
<FirstName>Craig</FirstName>
<LastName>Salter</LastName>
<EmployeeNumber>12463</EmployeeNumber>
</Employee>
<Employee>
<FirstName>Ernest</FirstName>
<LastName>Mah</LastName>
<EmployeeNumber>15234</EmployeeNumber>
</Employee>
<ProShop>
<GolfClub>
<ManufacturerName>Tailor Built</ManufacturerName>
<Quantity>20</Quantity>
<ClubKind>Driver</ClubKind>
<Loft>10.5 Degrees</Loft>
<Shaft>Stiff</Shaft>
</GolfClub>
<GolfClub>
<ManufacturerName>Clever Plains</ManufacturerName>
<Quantity>5</Quantity>
<ClubKind>Wedge</ClubKind>
<Loft>60 Degrees</Loft>
<Shaft>Regular</Shaft>
</GolfClub>
<BoxOfBalls>
<ManufacturerName>A-Subject</ManufacturerName>
<Quantity>20</Quantity>
<ProductDetails>Pos. A High Spin/12</ProductDetails>
</BoxOfBalls>
</ProShop>
</GolfCountryClub>
XSL File
<?xml version="1.0"?>
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0">
<xsl:template match="/">
<html>
<head>
<title>Our Items</title>
</head>
<body style="background-color: #DACFE5; font-family:Arial, Helvetica, sans-serif">
<xsl:for-each select="/GolfCountryClub/GolfCourse">
<h1 style="color:#0D3427">
<xsl:attribute name="src">
<xsl:value-of select="Name"/>
</xsl:attribute>
<xsl:value-of select="name"/>
<xsl:text> ... </xsl:text>
<xsl:value-of select="Yardage"/>
</h1>
</xsl:for-each>
</body>
</html>
</xsl:template>
</xsl:stylesheet>
Output File
<html>
<head>
<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>Our Items</title>
</head>
<body style="background-color: #DACFE5; font-family:Arial, Helvetica, sans-serif">
<h1 style="color:#0D3427" src="Bird's Nest Course"> ... 7125</h1>
<h1 style="color:#0D3427" src="Eagle's Nest Course"> ... 7198</h1>
</body>
</html>
For the same XML file if we use the below XSL file, the output will differ.
<?xml version="1.0"?>
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0">
<xsl:template match="/">
<html>
<head>
<title>Our Items</title>
</head>
<body style="background-color: #DACFE5; font-family:Arial, Helvetica, sans-serif">
<xsl:for-each select="/GolfCountryClub/GolfCourse">
<h1> <xsl:value-of select="Name"/> </h1>
<h1> <xsl:value-of select="Yardage"/> </h1>
<h1> <xsl:text> Test Message </xsl:text> </h1>
<h1> <xsl:value-of select="Par"/> </h1>
<h1> <xsl:value-of select="Handicap"/> </h1>
<h1> <xsl:value-of select="Slope"/> </h1>
</xsl:for-each>
</body>
</html>
</xsl:template>
</xsl:stylesheet>
Output File
<html>
<head>
<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>Our Items</title>
</head>
<body style="background-color: #DACFE5; font-family:Arial, Helvetica, sans-serif">
<h1>Bird's Nest Course</h1>
<h1>7125</h1>
<h1> Test Message </h1>
<h1>72</h1>
<h1>74.6</h1>
<h1>138</h1>
<h1>Eagle's Nest Course</h1>
<h1>7198</h1>
<h1> Test Message </h1>
<h1>72</h1>
<h1>73.5</h1>
<h1>136</h1>
</body>
</html>