/* gxml-0.20.vapi generated by valac 0.56.19, do not modify. */

[CCode (gir_namespace = "GXml", gir_version = "0.20")]
namespace GXml {
	[CCode (cheader_filename = "gxml/gxml.h")]
	public class ArrayList : GXml.BaseCollection, GXml.List {
		public ArrayList ();
		public override bool validate_append (int index, GXml.DomElement element) throws GLib.Error;
	}
	[CCode (cheader_filename = "gxml/gxml.h")]
	public class ArrayString : GXml.BaseProperty {
		protected string _value;
		protected string[] _values;
		public ArrayString ();
		public unowned string[] get_values ();
		public void initialize_strings (owned string[] strs);
		public bool is_valid_value ();
		public bool search (string str);
		public void select (int index);
		public override string? value { owned get; set; }
	}
	[CCode (cheader_filename = "gxml/gxml.h")]
	public class Attr : GXml.Node, GXml.DomAttr {
		protected string _namespace_uri;
		protected GXml.Property prop;
		public Attr (GXml.DomElement element, string name, string val);
		public Attr.@namespace (GXml.DomElement element, string namespace_uri, string? prefix, string name, string val);
		public Attr.reference (GXml.DomElement element, string name);
		public bool is_referenced { get; }
	}
	[CCode (cheader_filename = "gxml/gxml.h")]
	public abstract class BaseCollection : GLib.Object, Gee.Traversable<GXml.DomElement>, Gee.Iterable<GXml.DomElement>, GXml.Collection {
		protected GXml.Element _element;
		protected string _items_name;
		protected GLib.Type _items_type;
		protected GLib.Queue<int> _nodes_index;
		protected BaseCollection ();
		public virtual void clear () throws GLib.Error;
		public void initialize_element (GXml.Element e) throws GLib.Error;
		public abstract bool validate_append (int index, GXml.DomElement element) throws GLib.Error;
	}
	[CCode (cheader_filename = "gxml/gxml.h")]
	public abstract class BaseProperty : GLib.Object, GXml.Property {
		protected BaseProperty ();
		public virtual bool validate_value (string? val);
		public abstract string? value { owned get; set; }
	}
	[CCode (cheader_filename = "gxml/gxml.h")]
	public class Boolean : GXml.BaseProperty {
		protected bool _value;
		public Boolean ();
		public bool get_boolean ();
		public void set_boolean (bool value);
		public override string? value { owned get; set; }
	}
	[CCode (cheader_filename = "gxml/gxml.h")]
	public class CharacterData : GXml.Node, GXml.DomNonDocumentTypeChildNode, GXml.DomChildNode, GXml.DomCharacterData {
		public CharacterData ();
	}
	[CCode (cheader_filename = "gxml/gxml.h")]
	public class Comment : GXml.CharacterData, GXml.DomComment {
		public Comment (GXml.DomDocument doc, string data);
	}
	[CCode (cheader_filename = "gxml/gxml.h")]
	public class CssAttributeSelector : GXml.CssSelector {
		public CssAttributeSelector (string? prefix = null, string local_name = "");
		public string local_name { get; set; }
		public string? prefix { get; set; }
	}
	[CCode (cheader_filename = "gxml/gxml.h")]
	public class CssElementSelector : GXml.CssSelector {
		public CssElementSelector (string? prefix = null, string local_name = "");
		public string local_name { owned get; set; }
		public string? prefix { owned get; set; }
		public bool prefixed { get; }
	}
	[CCode (cheader_filename = "gxml/gxml.h")]
	public class CssNotSelector : GXml.CssSelector {
		public CssNotSelector ();
		public Gee.List<GXml.CssSelector> selectors { get; }
	}
	[CCode (cheader_filename = "gxml/gxml.h")]
	public class CssSelector : GLib.Object {
		public CssSelector (GXml.CssSelectorType t = GXml.CssSelectorType.ELEMENT, string name = "");
		public CssSelector.with_value (GXml.CssSelectorType t = GXml.CssSelectorType.ELEMENT, string name, string value);
		public GXml.CssCombiner combiner { get; set; }
		public string name { get; set construct; }
		public GXml.CssSelectorType selector_type { get; set construct; }
		public string value { get; set construct; }
	}
	[CCode (cheader_filename = "gxml/gxml.h")]
	public class CssSelectorParser : GLib.Object {
		public CssSelectorParser ();
		public bool match (GXml.DomElement element) throws GLib.Error;
		public void parse (string selectors) throws GLib.Error;
		public GXml.DomNodeList query_selector_all (GXml.DomElement element) throws GLib.Error;
		public Gee.List<GXml.CssSelector> selectors { get; }
	}
	[CCode (cheader_filename = "gxml/gxml.h")]
	public class CustomEvent : GXml.Event {
		protected GLib.Value _detail;
		public CustomEvent ();
		public void init_custom_event (string type, bool bubbles, bool cancelable, GLib.Value? detail);
		public GLib.Value detail { get; }
	}
	[CCode (cheader_filename = "gxml/gxml.h")]
	public class Date : GXml.BaseProperty {
		protected GLib.Date _value;
		public Date ();
		public GLib.Date get_date ();
		public void set_date (GLib.Date date);
		public override string? value { owned get; set; }
	}
	[CCode (cheader_filename = "gxml/gxml.h")]
	public class DateTime : GXml.BaseProperty {
		protected GLib.DateTime _value;
		public DateTime ();
		public GLib.DateTime get_datetime ();
		public void set_datetime (GLib.DateTime dt);
		public string format { get; set; }
		public override string? value { owned get; set; }
	}
	[CCode (cheader_filename = "gxml/gxml.h")]
	public class Document : GXml.Node, GXml.DomParentNode, GXml.DomNonElementParentNode, GXml.DomDocument, GXml.DomXMLDocument {
		protected string _character_set;
		protected string _compat_mode;
		protected GXml.DomEvent _constructor;
		protected string _content_type;
		protected GXml.DomImplementation _implementation;
		protected string _origin;
		protected GXml.Parser _parser;
		protected string _url;
		public Document ();
		public Document.from_file (GLib.File file) throws GLib.Error;
		public Document.from_path (string path) throws GLib.Error;
		public Document.from_stream (GLib.InputStream stream) throws GLib.Error;
		public Document.from_string (string str) throws GLib.Error;
		public Document.from_uri (string uri) throws GLib.Error;
		public GXml.Element search_root_element_property ();
	}
	[CCode (cheader_filename = "gxml/gxml.h")]
	public class DocumentFragment : GXml.Node, GXml.DomParentNode, GXml.DomNonElementParentNode, GXml.DomDocumentFragment {
		public DocumentFragment (GXml.DomDocument doc);
	}
	[CCode (cheader_filename = "gxml/gxml.h")]
	public class DocumentType : GXml.Node, GXml.DomChildNode, GXml.DomDocumentType {
		protected string _name;
		protected string _public_id;
		protected string _system_id;
		public DocumentType (GXml.DomDocument doc, string name, string? public_id, string? system_id);
		public DocumentType.with_ids (GXml.DomDocument doc, string name, string public_id, string system_id);
		public DocumentType.with_name (GXml.DomDocument doc, string name);
	}
	[CCode (cheader_filename = "gxml/gxml.h")]
	public class DomCustomEventInit : GXml.DomEventInit {
		public DomCustomEventInit ();
		public GLib.Value detail { get; set; }
	}
	[CCode (cheader_filename = "gxml/gxml.h")]
	public class DomElementList : Gee.ArrayList<GXml.DomElement>, GXml.DomHTMLCollection {
		public DomElementList ();
	}
	[CCode (cheader_filename = "gxml/gxml.h")]
	public class DomErrorName : GLib.Object {
		public DomErrorName ();
		public int get_code (string error_name);
		public string get_name (int error_code);
	}
	[CCode (cheader_filename = "gxml/gxml.h")]
	public class DomEventInit : GLib.Object {
		public DomEventInit ();
		public bool bubbles { get; set; }
		public bool cancelable { get; set; }
	}
	[CCode (cheader_filename = "gxml/gxml.h")]
	public class DomMutationObserverInit : GLib.Object {
		public DomMutationObserverInit ();
		public Gee.List<string> attribute_filter { get; set; }
		public bool attribute_old_value { get; set; }
		public bool attributes { get; set; }
		public bool character_data { get; set; }
		public bool character_data_old_value { get; set; }
		public bool child_list { get; set; }
		public bool subtree { get; set; }
	}
	[CCode (cheader_filename = "gxml/gxml.h")]
	public class DomNodeFilter : GLib.Object {
		public enum Filter {
			ACCEPT,
			REJECT,
			SKIP
		}
		public const int SHOW_ALL;
		public const int SHOW_ATTRIBUTE;
		public const int SHOW_CDATA_SECTION;
		public const int SHOW_COMMENT;
		public const int SHOW_DOCUMENT;
		public const int SHOW_DOCUMENT_FRAGMENT;
		public const int SHOW_DOCUMENT_TYPE;
		public const int SHOW_ELEMENT;
		public const int SHOW_ENTITY;
		public const int SHOW_ENTITY_REFERENCE;
		public const int SHOW_NOTATION;
		public const int SHOW_PROCESSING_INSTRUCTION;
		public const int SHOW_TEXT;
		public DomNodeFilter ();
	}
	[CCode (cheader_filename = "gxml/gxml.h")]
	public class DomTimeStamp : GLib.Object {
		public DomTimeStamp ();
		public string to_string ();
		public GLib.DateTime time { get; set; }
	}
	[CCode (cheader_filename = "gxml/gxml.h")]
	public class Double : GXml.BaseProperty {
		protected double _value;
		public Double ();
		public double get_double ();
		public void set_double (double value);
		public uint decimals { get; set; }
		public override string? value { owned get; set; }
	}
	[CCode (cheader_filename = "gxml/gxml.h")]
	public class Element : GXml.Node, GXml.DomChildNode, GXml.DomNonDocumentTypeChildNode, GXml.DomParentNode, GXml.DomElement, GXml.Object {
		public class Attributes : Gee.HashMap<string,GXml.DomNode>, GXml.DomNamedNodeMap {
			protected GXml.Element _element;
			public Attributes (GXml.Element element);
			public void add_reference (string name);
		}
		protected GXml.Element.Attributes _attributes;
		protected string _namespace_uri;
		public Element ();
		public void initialize (string local_name);
		public void initialize_document (GXml.DomDocument doc, string local_name);
		public void initialize_document_with_namespace (GXml.DomDocument doc, string? namespace_uri, string? prefix, string local_name);
		public void initialize_with_namespace (string? namespace_uri, string? prefix, string local_name);
		public new string? lookup_namespace_uri (string? prefix);
		public new string? lookup_prefix (string? nspace);
		public void parse_buffer () throws GLib.Error;
		public async void parse_buffer_async () throws GLib.Error;
		public uint parse_pending ();
		public void read_unparsed () throws GLib.Error;
		public bool parse_children { get; set; }
		public GLib.MemoryOutputStream read_buffer { get; set; }
		public string unparsed { get; set; }
	}
	[CCode (cheader_filename = "gxml/gxml.h")]
	public class Enum : GXml.BaseProperty {
		protected GLib.Type _enum_type;
		protected string _val;
		protected int _value;
		public Enum ();
		public int get_enum ();
		public void initialize_enum (GLib.Type enum_type);
		public bool is_valid ();
		public void set_enum (int value);
		public bool camel_case { get; set construct; }
		public GLib.Type enum_type { get; set construct; }
		public bool upper_case { get; set construct; }
		public bool use_nick { get; set construct; }
		public override string? value { owned get; set; }
	}
	[CCode (cheader_filename = "gxml/gxml.h")]
	public class Enumeration {
		public Enumeration ();
		public static string get_nick (GLib.Type enumeration, int val) throws GLib.Error;
		public static string get_nick_camelcase (GLib.Type enumeration, int val) throws GLib.Error;
		public static string get_string (GLib.Type enumeration, int val, bool use_nick = false, bool camelcase = false) throws GLib.Error;
		public static GLib.EnumValue? parse (GLib.Type enumeration, string val) throws GLib.Error;
		public static GLib.EnumValue? parse_integer (GLib.Type enumeration, int val);
		public static unowned GLib.EnumValue[] to_array (GLib.Type enumeration);
		public static string[] to_string_array (GLib.Type enumeration) throws GLib.Error;
	}
	[CCode (cheader_filename = "gxml/gxml.h")]
	public class Event : GLib.Object, GXml.DomEvent {
		protected bool _bubbles;
		protected bool _cancelable;
		protected GXml.DomEventTarget _current_target;
		protected bool _default_prevented;
		protected string _etype;
		protected GXml.DomEvent.Phase _event_phase;
		protected GXml.DomEventTarget _event_target;
		protected GXml.DomEvent.Flags _flags;
		protected bool _is_trusted;
		protected GXml.DomTimeStamp _time_stamp;
		public Event ();
	}
	[CCode (cheader_filename = "gxml/gxml.h")]
	public class Float : GXml.Double {
		public Float ();
		public float get_float ();
		public void set_float (float value);
	}
	[CCode (cheader_filename = "gxml/gxml.h")]
	public class HTMLCollection : Gee.ArrayList<GXml.DomElement>, GXml.DomHTMLCollection {
		public HTMLCollection ();
	}
	[CCode (cheader_filename = "gxml/gxml.h")]
	public class HashMap : GXml.BaseCollection, GXml.Map {
		protected string _attribute_key;
		protected Gee.HashMap<string,int> _hashtable;
		public HashMap ();
		public override void clear ();
		public new GXml.DomElement? @get (string key);
		public GLib.List<string> get_keys ();
		public void initialize_element_with_key (GXml.Element element, GLib.Type items_type, string attribute_key) throws GLib.Error;
		public void initialize_with_key (GLib.Type items_type, string attribute_key) throws GLib.Error;
		public override bool validate_append (int index, GXml.DomElement element) throws GLib.Error;
	}
	[CCode (cheader_filename = "gxml/gxml.h")]
	public class HashPairedMap : GXml.BaseCollection, GXml.PairedMap {
		protected string _attribute_primary_key;
		protected string _attribute_secondary_key;
		protected Gee.HashMap<string,Gee.HashMap<string,int>> _hashtable;
		public HashPairedMap ();
		public override void clear ();
		public new GXml.DomElement? @get (string primary_key, string secondary_key);
		public GLib.List<string> get_primary_keys ();
		public GLib.List<string> get_secondary_keys (string pkey);
		public void initialize_element_with_keys (GXml.Element element, GLib.Type items_type, string attribute_primary_key, string attribute_secondary_key) throws GLib.Error;
		public void initialize_with_keys (GLib.Type items_type, string attribute_primary_key, string attribute_secondary_key) throws GLib.Error;
		public override bool validate_append (int index, GXml.DomElement element) throws GLib.Error;
	}
	[CCode (cheader_filename = "gxml/gxml.h")]
	public class HashThreeMap : GXml.BaseCollection, GXml.ThreeMap {
		protected string _attribute_primary_key;
		protected string _attribute_secondary_key;
		protected string _attribute_third_key;
		protected Gee.HashMap<string,Gee.HashMap<string,Gee.HashMap<string,int>>> _hashtable;
		public HashThreeMap ();
		public override void clear ();
		public new GXml.DomElement? @get (string primary_key, string secondary_key, string third_key);
		public GLib.List<string> get_primary_keys ();
		public GLib.List<string> get_secondary_keys (string pkey);
		public GLib.List<string> get_third_keys (string pkey, string skey);
		public void initialize_element_with_keys (GXml.Element element, GLib.Type items_type, string attribute_primary_key, string attribute_secondary_key, string attribute_third_key) throws GLib.Error;
		public void initialize_with_keys (GLib.Type items_type, string attribute_primary_key, string attribute_secondary_key, string attribute_third_key) throws GLib.Error;
		public override bool validate_append (int index, GXml.DomElement element) throws GLib.Error;
	}
	[CCode (cheader_filename = "gxml/gxml.h")]
	public class HtmlDocument : GXml.Document {
		public HtmlDocument ();
		[Description (nick = "::ROOT")]
		public GXml.DomElement html { get; set; }
	}
	[CCode (cheader_filename = "gxml/gxml.h")]
	public class HtmlElement : GXml.Element {
		public HtmlElement ();
	}
	[CCode (cheader_filename = "gxml/gxml.h")]
	public class Implementation : GLib.Object, GXml.DomImplementation {
		public Implementation ();
	}
	[CCode (cheader_filename = "gxml/gxml.h")]
	public class Int : GXml.BaseProperty {
		protected int _value;
		public Int ();
		public int get_integer ();
		public void set_integer (int value);
		public override string? value { owned get; set; }
	}
	[CCode (cheader_filename = "gxml/gxml.h")]
	public class LXPathObject : GLib.Object, GXml.XPathObject {
		public LXPathObject (GXml.XDocument document, Xml.XPath.Object* pointer);
	}
	[CCode (cheader_filename = "gxml/gxml.h")]
	public class Node : GLib.Object, GXml.DomEventTarget, GXml.DomNode {
		protected string _base_uri;
		protected GXml.NodeList _child_nodes;
		protected GXml.DomDocument _document;
		protected string _local_name;
		protected GXml.DomNode.NodeType _node_type;
		protected string _node_value;
		protected GXml.DomNode _parent;
		protected string _prefix;
		public Node ();
	}
	[CCode (cheader_filename = "gxml/gxml.h")]
	public class NodeIterator : GLib.Object, GXml.DomNodeIterator {
		protected bool _pointer_before_reference_node;
		protected GXml.DomNode _reference_node;
		protected GXml.DomNode _root;
		protected int _what_to_show;
		public NodeIterator (GXml.DomNode n, int what_to_show);
	}
	[CCode (cheader_filename = "gxml/gxml.h")]
	public class NodeList : Gee.ArrayList<GXml.DomNode>, GXml.DomNodeList {
		public NodeList ();
	}
	[CCode (cheader_filename = "gxml/gxml.h")]
	public class ProcessingInstruction : GXml.CharacterData, GXml.DomProcessingInstruction {
		public ProcessingInstruction (GXml.DomDocument doc, string target, string data);
	}
	[CCode (cheader_filename = "gxml/gxml.h")]
	public class Range : GLib.Object, GXml.DomRange {
		protected bool _collapse;
		protected GXml.DomNode _common_ancestor_container;
		protected GXml.DomDocument _document;
		protected GXml.DomNode _end_container;
		protected int _end_offset;
		protected GXml.DomNode _start_container;
		protected int _start_offset;
		public Range (GXml.DomDocument doc);
	}
	[CCode (cheader_filename = "gxml/gxml.h")]
	public class SettableTokenList : GXml.TokenList, GXml.DomSettableTokenList {
		public SettableTokenList (GXml.DomElement e, string? attr);
	}
	[CCode (cheader_filename = "gxml/gxml.h")]
	public class String : GXml.BaseProperty {
		protected string _value;
		public String ();
		public String.with_string (string str);
		public override string? value { owned get; set; }
	}
	[CCode (cheader_filename = "gxml/gxml.h")]
	public class StringRef : GLib.Object, GXml.Property {
		public StringRef (GXml.Object obj, string name);
	}
	[CCode (cheader_filename = "gxml/gxml.h")]
	public class Text : GXml.CharacterData, GXml.DomText {
		public Text (GXml.DomDocument doc, string data);
	}
	[CCode (cheader_filename = "gxml/gxml.h")]
	public class TokenList : Gee.ArrayList<string>, GXml.DomTokenList {
		protected string _attr;
		protected GXml.DomElement _element;
		public TokenList (GXml.DomElement e, string? attr);
		public void update ();
	}
	[CCode (cheader_filename = "gxml/gxml.h")]
	public class TreeWalker : GLib.Object, GXml.DomTreeWalker {
		protected GXml.DomNode _current_node;
		protected GXml.DomNode _root;
		protected int _what_to_show;
		public TreeWalker (GXml.DomNode root, int w);
	}
	[CCode (cheader_filename = "gxml/gxml.h")]
	public class XAttribute : GXml.XNode, GXml.DomAttr {
		public XAttribute (GXml.XDocument doc, Xml.Attr* node);
		public override GXml.DomNode parent { owned get; }
	}
	[CCode (cheader_filename = "gxml/gxml.h")]
	public class XCharacterData : GXml.XNonDocumentChildNode, GXml.DomCharacterData {
		public XCharacterData ();
		public string str { owned get; set; }
	}
	[CCode (cheader_filename = "gxml/gxml.h")]
	public class XChildNode : GXml.XNode, GXml.DomChildNode {
		public XChildNode ();
	}
	[CCode (cheader_filename = "gxml/gxml.h")]
	public class XComment : GXml.XCharacterData, GXml.DomComment {
		public XComment (GXml.XDocument doc, Xml.Node* node);
		public override string name { owned get; }
	}
	[CCode (cheader_filename = "gxml/gxml.h")]
	public class XDocument : GXml.XNode, GXml.DomParentNode, GXml.DomNonElementParentNode, GXml.DomDocument, GXml.DomXMLDocument, GXml.XPathContext {
		protected Xml.Buffer _buffer;
		protected string _character_set;
		protected string _compat_mode;
		protected GXml.DomEvent _constructor;
		protected string _content_type;
		protected GXml.DomImplementation _implementation;
		protected string _origin;
		protected GXml.Parser _parser;
		protected string _url;
		public XDocument ();
		public GXml.DomNode create_pi (string target, string data);
		public GXml.DomNode create_text (string text);
		public XDocument.from_doc (Xml.Doc doc);
		public XDocument.from_file (GLib.File file, int options = 0, GLib.Cancellable? cancel = null) throws GLib.Error;
		public XDocument.from_path (string path, int options = 0) throws GLib.Error;
		public XDocument.from_stream (GLib.InputStream istream) throws GLib.Error;
		public XDocument.from_string (string str, int options = 0) throws GLib.Error;
		public XDocument.from_uri (string uri, int options = 0) throws GLib.Error;
		public string libxml_to_string ();
		public virtual bool save (GLib.Cancellable? cancellable = null) throws GLib.Error;
		public virtual bool save_as (GLib.File f, GLib.Cancellable? cancellable = null) throws GLib.Error;
		public override bool set_namespace (string uri, string? prefix);
		public override string to_string ();
		public override Gee.Map<string,GXml.DomNode> attrs { owned get; }
		public bool backup { get; set; }
		public override Gee.BidirList<GXml.DomNode> children_nodes { owned get; }
		public override GXml.DomDocument document { get; }
		public GLib.File file { get; set; }
		public bool indent { get; set; }
		public bool ns_top { get; set; }
		public bool prefix_default_ns { get; set; }
		public GXml.DomNode root { owned get; }
	}
	[CCode (cheader_filename = "gxml/gxml.h")]
	public class XElement : GXml.XNonDocumentChildNode, GXml.DomParentNode, GXml.DomElement, GXml.XPathContext {
		public XElement (GXml.XDocument doc, Xml.Node* node);
		public GXml.DomNode? get_attr (string name);
		public GXml.DomNode? get_ns_attr (string name, string uri);
		public new void normalize ();
		public void remove_attr (string name);
		public void remove_ns_attr (string name, string uri);
		public void set_attr (string aname, string avalue);
		public void set_ns_attr (string ns, string aname, string value);
		public override string to_string ();
		public string content { owned get; set; }
		public override string value { owned get; set; }
	}
	[CCode (cheader_filename = "gxml/gxml.h")]
	public class XHashMapAttr : Gee.AbstractMap<string,GXml.XNode>, GXml.DomNamedNodeMap {
		public class Entry : Gee.Map.Entry<string,GXml.XNode> {
			public Entry (GXml.XDocument doc, Xml.Attr* attr);
			public override string key { get; }
			public override bool read_only { get; }
			public override GXml.XNode value { get; set; }
		}
		public class Iterator : GLib.Object, Gee.MapIterator<string,GXml.XNode> {
			public Iterator (GXml.XDocument doc, Xml.Node* node);
		}
		public XHashMapAttr (GXml.XDocument doc, Xml.Node* node);
		public override void clear ();
		public override GXml.XNode @get (string key);
		public override bool has (string key, GXml.XNode value);
		public override bool has_key (string key);
		public override Gee.MapIterator<string,GXml.XNode> map_iterator ();
		public override void @set (string key, GXml.XNode value);
		public override bool unset (string key, out GXml.XNode value = null);
		public override Gee.Set<Gee.Map.Entry<string,GXml.XNode>> entries { owned get; }
		public override Gee.Set<string> keys { owned get; }
		public override bool read_only { get; }
		public override int size { get; }
		public override Gee.Collection<GXml.XNode> values { owned get; }
	}
	[CCode (cheader_filename = "gxml/gxml.h")]
	public class XHtmlDocument : GXml.XDocument, GXml.DomHtmlDocument {
		public XHtmlDocument ();
		public XHtmlDocument.from_file (GLib.File file, int options = 0, GLib.Cancellable? cancel = null) throws GLib.Error;
		public XHtmlDocument.from_path (string path, int options = 0) throws GLib.Error;
		public XHtmlDocument.from_string (string html, int options = 0);
		public XHtmlDocument.from_string_context (string html, int options = 0);
		public XHtmlDocument.from_string_doc (string html, int options = 0);
		public XHtmlDocument.from_uri (string uri, int options = 0) throws GLib.Error;
		public override string to_string ();
		public static int default_options { get; }
	}
	[CCode (cheader_filename = "gxml/gxml.h")]
	public class XListChildren : Gee.AbstractBidirList<GXml.DomNode>, GXml.DomNodeList, GXml.DomHTMLCollection {
		public class Iterator : GLib.Object, Gee.Traversable<GXml.DomNode>, Gee.Iterator<GXml.DomNode>, Gee.BidirIterator<GXml.DomNode>, Gee.ListIterator<GXml.DomNode>, Gee.BidirListIterator<GXml.DomNode> {
			public Iterator (GXml.XDocument doc, Xml.Node* node);
		}
		public XListChildren (GXml.XDocument doc, Xml.Node* node);
		public override bool add (GXml.DomNode item);
		public new override Gee.BidirListIterator<GXml.DomNode> bidir_list_iterator ();
		public override void clear ();
		public override bool contains (GXml.DomNode item);
		public override GXml.DomNode @get (int index);
		public override int index_of (GXml.DomNode item);
		public override void insert (int index, GXml.DomNode item);
		public override Gee.Iterator<GXml.DomNode> iterator ();
		public override Gee.ListIterator<GXml.DomNode> list_iterator ();
		public override bool remove (GXml.DomNode item);
		public override GXml.DomNode remove_at (int index);
		public override void @set (int index, GXml.DomNode item);
		public override Gee.List<GXml.DomNode>? slice (int start, int stop);
		public override bool read_only { get; }
		public override int size { get; }
	}
	[CCode (cheader_filename = "gxml/gxml.h")]
	public abstract class XNode : GLib.Object, GXml.DomEventTarget, GXml.DomNode {
		protected string _base_uri;
		protected GXml.XDocument _doc;
		protected Xml.Node* _node;
		protected bool owned_node;
		protected XNode ();
		public GXml.DomNode clone_node (bool deep = false);
		public Xml.Node* get_internal_node ();
		public virtual bool set_namespace (string uri, string? prefix);
		public static GXml.DomNode to_gnode (GXml.XDocument doc, Xml.Node* node, bool take_node);
		public virtual string to_string ();
		public virtual Gee.Map<string,GXml.DomNode> attrs { owned get; }
		public virtual Gee.BidirList<GXml.DomNode> children_nodes { owned get; }
		public virtual GXml.DomDocument document { get; }
		public virtual string name { owned get; }
		public virtual GXml.DomNode parent { owned get; }
		public virtual GXml.NodeType type_node { get; }
		public virtual string value { owned get; set; }
	}
	[CCode (cheader_filename = "gxml/gxml.h")]
	public class XNonDocumentChildNode : GXml.XChildNode, GXml.DomNonDocumentTypeChildNode {
		public XNonDocumentChildNode ();
	}
	[CCode (cheader_filename = "gxml/gxml.h")]
	public class XParser : GLib.Object, GXml.Parser {
		public XParser (GXml.DomNode node);
		public async void read_child_nodes_stream_async (GLib.InputStream istream) throws GLib.Error;
		public void read_node (GXml.DomNode node) throws GLib.Error;
	}
	[CCode (cheader_filename = "gxml/gxml.h")]
	public class XProcessingInstruction : GXml.XCharacterData, GXml.DomProcessingInstruction {
		public XProcessingInstruction (GXml.XDocument doc, Xml.Node* node);
		public new string data { owned get; set; }
	}
	[CCode (cheader_filename = "gxml/gxml.h")]
	public class XText : GXml.XCharacterData, GXml.DomText {
		public XText (GXml.XDocument doc, Xml.Node* node);
		public override string name { owned get; }
	}
	[CCode (cheader_filename = "gxml/gxml.h")]
	public class XsdAnnotation : GXml.Element {
		public XsdAnnotation ();
	}
	[CCode (cheader_filename = "gxml/gxml.h")]
	public class XsdArrayString : GXml.ArrayString {
		protected string _simple_type;
		protected GLib.File _source;
		public XsdArrayString ();
		public void load () throws GLib.Error;
		public string simple_type { get; set; }
		public GLib.File source { get; set; }
	}
	[CCode (cheader_filename = "gxml/gxml.h")]
	public class XsdAttribute : GXml.XsdBaseAttribute {
		public XsdAttribute ();
	}
	[CCode (cheader_filename = "gxml/gxml.h")]
	public class XsdAttributeGroup : GXml.XsdBaseAttribute {
		public XsdAttributeGroup ();
	}
	[CCode (cheader_filename = "gxml/gxml.h")]
	public class XsdBaseAttribute : GXml.Element {
		public XsdBaseAttribute ();
		public GXml.XsdAnnotation anotation { get; set; }
	}
	[CCode (cheader_filename = "gxml/gxml.h")]
	public class XsdBaseContent : GXml.Element {
		public XsdBaseContent ();
		public GXml.XsdAnnotation anotation { get; set; }
	}
	[CCode (cheader_filename = "gxml/gxml.h")]
	public class XsdBaseType : GXml.Element {
		public XsdBaseType ();
		public GXml.XsdAnnotation anotation { get; set; }
	}
	[CCode (cheader_filename = "gxml/gxml.h")]
	public class XsdComplexContent : GXml.XsdBaseContent {
		public XsdComplexContent ();
	}
	[CCode (cheader_filename = "gxml/gxml.h")]
	public class XsdComplexType : GXml.XsdBaseType {
		protected GXml.XsdList _group_attributes;
		protected GXml.XsdList _type_attributes;
		public XsdComplexType ();
		public bool @abstract { get; set; }
		public string block { get; set; }
		public GXml.XsdBaseContent content_type { get; set; }
		public bool default_attributes_apply { get; set; }
		public string final { get; set; }
		public GXml.XsdList group_attributes { get; }
		public bool mixed { get; set; }
		public string name { get; set; }
		public GXml.XsdList type_attributes { get; }
	}
	[CCode (cheader_filename = "gxml/gxml.h")]
	public class XsdElement : GXml.Element {
		public XsdElement ();
		[Description (nick = "::abstract")]
		public bool @abstract { get; set; }
		[Description (nick = "::annotation")]
		public GXml.XsdAnnotation anotation { get; set; }
		[Description (nick = "::block")]
		public string block { get; set; }
		[Description (nick = "::ComplexType")]
		public GXml.XsdComplexType complex_type { get; set; }
		[Description (nick = "::default")]
		public string @default { get; set; }
		[Description (nick = "::final")]
		public string final { get; set; }
		[Description (nick = "::fixed")]
		public string fixed { get; set; }
		[Description (nick = "::form")]
		public string form { get; set; }
		[Description (nick = "::maxOccurs")]
		public string max_occurs { get; set; }
		[Description (nick = "::minOccurs")]
		public string min_occurs { get; set; }
		[Description (nick = "::name")]
		public string name { get; set; }
		[Description (nick = "::nillable")]
		public bool nillable { get; set; }
		[Description (nick = "::type")]
		public string object_type { get; set; }
		[Description (nick = "::ref")]
		public new string @ref { get; set; }
		[Description (nick = "::SimpleType")]
		public GXml.XsdSimpleType simple_type { get; set; }
		[Description (nick = "::substitutionGroup")]
		public GXml.DomTokenList substitution_group { get; set; }
		[Description (nick = "::targetNamespace")]
		public string target_namespace { get; set; }
	}
	[CCode (cheader_filename = "gxml/gxml.h")]
	public class XsdExtension : GXml.Element {
		public XsdExtension ();
		[Description (nick = "::base")]
		public string @base { get; set; }
	}
	[CCode (cheader_filename = "gxml/gxml.h")]
	public class XsdList : GXml.ArrayList {
		public XsdList ();
		public int index_of (GXml.DomElement element);
		public void remove (int index);
		public new int length { get; }
	}
	[CCode (cheader_filename = "gxml/gxml.h")]
	public class XsdListComplexTypes : GXml.XsdList {
		public XsdListComplexTypes ();
	}
	[CCode (cheader_filename = "gxml/gxml.h")]
	public class XsdListElements : GXml.XsdList {
		public XsdListElements ();
	}
	[CCode (cheader_filename = "gxml/gxml.h")]
	public class XsdListSimpleTypes : GXml.XsdList {
		public XsdListSimpleTypes ();
	}
	[CCode (cheader_filename = "gxml/gxml.h")]
	public class XsdListTypeRestrictionEnumerations : GXml.XsdList {
		public XsdListTypeRestrictionEnumerations ();
	}
	[CCode (cheader_filename = "gxml/gxml.h")]
	public class XsdListTypeRestrictionWhiteSpaces : GXml.XsdList {
		public XsdListTypeRestrictionWhiteSpaces ();
	}
	[CCode (cheader_filename = "gxml/gxml.h")]
	public class XsdOpenContent : GXml.XsdBaseContent {
		public XsdOpenContent ();
	}
	[CCode (cheader_filename = "gxml/gxml.h")]
	public class XsdSchema : GXml.Element {
		public XsdSchema ();
		public GXml.XsdListComplexTypes complex_type_definitions { get; set; }
		public GXml.XsdListElements element_definitions { get; set; }
		public GXml.XsdListSimpleTypes simple_type_definitions { get; set; }
	}
	[CCode (cheader_filename = "gxml/gxml.h")]
	public class XsdSimpleContent : GXml.XsdBaseContent {
		public XsdSimpleContent ();
	}
	[CCode (cheader_filename = "gxml/gxml.h")]
	public class XsdSimpleType : GXml.Element {
		public XsdSimpleType ();
		public GXml.XsdAnnotation annotation { get; set; }
		[Description (nick = "::final")]
		public string final { get; set; }
		public GXml.XsdTypeList list { get; set; }
		[Description (nick = "::name")]
		public string name { get; set; }
		public GXml.XsdTypeRestriction restriction { get; set; }
		public GXml.XsdTypeUnion union { get; set; }
	}
	[CCode (cheader_filename = "gxml/gxml.h")]
	public class XsdTypeDefinition : GXml.Element {
		public XsdTypeDefinition ();
		public GXml.XsdAnnotation annotation { get; set; }
	}
	[CCode (cheader_filename = "gxml/gxml.h")]
	public class XsdTypeList : GXml.XsdTypeDefinition {
		public XsdTypeList ();
	}
	[CCode (cheader_filename = "gxml/gxml.h")]
	public class XsdTypeRestriction : GXml.XsdTypeDefinition {
		public XsdTypeRestriction ();
		[Description (nick = "::base")]
		public string @base { get; set; }
		public GXml.XsdListTypeRestrictionEnumerations enumerations { get; set; }
		public GXml.XsdSimpleType simple_type { get; set; }
		public GXml.XsdListTypeRestrictionWhiteSpaces white_spaces { get; set; }
	}
	[CCode (cheader_filename = "gxml/gxml.h")]
	public class XsdTypeRestrictionAssertion : GXml.XsdTypeRestrictionDef {
		public XsdTypeRestrictionAssertion ();
	}
	[CCode (cheader_filename = "gxml/gxml.h")]
	public class XsdTypeRestrictionDef : GXml.Element {
		public XsdTypeRestrictionDef ();
		public GXml.XsdAnnotation annotation { get; set; }
	}
	[CCode (cheader_filename = "gxml/gxml.h")]
	public class XsdTypeRestrictionEnumeration : GXml.XsdTypeRestrictionDef {
		public XsdTypeRestrictionEnumeration ();
		[Description (nick = "::value")]
		public string value { get; set; }
	}
	[CCode (cheader_filename = "gxml/gxml.h")]
	public class XsdTypeRestrictionExplicitTimezone : GXml.XsdTypeRestrictionDef {
		public XsdTypeRestrictionExplicitTimezone ();
	}
	[CCode (cheader_filename = "gxml/gxml.h")]
	public class XsdTypeRestrictionFractionDigits : GXml.XsdTypeRestrictionDef {
		public XsdTypeRestrictionFractionDigits ();
	}
	[CCode (cheader_filename = "gxml/gxml.h")]
	public class XsdTypeRestrictionLength : GXml.XsdTypeRestrictionDef {
		public XsdTypeRestrictionLength ();
	}
	[CCode (cheader_filename = "gxml/gxml.h")]
	public class XsdTypeRestrictionMaxExclusive : GXml.XsdTypeRestrictionDef {
		public XsdTypeRestrictionMaxExclusive ();
	}
	[CCode (cheader_filename = "gxml/gxml.h")]
	public class XsdTypeRestrictionMaxInclusive : GXml.XsdTypeRestrictionDef {
		public XsdTypeRestrictionMaxInclusive ();
	}
	[CCode (cheader_filename = "gxml/gxml.h")]
	public class XsdTypeRestrictionMaxLength : GXml.XsdTypeRestrictionDef {
		public XsdTypeRestrictionMaxLength ();
	}
	[CCode (cheader_filename = "gxml/gxml.h")]
	public class XsdTypeRestrictionMinExclusive : GXml.XsdTypeRestrictionDef {
		public XsdTypeRestrictionMinExclusive ();
	}
	[CCode (cheader_filename = "gxml/gxml.h")]
	public class XsdTypeRestrictionMinInclusive : GXml.XsdTypeRestrictionDef {
		public XsdTypeRestrictionMinInclusive ();
	}
	[CCode (cheader_filename = "gxml/gxml.h")]
	public class XsdTypeRestrictionMinLength : GXml.XsdTypeRestrictionDef {
		public XsdTypeRestrictionMinLength ();
	}
	[CCode (cheader_filename = "gxml/gxml.h")]
	public class XsdTypeRestrictionPattern : GXml.XsdTypeRestrictionDef {
		public XsdTypeRestrictionPattern ();
	}
	[CCode (cheader_filename = "gxml/gxml.h")]
	public class XsdTypeRestrictionTotalDigits : GXml.XsdTypeRestrictionDef {
		public XsdTypeRestrictionTotalDigits ();
	}
	[CCode (cheader_filename = "gxml/gxml.h")]
	public class XsdTypeRestrictionWhiteSpace : GXml.XsdTypeRestrictionDef {
		public class Fixed : GXml.Boolean {
			public Fixed ();
		}
		public XsdTypeRestrictionWhiteSpace ();
		[Description (nick = "::fixed")]
		public GXml.XsdTypeRestrictionWhiteSpace.Fixed fixed { get; set; }
		[Description (nick = "::value")]
		public string value { get; set; }
	}
	[CCode (cheader_filename = "gxml/gxml.h")]
	public class XsdTypeUnion : GXml.XsdTypeDefinition {
		public XsdTypeUnion ();
	}
	[CCode (cheader_filename = "gxml/gxml.h")]
	public interface Collection : GLib.Object {
		public abstract void append (GXml.DomElement node) throws GLib.Error;
		public abstract void clear () throws GLib.Error;
		public virtual GXml.DomElement? create_item ();
		public virtual GXml.DomElement? get_item (int index) throws GLib.Error;
		public abstract void initialize (GLib.Type t) throws GLib.Error;
		public abstract void search () throws GLib.Error;
		public abstract bool validate_append (int index, GXml.DomElement element) throws GLib.Error;
		public abstract GXml.DomElement element { get; set construct; }
		public abstract string items_name { get; }
		public abstract GLib.Type items_type { get; set construct; }
		public virtual int length { get; }
		public abstract GLib.Queue<int> nodes_index { get; }
	}
	[CCode (cheader_filename = "gxml/gxml.h")]
	public interface CollectionParent : GLib.Object, GXml.Collection {
		public static void add_supported_type (GLib.HashTable<string,GLib.Type> types, GLib.Type parent_type, GLib.Type type);
		public static void add_supported_types (GLib.HashTable<string,GLib.Type> table, GLib.Type parent_type, GLib.Type[] types);
		public virtual GLib.HashTable<string,GLib.Type> types { owned get; }
	}
	[CCode (cheader_filename = "gxml/gxml.h")]
	public interface DomAttr : GLib.Object {
		public abstract string local_name { owned get; }
		public abstract string name { owned get; }
		public abstract string? namespace_uri { owned get; }
		public abstract string? prefix { owned get; }
		public virtual bool specified { get; }
		public abstract string value { owned get; set; }
	}
	[CCode (cheader_filename = "gxml/gxml.h")]
	public interface DomCharacterData : GLib.Object, GXml.DomNode, GXml.DomNonDocumentTypeChildNode, GXml.DomChildNode {
		public virtual void append_data (string data);
		public virtual void delete_data (int offset, int count) throws GLib.Error;
		public virtual void insert_data (int offset, string data) throws GLib.Error;
		public new virtual void replace_data (int offset, int count, string data) throws GLib.Error;
		public virtual string substring_data (int offset, int count) throws GLib.Error;
		public abstract string data { owned get; set; }
		public virtual int length { get; }
	}
	[CCode (cheader_filename = "gxml/gxml.h")]
	public interface DomChildNode : GLib.Object {
		public abstract void remove ();
	}
	[CCode (cheader_filename = "gxml/gxml.h")]
	public interface DomComment : GXml.DomCharacterData {
	}
	[CCode (cheader_filename = "gxml/gxml.h")]
	public interface DomCustomEvent : GLib.Object, GXml.DomEvent {
		public abstract void init_custom_event (string type, bool bubbles, bool cancelable, GLib.Value detail);
		public abstract GLib.Value detail { get; }
	}
	[CCode (cheader_filename = "gxml/gxml.h")]
	public interface DomDocument : GLib.Object, GXml.DomNode, GXml.DomParentNode, GXml.DomNonElementParentNode {
		public abstract GXml.DomNode adopt_node (GXml.DomNode node) throws GLib.Error;
		public abstract GXml.DomComment create_comment (string data) throws GLib.Error;
		public abstract GXml.DomDocumentFragment create_document_fragment ();
		public abstract GXml.DomElement create_element (string local_name) throws GLib.Error;
		public abstract GXml.DomElement create_element_ns (string? @namespace, string qualified_name) throws GLib.Error;
		public abstract GXml.DomEvent create_event (string @interface) throws GLib.Error;
		public abstract GXml.DomNodeIterator create_node_iterator (GXml.DomNode root, int whatToShow = (int) 0xFFFFFFFF);
		public abstract GXml.DomProcessingInstruction create_processing_instruction (string target, string data) throws GLib.Error;
		public abstract GXml.DomRange create_range ();
		public virtual GLib.InputStream create_stream () throws GLib.Error;
		public virtual async GLib.InputStream create_stream_async (GLib.Cancellable? cancellable = null) throws GLib.Error;
		public abstract GXml.DomText create_text_node (string data) throws GLib.Error;
		public abstract GXml.DomTreeWalker create_tree_walker (GXml.DomNode root, int what_to_show = (int) 0xFFFFFFFF);
		public abstract GXml.DomHTMLCollection get_elements_by_class_name (string classNames);
		public abstract GXml.DomHTMLCollection get_elements_by_tag_name (string local_name);
		public abstract GXml.DomHTMLCollection get_elements_by_tag_name_ns (string? @namespace, string local_name);
		public abstract GXml.Parser get_xml_parser ();
		public abstract GXml.DomNode import_node (GXml.DomNode node, bool deep = false) throws GLib.Error;
		public virtual void read_from_file (GLib.File file, GLib.Cancellable? cancellable = null) throws GLib.Error;
		public virtual async void read_from_file_async (GLib.File file, GLib.Cancellable? cancellable = null) throws GLib.Error;
		public virtual void read_from_stream (GLib.InputStream stream, GLib.Cancellable? cancellable = null) throws GLib.Error;
		public virtual async void read_from_stream_async (GLib.InputStream stream, GLib.Cancellable? cancellable = null) throws GLib.Error;
		public virtual void read_from_string (string str, GLib.Cancellable? cancellable = null) throws GLib.Error;
		public virtual async void read_from_string_async (string str, GLib.Cancellable? cancellable = null) throws GLib.Error;
		public abstract void set_xml_parser (GXml.Parser parser);
		public virtual void write_file (GLib.File file, GLib.Cancellable? cancellable = null) throws GLib.Error;
		public virtual async void write_file_async (GLib.File file, GLib.Cancellable? cancellable = null) throws GLib.Error;
		public virtual void write_stream (GLib.OutputStream stream, GLib.Cancellable? cancellable = null) throws GLib.Error;
		public virtual async void write_stream_async (GLib.OutputStream stream, GLib.Cancellable? cancellable = null) throws GLib.Error;
		public virtual string write_string (GLib.Cancellable? cancellable = null) throws GLib.Error;
		public virtual async string write_string_async (GLib.Cancellable? cancellable = null) throws GLib.Error;
		public abstract string character_set { get; }
		public abstract string compat_mode { get; }
		public abstract string content_type { get; }
		public abstract GXml.DomDocumentType? doctype { owned get; }
		public abstract GXml.DomElement? document_element { owned get; }
		public abstract string document_uri { get; }
		public abstract GXml.DomImplementation implementation { get; }
		public abstract string origin { get; }
		public abstract string url { get; }
	}
	[CCode (cheader_filename = "gxml/gxml.h")]
	public interface DomDocumentFragment : GLib.Object, GXml.DomNode, GXml.DomParentNode, GXml.DomNonElementParentNode {
	}
	[CCode (cheader_filename = "gxml/gxml.h")]
	public interface DomDocumentType : GLib.Object, GXml.DomNode, GXml.DomChildNode {
		public abstract string name { get; }
		public abstract string public_id { get; }
		public abstract string system_id { get; }
	}
	[CCode (cheader_filename = "gxml/gxml.h")]
	public interface DomElement : GLib.Object, GXml.DomNode, GXml.DomChildNode, GXml.DomNonDocumentTypeChildNode, GXml.DomParentNode {
		public virtual GLib.InputStream create_stream () throws GLib.Error;
		public virtual async GLib.InputStream create_stream_async (GLib.Cancellable? cancellable = null) throws GLib.Error;
		public abstract string? get_attribute (string name);
		public abstract string? get_attribute_ns (string? @namespace, string local_name);
		public abstract GXml.DomHTMLCollection get_elements_by_class_name (string class_names);
		public abstract GXml.DomHTMLCollection get_elements_by_tag_name (string local_name);
		public abstract GXml.DomHTMLCollection get_elements_by_tag_name_ns (string? @namespace, string local_name);
		public abstract bool has_attribute (string name);
		public abstract bool has_attribute_ns (string? @namespace, string local_name);
		public virtual bool matches (string selectors) throws GLib.Error;
		public virtual void read_from_file (GLib.File f, GLib.Cancellable? cancellable = null) throws GLib.Error;
		public virtual async void read_from_file_async (GLib.File f, GLib.Cancellable? cancellable = null) throws GLib.Error;
		public virtual void read_from_stream (GLib.InputStream istream, GLib.Cancellable? cancellable = null) throws GLib.Error;
		public virtual async void read_from_stream_async (GLib.InputStream istream, GLib.Cancellable? cancellable = null) throws GLib.Error;
		public virtual void read_from_string (string str, GLib.Cancellable? cancellable = null) throws GLib.Error;
		public virtual async void read_from_string_async (string str, GLib.Cancellable? cancellable = null) throws GLib.Error;
		public virtual void read_from_uri (string uri) throws GLib.Error;
		public virtual async void read_from_uri_async (string uri, GLib.Cancellable? cancellable = null) throws GLib.Error;
		public abstract void remove_attribute (string name);
		public abstract void remove_attribute_ns (string? @namespace, string local_name);
		public abstract void set_attribute (string name, string value) throws GLib.Error;
		public abstract void set_attribute_ns (string? @namespace, string name, string value) throws GLib.Error;
		public virtual void write_file (GLib.File f, GLib.Cancellable? cancellable = null) throws GLib.Error;
		public virtual async void write_file_async (GLib.File f, GLib.Cancellable? cancellable = null) throws GLib.Error;
		public virtual void write_stream (GLib.OutputStream stream) throws GLib.Error;
		public virtual async void write_stream_async (GLib.OutputStream stream, GLib.Cancellable? cancellable = null) throws GLib.Error;
		public virtual string write_string (GLib.Cancellable? cancellable = null) throws GLib.Error;
		public virtual async string write_string_async (GLib.Cancellable? cancellable = null) throws GLib.Error;
		public abstract GXml.DomNamedNodeMap attributes { owned get; }
		public abstract GXml.DomTokenList class_list { owned get; }
		public abstract string? class_name { owned get; set; }
		public abstract string? id { owned get; set; }
		public abstract string local_name { owned get; }
		public abstract string? namespace_uri { owned get; }
		public abstract string? prefix { owned get; }
		public abstract string tag_name { owned get; }
	}
	[CCode (cheader_filename = "gxml/gxml.h")]
	public interface DomEvent : GLib.Object {
		[Flags]
		public enum Flags {
			STOP_PROPAGATION_FLAG,
			STOP_IMMEDIATE_PROPAGATION_FLAG,
			CANCELED_FLAG,
			INITIALIZED_FLAG,
			DISPATCH_FLAG
		}
		public enum Phase {
			NONE,
			CAPTURING_PHASE,
			AT_TARGET,
			BUBBLING_PHASE
		}
		public abstract void init_event (string type, bool bubbles, bool cancelable);
		public abstract void prevent_default ();
		public abstract void stop_immediate_propagation ();
		public abstract void stop_propagation ();
		public abstract bool bubbles { get; }
		public abstract bool cancelable { get; }
		public abstract GXml.DomEventTarget? current_target { get; }
		public abstract bool default_prevented { get; }
		public abstract string etype { get; }
		public abstract GXml.DomEvent.Phase event_phase { get; }
		public abstract GXml.DomEventTarget? event_target { get; }
		public abstract bool is_trusted { get; }
		public abstract GXml.DomTimeStamp time_stamp { get; }
	}
	[CCode (cheader_filename = "gxml/gxml.h")]
	public interface DomEventListener : GLib.Object {
		public abstract void handle_event (GXml.DomEvent event);
	}
	[CCode (cheader_filename = "gxml/gxml.h")]
	public interface DomEventTarget : GLib.Object {
		public abstract void add_event_listener (string type, GXml.DomEventListener? callback, bool capture = false);
		public abstract bool dispatch_event (GXml.DomEvent event) throws GLib.Error;
		public abstract void remove_event_listener (string type, GXml.DomEventListener? callback, bool capture = false);
	}
	[CCode (cheader_filename = "gxml/gxml.h")]
	public interface DomHTMLCollection : GLib.Object, Gee.BidirList<GXml.DomElement> {
		public new abstract GXml.DomElement? get_element (int index);
		public virtual GXml.DomElement? item (int index);
		public virtual GXml.DomElement? named_item (string name);
		public new virtual GXml.DomElement[] to_array ();
		public virtual int length { get; }
	}
	[CCode (cheader_filename = "gxml/gxml.h")]
	public interface DomHtmlDocument : GLib.Object, GXml.DomDocument {
		public abstract void read_from_string (string str) throws GLib.Error;
		public abstract void read_from_string_tolerant (string str) throws GLib.Error;
		public abstract string to_html () throws GLib.Error;
	}
	[CCode (cheader_filename = "gxml/gxml.h")]
	public interface DomImplementation : GLib.Object {
		public abstract GXml.DomXMLDocument create_document (string? nspace, string? qualified_name, GXml.DomDocumentType? doctype = null) throws GLib.Error;
		public abstract GXml.DomDocumentType create_document_type (string qualified_name, string public_id, string system_id) throws GLib.Error;
		public abstract GXml.DomDocument create_html_document (string title);
		public virtual bool has_feature ();
	}
	[CCode (cheader_filename = "gxml/gxml.h")]
	public interface DomMutationObserver : GLib.Object {
		public abstract void disconnect ();
		public abstract void observe (GXml.Node target, GXml.DomMutationObserverInit options);
		public abstract Gee.List<GXml.DomMutationRecord> take_records ();
	}
	[CCode (cheader_filename = "gxml/gxml.h")]
	public interface DomMutationRecord : GLib.Object {
		public abstract GXml.DomNodeList added_nodes { owned get; set; }
		public abstract string? attribute_name { get; }
		public abstract string? attribute_namespace { get; }
		public abstract string mtype { get; }
		public abstract GXml.DomNode? next_sibling { owned get; }
		public abstract string? old_value { get; }
		public abstract GXml.DomNode? previous_sibling { owned get; }
		public abstract GXml.DomNodeList removed_nodes { owned get; set; }
		public abstract GXml.DomNode target { owned get; }
	}
	[CCode (cheader_filename = "gxml/gxml.h")]
	public interface DomNamedNodeMap : GLib.Object, Gee.Map<string,GXml.DomNode> {
		public abstract GXml.DomNode? get_named_item (string name);
		public abstract GXml.DomNode? get_named_item_ns (string namespace_uri, string local_name) throws GLib.Error;
		public abstract GXml.DomNode? item (int index);
		public abstract GXml.DomNode? remove_named_item (string name) throws GLib.Error;
		public abstract GXml.DomNode? remove_named_item_ns (string namespace_uri, string localName) throws GLib.Error;
		public abstract GXml.DomNode? set_named_item (GXml.DomNode node) throws GLib.Error;
		public abstract GXml.DomNode? set_named_item_ns (GXml.DomNode node) throws GLib.Error;
		public abstract int length { get; }
	}
	[CCode (cheader_filename = "gxml/gxml.h")]
	public interface DomNode : GLib.Object, GXml.DomEventTarget {
		[Flags]
		public enum DocumentPosition {
			NONE,
			DISCONNECTED,
			PRECEDING,
			FOLLOWING,
			CONTAINS,
			CONTAINED_BY,
			IMPLEMENTATION_SPECIFIC
		}
		public enum NodeType {
			INVALID,
			ELEMENT_NODE,
			ATTRIBUTE_NODE,
			TEXT_NODE,
			CDATA_SECTION_NODE,
			ENTITY_REFERENCE_NODE,
			ENTITY_NODE,
			PROCESSING_INSTRUCTION_NODE,
			COMMENT_NODE,
			DOCUMENT_NODE,
			DOCUMENT_TYPE_NODE,
			DOCUMENT_FRAGMENT_NODE,
			NOTATION_NODE
		}
		public abstract GXml.DomNode append_child (GXml.DomNode node) throws GLib.Error;
		public abstract GXml.DomNode.DocumentPosition compare_document_position (GXml.DomNode other);
		public abstract bool contains (GXml.DomNode? other);
		public static bool copy (GXml.DomDocument doc, GXml.DomNode node, GXml.DomNode source, bool deep) throws GLib.Error;
		public abstract bool has_child_nodes ();
		public abstract GXml.DomNode insert_before (GXml.DomNode node, GXml.DomNode? child) throws GLib.Error;
		public abstract bool is_default_namespace (string? nspace);
		public abstract bool is_equal_node (GXml.DomNode? node);
		public abstract string? lookup_namespace_uri (string? prefix);
		public abstract string? lookup_prefix (string? nspace);
		public abstract void normalize ();
		public abstract GXml.DomNode remove_child (GXml.DomNode child) throws GLib.Error;
		public abstract GXml.DomNode replace_child (GXml.DomNode node, GXml.DomNode child) throws GLib.Error;
		public abstract string? base_uri { get; }
		public abstract GXml.DomNodeList child_nodes { owned get; }
		public abstract GXml.DomNode? first_child { owned get; }
		public abstract GXml.DomNode? last_child { owned get; }
		public abstract GXml.DomNode? next_sibling { owned get; }
		public abstract string node_name { owned get; }
		public abstract GXml.DomNode.NodeType node_type { get; }
		public abstract string? node_value { owned get; set; }
		public abstract GXml.DomDocument? owner_document { get; set construct; }
		public abstract GXml.DomElement? parent_element { owned get; }
		public abstract GXml.DomNode? parent_node { owned get; }
		public abstract GXml.DomNode? previous_sibling { owned get; }
		public abstract string? text_content { owned get; set; }
	}
	[CCode (cheader_filename = "gxml/gxml.h")]
	public interface DomNodeIterator : GLib.Object {
		public abstract void detach ();
		public abstract GXml.DomNode? next_node ();
		public abstract GXml.DomNode? previous_node ();
		public abstract bool pointer_before_reference_node { get; }
		public abstract GXml.DomNode reference_node { get; }
		public abstract GXml.DomNode root { get; }
		public abstract int what_to_show { get; }
		public signal GXml.DomNodeFilter.Filter accept_node (GXml.DomNode node);
	}
	[CCode (cheader_filename = "gxml/gxml.h")]
	public interface DomNodeList : GLib.Object, Gee.BidirList<GXml.DomNode> {
		public abstract GXml.DomNode? item (int index);
		public abstract int length { get; }
	}
	[CCode (cheader_filename = "gxml/gxml.h")]
	public interface DomNonDocumentTypeChildNode : GLib.Object {
		public abstract GXml.DomElement? next_element_sibling { owned get; }
		public abstract GXml.DomElement? previous_element_sibling { owned get; }
	}
	[CCode (cheader_filename = "gxml/gxml.h")]
	public interface DomNonElementParentNode : GLib.Object {
		public abstract GXml.DomElement? get_element_by_id (string element_id) throws GLib.Error;
	}
	[CCode (cheader_filename = "gxml/gxml.h")]
	public interface DomParentNode : GLib.Object {
		public virtual GXml.DomElementList get_elements_by_property_value (string property, string value);
		public virtual GXml.DomElement? query_selector (string selectors) throws GLib.Error;
		public abstract GXml.DomNodeList query_selector_all (string selectors) throws GLib.Error;
		public abstract int child_element_count { get; }
		public abstract GXml.DomHTMLCollection children { owned get; }
		public abstract GXml.DomElement? first_element_child { owned get; }
		public abstract GXml.DomElement? last_element_child { owned get; }
	}
	[CCode (cheader_filename = "gxml/gxml.h")]
	public interface DomProcessingInstruction : GXml.DomCharacterData {
		public abstract string target { owned get; }
	}
	[CCode (cheader_filename = "gxml/gxml.h")]
	public interface DomRange : GLib.Object {
		public enum BoundaryPoints {
			START_TO_START,
			START_TO_END,
			END_TO_END,
			END_TO_START
		}
		public abstract GXml.DomDocumentFragment? clone_contents () throws GLib.Error;
		public abstract GXml.DomRange clone_range ();
		public abstract void collapse (bool to_start = false) throws GLib.Error;
		public abstract int compare_boundary_points (GXml.DomRange.BoundaryPoints how, GXml.DomRange sourceRange) throws GLib.Error;
		public abstract short compare_point (GXml.DomNode node, int offset);
		public abstract void delete_contents () throws GLib.Error;
		public abstract void detach ();
		public abstract GXml.DomDocumentFragment? extract_contents () throws GLib.Error;
		public abstract void insert_node (GXml.DomNode node);
		public abstract bool intersects_node (GXml.DomNode node);
		public abstract bool is_point_in_range (GXml.DomNode node, int offset);
		public abstract void select_node (GXml.DomNode node) throws GLib.Error;
		public abstract void select_node_contents (GXml.DomNode node) throws GLib.Error;
		public abstract void set_end (GXml.DomNode node, int offset) throws GLib.Error;
		public abstract void set_end_after (GXml.DomNode node) throws GLib.Error;
		public abstract void set_end_before (GXml.DomNode node) throws GLib.Error;
		public abstract void set_start (GXml.DomNode node, int offset) throws GLib.Error;
		public abstract void set_start_after (GXml.DomNode node) throws GLib.Error;
		public abstract void set_start_before (GXml.DomNode node) throws GLib.Error;
		public abstract void surround_contents (GXml.DomNode newParent);
		public abstract string to_string ();
		public abstract bool collapsed { get; }
		public abstract GXml.DomNode common_ancestor_container { get; }
		public abstract GXml.DomNode end_container { get; }
		public abstract int end_offset { get; }
		public abstract GXml.DomNode start_container { get; }
		public abstract int start_offset { get; }
	}
	[CCode (cheader_filename = "gxml/gxml.h")]
	public interface DomSettableTokenList : GLib.Object, GXml.DomTokenList {
		public abstract string value { owned get; set; }
	}
	[CCode (cheader_filename = "gxml/gxml.h")]
	public interface DomText : GXml.DomCharacterData {
		public virtual GXml.DomText split_text (int offset) throws GLib.Error;
		public virtual string whole_text { owned get; }
	}
	[CCode (cheader_filename = "gxml/gxml.h")]
	public interface DomTokenList : GLib.Object, Gee.BidirList<string> {
		public abstract void add (string[] tokens) throws GLib.Error;
		public abstract bool contains (string token) throws GLib.Error;
		public abstract string? item (int index);
		public abstract void remove (string[] tokens);
		public abstract string to_string ();
		public abstract bool toggle (string token, bool force = false, bool auto = true) throws GLib.Error;
		public abstract int length { get; }
	}
	[CCode (cheader_filename = "gxml/gxml.h")]
	public interface DomTreeWalker : GLib.Object {
		public abstract GXml.DomNode? first_child ();
		public abstract GXml.DomNode? last_child ();
		public abstract GXml.DomNode? next_node ();
		public abstract GXml.DomNode? next_sibling ();
		public abstract GXml.DomNode? parent_node ();
		public abstract GXml.DomNode? previous_node ();
		public abstract GXml.DomNode? previous_sibling ();
		public abstract GXml.DomNode current_node { get; }
		public abstract GXml.DomNode root { get; }
		public abstract int what_to_show { get; }
		public signal GXml.DomNodeFilter.Filter accept_node (GXml.DomNode node);
	}
	[CCode (cheader_filename = "gxml/gxml.h")]
	public interface DomXMLDocument : GLib.Object, GXml.DomDocument {
	}
	[CCode (cheader_filename = "gxml/gxml.h")]
	public interface IXsdAnnotation : GLib.Object {
	}
	[CCode (cheader_filename = "gxml/gxml.h")]
	public interface IXsdAttribute : GLib.Object {
		public const string SCHEMA_NODE_NAME;
	}
	[CCode (cheader_filename = "gxml/gxml.h")]
	public interface IXsdAttributeGroup : GLib.Object {
		public const string SCHEMA_NODE_NAME;
	}
	[CCode (cheader_filename = "gxml/gxml.h")]
	public interface IXsdBaseAttribute : GLib.Object {
		public abstract GXml.IXsdAnnotation anotation { get; set; }
	}
	[CCode (cheader_filename = "gxml/gxml.h")]
	public interface IXsdBaseContent : GLib.Object {
		public abstract GXml.IXsdAnnotation anotation { get; set; }
	}
	[CCode (cheader_filename = "gxml/gxml.h")]
	public interface IXsdBaseType : GLib.Object {
		public abstract GXml.IXsdAnnotation anotation { get; set; }
	}
	[CCode (cheader_filename = "gxml/gxml.h")]
	public interface IXsdComplexContent : GLib.Object, GXml.IXsdBaseContent {
		public const string SCHEMA_NODE_NAME;
	}
	[CCode (cheader_filename = "gxml/gxml.h")]
	public interface IXsdComplexType : GLib.Object, GXml.DomElement, GXml.IXsdBaseType {
		public const string SCHEMA_NODE_NAME;
		public abstract bool @abstract { get; set; }
		public abstract string block { get; set; }
		public abstract GXml.IXsdBaseContent content_type { get; set; }
		public abstract bool default_attributes_apply { get; set; }
		public abstract string final { get; set; }
		public abstract GXml.IXsdListAttributesGroup group_attributes { get; }
		public abstract bool mixed { get; set; }
		public abstract string name { get; set; }
		public abstract GXml.IXsdListAttributes type_attributes { get; }
	}
	[CCode (cheader_filename = "gxml/gxml.h")]
	public interface IXsdElement : GLib.Object, GXml.DomElement {
		public const string SCHEMA_NODE_NAME;
		public abstract bool @abstract { get; set; }
		public abstract GXml.IXsdAnnotation anotation { get; set; }
		public abstract string block { get; set; }
		public abstract GXml.IXsdComplexType complex_type { get; set; }
		public abstract string @default { get; set; }
		public abstract string final { get; set; }
		public abstract string fixed { get; set; }
		public abstract string form { get; set; }
		public abstract string? id { get; set; }
		public abstract string maxOccurs { get; set; }
		public abstract string minOccurs { get; set; }
		public abstract string name { get; set; }
		public abstract bool nillable { get; set; }
		public abstract string object_type { get; set; }
		public abstract string @ref { get; set; }
		public abstract GXml.IXsdSimpleType simple_type { get; set; }
		public abstract GXml.DomTokenList substitution_group { get; set; }
		public abstract string target_namespace { get; set; }
	}
	[CCode (cheader_filename = "gxml/gxml.h")]
	public interface IXsdExtension : GLib.Object, GXml.DomElement {
		public const string SCHEMA_NODE_NAME;
		public abstract string @base { get; set; }
	}
	[CCode (cheader_filename = "gxml/gxml.h")]
	public interface IXsdList : GLib.Object, GXml.Collection {
		public abstract void append (GXml.DomElement element);
		public abstract GXml.DomElement? get_item (int index);
		public abstract int index_of (GXml.DomElement element);
		public abstract void remove (int index);
		public abstract GXml.DomElement element { get; set construct; }
		public abstract GLib.Type items_name { get; set construct; }
		public abstract GLib.Type items_type { get; set construct; }
		public abstract int length { get; }
	}
	[CCode (cheader_filename = "gxml/gxml.h")]
	public interface IXsdListAttributes : GLib.Object, GXml.IXsdList {
	}
	[CCode (cheader_filename = "gxml/gxml.h")]
	public interface IXsdListAttributesGroup : GLib.Object, GXml.IXsdList {
	}
	[CCode (cheader_filename = "gxml/gxml.h")]
	public interface IXsdListComplexTypes : GLib.Object, GXml.IXsdList {
	}
	[CCode (cheader_filename = "gxml/gxml.h")]
	public interface IXsdListElements : GLib.Object, GXml.IXsdList {
	}
	[CCode (cheader_filename = "gxml/gxml.h")]
	public interface IXsdListSimpleTypes : GLib.Object, GXml.IXsdList {
	}
	[CCode (cheader_filename = "gxml/gxml.h")]
	public interface IXsdListTypeRestrictionEnumerations : GLib.Object, GXml.IXsdList {
	}
	[CCode (cheader_filename = "gxml/gxml.h")]
	public interface IXsdListTypeRestrictionWhiteSpaces : GLib.Object, GXml.IXsdList {
	}
	[CCode (cheader_filename = "gxml/gxml.h")]
	public interface IXsdOpenContent : GLib.Object, GXml.IXsdBaseContent {
	}
	[CCode (cheader_filename = "gxml/gxml.h")]
	public interface IXsdSchema : GLib.Object, GXml.DomElement {
		public const string SCHEMA_NAMESPACE_PREFIX;
		public const string SCHEMA_NAMESPACE_URI;
		public const string SCHEMA_NODE_NAME;
		public abstract GXml.IXsdListComplexTypes complex_type_definitions { get; set; }
		public abstract GXml.IXsdListElements element_definitions { get; set; }
		public abstract GXml.IXsdListSimpleTypes simple_type_definitions { get; set; }
	}
	[CCode (cheader_filename = "gxml/gxml.h")]
	public interface IXsdSimpleContent : GLib.Object, GXml.IXsdBaseContent {
		public const string SCHEMA_NODE_NAME;
	}
	[CCode (cheader_filename = "gxml/gxml.h")]
	public interface IXsdSimpleType : GLib.Object, GXml.DomElement, GXml.IXsdBaseType {
		public const string SCHEMA_NODE_NAME;
		public abstract GXml.IXsdAnnotation annotation { get; set; }
		public abstract string final { get; set; }
		public abstract string id { get; set; }
		public abstract GXml.IXsdTypeList list { get; set; }
		public abstract string name { get; set; }
		public abstract GXml.IXsdTypeRestriction restriction { get; set; }
		public abstract GXml.IXsdTypeUnion union { get; set; }
	}
	[CCode (cheader_filename = "gxml/gxml.h")]
	public interface IXsdTypeDef : GLib.Object {
	}
	[CCode (cheader_filename = "gxml/gxml.h")]
	public interface IXsdTypeList : GLib.Object, GXml.IXsdTypeDef {
	}
	[CCode (cheader_filename = "gxml/gxml.h")]
	public interface IXsdTypeRestriction : GLib.Object, GXml.IXsdTypeDef {
		public const string SCHEMA_NODE_NAME;
		public abstract string @base { get; set; }
		public abstract GXml.IXsdListTypeRestrictionEnumerations enumerations { get; set; }
		public abstract string id { get; set; }
		public abstract GXml.IXsdSimpleType simple_type { get; set; }
		public abstract GXml.IXsdListTypeRestrictionWhiteSpaces white_spaces { get; set; }
	}
	[CCode (cheader_filename = "gxml/gxml.h")]
	public interface IXsdTypeRestrictionAssertion : GLib.Object, GXml.IXsdTypeRestrictionDef {
	}
	[CCode (cheader_filename = "gxml/gxml.h")]
	public interface IXsdTypeRestrictionDef : GLib.Object {
		public abstract GXml.IXsdAnnotation annotation { get; set; }
	}
	[CCode (cheader_filename = "gxml/gxml.h")]
	public interface IXsdTypeRestrictionEnumeration : GLib.Object, GXml.IXsdTypeRestrictionDef {
		public const string SCHEMA_NODE_NAME;
		public abstract string id { get; set; }
		public abstract string value { get; set; }
	}
	[CCode (cheader_filename = "gxml/gxml.h")]
	public interface IXsdTypeRestrictionExplicitTimezone : GLib.Object, GXml.IXsdTypeRestrictionDef {
	}
	[CCode (cheader_filename = "gxml/gxml.h")]
	public interface IXsdTypeRestrictionFractionDigits : GLib.Object, GXml.IXsdTypeRestrictionDef {
	}
	[CCode (cheader_filename = "gxml/gxml.h")]
	public interface IXsdTypeRestrictionLength : GLib.Object, GXml.IXsdTypeRestrictionDef {
	}
	[CCode (cheader_filename = "gxml/gxml.h")]
	public interface IXsdTypeRestrictionMaxExclusive : GLib.Object, GXml.IXsdTypeRestrictionDef {
	}
	[CCode (cheader_filename = "gxml/gxml.h")]
	public interface IXsdTypeRestrictionMaxInclusive : GLib.Object, GXml.IXsdTypeRestrictionDef {
	}
	[CCode (cheader_filename = "gxml/gxml.h")]
	public interface IXsdTypeRestrictionMaxLength : GLib.Object, GXml.IXsdTypeRestrictionDef {
	}
	[CCode (cheader_filename = "gxml/gxml.h")]
	public interface IXsdTypeRestrictionMinExclusive : GLib.Object, GXml.IXsdTypeRestrictionDef {
	}
	[CCode (cheader_filename = "gxml/gxml.h")]
	public interface IXsdTypeRestrictionMinInclusive : GLib.Object, GXml.IXsdTypeRestrictionDef {
	}
	[CCode (cheader_filename = "gxml/gxml.h")]
	public interface IXsdTypeRestrictionMinLength : GLib.Object, GXml.IXsdTypeRestrictionDef {
	}
	[CCode (cheader_filename = "gxml/gxml.h")]
	public interface IXsdTypeRestrictionPattern : GLib.Object, GXml.IXsdTypeRestrictionDef {
	}
	[CCode (cheader_filename = "gxml/gxml.h")]
	public interface IXsdTypeRestrictionTotalDigits : GLib.Object, GXml.IXsdTypeRestrictionDef {
	}
	[CCode (cheader_filename = "gxml/gxml.h")]
	public interface IXsdTypeRestrictionWhiteSpace : GLib.Object, GXml.IXsdTypeRestrictionDef {
		public const string SCHEMA_NODE_NAME;
		public abstract bool fixed { get; set; }
		public abstract string id { get; set; }
		public abstract string value { get; set; }
	}
	[CCode (cheader_filename = "gxml/gxml.h")]
	public interface IXsdTypeUnion : GLib.Object, GXml.IXsdTypeDef {
	}
	[CCode (cheader_filename = "gxml/gxml.h")]
	public interface List : GLib.Object, GXml.Collection, Gee.Traversable<GXml.DomElement>, Gee.Iterable<GXml.DomElement> {
	}
	[CCode (cheader_filename = "gxml/gxml.h")]
	public interface Map : GLib.Object, GXml.Collection, Gee.Traversable<GXml.DomElement>, Gee.Iterable<GXml.DomElement> {
		public abstract bool has_key (string key);
		public abstract GXml.DomElement? item (string key);
		public abstract string attribute_key { get; set construct; }
		public abstract Gee.Set<string> keys_set { owned get; }
	}
	[CCode (cheader_filename = "gxml/gxml.h")]
	public interface MappeableElement : GLib.Object, GXml.DomElement {
		public abstract string get_map_key ();
	}
	[CCode (cheader_filename = "gxml/gxml.h")]
	public interface MappeableElementPairKey : GLib.Object, GXml.DomElement {
		public abstract string get_map_primary_key ();
		public abstract string get_map_secondary_key ();
	}
	[CCode (cheader_filename = "gxml/gxml.h")]
	public interface MappeableElementThreeKey : GLib.Object, GXml.DomElement {
		public abstract string get_map_pkey ();
		public abstract string get_map_skey ();
		public abstract string get_map_tkey ();
	}
	[CCode (cheader_filename = "gxml/gxml.h")]
	public interface Object : GLib.Object, GXml.DomNode, GXml.DomElement {
		public virtual void clean_property_elements (string name) throws GLib.Error;
		public virtual GXml.DomElementList find_elements (string name);
		public virtual GLib.ParamSpec? find_object_property_name (string pname);
		public virtual GXml.Property? find_property (string name);
		public virtual GLib.ParamSpec? find_property_name (string nick);
		public virtual string? get_attribute (string name);
		public virtual GXml.DomElement? get_child (string name);
		public virtual GLib.List<GLib.ParamSpec> get_properties_list ();
		public virtual GLib.List<GLib.ParamSpec> get_property_element_list ();
		public virtual string? get_property_string (GLib.ParamSpec prop);
		public virtual bool remove_attribute (string name);
		public virtual bool set_attribute (string name, string val);
		public virtual bool set_instance_property (string name);
	}
	[CCode (cheader_filename = "gxml/gxml.h")]
	public interface PairedMap : GLib.Object, GXml.Collection, Gee.Traversable<GXml.DomElement>, Gee.Iterable<GXml.DomElement> {
		public abstract bool has_primary_key (string key);
		public abstract bool has_secondary_key (string pkey, string key);
		public abstract GXml.DomElement? item (string primary_key, string secondary_key);
		public abstract Gee.Set<string> secondary_keys_set (string pkey);
		public abstract string attribute_primary_key { get; set construct; }
		public abstract string attribute_secondary_key { get; set construct; }
		public abstract Gee.Set<string> primary_keys_set { owned get; }
	}
	[CCode (cheader_filename = "gxml/gxml.h")]
	public interface Parser : GLib.Object {
		public virtual bool add_element_collection (GXml.DomNode parent, out GXml.DomNode element) throws GLib.Error;
		public abstract GXml.DomElement? create_element (GXml.DomNode parent) throws GLib.Error;
		public abstract GLib.InputStream create_stream () throws GLib.Error;
		public abstract async GLib.InputStream create_stream_async () throws GLib.Error;
		public abstract bool current_is_document ();
		public abstract bool current_is_element ();
		public abstract bool current_is_empty_element ();
		public abstract string current_node_name ();
		public abstract bool move_next_node () throws GLib.Error;
		public virtual bool read_child_element (GXml.DomNode parent) throws GLib.Error;
		public abstract bool read_child_node (GXml.DomNode parent) throws GLib.Error;
		public virtual void read_child_nodes (GXml.DomNode parent) throws GLib.Error;
		public virtual async void read_child_nodes_async (GXml.DomNode parent) throws GLib.Error;
		public abstract void read_child_nodes_stream (GLib.InputStream istream) throws GLib.Error;
		public virtual void read_child_nodes_string (string str) throws GLib.Error;
		public abstract void read_element (GXml.DomElement element) throws GLib.Error;
		public virtual bool read_element_property (GXml.DomNode parent, out GXml.DomNode element) throws GLib.Error;
		public virtual void read_file (GLib.File file) throws GLib.Error;
		public virtual async void read_file_async (GLib.File file) throws GLib.Error;
		public abstract void read_stream (GLib.InputStream stream) throws GLib.Error;
		public abstract async void read_stream_async (GLib.InputStream stream) throws GLib.Error;
		public abstract void read_string (string str) throws GLib.Error;
		public abstract async void read_string_async (string str) throws GLib.Error;
		public abstract string read_unparsed () throws GLib.Error;
		public virtual void write_file (GLib.File file) throws GLib.Error;
		public virtual async void write_file_async (GLib.File file) throws GLib.Error;
		public abstract void write_stream (GLib.OutputStream stream) throws GLib.Error;
		public abstract async void write_stream_async (GLib.OutputStream stream) throws GLib.Error;
		public abstract string write_string () throws GLib.Error;
		public abstract async string write_string_async () throws GLib.Error;
		public abstract bool backup { get; set; }
		public abstract GLib.Cancellable? cancellable { get; set; }
		public abstract bool indent { get; set; }
		public abstract GXml.DomNode node { get; }
		public abstract GLib.HashTable<GLib.Type,GLib.HashTable<string,GLib.Type>> types { get; }
	}
	[CCode (cheader_filename = "gxml/gxml.h")]
	public interface Property : GLib.Object {
		public abstract bool validate_value (string? val);
		public abstract string? value { owned get; set; }
	}
	[CCode (cheader_filename = "gxml/gxml.h")]
	public interface ThreeMap : GLib.Object, GXml.Collection, Gee.Traversable<GXml.DomElement>, Gee.Iterable<GXml.DomElement> {
		public abstract bool has_primary_key (string key);
		public abstract bool has_secondary_key (string pkey, string key);
		public abstract bool has_third_key (string pkey, string skey, string key);
		public abstract GXml.DomElement? item (string primary_key, string secondary_key, string third_key);
		public abstract Gee.Set<string> secondary_keys_set (string pkey);
		public abstract Gee.Set<string> third_keys_set (string pkey, string skey);
		public abstract string attribute_primary_key { get; set construct; }
		public abstract string attribute_secondary_key { get; set construct; }
		public abstract string attribute_third_key { get; set construct; }
		public abstract Gee.Set<string> primary_keys_set { owned get; }
	}
	[CCode (cheader_filename = "gxml/gxml.h")]
	public interface XPathContext : GLib.Object {
		public abstract GXml.XPathObject evaluate (string expression, Gee.Map<string,string>? resolver = null) throws GXml.XPathObjectError;
	}
	[CCode (cheader_filename = "gxml/gxml.h")]
	public interface XPathObject : GLib.Object {
		public abstract bool boolean_value { get; }
		public abstract GXml.DomHTMLCollection nodeset { get; }
		public abstract double number_value { get; }
		public abstract GXml.XPathObjectType object_type { get; }
		public abstract string string_value { get; }
	}
	[CCode (cheader_filename = "gxml/gxml.h")]
	public enum CssCombiner {
		NULL,
		NONE,
		INSIDE,
		AND,
		PARENT,
		AFTER,
		PRECEDED
	}
	[CCode (cheader_filename = "gxml/gxml.h")]
	public enum CssSelectorType {
		CLASS,
		ID,
		ALL,
		ELEMENT,
		ATTRIBUTE,
		ATTRIBUTE_EQUAL,
		ATTRIBUTE_CONTAINS,
		ATTRIBUTE_SUBSTRING,
		ATTRIBUTE_STARTS_WITH,
		ATTRIBUTE_STARTS_WITH_WORD,
		ATTRIBUTE_ENDS_WITH,
		PSEUDO_CLASS
	}
	[CCode (cheader_filename = "gxml/gxml.h")]
	public enum NodeType {
		INVALID,
		ELEMENT,
		ATTRIBUTE,
		TEXT,
		CDATA_SECTION,
		ENTITY_REFERENCE,
		ENTITY,
		PROCESSING_INSTRUCTION,
		COMMENT,
		DOCUMENT,
		DOCUMENT_TYPE,
		DOCUMENT_FRAGMENT,
		NOTATION
	}
	[CCode (cheader_filename = "gxml/gxml.h")]
	public enum XPathObjectType {
		UNDEFINED,
		NODESET,
		BOOLEAN,
		NUMBER,
		STRING,
		POINT,
		RANGE,
		LOCATIONSET,
		USERS,
		XSLT_TREE
	}
	[CCode (cheader_filename = "gxml/gxml.h")]
	public errordomain CssSelectorError {
		NULL,
		EOF,
		NOT,
		PSEUDO,
		ATTRIBUTE,
		IDENTIFIER,
		COMBINER
	}
	[CCode (cheader_filename = "gxml/gxml.h")]
	public errordomain DomDocumentError {
		FILE_NOT_FOUND_ERROR,
		INVALID_DOCUMENT_ERROR
	}
	[CCode (cheader_filename = "gxml/gxml.h")]
	public errordomain DomError {
		INDEX_SIZE_ERROR,
		DOMSTRING_SIZE_ERROR,
		HIERARCHY_REQUEST_ERROR,
		WRONG_DOCUMENT_ERROR,
		INVALID_CHARACTER_ERROR,
		NO_DATA_ALLOWED_ERROR,
		NO_MODIFICATION_ALLOWED_ERROR,
		NOT_FOUND_ERROR,
		NOT_SUPPORTED_ERROR,
		INUSE_ATTRIBUTE_ERROR,
		INVALID_STATE_ERROR,
		SYNTAX_ERROR,
		INVALID_MODIFICATION_ERROR,
		NAMESPACE_ERROR,
		INVALID_ACCESS_ERROR,
		VALIDATION_ERROR,
		TYPE_MISMATCH_ERROR,
		SECURITY_ERROR,
		NETWORK_ERROR,
		ABORT_ERROR,
		URL_MISMATCH_ERROR,
		QUOTA_EXCEEDED_ERROR,
		TIME_OUT_ERROR,
		INVALID_NODE_TYPE_ERROR,
		DATA_CLONE_ERROR
	}
	[CCode (cheader_filename = "gxml/gxml.h")]
	public errordomain EnumerationError {
		INVALID_VALUE,
		INVALID_TEXT
	}
	[CCode (cheader_filename = "gxml/gxml.h")]
	public errordomain Error {
		NOT_SUPPORTED,
		PARSER,
		WRITER
	}
	[CCode (cheader_filename = "gxml/gxml.h")]
	public errordomain IXsdSchemaError {
		INVALIDATION_ERROR
	}
	[CCode (cheader_filename = "gxml/gxml.h")]
	public errordomain ParserError {
		INVALID_DATA_ERROR,
		INVALID_FILE_ERROR,
		INVALID_STREAM_ERROR
	}
	[CCode (cheader_filename = "gxml/gxml.h")]
	public errordomain XPathError {
		EXPRESSION_OK,
		NUMBER_ERROR,
		UNFINISHED_LITERAL_ERROR,
		START_LITERAL_ERROR,
		VARIABLE_REF_ERROR,
		UNDEF_VARIABLE_ERROR,
		INVALID_PREDICATE_ERROR,
		EXPR_ERROR,
		UNCLOSED_ERROR,
		UNKNOWN_FUNC_ERROR,
		INVALID_OPERAND,
		INVALID_TYPE,
		INVALID_ARITY,
		INVALID_CTXT_SIZE,
		INVALID_CTXT_POSITION,
		MEMORY_ERROR,
		XPTR_SYNTAX_ERROR,
		XPTR_RESOURCE_ERROR,
		XPTR_SUB_RESOURCE_ERROR,
		UNDEF_PREFIX_ERROR,
		ENCODING_ERROR,
		INVALID_CHAR_ERROR,
		INVALID_CTXT
	}
	[CCode (cheader_filename = "gxml/gxml.h")]
	public errordomain XPathObjectError {
		INVALID_NAMESPACE_ERROR
	}
	[CCode (cheader_filename = "gxml/gxml.h")]
	public delegate void DomMutationCallback (Gee.List<GXml.DomMutationRecord> mutations, GXml.DomMutationObserver observer);
}
