<?xml version="1.0" encoding="UTF-8"?>

<?context-directive job ctxfile x-setups.ctx ?>

<cd:interface xmlns:cd="http://www.pragma-ade.com/commands">

    <cd:command name="definepageinjection" level="style" category="structure" file="page-inj.mkvi">
        <cd:arguments>
            <cd:resolve name="keyword-name"/>
            <cd:resolve name="keyword-name-optional"/>
            <cd:assignments list="yes" optional="yes">
                <cd:inherit name="setuppageinjection"/>
            </cd:assignments>
        </cd:arguments>
    </cd:command>

    <cd:command name="setuppageinjection" level="style" category="structure" file="page-inj.mkvi">
        <cd:arguments>
            <cd:resolve name="keyword-name-list-optional"/>
            <cd:assignments list="yes">
                <cd:parameter name="state">
                    <cd:constant type="previous"/>
                    <cd:constant type="next" default="yes"/>
                    <cd:constant type="cd:number"/>
                </cd:parameter>
                <cd:parameter name="delay">
                    <cd:constant type="yes"/>
                    <cd:constant type="no" default="yes"/>
                </cd:parameter>
                <cd:parameter name="alternative">
                    <cd:constant type="figure" default="yes"/>
                    <cd:constant type="buffer"/>
                    <cd:constant type="setups"/>
                    <cd:constant type="none"/>
                    <cd:constant type="cd:name"/>
                </cd:parameter>
                <cd:parameter name="page">
                    <cd:inherit name="page"/>
                </cd:parameter>
                <cd:parameter name="pagestate">
                    <cd:constant type="start" default="yes"/>
                    <cd:constant type="stop"/>
                </cd:parameter>
                <cd:parameter name="n">
                    <cd:constant type="cd:number"/>
                </cd:parameter>
                <cd:inherit name="setupframed"/>
            </cd:assignments>
        </cd:arguments>
    </cd:command>

    <cd:command name="pageinjection" level="document" category="structure" file="page-inj.mkvi">
        <cd:arguments>
            <cd:resolve name="keyword-name-optional"/>
            <cd:resolve name="assignment-userdata-list-optional"/>
        </cd:arguments>
    </cd:command>

    <cd:command name="pageinjection" variant="assignment" level="document" category="structure" file="page-inj.mkvi">
        <cd:arguments>
            <cd:assignments list="yes" optional="yes">
                <cd:inherit name="setuppageinjection"/>
            </cd:assignments>
            <cd:resolve name="assignment-userdata-list-optional"/>
        </cd:arguments>
    </cd:command>

    <cd:command name="definepageinjectionalternative" level="style" category="structure" file="page-inj.mkvi">
        <cd:arguments>
            <cd:resolve name="keyword-name"/>
            <cd:resolve name="keyword-name-optional"/>
            <cd:assignments list="yes" optional="yes">
                <cd:inherit name="setuppageinjectionalternative"/>
            </cd:assignments>
        </cd:arguments>
    </cd:command>

    <cd:command name="setuppageinjectionalternative" level="style" category="structure" file="page-inj.mkvi">
        <cd:arguments>
            <cd:resolve name="keyword-name-list-optional"/>
            <cd:assignments list="yes">
                <cd:parameter name="renderingsetup">
                    <cd:constant type="cd:name"/>
                </cd:parameter>
            </cd:assignments>
        </cd:arguments>
    </cd:command>

</cd:interface>