Forum Moderators: open
First off an extract from the XML which was generated using Crystal Reports
<FormattedSections>
<FormattedSection SectionNumber="0">
<FormattedReportObjects>
<FormattedReportObject xsi:type="CTFormattedField" Type="xsd:string" FieldName="{VhStock.REGNO}"><ObjectName>Field22</ObjectName>
<FormattedValue>RLF462</FormattedValue>
<Value>RLF462</Value>
</FormattedReportObject>
<FormattedReportObject xsi:type="CTFormattedField" Type="xsd:string" FieldName="{VhStock.BODY_TYPE}"><ObjectName>Field25</ObjectName>
<FormattedValue>SEDAN</FormattedValue>
<Value>SEDAN</Value>
</FormattedReportObject>
<FormattedReportObject xsi:type="CTFormattedField" Type="xsd:string" FieldName="{VhStock.TRANSMISSION}"><ObjectName>Field27</ObjectName>
<FormattedValue>5M</FormattedValue>
<Value>5M</Value>
</FormattedReportObject>
<FormattedReportObject xsi:type="CTFormattedField" Type="xsd:string" FieldName="{VhStock.PAINT}"><ObjectName>Field28</ObjectName>
<FormattedValue>GREEN</FormattedValue>
<Value>GREEN</Value>
Heres the stylesheet i've created to display the XML it grabs the data but doesnt put it in to a table or any sort of structure plese help:
<?xml version="1.0" encoding="ISO-8859-1"?>
<!-- Edited with XML Spy v4.2 -->
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform"><xsl:template match="/">
<html>
<body>
<h2>Used Vehicles</h2>
<xsl:apply-templates/>
</body>
</html>
</xsl:template>
<xsl:template match="FormattedReportObjects">
<table border="0">
<xsl:apply-templates/>
</table>
</xsl:template>
<xsl:template match="FormattedReportObject">
<tr>
<xsl:apply-templates/>
</tr>
</xsl:template>
<xsl:template match="ObjectNameŠFormattedValueŠValue">
<td>
<xsl:value-of select="text()"/>
</td>
</xsl:template>
</xsl:stylesheet>
I have checked both the XML and XSL file in an editor and are both well-formed.
I'm just really stuck on this at the moment, mainly because none of the tutorials really relate to an XML document structured like the one above.
Any help would be greatly appreciated.
<?xml version='1.0'?>
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:output method="html"/>
<xsl:template match="/">
<table>
<xsl:call-template name="processme"/>
</table>
</xsl:template>
<xsl:template name="processme">
<tr>
<xsl:for-each select="FormattedSections/FormattedSection/FormattedReportObjects/FormattedReportObject">
<xsl:if test="@FieldName = '{VhStock.REGNO}'">
<td><xsl:value-of select="@FieldName"/></td>
</xsl:if>
<xsl:if test="@FieldName = '{VhStock.PAINT}'">
<td><xsl:value-of select="@FieldName"/></td>
</xsl:if>
</xsl:for-each>
</tr>
<tr>
<xsl:for-each select="FormattedSections/FormattedSection/FormattedReportObjects/FormattedReportObject">
<xsl:if test="@FieldName = '{VhStock.REGNO}'">
<td><xsl:value-of select="Value"/></td>
</xsl:if>
<xsl:if test="@FieldName = '{VhStock.PAINT}'">
<td><xsl:value-of select="Value"/></td>
</xsl:if>
</xsl:for-each>
</tr>
</xsl:template>
</xsl:stylesheet>
Give it a shot, let me know what you think. I know that some people are going to flame this xsl, :) but oh well, it's been a while.