| Author |
XML Transformation
|
Monika Sa
Greenhorn
Joined: Oct 24, 2011
Posts: 1
|
|
I am new to ranch and I apologize if I am not posting this topic in the right thread.
I have been looking at this for sometime now and need your help. My problem is why is data being output outside the xml elements too. I am attaching the source, xsl and output....Sorry couldn't attach, so pasting. Please let me know if you need something else
ranch_source.xml
ranch_PTF.xsl
out.xml
|
 |
Rob Spoor
Sheriff
Joined: Oct 27, 2005
Posts: 19216
|
|
|
I'll move this thread to our XML forum.
|
SCJP 1.4 - SCJP 6 - SCWCD 5
How To Ask Questions How To Answer Questions
|
 |
Paul Clapham
Bartender
Joined: Oct 14, 2005
Posts: 16483
|
|
Monika Sa wrote:My problem is why is data being output outside the xml elements too.
Chances are, that's because they are being output by one of the built-in template rules. I only see a named template in what you posted and I don't see anything which would call it,
so it's pretty likely that everything you see in your output came from the built-in template.
|
 |
g tsuji
Ranch Hand
Joined: Jan 18, 2011
Posts: 362
|
|
Automatic xslt generation is a double-edged swore. It can backfire terribly at times if you don't know many contingent factors in play that might need user-intervention. That software can put up parameter with dreadful select="/.." that I would never, for instance. But that is not the problem, they can do that if it amuses them.
This is the problem. In all your (named) templates, where-ever there appears this block:
<xsl:for-each select="$input/node()">
<xsl:if test="not(self::text())">
<xsl:if test="not(self::*)">
<xsl:value-of select="."></xsl:value-of>
</xsl:if>
</xsl:if>
Replace the block by this line.
That would make xalan well-behaved. The necessity of it is in fact processor-dependent, too bad.
Edit note: code block seems having problem in display for this moment?!
|
 |
 |
|
|
subject: XML Transformation
|
|
|