Skip to content

Tag Definition: if_b

Generated by rlextra version 3.6.13

Attributes

Name

Required?

Default_Value

Values

cond

required

None

Can contain
(para | blockTable | title | h1 | h2 | h3 | h4 | h5 | h6 | spacer | ul | ol | dl | illustration | graphicsMode | storyPlace | pre | xpre | codesnippet | plugInFlowable | drawing | outlineAdd | namedString | bookmarkPage | bookmark | name | hr | indent | frameBackground | fixedSize | keepInFrame | imageAndFlowables | imageFigure | figure | barCodeFlowable | keepTogether | docWhile | docIf | docAssign | docExec | docAssert | docPara | showIndex | topPadder | pto | placeString | placeRightString | placeCentredString | placeCenteredString | placePara | placeXPre | setTopFlowables | setPageTopFlowables | balancedColumns | loop_b | switch_b | assign_b | if_b | script_b | doclet | alias | nextPage | nextPageIfNotEmpty | nextFrame | setNextFrame | setNextTemplate | switchTemplate | condPageBreak | includePdfPages | log | warn | debug | info | error | critical)*

Purpose

This lets you run python-like if conditions within rml. This uses the dynamic rml dtd. See the relevant rml sample here.

Example usage

<!DOCTYPE document SYSTEM "../dynamic_rml.dtd">
<document filename='test_020_dynamic.pdf'>
    ...
    <story>
        <script_b>x = False</script_b>
        <if_b cond="not x">
            <loop_b var="v" in="(1,2),(3,4),(5,6),(7,8),(9,10)">
                <para><expr>v[0]</expr>: <expr>v[1]</expr></para>
            </loop_b>
        </if_b>
    </story>
</document>

Note: Only relevant sections are used in this snippet. Some tags were not included. See some of our samples for further insight of how you may go about setting up a full document using rml.

Example of nesting path from the parent tags to the current tag

<document> ➔ <story> ➔ <if_b>