KnowledgeHub
Questions
Tags
Users
Search
Alex Rivera
|
Logout
Edit Question
Title
Body
I have a quite stupid question. How can I make sure that my XML mixed content node doesn't get mixed up? I have, say, an XML structure resembling this. <root> <book> <title>Stuff</title> <description> This book is <i>great</i> if you need to know about stuff. I suggest <link ref="Things">this one</link> if you need to know about things. </description> </book> [other books] </root> I need the final content to look like this <h1>List of books</h1> <h2><a name="Stuff"/>Stuff</h2> <p> This book is <i>great</i> if you need to know about stuff. I suggest <a href="#Things">this one</a> if you need to know about things. </p> But I can't extract the portions of the text node, I always grab the whole thing. I'm using the descendant axis. Any clue what I'm doing wrong? Here is my xslt: <xsl:template match="description/*"> <xsl:for-each select="following-sibling::*"> <xsl:choose> <xsl:when test="name(.)='link'"> <a href="{@ref}"><xsl:value-of select="."/></a> </xsl:when> <xsl:when test="name(.)='em'"> <em><xsl:value-of select="."/></em> </xsl:when> <xsl:otherwise><p><xsl:value-of select="."/></p></xsl:otherwise> </xsl:choose> </xsl:for-each> </xsl:template> Please note that the enclosed XML and resulting html are merely examples, I have to deal with a bigger structure which I'm not enclosing in, for sake of clarity.
Tags (comma-separated)
Save Edits
Cancel