Imported Upstream version 1.49.1
[platform/upstream/gobject-introspection.git] / docs / reference / html / gi-gir-reference.html
1 <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
2 <html>
3 <head>
4 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
5 <title>The GIR XML format: GObject Introspection Reference Manual</title>
6 <meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
7 <link rel="home" href="index.html" title="GObject Introspection Reference Manual">
8 <link rel="up" href="ch03.html" title="TODO">
9 <link rel="prev" href="gi-girffi.html" title="girffi">
10 <link rel="next" href="api-index-full.html" title="Index">
11 <meta name="generator" content="GTK-Doc V1.25.1 (XML mode)">
12 <link rel="stylesheet" href="style.css" type="text/css">
13 </head>
14 <body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
15 <table class="navigation" id="top" width="100%" summary="Navigation header" cellpadding="2" cellspacing="5"><tr valign="middle">
16 <td width="100%" align="left" class="shortcuts"></td>
17 <td><a accesskey="h" href="index.html"><img src="home.png" width="16" height="16" border="0" alt="Home"></a></td>
18 <td><a accesskey="u" href="ch03.html"><img src="up.png" width="16" height="16" border="0" alt="Up"></a></td>
19 <td><a accesskey="p" href="gi-girffi.html"><img src="left.png" width="16" height="16" border="0" alt="Prev"></a></td>
20 <td><a accesskey="n" href="api-index-full.html"><img src="right.png" width="16" height="16" border="0" alt="Next"></a></td>
21 </tr></table>
22 <div class="refentry">
23 <a name="gi-gir-reference"></a><div class="titlepage"></div>
24 <div class="refnamediv"><table width="100%"><tr>
25 <td valign="top">
26 <h2><span class="refentrytitle"><a name="gi-gir-reference.top_of_page"></a>The GIR XML format</span></h2>
27 <p>The GIR XML format — The GIR XML format</p>
28 </td>
29 <td class="gallery_image" valign="top" align="right"></td>
30 </tr></table></div>
31 <p>
32     This chapter describes the GIR XML markup format. This describes exported C
33     API, including documentation. It may contain installation-specific data,
34     such as library filenames which may differ between platforms.
35   </p>
36 <div class="refsect2">
37 <a name="gi-gir-api-node"></a><h3>
38 <span class="emphasis"><em>api</em></span> node</h3>
39
40     The root node of all GIR documents is the api node.
41
42     Possible children: <a class="link" href="gi-gir-reference.html#gi-gir-namespace" title="namespace node">namespace</a>.
43
44     <div class="example">
45 <a name="id-1.4.4.3.4.3"></a><p class="title"><b>Example 4. A GIR fragment showing an api node</b></p>
46 <div class="example-contents">
47   <table class="listing_frame" border="0" cellpadding="0" cellspacing="0">
48     <tbody>
49       <tr>
50         <td class="listing_lines" align="right"><pre>1
51 2
52 3</pre></td>
53         <td class="listing_code"><pre class="programlisting"><span class="symbol">&lt;</span><span class="usertype">api</span><span class="normal"> version</span><span class="symbol">=</span><span class="string">"1.0"</span><span class="symbol">&gt;</span>
54 <span class="normal">  </span><span class="symbol">&lt;</span><span class="normal">namespace</span><span class="symbol">/&gt;</span>
55 <span class="symbol">&lt;/</span><span class="normal">api</span><span class="symbol">&gt;</span></pre></td>
56       </tr>
57     </tbody>
58   </table>
59 </div>
60
61 </div>
62 <br class="example-break">
63 </div>
64 <hr>
65 <div class="refsect2">
66 <a name="gi-gir-namespace"></a><h3>
67 <span class="emphasis"><em>namespace</em></span> node</h3>
68
69     Parent node: api.
70     Possible children: callback,
71     <a class="link" href="gi-gir-reference.html#gi-gir-class" title="class node">class</a>,
72     <a class="link" href="gi-gir-reference.html#gi-gir-function" title="function node">function</a>.
73     <a class="link" href="gi-gir-reference.html#gi-gir-interface" title="interface node">interface</a>.
74
75     <div class="example">
76 <a name="id-1.4.4.3.5.7"></a><p class="title"><b>Example 5. A GIR fragment showing an namespace node</b></p>
77 <div class="example-contents">
78   <table class="listing_frame" border="0" cellpadding="0" cellspacing="0">
79     <tbody>
80       <tr>
81         <td class="listing_lines" align="right"><pre>1
82 2
83 3
84 4
85 5
86 6</pre></td>
87         <td class="listing_code"><pre class="programlisting"><span class="symbol">&lt;</span><span class="usertype">api</span><span class="normal"> version</span><span class="symbol">=</span><span class="string">"1.0"</span><span class="symbol">&gt;</span>
88 <span class="normal">  </span><span class="symbol">&lt;</span><span class="normal">namespace</span><span class="symbol">=</span><span class="string">"Gtk"</span><span class="symbol">&gt;</span>
89 <span class="normal">     </span><span class="symbol">&lt;</span><span class="normal">class</span><span class="symbol">/&gt;</span>
90 <span class="normal">     </span><span class="symbol">&lt;</span><span class="normal">function</span><span class="symbol">/&gt;</span>
91 <span class="normal">  </span><span class="symbol">&lt;/</span><span class="normal">namespace</span><span class="symbol">&gt;</span>
92 <span class="symbol">&lt;/</span><span class="normal">api</span><span class="symbol">&gt;</span></pre></td>
93       </tr>
94     </tbody>
95   </table>
96 </div>
97
98 </div>
99 <br class="example-break">
100 </div>
101 <hr>
102 <div class="refsect2">
103 <a name="gi-gir-class"></a><h3>
104 <span class="emphasis"><em>class</em></span> node</h3>
105
106     Parent node: <a class="link" href="gi-gir-reference.html#gi-gir-namespace" title="namespace node">namespace</a>.
107     Possible children: <a class="link" href="gi-gir-reference.html#gi-gir-class" title="class node">constructor</a>,
108     field,
109     method,
110     property.
111     <div class="example">
112 <a name="id-1.4.4.3.6.7"></a><p class="title"><b>Example 6. A GIR fragment showing an class node</b></p>
113 <div class="example-contents">
114   <table class="listing_frame" border="0" cellpadding="0" cellspacing="0">
115     <tbody>
116       <tr>
117         <td class="listing_lines" align="right"><pre>1
118 2
119 3
120 4
121 5
122 6
123 7
124 8
125 9
126 10</pre></td>
127         <td class="listing_code"><pre class="programlisting"><span class="symbol">&lt;</span><span class="usertype">api</span><span class="normal"> version</span><span class="symbol">=</span><span class="string">"1.0"</span><span class="symbol">&gt;</span>
128 <span class="normal">  </span><span class="symbol">&lt;</span><span class="normal">namespace</span><span class="symbol">=</span><span class="string">"Gtk"</span><span class="symbol">&gt;</span>
129 <span class="normal">    </span><span class="symbol">&lt;</span><span class="usertype">class</span><span class="normal"> name</span><span class="symbol">=</span><span class="string">"Widget"</span><span class="symbol">&gt;</span>
130 <span class="normal">       </span><span class="symbol">&lt;</span><span class="normal">constructor</span><span class="symbol">/&gt;</span>
131 <span class="normal">       </span><span class="symbol">&lt;</span><span class="normal">field</span><span class="symbol">/&gt;</span>
132 <span class="normal">       </span><span class="symbol">&lt;</span><span class="normal">method</span><span class="symbol">/&gt;</span>
133 <span class="normal">       </span><span class="symbol">&lt;</span><span class="normal">property</span><span class="symbol">/&gt;</span>
134 <span class="normal">    </span><span class="symbol">&lt;</span><span class="normal">class</span><span class="symbol">&gt;</span>
135 <span class="normal">  </span><span class="symbol">&lt;/</span><span class="normal">namespace</span><span class="symbol">&gt;</span>
136 <span class="symbol">&lt;/</span><span class="normal">api</span><span class="symbol">&gt;</span></pre></td>
137       </tr>
138     </tbody>
139   </table>
140 </div>
141
142 </div>
143 <br class="example-break">
144 </div>
145 <hr>
146 <div class="refsect2">
147 <a name="gi-gir-interface"></a><h3>
148 <span class="emphasis"><em>interface</em></span> node</h3>
149
150     Parent node: <a class="link" href="gi-gir-reference.html#gi-gir-namespace" title="namespace node">namespace</a>.
151     Possible children: field,
152     method,
153     property.
154     <div class="example">
155 <a name="id-1.4.4.3.7.6"></a><p class="title"><b>Example 7. A GIR fragment showing an interface node</b></p>
156 <div class="example-contents">
157   <table class="listing_frame" border="0" cellpadding="0" cellspacing="0">
158     <tbody>
159       <tr>
160         <td class="listing_lines" align="right"><pre>1
161 2
162 3
163 4
164 5
165 6
166 7
167 8
168 9</pre></td>
169         <td class="listing_code"><pre class="programlisting"><span class="symbol">&lt;</span><span class="usertype">api</span><span class="normal"> version</span><span class="symbol">=</span><span class="string">"1.0"</span><span class="symbol">&gt;</span>
170 <span class="normal">  </span><span class="symbol">&lt;</span><span class="normal">namespace</span><span class="symbol">=</span><span class="string">"Gtk"</span><span class="symbol">&gt;</span>
171 <span class="normal">    </span><span class="symbol">&lt;</span><span class="usertype">interface</span><span class="normal"> name</span><span class="symbol">=</span><span class="string">"Buildable"</span><span class="symbol">&gt;</span>
172 <span class="normal">       </span><span class="symbol">&lt;</span><span class="normal">field</span><span class="symbol">/&gt;</span>
173 <span class="normal">       </span><span class="symbol">&lt;</span><span class="normal">method</span><span class="symbol">/&gt;</span>
174 <span class="normal">       </span><span class="symbol">&lt;</span><span class="normal">property</span><span class="symbol">/&gt;</span>
175 <span class="normal">    </span><span class="symbol">&lt;</span><span class="normal">interface</span><span class="symbol">&gt;</span>
176 <span class="normal">  </span><span class="symbol">&lt;/</span><span class="normal">namespace</span><span class="symbol">&gt;</span>
177 <span class="symbol">&lt;/</span><span class="normal">api</span><span class="symbol">&gt;</span></pre></td>
178       </tr>
179     </tbody>
180   </table>
181 </div>
182
183 </div>
184 <br class="example-break">
185 </div>
186 <hr>
187 <div class="refsect2">
188 <a name="gi-gir-function"></a><h3>
189 <span class="emphasis"><em>function</em></span> node</h3>
190
191     Parent node: <a class="link" href="gi-gir-reference.html#gi-gir-namespace" title="namespace node">namespace</a>.
192     <div class="example">
193 <a name="id-1.4.4.3.8.3"></a><p class="title"><b>Example 8. A GIR fragment showing an function node</b></p>
194 <div class="example-contents">
195   <table class="listing_frame" border="0" cellpadding="0" cellspacing="0">
196     <tbody>
197       <tr>
198         <td class="listing_lines" align="right"><pre>1
199 2
200 3
201 4
202 5
203 6</pre></td>
204         <td class="listing_code"><pre class="programlisting"><span class="symbol">&lt;</span><span class="usertype">api</span><span class="normal"> version</span><span class="symbol">=</span><span class="string">"1.0"</span><span class="symbol">&gt;</span>
205 <span class="normal">  </span><span class="symbol">&lt;</span><span class="normal">namespace</span><span class="symbol">=</span><span class="string">"Gtk"</span><span class="symbol">&gt;</span>
206 <span class="normal">    </span><span class="symbol">&lt;</span><span class="usertype">function</span><span class="normal"> name</span><span class="symbol">=</span><span class="string">"init"</span><span class="symbol">&gt;</span>
207 <span class="normal">    </span><span class="symbol">&lt;/</span><span class="normal">function</span><span class="symbol">&gt;</span>
208 <span class="normal">  </span><span class="symbol">&lt;/</span><span class="normal">namespace</span><span class="symbol">&gt;</span>
209 <span class="symbol">&lt;/</span><span class="normal">api</span><span class="symbol">&gt;</span></pre></td>
210       </tr>
211     </tbody>
212   </table>
213 </div>
214
215 </div>
216 <br class="example-break">
217 </div>
218 </div>
219 <div class="footer">
220 <hr>Generated by GTK-Doc V1.25.1</div>
221 </body>
222 </html>