Boost logo

Boost-Build :

From: Vladimir Prus (ghost_at_[hidden])
Date: 2008-03-21 02:10:44

Eric Woodruff wrote:

> I have a question about xsltproc.jam. It states:
> # This module defines rules to apply an XSLT stylesheet to an XML file
> # using the xsltproc driver, part of libxslt.
> #
> # Note: except for 'init', this modules does not provide any rules
> # for end users.
> What does that mean? Does that mean I shouldn't use it? I'm having a
> problem getting it to work via a simple:
> import xsltproc ;
> make header.h : source.psmc schema/header.xsl : @xsltproc.xslt ;

The comment means that it was written as part of implementing boostbook.jam,
and it was not tested/documented for general user, so expect rocks under the

> I get the following problem and haven't been able to find anything
> solution referencing anything similar:
> xslt-xsltproc ../../myproj/catalogs/bin/gcc-4.1.1/debug/header.h
> cannot parse <p../../myproj/catalogs>../catalogs/schema/header.xsl
> "xsltproc" --xinclude -o "../../myproj/catalogs/bin/gcc-4.1.1/debug/header.h"
> "<p../../myproj/catalogs>schema/header.xsl" "../../myproj/catalogs/source.psmc"
> Where did the "<p" come from?

<p...> is the prefix used for internal identification of targets -- it's
used for the case when you have 20 files "schema/header.xsl" in 20
different directories. Normally, it does not appear on the command line, but
the only use of xslt function now passes the absolute path for stylesheet.

Would you please locate this code in xsltproc.jam:

   actions xslt-xsltproc
      $(CATALOG) "$(NAME:E=xsltproc)" $(FLAGS) --xinclude -o "$(<)" "$(STYLESHEET)" "$(>)"

and replace the first line to read

   actions xslt-xsltproc bind STYLESHEET

and then try again?

- Volodya

Boost-Build list run by bdawes at, david.abrahams at, gregod at, cpdaniel at, john at