aspose file tools*
The moose likes XML and Related Technologies and the fly likes XML Transformation Big Moose Saloon
  Search | Java FAQ | Recent Topics | Flagged Topics | Hot Topics | Zero Replies
Register / Login


Win a copy of Soft Skills this week in the Jobs Discussion forum!
JavaRanch » Java Forums » Engineering » XML and Related Technologies
Bookmark "XML Transformation" Watch "XML Transformation" New topic
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: 19783
    
  20

I'll move this thread to our XML forum.


SCJP 1.4 - SCJP 6 - SCWCD 5 - OCEEJBD 6
How To Ask Questions How To Answer Questions
Paul Clapham
Bartender

Joined: Oct 14, 2005
Posts: 18987
    
    8

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: 547
    
    3
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?!
 
I agree. Here's the link: http://aspose.com/file-tools
 
subject: XML Transformation