Here is the XML generated by ds.WriteXml:
<?xml version="1.0" standalone="yes"?> <Menu> <MenuItem> <ItemText>Home</ItemText> <ItemLink>index.html</ItemLink> <ItemType>Item</ItemType> </MenuItem> <MenuItem> <ItemText>-</ItemText> <ItemLink>-</ItemLink> <ItemType>Space</ItemType> </MenuItem> <MenuItem> <ItemText>Bookstore</ItemText> <ItemLink>-</ItemLink> <ItemType>H2</ItemType> </MenuItem> <MenuItem> <ItemText>C#</ItemText> <ItemLink>csharp.html</ItemLink> <ItemType>Item</ItemType> </MenuItem> <MenuItem> <ItemText>.NET</ItemText> <ItemLink>dotnet.html</ItemLink> <ItemType>Item</ItemType> </MenuItem> <MenuItem> <ItemText>Notebooks</ItemText> <ItemLink>-</ItemLink> <ItemType>H2</ItemType> </MenuItem> <MenuItem> <ItemText>C#</ItemText> <ItemLink>notebooks/csharp/index.html</ItemLink> <ItemType>Item</ItemType> </MenuItem> <MenuItem> <ItemText>ATL</ItemText> <ItemLink>-</ItemLink> <ItemType>H3</ItemType> </MenuItem> <MenuItem> <ItemText>Hello World</ItemText> <ItemLink>hello.html</ItemLink> <ItemType>Item</ItemType> </MenuItem> <MenuItem> <ItemText>Handling Errors</ItemText> <ItemLink>errors.html</ItemLink> <ItemType>Item</ItemType> </MenuItem> </Menu>
Here is the XSL used to transform the XML into HTML:
<xsl:stylesheet
version="1.0"
xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
xmlns="http://www.w3.org/TR/REC-html40">
<xsl:output method="html" indent="yes" />
<xsl:template match="/">
<html>
<body>
<table border="0" cellpadding="2" cellspacing="0"
id="menu">
<xsl:for-each select="Menu/MenuItem">
<tr>
<td height="20" nowrap="">
<xsl:choose>
<xsl:when test="ItemType='Item'">
<a>
<xsl:attribute
name="href">
<xsl:value-of
select="ItemLink"/>
</xsl:attribute>
<font size="3">
<xsl:value-of
select="ItemText"/>
</font>
</a>
</xsl:when>
<xsl:when test="ItemType='H2'">
<center>
<font size="4"
color="#800000">
<b>
<xsl:value-of
select="ItemText"/>
</b>
</font>
</center>
</xsl:when>
<xsl:when test="ItemType='H3'">
<center>
<font size="3">
<b>
<xsl:value-of
select="ItemText"/>
</b>
</font>
</center>
</xsl:when>
</xsl:choose>
</td>
</tr>
</xsl:for-each>
</table>
</body>
</html>
</xsl:template>
</xsl:stylesheet>
Comments