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

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

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

    <!-- the definitions themselves -->

    <cd:command name="xmlmain" level="style" category="xml" file="lxml-ini.mkiv">
        <cd:arguments>
            <cd:resolve name="argument-name"/>
        </cd:arguments>
    </cd:command>

    <cd:command name="xmlflush" level="style" category="xml" file="lxml-ini.mkiv">
        <cd:arguments>
            <cd:resolve name="argument-node"/>
        </cd:arguments>
    </cd:command>

    <cd:command name="xmltext" level="style" category="xml" file="lxml-ini.mkiv">
        <cd:arguments>
            <cd:resolve name="argument-node"/>
            <cd:resolve name="argument-lpath"/>
        </cd:arguments>
    </cd:command>

    <cd:command name="xmlpure" level="style" category="xml" file="lxml-ini.mkiv">
        <cd:arguments>
            <cd:resolve name="argument-node"/>
            <cd:resolve name="argument-lpath"/>
        </cd:arguments>
    </cd:command>

    <cd:command name="xmlflushtext" level="style" category="xml" file="lxml-ini.mkiv">
        <cd:arguments>
            <cd:resolve name="argument-node"/>
        </cd:arguments>
    </cd:command>

    <cd:command name="xmlflushpure" level="style" category="xml" file="lxml-ini.mkiv">
        <cd:arguments>
            <cd:resolve name="argument-node"/>
        </cd:arguments>
    </cd:command>

    <cd:command name="xmlnonspace" level="style" category="xml" file="lxml-ini.mkiv">
        <cd:arguments>
            <cd:resolve name="argument-node"/>
            <cd:resolve name="argument-lpath"/>
        </cd:arguments>
    </cd:command>

    <cd:command name="xmlflushspacewise" level="style" category="xml" file="lxml-ini.mkiv">
        <cd:arguments>
            <cd:resolve name="argument-node"/>
        </cd:arguments>
    </cd:command>

    <cd:command name="xmlflushlinewise" level="style" category="xml" file="lxml-ini.mkiv">
        <cd:arguments>
            <cd:resolve name="argument-node"/>
        </cd:arguments>
    </cd:command>

    <cd:command name="xmlall" level="style" category="xml" file="lxml-ini.mkiv">
        <cd:arguments>
            <cd:resolve name="argument-node"/>
            <cd:resolve name="argument-lpath"/>
        </cd:arguments>
    </cd:command>

    <cd:command name="xmllastmatch" level="style" category="xml" file="lxml-ini.mkiv"/>

    <cd:command name="xmlfirst" level="style" category="xml" file="lxml-ini.mkiv">
        <cd:arguments>
            <cd:resolve name="argument-node"/>
            <cd:resolve name="argument-lpath"/>
        </cd:arguments>
    </cd:command>

    <cd:command name="xmllast" level="style" category="xml" file="lxml-ini.mkiv">
        <cd:arguments>
            <cd:resolve name="argument-node"/>
            <cd:resolve name="argument-lpath"/>
        </cd:arguments>
    </cd:command>

    <cd:command name="xmlcontext" level="style" category="xml" file="lxml-ini.mkiv">
        <cd:arguments>
            <cd:resolve name="argument-node"/>
            <cd:resolve name="argument-lpath"/>
        </cd:arguments>
    </cd:command>

    <cd:command name="xmlflushcontext" level="style" category="xml" file="lxml-ini.mkiv">
        <cd:arguments>
            <cd:resolve name="argument-node"/>
        </cd:arguments>
    </cd:command>

    <cd:command name="xmlshow" level="style" category="xml" file="lxml-ini.mkiv">
        <cd:arguments>
            <cd:resolve name="argument-node"/>
        </cd:arguments>
    </cd:command>

    <cd:command name="xmlinfo" level="style" category="xml" file="lxml-ini.mkiv">
        <cd:arguments>
            <cd:resolve name="argument-node"/>
        </cd:arguments>
    </cd:command>

    <cd:command name="xmlfilter" level="style" category="xml" file="lxml-ini.mkiv">
        <cd:arguments>
            <cd:resolve name="argument-node"/>
            <cd:resolve name="argument-lpath"/>
        </cd:arguments>
    </cd:command>

    <cd:command name="xmlstrip" level="style" category="xml" file="lxml-ini.mkiv">
        <cd:arguments>
            <cd:resolve name="argument-node"/>
            <cd:resolve name="argument-lpath"/>
        </cd:arguments>
    </cd:command>

    <cd:command name="xmlstripped" level="style" category="xml" file="lxml-ini.mkiv">
        <cd:arguments>
            <cd:resolve name="argument-node"/>
            <cd:resolve name="argument-lpath"/>
        </cd:arguments>
    </cd:command>

    <cd:command name="xmlstripnolines" level="style" category="xml" file="lxml-ini.mkiv">
        <cd:arguments>
            <cd:resolve name="argument-node"/>
            <cd:resolve name="argument-lpath"/>
        </cd:arguments>
    </cd:command>

    <cd:command name="xmlstrippednolines" level="style" category="xml" file="lxml-ini.mkiv">
        <cd:arguments>
            <cd:resolve name="argument-node"/>
            <cd:resolve name="argument-lpath"/>
        </cd:arguments>
    </cd:command>

    <cd:command name="xmlposition" level="style" category="xml" file="lxml-ini.mkiv">
        <cd:arguments>
            <cd:resolve name="argument-node"/>
            <cd:resolve name="argument-lpath"/>
            <cd:resolve name="argument-number"/>
        </cd:arguments>
    </cd:command>

    <cd:command name="xmlelement" level="style" category="xml" file="lxml-ini.mkiv">
        <cd:arguments>
            <cd:resolve name="argument-node"/>
            <cd:resolve name="argument-number"/>
        </cd:arguments>
    </cd:command>

    <cd:command name="xmlpos" level="style" category="xml" file="lxml-ini.mkiv">
        <cd:arguments>
            <cd:resolve name="argument-node"/>
        </cd:arguments>
    </cd:command>

    <cd:command name="xmlsnippet" level="style" category="xml" file="lxml-ini.mkiv">
        <cd:arguments>
            <cd:resolve name="argument-node"/>
            <cd:resolve name="argument-number"/>
        </cd:arguments>
    </cd:command>

    <cd:command name="xmlconcat" level="style" category="xml" file="lxml-ini.mkiv">
        <cd:arguments>
            <cd:resolve name="argument-node"/>
            <cd:resolve name="argument-lpath"/>
            <cd:resolve name="argument-text"/>
        </cd:arguments>
    </cd:command>

    <cd:command name="xmlconcatrange" level="style" category="xml" file="lxml-ini.mkiv">
        <cd:arguments>
            <cd:resolve name="argument-node"/>
            <cd:resolve name="argument-lpath"/>
            <cd:resolve name="argument-text"/>
            <cd:resolve name="argument-first"/>
            <cd:resolve name="argument-last"/>
        </cd:arguments>
    </cd:command>

    <cd:command name="xmlcommand" level="style" category="xml" file="lxml-ini.mkiv">
        <cd:arguments>
            <cd:resolve name="argument-node"/>
            <cd:resolve name="argument-lpath"/>
            <cd:resolve name="argument-xmlsetup"/>
        </cd:arguments>
    </cd:command>

    <cd:command name="xmlinlineverbatim" level="style" category="xml" file="lxml-ini.mkiv">
        <cd:arguments>
            <cd:resolve name="argument-node"/>
        </cd:arguments>
    </cd:command>

    <cd:command name="xmlinlineverbatim" type="environment" level="style" category="xml" file="lxml-ini.mkiv">
        <cd:arguments>
            <cd:resolve name="keyword-name"/>
        </cd:arguments>
    </cd:command>

    <cd:command name="xmldisplayverbatim" level="style" category="xml" file="lxml-ini.mkiv">
        <cd:arguments>
            <cd:resolve name="argument-node"/>
        </cd:arguments>
    </cd:command>

    <cd:command name="xmldisplayverbatim" type="environment" level="style" category="xml" file="lxml-ini.mkiv">
        <cd:arguments>
            <cd:resolve name="keyword-name"/>
        </cd:arguments>
    </cd:command>

    <cd:command name="xmlverbatim" level="style" category="xml" file="lxml-ini.mkiv">
        <cd:arguments>
            <cd:resolve name="argument-node"/>
        </cd:arguments>
    </cd:command>

    <cd:command name="xmlprettyprint" level="style" category="xml" file="lxml-ini.mkiv">
        <cd:arguments>
            <cd:resolve name="argument-node"/>
            <cd:keywords delimiters="braces">
                <cd:resolve name="value-verbatim"/>
            </cd:keywords>
        </cd:arguments>
    </cd:command>

    <cd:command name="xmlprettyprinttext" level="style" category="xml" file="lxml-ini.mkiv">
        <cd:arguments>
            <cd:resolve name="argument-node"/>
            <cd:keywords delimiters="braces">
                <cd:resolve name="value-verbatim"/>
            </cd:keywords>
        </cd:arguments>
    </cd:command>

    <cd:command name="xmlinlineprettyprint" level="style" category="xml" file="lxml-ini.mkiv">
        <cd:arguments>
            <cd:resolve name="argument-node"/>
            <cd:keywords delimiters="braces">
                <cd:resolve name="value-verbatim"/>
            </cd:keywords>
        </cd:arguments>
    </cd:command>

    <cd:command name="xmlinlineprettyprinttext" level="style" category="xml" file="lxml-ini.mkiv">
        <cd:arguments>
            <cd:resolve name="argument-node"/>
            <cd:keywords delimiters="braces">
                <cd:resolve name="value-verbatim"/>
            </cd:keywords>
        </cd:arguments>
    </cd:command>

    <cd:command name="xmlloadfile" level="style" category="xml" file="lxml-ini.mkiv">
        <cd:arguments>
            <cd:resolve name="argument-name"/>
            <cd:resolve name="argument-file"/>
            <cd:resolve name="argument-xmlsetup"/>
        </cd:arguments>
    </cd:command>

    <cd:command name="xmlloadbuffer" level="style" category="xml" file="lxml-ini.mkiv">
        <cd:arguments>
            <cd:resolve name="argument-buffer"/>
            <cd:resolve name="argument-name"/>
            <cd:resolve name="argument-xmlsetup"/>
        </cd:arguments>
    </cd:command>

    <cd:command name="xmlloaddata" level="style" category="xml" file="lxml-ini.mkiv">
        <cd:arguments>
            <cd:resolve name="argument-name"/>
            <cd:resolve name="argument-text"/>
            <cd:resolve name="argument-xmlsetup"/>
        </cd:arguments>
    </cd:command>

    <cd:command name="xmlloadonly" level="style" category="xml" file="lxml-ini.mkiv">
        <cd:arguments>
            <cd:resolve name="argument-name"/>
            <cd:resolve name="argument-file"/>
            <cd:resolve name="argument-xmlsetup"/>
        </cd:arguments>
    </cd:command>

    <cd:command name="xmlprocessfile" level="style" category="xml" file="lxml-ini.mkiv">
        <cd:arguments>
            <cd:resolve name="argument-name"/>
            <cd:resolve name="argument-file"/>
            <cd:resolve name="argument-xmlsetup"/>
        </cd:arguments>
    </cd:command>

    <cd:command name="xmlprocessbuffer" level="style" category="xml" file="lxml-ini.mkiv">
        <cd:arguments>
            <cd:resolve name="argument-buffer"/>
            <cd:resolve name="argument-name"/>
            <cd:resolve name="argument-xmlsetup"/>
        </cd:arguments>
    </cd:command>

    <cd:command name="xmlprocessdata" level="style" category="xml" file="lxml-ini.mkiv">
        <cd:arguments>
            <cd:resolve name="argument-name"/>
            <cd:resolve name="argument-text"/>
            <cd:resolve name="argument-xmlsetup"/>
        </cd:arguments>
    </cd:command>

    <cd:command name="xmlinclude" level="style" category="xml" file="lxml-ini.mkiv">
        <cd:arguments>
            <cd:resolve name="argument-node"/>
            <cd:resolve name="argument-lpath"/>
            <cd:resolve name="argument-name"/>
        </cd:arguments>
    </cd:command>

    <cd:command name="xmlname" level="style" category="xml" file="lxml-ini.mkiv">
        <cd:arguments>
            <cd:resolve name="argument-node"/>
        </cd:arguments>
    </cd:command>

    <cd:command name="xmlpath" level="style" category="xml" file="lxml-ini.mkiv">
        <cd:arguments>
            <cd:resolve name="argument-node"/>
        </cd:arguments>
    </cd:command>

    <cd:command name="xmlnamespace" level="style" category="xml" file="lxml-ini.mkiv">
        <cd:arguments>
            <cd:resolve name="argument-node"/>
        </cd:arguments>
    </cd:command>

    <cd:command name="xmltag" level="style" category="xml" file="lxml-ini.mkiv">
        <cd:arguments>
            <cd:resolve name="argument-node"/>
        </cd:arguments>
    </cd:command>

    <cd:command name="xmlcount" level="style" category="xml" file="lxml-ini.mkiv">
        <cd:arguments>
            <cd:resolve name="argument-node"/>
        </cd:arguments>
    </cd:command>

    <cd:command name="xmlatt" level="style" category="xml" file="lxml-ini.mkiv">
        <cd:arguments>
            <cd:resolve name="argument-node"/>
            <cd:resolve name="argument-name"/>
        </cd:arguments>
    </cd:command>

    <cd:command name="xmlsetatt" level="style" category="xml" file="lxml-ini.mkiv">
        <cd:arguments>
            <cd:resolve name="argument-node"/>
            <cd:resolve name="argument-name"/>
            <cd:resolve name="argument-text"/>
        </cd:arguments>
    </cd:command>

    <cd:command name="xmlattdef" level="style" category="xml" file="lxml-ini.mkiv">
        <cd:arguments>
            <cd:resolve name="argument-node"/>
            <cd:resolve name="argument-name"/>
            <cd:resolve name="argument-text"/>
        </cd:arguments>
    </cd:command>

    <cd:command name="xmlrefatt" level="style" category="xml" file="lxml-ini.mkiv">
        <cd:arguments>
            <cd:resolve name="argument-node"/>
            <cd:resolve name="argument-name"/>
        </cd:arguments>
    </cd:command>

    <cd:command name="xmllastatt" level="style" category="xml" file="lxml-ini.mkiv"/>

    <cd:command name="xmlattribute" level="style" category="xml" file="lxml-ini.mkiv">
        <cd:arguments>
            <cd:resolve name="argument-node"/>
            <cd:resolve name="argument-lpath"/>
            <cd:resolve name="argument-name"/>
        </cd:arguments>
    </cd:command>

    <cd:command name="xmlsetattribute" level="style" category="xml" file="lxml-ini.mkiv">
        <cd:arguments>
            <cd:resolve name="argument-node"/>
            <cd:resolve name="argument-lpath"/>
            <cd:resolve name="argument-name"/>
            <cd:resolve name="argument-text"/>
        </cd:arguments>
    </cd:command>

    <cd:command name="xmlattributedef" level="style" category="xml" file="lxml-ini.mkiv">
        <cd:arguments>
            <cd:resolve name="argument-node"/>
            <cd:resolve name="argument-lpath"/>
            <cd:resolve name="argument-name"/>
            <cd:resolve name="argument-text"/>
        </cd:arguments>
    </cd:command>

    <cd:command name="xmlchainatt" level="style" category="xml" file="lxml-ini.mkiv">
        <cd:arguments>
            <cd:resolve name="argument-node"/>
            <cd:resolve name="argument-name"/>
        </cd:arguments>
    </cd:command>

    <cd:command name="xmlchainattdef" level="style" category="xml" file="lxml-ini.mkiv">
        <cd:arguments>
            <cd:resolve name="argument-node"/>
            <cd:resolve name="argument-name"/>
            <cd:resolve name="argument-text"/>
        </cd:arguments>
    </cd:command>

    <cd:command name="xmlpar" level="style" category="xml" file="lxml-ini.mkiv">
        <cd:arguments>
            <cd:resolve name="argument-node"/>
            <cd:resolve name="argument-name"/>
        </cd:arguments>
    </cd:command>

    <cd:command name="xmlsetpar" level="style" category="xml" file="lxml-ini.mkiv">
        <cd:arguments>
            <cd:resolve name="argument-node"/>
            <cd:resolve name="argument-name"/>
            <cd:resolve name="argument-text"/>
        </cd:arguments>
    </cd:command>

    <cd:command name="xmlparam" level="style" category="xml" file="lxml-ini.mkiv">
        <cd:arguments>
            <cd:resolve name="argument-node"/>
            <cd:resolve name="argument-lpath"/>
            <cd:resolve name="argument-name"/>
        </cd:arguments>
    </cd:command>

    <cd:command name="xmlsetparam" level="style" category="xml" file="lxml-ini.mkiv">
        <cd:arguments>
            <cd:resolve name="argument-node"/>
            <cd:resolve name="argument-lpath"/>
            <cd:resolve name="argument-name"/>
            <cd:resolve name="argument-text"/>
        </cd:arguments>
    </cd:command>

    <cd:command name="xmllastpar" level="style" category="xml" file="lxml-ini.mkiv"/>

    <cd:command name="xmldirectives" level="style" category="xml" file="lxml-ini.mkiv">
        <cd:arguments>
            <cd:resolve name="argument-node"/>
        </cd:arguments>
    </cd:command>

    <cd:command name="xmldirectivesbefore" level="style" category="xml" file="lxml-ini.mkiv">
        <cd:arguments>
            <cd:resolve name="argument-node"/>
        </cd:arguments>
    </cd:command>

    <cd:command name="xmldirectivesafter" level="style" category="xml" file="lxml-ini.mkiv">
        <cd:arguments>
            <cd:resolve name="argument-node"/>
        </cd:arguments>
    </cd:command>

    <cd:command name="xmlinstalldirective" level="style" category="xml" file="lxml-ini.mkiv">
        <cd:arguments>
            <cd:resolve name="argument-name"/>
            <cd:resolve name="argument-csname"/>
        </cd:arguments>
    </cd:command>

    <cd:command name="xmlsetup" level="style" category="xml" file="lxml-ini.mkiv">
        <cd:arguments>
            <cd:resolve name="argument-node"/>
            <cd:resolve name="argument-setup"/>
        </cd:arguments>
    </cd:command>

    <cd:command name="xmlsetsetup" level="style" category="xml" file="lxml-ini.mkiv">
        <cd:arguments>
            <cd:resolve name="argument-name"/>
            <cd:resolve name="argument-lpath"/>
            <cd:resolve name="argument-setup"/>
        </cd:arguments>
    </cd:command>

    <cd:command name="xmlremovesetup" level="style" category="xml" file="lxml-ini.mkiv">
        <cd:arguments>
            <cd:resolve name="argument-setup"/>
        </cd:arguments>
    </cd:command>

    <cd:command name="xmlremovedocumentsetup" level="style" category="xml" file="lxml-ini.mkiv">
        <cd:arguments>
            <cd:resolve name="argument-name"/>
            <cd:resolve name="argument-setup"/>
        </cd:arguments>
    </cd:command>

    <cd:command name="xmlflushdocumentsetups" level="style" category="xml" file="lxml-ini.mkiv">
        <cd:arguments>
            <cd:resolve name="argument-name"/>
            <cd:resolve name="argument-setup"/>
        </cd:arguments>
    </cd:command>

    <cd:command name="xmlresetsetups" level="style" category="xml" file="lxml-ini.mkiv">
        <cd:arguments>
            <cd:resolve name="argument-name"/>
        </cd:arguments>
    </cd:command>

    <cd:command name="xmlresetdocumentsetups" level="style" category="xml" file="lxml-ini.mkiv">
        <cd:arguments>
            <cd:resolve name="argument-name"/>
        </cd:arguments>
    </cd:command>

    <cd:command name="xmlprependsetup" level="style" category="xml" file="lxml-ini.mkiv">
        <cd:arguments>
            <cd:resolve name="argument-setup"/>
        </cd:arguments>
    </cd:command>

    <cd:command name="xmlappendsetup" level="style" category="xml" file="lxml-ini.mkiv">
        <cd:arguments>
            <cd:resolve name="argument-setup"/>
        </cd:arguments>
    </cd:command>

    <cd:command name="xmlbeforesetup" level="style" category="xml" file="lxml-ini.mkiv">
        <cd:arguments>
            <cd:resolve name="argument-setup"/>
            <cd:resolve name="argument-setup"/>
        </cd:arguments>
    </cd:command>

    <cd:command name="xmlaftersetup" level="style" category="xml" file="lxml-ini.mkiv">
        <cd:arguments>
            <cd:resolve name="argument-setup"/>
            <cd:resolve name="argument-setup"/>
        </cd:arguments>
    </cd:command>

    <cd:command name="xmlprependdocumentsetup" level="style" category="xml" file="lxml-ini.mkiv">
        <cd:arguments>
            <cd:resolve name="argument-name"/>
            <cd:resolve name="argument-setup"/>
        </cd:arguments>
    </cd:command>

    <cd:command name="xmlappenddocumentsetup" level="style" category="xml" file="lxml-ini.mkiv">
        <cd:arguments>
            <cd:resolve name="argument-name"/>
            <cd:resolve name="argument-setup"/>
        </cd:arguments>
    </cd:command>

    <cd:command name="xmlbeforedocumentsetup" level="style" category="xml" file="lxml-ini.mkiv">
        <cd:arguments>
            <cd:resolve name="argument-name"/>
            <cd:resolve name="argument-setup"/>
            <cd:resolve name="argument-setup"/>
        </cd:arguments>
    </cd:command>

    <cd:command name="xmlafterdocumentsetup" level="style" category="xml" file="lxml-ini.mkiv">
        <cd:arguments>
            <cd:resolve name="argument-name"/>
            <cd:resolve name="argument-setup"/>
            <cd:resolve name="argument-setup"/>
        </cd:arguments>
    </cd:command>

    <cd:command name="xmlregisteredsetups" level="style" category="xml" file="lxml-ini.mkiv"/>

    <cd:command name="xmlregistereddocumentsetups" level="style" category="xml" file="lxml-ini.mkiv">
        <cd:arguments>
            <cd:resolve name="argument-name"/>
            <cd:resolve name="argument-setup"/>
        </cd:arguments>
    </cd:command>

    <cd:command name="xmlsetfunction" level="style" category="xml" file="lxml-ini.mkiv">
        <cd:arguments>
            <cd:resolve name="argument-node"/>
            <cd:resolve name="argument-lpath"/>
            <cd:keywords delimiters="braces">
                <cd:constant type="cd:luafunction"/>
            </cd:keywords>
        </cd:arguments>
    </cd:command>

    <cd:command name="xmldoif" level="style" category="xml" file="lxml-ini.mkiv">
        <cd:arguments>
            <cd:resolve name="argument-node"/>
            <cd:resolve name="argument-lpath"/>
            <cd:resolve name="argument-true"/>
        </cd:arguments>
    </cd:command>

    <cd:command name="xmldoifnot" level="style" category="xml" file="lxml-ini.mkiv">
        <cd:arguments>
            <cd:resolve name="argument-node"/>
            <cd:resolve name="argument-lpath"/>
            <cd:resolve name="argument-true"/>
        </cd:arguments>
    </cd:command>

    <cd:command name="xmldoifelse" level="style" category="xml" file="lxml-ini.mkiv">
        <cd:arguments>
            <cd:resolve name="argument-node"/>
            <cd:resolve name="argument-lpath"/>
            <cd:resolve name="argument-true"/>
            <cd:resolve name="argument-false"/>
        </cd:arguments>
    </cd:command>

    <cd:command name="xmldoiftext" level="style" category="xml" file="lxml-ini.mkiv">
        <cd:arguments>
            <cd:resolve name="argument-node"/>
            <cd:resolve name="argument-lpath"/>
            <cd:resolve name="argument-true"/>
        </cd:arguments>
    </cd:command>

    <cd:command name="xmldoifnottext" level="style" category="xml" file="lxml-ini.mkiv">
        <cd:arguments>
            <cd:resolve name="argument-node"/>
            <cd:resolve name="argument-lpath"/>
            <cd:resolve name="argument-true"/>
        </cd:arguments>
    </cd:command>

    <cd:command name="xmldoifelsetext" level="style" category="xml" file="lxml-ini.mkiv">
        <cd:arguments>
            <cd:resolve name="argument-node"/>
            <cd:resolve name="argument-lpath"/>
            <cd:resolve name="argument-true"/>
            <cd:resolve name="argument-false"/>
        </cd:arguments>
    </cd:command>

    <cd:command name="xmldoifatt" level="style" category="xml" file="lxml-ini.mkiv">
        <cd:arguments>
            <cd:resolve name="argument-node"/>
            <cd:string/>
            <cd:string/>
            <cd:resolve name="argument-true"/>
        </cd:arguments>
    </cd:command>

    <cd:command name="xmldoifnotatt" level="style" category="xml" file="lxml-ini.mkiv">
        <cd:arguments>
            <cd:resolve name="argument-node"/>
            <cd:string/>
            <cd:string/>
            <cd:resolve name="argument-true"/>
        </cd:arguments>
    </cd:command>

    <cd:command name="xmldoifelseatt" level="style" category="xml" file="lxml-ini.mkiv">
        <cd:arguments>
            <cd:resolve name="argument-node"/>
            <cd:string/>
            <cd:string/>
            <cd:resolve name="argument-true"/>
            <cd:resolve name="argument-false"/>
        </cd:arguments>
    </cd:command>

    <cd:command name="xmldoifselfempty" level="style" category="xml" file="lxml-ini.mkiv">
        <cd:arguments>
            <cd:resolve name="argument-node"/>
            <cd:resolve name="argument-true"/>
        </cd:arguments>
    </cd:command>

    <cd:command name="xmldoifnotselfempty" level="style" category="xml" file="lxml-ini.mkiv">
        <cd:arguments>
            <cd:resolve name="argument-node"/>
            <cd:resolve name="argument-true"/>
        </cd:arguments>
    </cd:command>

    <cd:command name="xmldoifelseselfempty" level="style" category="xml" file="lxml-ini.mkiv">
        <cd:arguments>
            <cd:resolve name="argument-node"/>
            <cd:resolve name="argument-true"/>
            <cd:resolve name="argument-false"/>
        </cd:arguments>
    </cd:command>

    <cd:command name="xmldoifelseempty" level="style" category="xml" file="lxml-ini.mkiv">
        <cd:arguments>
            <cd:resolve name="argument-node"/>
            <cd:resolve name="argument-lpath"/>
            <cd:resolve name="argument-true"/>
            <cd:resolve name="argument-false"/>
        </cd:arguments>
    </cd:command>

    <cd:command name="xmlregisterns" level="style" category="xml" file="lxml-ini.mkiv">
        <cd:arguments>
            <cd:resolve name="argument-name"/>
            <cd:keywords delimiters="braces">
                <cd:constant type="cd:url"/>
            </cd:keywords>
        </cd:arguments>
    </cd:command>

    <cd:command name="xmlregisterns" level="style" category="xml" file="lxml-ini.mkiv">
        <cd:arguments>
            <cd:resolve name="argument-name"/>
            <cd:resolve name="argument-name"/>
        </cd:arguments>
    </cd:command>

    <cd:command name="xmlremapname" level="style" category="xml" file="lxml-ini.mkiv">
        <cd:arguments>
            <cd:resolve name="argument-node"/>
            <cd:resolve name="argument-lpath"/>
            <cd:resolve name="argument-name"/>
            <cd:resolve name="argument-name"/>
        </cd:arguments>
    </cd:command>

    <cd:command name="xmlremapnamespace" level="style" category="xml" file="lxml-ini.mkiv">
        <cd:arguments>
            <cd:resolve name="argument-node"/>
            <cd:resolve name="argument-name"/>
            <cd:resolve name="argument-name"/>
        </cd:arguments>
    </cd:command>

    <cd:command name="xmlchecknamespace" level="style" category="xml" file="lxml-ini.mkiv">
        <cd:arguments>
            <cd:resolve name="argument-node"/>
            <cd:resolve name="argument-name"/>
        </cd:arguments>
    </cd:command>

    <cd:command name="xmlmapvalue" level="style" category="xml" file="lxml-ini.mkiv">
        <cd:arguments>
            <cd:resolve name="argument-category"/>
            <cd:resolve name="argument-name"/>
            <cd:resolve name="argument-text"/>
        </cd:arguments>
    </cd:command>

    <cd:command name="xmlvalue" level="style" category="xml" file="lxml-ini.mkiv">
        <cd:arguments>
            <cd:resolve name="argument-category"/>
            <cd:resolve name="argument-name"/>
            <cd:resolve name="argument-text"/>
        </cd:arguments>
    </cd:command>

    <cd:command name="xmldoifelsevalue" level="style" category="xml" file="lxml-ini.mkiv">
        <cd:arguments>
            <cd:resolve name="argument-category"/>
            <cd:resolve name="argument-name"/>
            <cd:resolve name="argument-true"/>
            <cd:resolve name="argument-false"/>
        </cd:arguments>
    </cd:command>

    <cd:command name="xmlloaddirectives" level="style" category="xml" file="lxml-ini.mkiv">
        <cd:arguments>
            <cd:resolve name="argument-file"/>
        </cd:arguments>
    </cd:command>

    <cd:command name="xmlsave" level="style" category="xml" file="lxml-ini.mkiv">
        <cd:arguments>
            <cd:resolve name="argument-node"/>
            <cd:resolve name="argument-file"/>
        </cd:arguments>
    </cd:command>

    <cd:command name="xmltofile" level="style" category="xml" file="lxml-ini.mkiv">
        <cd:arguments>
            <cd:resolve name="argument-node"/>
            <cd:resolve name="argument-lpath"/>
            <cd:resolve name="argument-file"/>
        </cd:arguments>
    </cd:command>

    <cd:command name="xmltobuffer" level="style" category="xml" file="lxml-ini.mkiv">
        <cd:arguments>
            <cd:resolve name="argument-node"/>
            <cd:resolve name="argument-lpath"/>
            <cd:resolve name="argument-buffer"/>
        </cd:arguments>
    </cd:command>

    <cd:command name="xmltobufferverbose" level="style" category="xml" file="lxml-ini.mkiv">
        <cd:arguments>
            <cd:resolve name="argument-node"/>
            <cd:resolve name="argument-lpath"/>
            <cd:resolve name="argument-buffer"/>
        </cd:arguments>
    </cd:command>

    <!--

        <cd:command name="xmltoparameters" file="lxml-ini.mkiv">
            <cd:arguments>
            <cd:resolve name="argument-node"/>
            <cd:resolve name="argument-lpath"/>
                <cd:resolve name="argument-buffer"/>
            </cd:arguments>
        </cd:command>

    -->

    <cd:command name="xmladdindex" level="style" category="xml" file="lxml-ini.mkiv">
        <cd:arguments>
            <cd:resolve name="argument-node"/>
        </cd:arguments>
    </cd:command>

    <cd:command name="xmlinclusion" level="style" category="xml" file="lxml-ini.mkiv">
        <cd:arguments>
            <cd:resolve name="argument-node"/>
        </cd:arguments>
    </cd:command>

    <cd:command name="xmlinclusions" level="style" category="xml" file="lxml-ini.mkiv">
        <cd:arguments>
            <cd:resolve name="argument-node"/>
        </cd:arguments>
    </cd:command>

    <cd:command name="xmlbadinclusions" level="style" category="xml" file="lxml-ini.mkiv">
        <cd:arguments>
            <cd:resolve name="argument-node"/>
        </cd:arguments>
    </cd:command>

    <cd:command name="xmlraw" level="style" category="xml" file="lxml-ini.mkiv">
        <cd:arguments>
            <cd:resolve name="argument-node"/>
        </cd:arguments>
    </cd:command>

    <cd:command name="xmlraw" type="environment" level="style" category="xml" file="lxml-ini.mkiv"/>

    <!-- injectors -->

    <cd:command name="xmlresetinjectors" level="style" category="xml" file="lxml-ini.mkiv"/>

    <cd:command name="xmlsetinjectors" level="style" category="xml" file="lxml-ini.mkiv">
        <cd:arguments>
            <cd:resolve name="keyword-name-list"/>
        </cd:arguments>
    </cd:command>

    <cd:command name="xmlinjector" level="style" category="xml" file="lxml-ini.mkiv">
        <cd:arguments>
            <cd:resolve name="argument-name"/>
        </cd:arguments>
    </cd:command>

    <cd:command name="xmlapplyselectors" level="style" category="xml" file="lxml-ini.mkiv">
        <cd:arguments>
            <cd:resolve name="argument-node"/>
        </cd:arguments>
    </cd:command>

    <!-- entities -->

    <cd:command name="xmlsetentity" level="style" category="xml" file="lxml-ini.mkiv">
        <cd:arguments>
            <cd:resolve name="argument-name"/>
            <cd:resolve name="argument-text"/>
        </cd:arguments>
    </cd:command>

    <cd:command name="xmltexentity" level="style" category="xml" file="lxml-ini.mkiv">
        <cd:arguments>
            <cd:resolve name="argument-name"/>
            <cd:resolve name="argument-text"/>
        </cd:arguments>
    </cd:command>

    <!-- general setup -->

    <cd:command name="setupxml" level="style" category="xml" file="lxml-ini.mkiv">
        <cd:arguments>
            <cd:assignments list="yes">
                <cd:parameter name="default">
                    <cd:constant type="hidden"/>
                    <cd:constant type="none"/>
                    <cd:constant type="text"/>
                </cd:parameter>
                <cd:parameter name="compress">
                    <cd:constant type="yes"/>
                    <cd:constant type="no"/>
                </cd:parameter>
            </cd:assignments>
        </cd:arguments>
    </cd:command>

    <cd:command name="xmldefaulttotext" level="style" category="xml" file="lxml-ini.mkiv">
        <cd:arguments>
            <cd:resolve name="argument-node"/>
        </cd:arguments>
    </cd:command>

</cd:interface>
