I need some advice on running the XSLT file (combine.xslt) that Doxygen generates with XML output. (The file's function is to combine the several generated XML files into a single file.)
This ought to be a simple process, but it has not been so. I've tried several XSLT processors and found most of them to be unusable, due to dead links, corrupted archive files, unsupported archive formats, etc. I got the impression that these processors are designed by and for hackers who consider clean installation packages unimportant.
I finally installed Saxon-HEhttps://sourceforge.net/projects/saxon/files/Saxon-HE/9.6/, a free command line utility from Saxonica (www.saxonica.comhttp://www.saxonica.com). I ran the publisher's test command and got the expected output. I then wrote a command to run Doxygen's combine.xslt file and got an error message, which said that the option to specify the source file was missing.
But the whole point of this transformation is to combine multiple source files, enumerated in the transformation itself. In this case "the source file" is meaningless.
Is there a reasonably simple way to do what I need?
To keep responses on target, let me explain the context of this problem:
I need a solution that's free - not because we're cheap, but because other users must be able to adopt my solution (or maintain it) without having to hassle with licenses.
Combining the XML files is a prerequisite for my task; I need to accomplish it as quickly and efficiently as I can. I'd love to learn all about how XSLTs work, but now is not the time - that would be a distraction, not a solution.
Thanks in advance for your assistance!
This email message is for the sole use of the intended recipient(s) and may contain
confidential information. Any unauthorized review, use, disclosure or distribution
is prohibited. If you are not the intended recipient, please contact the sender by
reply email and destroy all copies of the original message.
I've made some progress with this but I still need assistance.
I found an application (Serna Free XML editor) that installs xsltproc, and I was able to run it. But it also wants me to enter the names of the input files on the command line. That appears to be part of the logic of the task, not a peculiarity of the first utility I tried.
But there are 87 input files in my test case. Every case I process will have a different set of files. xsltproc doesn't accept wildcard notation, and I don't think Windows will let me expand a wildcard spec in the shell. It appears that I'll have to write a little utility to find all of the input files and create a command in a batch file. And if a case has so many files that the command is more than 8191 characters long, Windows won't accept it.
When I have to work this hard to perform a simple task, I wonder whether I'm trying to solve the wrong problem, or to solve it the wrong way.
How can I make this simple task simple to accomplish?
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
Hi Jonathan..I have exactly the same requirement as yours to combine all the xml outputs generated by doxygen and merge in to one xml. I would appreciate if you can share the approach to accomplish this task.
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
The Filters4Doxygen (see post or download) also contains XMLfilter.class, which does XSLT transformations.
This worked fine for me:
pre: windows, Filters4Doxygen in C:\filters_dox, xml Doxygen output in C:\filters_dox\doc\xml )
command line:
I need some advice on running the XSLT file (combine.xslt) that Doxygen generates with XML output. (The file's function is to combine the several generated XML files into a single file.)
This ought to be a simple process, but it has not been so. I've tried several XSLT processors and found most of them to be unusable, due to dead links, corrupted archive files, unsupported archive formats, etc. I got the impression that these processors are designed by and for hackers who consider clean installation packages unimportant.
I finally installed Saxon-HEhttps://sourceforge.net/projects/saxon/files/Saxon-HE/9.6/, a free command line utility from Saxonica (www.saxonica.comhttp://www.saxonica.com). I ran the publisher's test command and got the expected output. I then wrote a command to run Doxygen's combine.xslt file and got an error message, which said that the option to specify the source file was missing.
But the whole point of this transformation is to combine multiple source files, enumerated in the transformation itself. In this case "the source file" is meaningless.
Is there a reasonably simple way to do what I need?
To keep responses on target, let me explain the context of this problem:
I need a solution that's free - not because we're cheap, but because other users must be able to adopt my solution (or maintain it) without having to hassle with licenses.
Combining the XML files is a prerequisite for my task; I need to accomplish it as quickly and efficiently as I can. I'd love to learn all about how XSLTs work, but now is not the time - that would be a distraction, not a solution.
Thanks in advance for your assistance!
This email message is for the sole use of the intended recipient(s) and may contain
confidential information. Any unauthorized review, use, disclosure or distribution
is prohibited. If you are not the intended recipient, please contact the sender by
reply email and destroy all copies of the original message.
I've made some progress with this but I still need assistance.
I found an application (Serna Free XML editor) that installs xsltproc, and I was able to run it. But it also wants me to enter the names of the input files on the command line. That appears to be part of the logic of the task, not a peculiarity of the first utility I tried.
But there are 87 input files in my test case. Every case I process will have a different set of files. xsltproc doesn't accept wildcard notation, and I don't think Windows will let me expand a wildcard spec in the shell. It appears that I'll have to write a little utility to find all of the input files and create a command in a batch file. And if a case has so many files that the command is more than 8191 characters long, Windows won't accept it.
When I have to work this hard to perform a simple task, I wonder whether I'm trying to solve the wrong problem, or to solve it the wrong way.
How can I make this simple task simple to accomplish?
Hi Jonathan..I have exactly the same requirement as yours to combine all the xml outputs generated by doxygen and merge in to one xml. I would appreciate if you can share the approach to accomplish this task.
The Filters4Doxygen (see post or download) also contains XMLfilter.class, which does XSLT transformations.
This worked fine for me:
pre: windows, Filters4Doxygen in C:\filters_dox, xml Doxygen output in C:\filters_dox\doc\xml )
command line:
I hope that can help
Best regards
m.s.