Page 1 of 1

Condition in responsive web help build file

Posted: Wed Feb 12, 2025 7:20 pm
by sandyr987
I need to add a condition to use publishing template based on a variable. Here is the current code currently in the responsive web help build file.

Code: Select all

<antcall target="dita2webhelp-responsive">
            <param name="clean.output" value="no"/>
            <param name="args.tablelink.style" value="TITLE"/>
            <param name="template" value="${1}${2}templates${file.separator}template_location"/>
        </antcall>
The variable is 'brand' and I want to change the value of 'template_location' based on the variable value.
An if/then statement is good, too. Basically:
if brand is X then <param name="template" value="${1}${2}templates${file.separator}location_x"/> .
if brand is Y then <param name="template" value="${1}${2}templates${file.separator}location_y"/> .
if brand is z then <param name="template" value="${1}${2}templates${file.separator}location_z"/> .

Ideas?

Re: Condition in responsive web help build file

Posted: Sat Mar 22, 2025 11:53 am
by RoseBL
You can use Ant’s <condition> task to set template_location dynamically based on the brand variable. Here's how you can modify your build file:

Code: Select all

<condition property="template_location">
    <equals arg1="${brand}" arg2="X" />
    <then>location_x</then>
    <else>
        <condition>
            <equals arg1="${brand}" arg2="Y" />
            <then>location_y</then>
            <else>location_z</else>
        </condition>
    </else>
</condition>

<antcall target="dita2webhelp-responsive">
    <param name="clean.output" value="no"/>
    <param name="args.tablelink.style" value="TITLE"/>
    <param name="template" value="${1}${2}templates${file.separator}${template_location}"/>
</antcall>
This will dynamically assign template_location based on the value of brand before calling the target.