Beginners vraag XML - XSLT

Status
Niet open voor verdere reacties.

hassing

Gebruiker
Lid geworden
25 sep 2007
Berichten
43
Ik ben zojuist begonnen om XML te transformeren dmv XSLT.
Het lukt met aardig maar kom er niet helemaal uit.

Bron XML:
Code:
<root>
	<toets nr="1" gem="7.100000"/>
	<toets nr="2" gem="7.100000"/>
	<toets nr="3" gem="3.8"/>
	<toets nr="4" gem="7.100000"/>
	<toets nr="5" gem="7.100000"/>
	<toets nr="6" gem="6.000000"/>
	<toets nr="7" gem="7.100000"/>
	<toets nr="8" gem="7.100000"/>
	<toets nr="9" gem="7.100000"/>
	<toets nr="10" gem="5.500000"/>
</root>

XSLT:
Code:
<?xml version="1.0" encoding="UTF-8"?>
<xsl:stylesheet version="2.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:output method="xml"/>

<xsl:template match='/'>
<graph>
	<categories>
		<xsl:apply-templates/>
	</categories>
</graph>	
</xsl:template>


<xsl:template match="root/toets">
	<category value='{@nr}'/>
</xsl:template>

<!--
<xsl:for-each select="root/toets">
		<set value='{@gem}'/>
</xsl:for-each>
-->

</xsl:stylesheet>


Output XML:
Code:
<?xml version="1.0" encoding="utf-8"?>
<graph>
<categories>
	<category value="1"/>
	<category value="2"/>
	<category value="3"/>
	<category value="4"/>
	<category value="5"/>
	<category value="6"/>
	<category value="7"/>
	<category value="8"/>
	<category value="9"/>
	<category value="10"/>
</categories></graph>


Hoe kan ik nu, onder <graph> nog een node plaatsen (gelijk niveau met categories) genaamd <dataset>?
Onder <dataset> zou het er als volgt uit moeten komen te zien (data uit Bron XML).

<dataset>
<set ="gem="7.1000000"/>
<set ="gem ...
<set ..
</dataset>


Heeft iemand een tip/oplossing voor mij?

Met vriendelijke groet,

bart
 
Op deze manier krijg ik het wel voor elkaar maar dit is niet zoals het hoort neem ik aan.
Is er geen mogelijkheid dat ik het met drie templates kan oplossen??


Code:
<?xml version="1.0" encoding="UTF-8"?>
<xsl:stylesheet version="2.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:output method="xml"/>

<xsl:template match='/'>
<graph caption='Toetsuitslagen gemiddeld Lorentz' xAxisName='Toetsen' yAxisName='Cijfer' hovercapbg='FFECAA' hovercapborder='F47E00' formatNumberScale='0' decimalPrecision='1' showvalues='0' animation='1' numdivlines='3' numVdivlines='0' yaxisminvalue='3' yaxismaxvalue='10' lineThickness='3' rotateNames='1'>
	<categories>
		<xsl:apply-templates/>
	</categories>
	
<dataset seriesname='Gemiddelden toetsuitslagen' color='0099FF' showValue='1' alpha='100' anchorAlpha='0' lineThickness='2'>
	<xsl:for-each select="root/toets">
		<set value='{@Gem}'>
		</set>	
	</xsl:for-each>		
</dataset>
	
</graph>	
</xsl:template>

<xsl:template match='toets'>
	<category name='{@nr}'>
	</category>
</xsl:template>



</xsl:stylesheet>

Output:
Code:
<?xml version="1.0" encoding="utf-8"?><graph caption="Toetsuitslagen gemiddeld Lorentz" xAxisName="Toetsen" yAxisName="Cijfer" hovercapbg="FFECAA" hovercapborder="F47E00" formatNumberScale="0" decimalPrecision="1" showvalues="0" animation="1" numdivlines="3" numVdivlines="0" yaxisminvalue="3" yaxismaxvalue="10" lineThickness="3" rotateNames="1"><categories>
  <category name="1"/>
  <category name="2"/>
  <category name="3"/>
  <category name="4"/>
  <category name="5"/>
</categories>
<dataset seriesname="Gemiddelden toetsuitslagen" color="0099FF" showValue="1" alpha="100" anchorAlpha="0" lineThickness="2">
 <set value="7.100000"/> 
 <set value="7.100000"/>
 <set value="7.100000"/>
 <set value="7.100000"/>
 <set value="7.100000"/>
</dataset>
</graph>
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan