On Thu, Feb 17, 2011 at 15:22:13 -0700, Eric Blake wrote:
On 02/17/2011 08:06 AM, Jiri Denemark wrote:
> I haven't tried that but xsltproc should support -o directory/
My recollection was that it didn't quite work:
https://www.redhat.com/archives/libvir-list/2010-June/msg00675.html
Quoting from that email:
I am officially stumped. I cannot, for the life of me, figure out why:
xsltproc --nonet -o ./ ./newapi.xsl ./libvirt-api.xml
works (outputs 4 *.html files into ./), while:
xsltproc --nonet -o ./devhelp/ ./devhelp/devhelp.xsl ./libvirt-api.xml
outputs 4 *.html files into ./devhelp but then tries to write to
./devhelp/ as a file (hence the I/O error) rather than writing output to
the fifth file devhelp/libvirt.devhelp.
That's because XSLT allows for two ways of generating the output of
transformation. Either implicit, which xsltproc prints to stdout and can be
redirected to a file using -o file. Or explicit, which means the stylesheet
contains <xsl:document> element(s) which specifies where the output should be
saved. This can be used for generating more files by a single run of xsltproc
and -o directory/ can change the directory where the output files will be
stored. And since this is cool, why not combine these two approaches in a
single file? And that's exactly what happened in devhelp.xsl. It generates 4
html files explicitly and one xml file implicitly. So -o can't ever work for
this. A patch to fix this is coming soon.
Jirka