|
|
|||||||||
|
|||||||||
| |||||||||
|
|
|
| |||||||||
![]() |
|
|
«
Previous Thread
|
Next Thread
»
|
Thread Tools | Search this Thread | Rate Thread | Display Modes |
|
|
|
Get inside! Sample the range of functionality easily built with JMSL Library for Time Series Data Analysis, Heat Maps, Portfolio Optimization, Monte Carlo Simulation, Stock Price Charting and more. Download Now! |
|
#1
|
|||
|
|||
|
Basic XSLT Question
Hello all,
I am fairly new to XSL, but have some experience. One of my recent projects requires me to turn the following XML (from a stored procedure) into the below HTML: -------------------------------------------- <root Date="7/15/2003 9:19:31 AM"> <table> <row id="0"> <NewsDate> <![CDATA[7/15/2003 12:00:00 AM]]></NewsDate> <CodeDesc>Cash Available</CodeDesc> <Ticker>HDI</Ticker> <News>Harley D decides to forego engines</News> </row> <row id="0"> <NewsDate> <![CDATA[7/15/2003 12:00:00 AM]]></NewsDate> <CodeDesc> <![CDATA[Broker Rating/Number Changes]]></CodeDesc> <Ticker>BUYX</Ticker> <News>Buy.com is of no use</News> </row> <row id="0"> <NewsDate> <![CDATA[7/15/2003 12:00:00 AM]]></NewsDate> <CodeDesc> <![CDATA[Broker Rating/Number Changes]]></CodeDesc> <Ticker>IBM</Ticker> <News> <![CDATA[IBM will upgrade the hardware on ...]]></News> </row> <row id="0"> <NewsDate> <![CDATA[7/15/2003 12:00:00 AM]]></NewsDate> <CodeDesc> <![CDATA[Broker Rating/Number Changes]]></CodeDesc> <News>this is a sample of null news</News> </row> <row id="0"> <NewsDate> <![CDATA[7/15/2003 12:00:00 AM]]></NewsDate> <CodeDesc> <![CDATA[Broker Rating/Number Changes]]></CodeDesc> <Ticker>POOL</Ticker> <News>more news on pool</News> </row> <row id="0"> <NewsDate> <![CDATA[7/15/2003 12:00:00 AM]]></NewsDate> <CodeDesc>Companies Expected to Report Today</CodeDesc> <Ticker>IBM</Ticker> <News> <![CDATA[WebSphere already runs on Linux ...]]></News> </row> </table> </root> -------------------------------------------- Here is the HTML: CodeDesc: AAAAAAAA Ticker: ABC - News Item 1 - News Item 2 - News Item 3 Ticker: XYZ - News Item 4 - News Item 5 - News Item 6 CodeDesc: BBBBBBBBB Ticker: ZZZ - News Item 7 - News Item 8 - News Item 9 Ticker: XYZ - News Item 10 - News Item 11 - News Item 12 Essentially, I need to be able to detect when there is a new CodeDesc, new Ticker, etc, so that I can throw in some formatting (like a <hr>, etc). Doesn't seem like a standard for-each element will solve this. Thanks so much for any pointers. |
|
#2
|
|||
|
|||
|
Formatting didn't seem to come out right. Please note that the problem is that instead of this format:
<codedesc> ..<ticker> ....<news></news> ....<news></news> ....<news></news> ..</ticker> </codedesc> which would allow me to do a: <foreach> ..<foreach> ....<foreach> ....</foreach> ..</foreach> </foreach> instead, because my XML is 2-dimensional, the codedesc, news and ticker are all at the same depth, like so: <row> ..<codedesc></codedesc> ..<ticker></ticker> ..<news></news> </row> <row> ..<codedesc></codedesc> ..<ticker></ticker> ..<news></news> </row> Thanks again! Hopefully the dots will help with formatting. |
|
#3
|
||||
|
||||
|
Use templates like:
Code:
<xsl:template match="row">
<TR>
<xsl:apply-templates/>
</TR>
</xsl:template>
|
![]() |
| Viewing: Dev Shed Forums > Programming Languages - More > XML Programming > Basic XSLT Question |
| Thread Tools | Search this Thread |
| Display Modes | Rate This Thread |
|
|
|
|