+The <object> node represents a single object (GUI element) and it usually maps
+directly to a wxWidgets class instance. It three properties: "name", "class"
+and "subclass". "class" must always be present, it tells XRC what wxWidgets
+object should be created in this place. The other two are optional. "name" is
+ID used to identify the object. It is the value passed to the XRCID() macro and
+is also used to construct wxWindow's id and name attributes and must be unique
+among all children of the nearest container object (wxDialog, wxFrame,
+wxPanel, wxNotebook) upside from the object in XML nodes hierarchy (two distinct
+containers may contain objects with same "name", though). "subclass" is
+optional name of class whose constructor will be called instead of the
+constructor for "class". Subclass must be available in the program that loads
+the resource, must be derived from "class" and must be registered within
+wxWidgets' RTTI system.
+
+Example:
+
+ <object name="MyList1" class="wxListCtrl" subclass="MyListCtrlClass">
+ ...
+ </object>
+
+<object> node may have arbitrary child nodes. What child nodes and their
+semantics are class-dependent and are defined later in this document. The user
+is allowed to register new object handlers within XRC and extend it to accept
+new <object> classes (and therefore different <object>'s child nodes).
+
+<object_ref> node is identical to <object>, except that it does _not_ have
+"class" property and has additional required property "ref". It's concept is
+similar to Unix symlinks: value of the "ref" property is equal to the value of
+"name" property of some existing node (called referred node) in the resources
+(not necessary top-level). Referred node's "class" property and all subnodes
+are copied in place of the referee <object_ref> node which is then processed as
+regular <object> node. If the <object_ref> node itself has child nodes, then
+these nodes _override_ any nodes from the referred node.
+
+Example:
+
+ <object name="foo" class="wxTextCtrl">
+ <value>hello</value>
+ <size>100,-1d</size>
+ </object>
+ <object_ref name="bar" ref="foo">
+ <value>bar</value> <!-- override! -->
+ </object_ref>
+
+is identical to:
+
+ <object name="foo" class="wxTextCtrl">
+ <value>hello</value>
+ <size>100,-1d</size>
+ </object>
+ <object name="bar" class="wxTextCtrl">
+ <value>bar</value>
+ <size>100,-1d</size>
+ </object>
+
+
+
+3. Common attribute types
+=========================
+
+There are several attribute types (see section 1. Terminology) that are common
+to many attributes of different classes:
+
+String
+------
+Any text. Some characters have special interpretation and are translated
+by XRC parser according to this table:
+ "_" -> "&" ('&' is used to underline e.g. menu items in wxWidgets)
+ "__" -> "_"
+ "\n" -> line break (C character '\n')
+ "\r" -> carriage return (C character '\r')
+ "\t" -> tab (C character '\t')
+ "\\" -> "\"
+ (introduced in version 2.5.3.0, not done in earlier versions)
+
+Version Note:
+ '$' was used instead of '_' prior to version 2.3.0.1.
+
+
+I18nString
+----------
+Like String, but the value is translated to native language using wxLocale
+at runtime (unless it was disabled by not passing wxXRC_USE_LOCALE flag to
+wxXmlResource constructor). Used for strings that are "visible" in the GUI.
+
+
+UnsignedInteger
+---------------
+This is obvious. Only digits 0-9 may be present and there must be at least
+one digit.
+
+
+Integer
+-------
+Like UnsignedInteger but may be prefixed with '-' (ints less than zero).
+
+
+Position
+--------
+Specifies (window's) position in 2D space. Syntax is <integer>,<integer>[d]
+where <integer> is valid value of Integer type.
+
+
+Size
+----
+Syntax is same as Position's syntax, but the values are interpreted as window
+size (wxSize type) and not position (wxPosition type).
+
+
+Style[wxSomeClass]
+------------------
+List of style flags that can be passed to wxSomeClass' constructor. Flags are
+written in same way as in C++ code (e.g. "wxSUNKEN_BORDER",
+"wxHW_SCROLLBAR_NEVER") and are delimited with any combination of whitespaces
+and '|'. Possible flags are class-dependent and are not described in this
+technote. Please refer to wxWidgets manual for all styles that given class can
+accept; if XRC does not accept a flag listed in wxWidgets documentation, it is
+a bug.
+
+
+Bitmap
+------
+Attribute value is interpreted as filename (either absolute or relative to
+the location of XRC resource file). In addition, attribute node may have
+"stock_id" and "stock_client" properties. Their values may be any of wxArtID (or
+wxArtClient respectively) values as used by wxArtProvider (because the user may
+define own constants, effectively any string is legal here). Examples are
+"wxART_FILE_OPEN" (id) or "wxART_MENU" (client).
+
+Any of "stock_id" or "stock_client" properties or the filename may be omitted.
+XRC determines the bitmap to use according to this algorithm:
+ 1. If there is non-empty "stock_id" property, query wxArtProvider for the
+ bitmap (if there is no "stock_client", use default one, which is usually
+ wxART_OTHER; exceptions are noted in class-specific sections below). If
+ the query fails, continue to 2.
+ 2. Load the bitmap from the file in attribute value.
+
+
+Boolean
+-------
+Boolean value, either "0" (false) or "1" (true).
+
+
+Font
+----
+Font value. A font can be described either in terms of its elementary
+properties, or it can be derived from one of system fonts. The font node
+may contain following subnodes (the table lists subnode name on the left and
+variable type as per the definitions above on the right side):
+
+size UnsignedInteger
+style normal | italic | slant
+weight normal | bold | light
+family roman | script | decorative | swiss | modern | teletype
+underlined Boolean
+face comma-separated list of faces
+encoding charset of the font (meaningless in Unicode build), as string
+sysfont symbolic name of system standard font
+ (one of wxSYS_*_FONT constants)
+relativesize Float, font size relative to choosen system font's size;
+ can only be used when 'sysfont' is used and when 'size' is not
+ used
+
+All of them are optional, if they are missing, wxFont default is used.
+
+Examples:
+
+ <font>
+ <face>arial,helvetica</face>
+ <size>12</size>
+ </font>
+
+ <font>
+ <sysfont>wxSYS_DEFAULT_GUI_FONT</sysfont>
+ <weight>bold</weight>
+ <relativesize>1.5</relativesize>
+ </font>
+