Schema
======

.. highlight:: xml

The following schema constitutes a formal specification of the Args File
format. It can be used to validate Args Files, for example by using a
command-line tool like ``xmllint``:

.. code-block:: shell

    $ xmllint --noout --schema /path/to/schema.xsd /path/to/file.args

The ``<page>``, ``<group>``, and ``<param>`` elements interpret their
attributes as hints, therefore any attribute is valid. In the schema, this is
expressed as follows::

    <xs:anyAttribute processContents="skip"/>

There are a couple of variants of the Args File format for different purposes,
including extensions added by RenderMan and used within the RenderMan for
Katana and RenderMan for Maya plug-ins. Elements and attributes applying to
a particular variant are indicated through comments.

.. literalinclude:: Schema.xsd
    :language: xml