## AtkDocument

AtkDocument — The ATK interface which allows access to a DOM associated with on object.

## Synopsis

                AtkDocument;
    const gchar* atk_document_get_document_type (AtkDocument *document);
    gpointer    atk_document_get_document       (AtkDocument *document);
    const gchar* atk_document_get_attribute_value
                                                (AtkDocument *document,
                                                 const gchar *attribute_name);
    gboolean    atk_document_set_attribute_value
                                                (AtkDocument *document,
                                                 const gchar *attribute_name,
                                                 const gchar *attribute_value);
    AtkAttributeSet* atk_document_get_attributes
                                                (AtkDocument *document);
    const gchar* atk_document_get_locale        (AtkDocument *document);

## Object Hierarchy

      GInterface
       +----AtkDocument

## Description

The AtkDocument interface should be supported by any object that has an associated document object model (DOM). This interface provides the standard mechanism allowing an assistive technology access to the DOM.

## Details

### AtkDocument

    typedef struct _AtkDocument AtkDocument;

The AtkDocument structure does not contain any fields.

### atk_document_get_document_type ()

    const gchar* atk_document_get_document_type (AtkDocument *document);

Gets a string indicating the document type.

`document` : | a GObject instance that implements AtkDocumentIface
Returns : | a string indicating the document type

### atk_document_get_document ()

    gpointer    atk_document_get_document       (AtkDocument *document);

Gets a `gpointer` that points to an instance of the DOM. It is up to the caller to check atk_document_get_type to determine how to cast this pointer.

`document` : | a GObject instance that implements AtkDocumentIface
Returns : | a `gpointer` that points to an instance of the DOM.

### atk_document_get_attribute_value ()

    const gchar* atk_document_get_attribute_value
                                                (AtkDocument *document,
                                                 const gchar *attribute_name);

Returns:

`document` : | a GObject instance that implements AtkDocumentIface
`attribute_name` : | a character string representing the name of the attribute whose value is being queried.
Returns : | a string value associated with the named attribute for this document, or NULL if a value for attribute_name has not been specified for this document.

Since ATK 1.12

### atk_document_set_attribute_value ()

    gboolean    atk_document_set_attribute_value
                                                (AtkDocument *document,
                                                 const gchar *attribute_name,
                                                 const gchar *attribute_value);

Returns:

`document` : | a GObject instance that implements AtkDocumentIface
`attribute_name` : | a character string representing the name of the attribute whose value is being set.
`attribute_value` : | a string value to be associated with attribute_name.
Returns : | TRUE if value is successfully associated with attribute_name for this document, FALSE otherwise (e.g. if the document does not allow the attribute to be modified).

Since ATK 1.12

### atk_document_get_attributes ()

    AtkAttributeSet* atk_document_get_attributes
                                                (AtkDocument *document);

Gets an AtkAttributeSet which describes document-wide attributes as name-value pairs.

Returns:

`document` : | a GObject instance that implements AtkDocumentIface
Returns : | An AtkAttributeSet containing the explicitly set name-value-pair attributes associated with this document as a whole.

Since ATK 1.12

### atk_document_get_locale ()

    const gchar* atk_document_get_locale        (AtkDocument *document);

Gets a UTF-8 string indicating the POSIX-style LC_MESSAGES locale of the content of this document instance. Individual text substrings or images within this document may have a different locale, see atk_text_get_attributes and atk_image_get_image_locale.

`document` : | a GObject instance that implements AtkDocumentIface
Returns : | a UTF-8 string indicating the POSIX-style LC_MESSAGES locale of the document content as a whole, or NULL if the document content does not specify a locale.