This is the mail archive of the
xsl-list@mulberrytech.com
mailing list .
Re: <xsl:for-each> problem ?
- To: xsl-list at lists dot mulberrytech dot com
- Subject: [xsl] Re: <xsl:for-each> problem ?
- From: Choon Tan <tct13 at yahoo dot com>
- Date: Mon, 23 Jul 2001 01:47:55 -0700 (PDT)
- Reply-To: xsl-list at lists dot mulberrytech dot com
Hi, my xsl does not generate the right html output. The problem
seems to be <xsl:for-each>. Instead of the two stocks for each
date, I get all four stocks for each date (conflicts with how
data is in my xml file).
Anybody can spot what is going on? Thanks in advance, Braden.
---------------XSL----------------------
<?xml version="1.0" ?>
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
version="1.0">
<xsl:output method ="html"/>
<xsl:template match="/">
<html>
<body>
<xsl:for-each select="FTSE100/DATE">
<div align="left"><h1>Date: <xsl:value-of
select="@Date"/></h1></div>
<div align="left"><h1>Time: <xsl:value-of
select="@Time"/></h1></div>
<xsl:for-each select="/FTSE100/DATE/STOCK">
<p><div align="center"><h2>Stock name: <xsl:value-of
select="@Name"/></h2></div></p>
<p><font color="#330099">Mid: <xsl:value-of
select="PRICE/@Mid"/></font></p>
<p><font color="#330099">Bid: <xsl:value-of
select="PRICE/@Bid"/></font></p>
<p><font color="#330099">Offer: <xsl:value-of
select="PRICE/@Offer"/></font></p>
<p><i>Percent: <xsl:value-of select="CHANGE/@Percent"/></i></p>
<p><i>Actual: <xsl:value-of select="CHANGE/@Actual"/></i></p>
<p><b><font color="#000080">Volume: <xsl:value-of
select="VOLUME"/></font></b></p>
</xsl:for-each>
</xsl:for-each>
</body>
</html>
</xsl:template>
</xsl:stylesheet>
------------------------XML-------------------
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE FTSE100 SYSTEM "FTSE100.dtd" >
<FTSE100>
<DATE Date="21/06/2001" Time="19:40">
<STOCK Name="III" Mne="3i Group">
<PRICE Mid="1120" Bid="1117" Offer="1120" Open="1166"
Close="1096" High="1160" Low="1120"/>
<CHANGE Percent="-3.4%" Actual="-40"/>
<VOLUME>4,785,481</VOLUME>
</STOCK>
<STOCK Name="ABF" Mne="AF Foods">
<PRICE Mid="446.5" Bid="451" Offer="445.45" Open="445.35"
Close="461" High="424.5" Low="446.5"/>
<CHANGE Percent="0.01%" Actual="0.25"/>
<VOLUME>2,333,091</VOLUME>
</STOCK>
</DATE>
<DATE Date="22/06/2001" Time="19:40">
<STOCK Name="XXX" Mne="XXX Group">
<PRICE Mid="1120" Bid="1117" Offer="1120" Open="1166"
Close="1096" High="1160" Low="1120"/>
<CHANGE Percent="-3.4%" Actual="-40"/>
<VOLUME>4,785,481</VOLUME>
</STOCK>
<STOCK Name="ZZZ" Mne="ZZZ Foods">
<PRICE Mid="446.5" Bid="451" Offer="445.45" Open="445.35"
Close="461" High="424.5" Low="446.5"/>
<CHANGE Percent="0.01%" Actual="0.25"/>
<VOLUME>2,333,091</VOLUME>
</STOCK>
</DATE>
</FTSE100>
--------------------DTD---------------------
<!-- My stock database example -->
<!ELEMENT FTSE100 (DATE+)>
<!ELEMENT DATE (STOCK+)>
<!ATTLIST DATE
Date CDATA #REQUIRED
Time CDATA #REQUIRED
>
<!ELEMENT STOCK (PRICE, CHANGE, VOLUME)>
<!ATTLIST STOCK
Name CDATA #REQUIRED
Mne CDATA #REQUIRED
>
<!ELEMENT PRICE EMPTY>
<!ATTLIST PRICE
Mid CDATA #REQUIRED
Bid CDATA #REQUIRED
Offer CDATA #REQUIRED
Open CDATA #REQUIRED
Close CDATA #REQUIRED
High CDATA #REQUIRED
Low CDATA #REQUIRED
>
<!ELEMENT CHANGE EMPTY>
<!ATTLIST CHANGE
Percent CDATA #REQUIRED
Actual CDATA #REQUIRED
>
<!ELEMENT VOLUME (#PCDATA)>
__________________________________________________
Do You Yahoo!?
Make international calls for as low as $.04/minute with Yahoo! Messenger
http://phonecard.yahoo.com/
XSL-List info and archive: http://www.mulberrytech.com/xsl/xsl-list