docbook-apps

  • 1.  RE: [docbook-apps] Setting the draft.watermark.image parameter value

    Posted 03-10-2009 16:37



    Jeff Hooker wrote:

    > Hi all,

    > I'm trying to allow my users to set their own watermark simply
    > by defining an image labeled "watermark" within their document. This
    > means I need to set the value of the draft.watermark.image value
    > dynamically. This is a little difficult because, as far as I can tell,
    > the parameter value needs to be set before the target file is processed
    > (makes sense, just inconvienent at the moment). Is there any boilerplate
    > way of getting around this?

    > Thanks,
    > Jeff

    You could set the parameter on the command line to the value in an
    environment variable. Using xsltproc on Windows would give:

    C:\> xsltproc --stringparam draft.watermark.image %WATERMARK% ...

    Each user could set his %WATERMARK% variable to whatever he wants,
    without touching the source XML at all.


    _________________________________________________________________
    Windows Live™: Life without walls.
    http://windowslive.com/explore?ocid=TXT_TAGLM_WL_allup_1a_explore_032009


  • 2.  RE: [docbook-apps] Setting the draft.watermark.image parameter value

    Posted 03-10-2009 16:40
    Technically right, but in my situation, wrong :(

    My company uses a CMS that makes setting parameter values a nightmare. This is the main reason that I'm trying to do an end run around having to define them outside of the document.

    Jeff.




  • 3.  RE: [docbook-apps] Setting the draft.watermark.image parameter value: solution

    Posted 03-10-2009 17:04
    Hi all,

    Found one thing that works, still open to others. Set the value of the parameter using a processing instruction like so (basically cut-and-paste from Bob S's Docbook XSL book):

    <xsl:param name="draft.watermark.image">
    <xsl:call-template name="dbfo-attribute">
    <xsl:with-param name="pis"
    select="//processing-instruction('dbfo')"/>
    <xsl:with-param name="attribute" select="'draft.watermark.image'"/>
    </xsl:call-template>
    </xsl:param>

    Then I added a step to one of my preprocessing scripts that picks up the existence of a "watermark" element and creates the processing instruction at the root of the document:



    and it's all good.

    Cheers,
    Jeff.