|
|
|||||||||
|
|||||||||
| |||||||||
|
|
|
| |||||||||
![]() |
|
|
«
Previous Thread
|
Next Thread
»
|
Thread Tools | Search this Thread | Rate Thread | Display Modes |
|
#1
|
|||
|
|||
|
Hi there!
Firstly, sorry for my English... I'm not a native speaker. I've got XML code which looks like this: <book> <para> p1 <footnote> <para> f1 </para> </footnote> p2 <footnote> <para> f2 </para> </footnote> p3 </para> </book> The effect I would like to achive : p1 * p2 * p3 I've tried to use such XSL stylesheet but it doesn't quite work: <xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform"> <xsl:template match="/book"> <html> <body> <xsl:apply-templates/> </body> </html> </xsl:template> <xsl:template match="para"> <xsl:for-each select="text()"> <xsl:value-of select="."/> </xsl:for-each> <xsl:apply-templates select="footnote"/> </xsl:template> <xsl:template match="footnote"> * </xsl:template> </xsl:stylesheet> I would appreciate any help. Thanks! |
|
#2
|
|||
|
|||
|
not really. the problem is that those * should be 'produced' by template which matches footnote. so i don't want them to be some kind of separator. other words i would like to proceed the template responsible for footnote after printing out p1 and before p2 and then proceed second footnote (write for example *) after p2 and before p3. i don't know how to do this because tag para which contains p1, p2 and p3 isn't closed before tag footnote begins. i hope it's clear now. thanks for help anyway, but i still wait for solution...
|
![]() |
| Viewing: Dev Shed Forums > Programming Languages - More > XML Programming > xsl:for-each and text() problem |
| Thread Tools | Search this Thread |
| Display Modes | Rate This Thread |
|
|
|
|