RE: [xsl] Splitting multiple node occurrences into separate xmls

Subject: RE: [xsl] Splitting multiple node occurrences into separate xmls
From: "Aron Bock" <aronbock@xxxxxxxxxxx>
Date: Thu, 28 Apr 2005 20:58:47 +0000
Vishwajit, parsing a string containing XML into XML elements is functionality provided by some parsers; see eval() functions. Generating multiple outdocuments from a single input is also extended functionality provided by some processors.

If you don't want to use the multiple-document extension, and don't care about processing efficiency (though from prior posts you do seem to want to keep tabs on that metric), one approach to splitting a single input document ius as follows:

--apply a transform to the input that produces as its output a command file (shell script, ant build file, etc), with as many command [lines] as you want output files
--each command [line] indicates an XSL transform of the original input file; it is provided enough metadata so that it outputs just the nodes you want in that file

The idea is that you repeatedly transform the input file, each time selecting just a subset of its nodes for output. Inefficient, but convenient.



From: "Vishwajit Pantvaidya" <pantvaidya@xxxxxxxxxxx>
Reply-To: xsl-list@xxxxxxxxxxxxxxxxxxxxxx
To: xsl-list@xxxxxxxxxxxxxxxxxxxxxx
Subject: [xsl] Splitting multiple node occurrences into separate xmls
Date: Thu, 28 Apr 2005 12:58:01 -0700

I need to do a transformation that will take an input xml string in a format that is something like
and apart from transforming it, will split the multiple node occurrences for "a" into different xml's i.e.

I was thnking that if xsl offers some kind of looping facility, that may help. But then xsl transformation presumably being single-input, single-output process, just an xsl maynot by itself suffice. Is there a possibility that somehow I can have a java loop pass a looping variable into the xsl-sheet, so that the first transformation gives me the first occurrence of "a", and so on.

Another approach could be to let the xsl transformation return a single xml that has the multiple "a" occurrences and then subsequently seperate them out by carrying out XPath/DOM operations on the transformed xml.

Dont just search. Find. Check out the new MSN Search!

Current Thread