## The GIR XML format

This chapter describes the GIR XML markup format.

### api node

The root node of all GIR documents is the api node. Possible children: namespace.

Example 4. A GIR fragment showing an api node

    1
    2
    3

    <api version="1.0">
           <namespace/>
         </api>

### namespace node

Parent node: api. Possible children: callback, class, function. interface.

Example 5. A GIR fragment showing an namespace node

    1
    2
    3
    4
    5
    6

    <api version="1.0">
           <namespace="Gtk">
              <class/>
              <function/>
           </namespace>
         </api>

### class node

Parent node: namespace. Possible children: constructor, field, method, property.

Example 6. A GIR fragment showing an class node

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10

    <api version="1.0">
           <namespace="Gtk">
             <class name="Widget">
                <constructor/>
                <field/>
                <method/>
                <property/>
             <class>
           </namespace>
         </api>

### interface node

Parent node: namespace. Possible children: field, method, property.

Example 7. A GIR fragment showing an interface node

    1
    2
    3
    4
    5
    6
    7
    8
    9

    <api version="1.0">
           <namespace="Gtk">
             <interface name="Buildable">
                <field/>
                <method/>
                <property/>
             <interface>
           </namespace>
         </api>

### function node

Parent node: namespace.

Example 8. A GIR fragment showing an function node

    1
    2
    3
    4
    5
    6

    <api version="1.0">
           <namespace="Gtk">
             <function name="init">
             </function>
           </namespace>
         </api>