## 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>