Re: Create two xml files from one xsl file
Well, aside from how to generate the output (xsl:result-document in 2.0 or various processor-specific extensions in 1.0), you need to figure out how to process the same material twice in the same stylesheet. Perhaps modes would work. For example, consider the following very simple document: <exchange> <greeting>What's up, doc?</greeting> <response>Oooooo, you're despicable!</response> </exchange> and then an XSLT stylesheet (this one's 2.0, so I can use result-document) to produce two documents: <?xml version="1.0" encoding="UTF-8"?> <xsl:stylesheet version="2.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform"> <xsl:output method="text"/> <xsl:template match="/"> <xsl:apply-templates mode="one"/> <xsl:apply-templates mode="two"/> </xsl:template> <xsl:template match="exchange" mode="one"> <xsl:result-document href="one.txt"> <xsl:apply-templates select="greeting"/> <xsl:apply-templates select="response"/> </xsl:result-document> </xsl:template> <xsl:template match="exchange" mode="two"> <xsl:result-document href="two.txt"> <xsl:apply-templates select="response"/> <xsl:apply-templates select="greeting"/> </xsl:result-document> </xsl:template> <xsl:template match="greeting"> Bugs says, "<xsl:apply-templates/>." </xsl:template> <xsl:template match="response"> Daffy says, "<xsl:apply-templates/>." </xsl:template> </xsl:stylesheet> And the output is two text files, each with the lines in reverse order relative to the other file. So that's one way. As ever, there are probably others. I have never used Microsoft's XSL processors, so I don't know how to generate two different files with those tools. I bet someone on the list knows that part, though. Jay Bryant Bryant Communication Services (presently consulting at Synergistic Solution Technologies) ADAM PATRICK <adampatrick@xxxxxxxxxxxxxx> 09/12/2005 01:43 PM Please respond to xsl-list@xxxxxxxxxxxxxxxxxxxxxx To xsl-list@xxxxxxxxxxxxxxxxxxxxxx cc Subject Re: Create two xml files from one xsl file using msxml 4.0 (don't boo me please company microsoft policy) to explain myself a bit more... I have two xsl files that work on one xml file what I would like is to be able to run a single xsl file (containing the logic of both xsl files) to create two xml files... any avenues I should look down to work it all out would be appreciated... please treat me like an idiot at spelling things out as I am new to this game... --- David Carlisle <davidc@xxxxxxxxx> wrote: > > In pure XSLT 1.0, no, but most systems offer an > extension to do this > (saxon:output, xalan:redirect, exslt:document or > whatever) IN XSLT2.0 > draft there is a standard xsl:result-document > element that does this. > > David > > ________________________________________________________________________ > This e-mail has been scanned for all viruses by > Star. The > service is powered by MessageLabs. For more > information on a proactive > anti-virus service working around the clock, around > the globe, visit: > http://www.star.net.uk > ________________________________________________________________________
PURCHASE STYLUS STUDIO ONLINE TODAY!
Purchasing Stylus Studio from our online shop is Easy, Secure and Value Priced!
Download The World's Best XML IDE!
Accelerate XML development with our award-winning XML IDE - Download a free trial today!
Subscribe in XML format