/* GomSchema.c generated by valac 0.34.6, the Vala compiler
 * generated from GomSchema.vala, do not modify */

/* -*- Mode: vala; indent-tabs-mode: nil; c-basic-offset: 2; tab-width: 2 -*- */
/*
 *
 * Copyright (C) 2017  Daniel Espinosa <esodan@gmail.com>
 *
 * This library is free software; you can redistribute it and/or
 * modify it under the terms of the GNU Lesser General Public
 * License as published by the Free Software Foundation; either
 * version 2.1 of the License, or (at your option) any later version.

 * This library is distributed in the hope that it will be useful,
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
 * Lesser General Public License for more details.

 * You should have received a copy of the GNU Lesser General Public
 * License along with this library; if not, see <http://www.gnu.org/licenses/>.
 *
 * Authors:
 *      Daniel Espinosa <esodan@gmail.com>
 */

#include <glib.h>
#include <glib-object.h>
#include <stdlib.h>
#include <string.h>
#include <gee.h>
#include <gio/gio.h>
#include <glib/gi18n-lib.h>


#define GXML_TYPE_DOM_EVENT_TARGET (gxml_dom_event_target_get_type ())
#define GXML_DOM_EVENT_TARGET(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), GXML_TYPE_DOM_EVENT_TARGET, GXmlDomEventTarget))
#define GXML_IS_DOM_EVENT_TARGET(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GXML_TYPE_DOM_EVENT_TARGET))
#define GXML_DOM_EVENT_TARGET_GET_INTERFACE(obj) (G_TYPE_INSTANCE_GET_INTERFACE ((obj), GXML_TYPE_DOM_EVENT_TARGET, GXmlDomEventTargetIface))

typedef struct _GXmlDomEventTarget GXmlDomEventTarget;
typedef struct _GXmlDomEventTargetIface GXmlDomEventTargetIface;

#define GXML_TYPE_DOM_EVENT_LISTENER (gxml_dom_event_listener_get_type ())
#define GXML_DOM_EVENT_LISTENER(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), GXML_TYPE_DOM_EVENT_LISTENER, GXmlDomEventListener))
#define GXML_IS_DOM_EVENT_LISTENER(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GXML_TYPE_DOM_EVENT_LISTENER))
#define GXML_DOM_EVENT_LISTENER_GET_INTERFACE(obj) (G_TYPE_INSTANCE_GET_INTERFACE ((obj), GXML_TYPE_DOM_EVENT_LISTENER, GXmlDomEventListenerIface))

typedef struct _GXmlDomEventListener GXmlDomEventListener;
typedef struct _GXmlDomEventListenerIface GXmlDomEventListenerIface;

#define GXML_TYPE_DOM_EVENT (gxml_dom_event_get_type ())
#define GXML_DOM_EVENT(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), GXML_TYPE_DOM_EVENT, GXmlDomEvent))
#define GXML_IS_DOM_EVENT(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GXML_TYPE_DOM_EVENT))
#define GXML_DOM_EVENT_GET_INTERFACE(obj) (G_TYPE_INSTANCE_GET_INTERFACE ((obj), GXML_TYPE_DOM_EVENT, GXmlDomEventIface))

typedef struct _GXmlDomEvent GXmlDomEvent;
typedef struct _GXmlDomEventIface GXmlDomEventIface;

#define GXML_TYPE_DOM_TIME_STAMP (gxml_dom_time_stamp_get_type ())
#define GXML_DOM_TIME_STAMP(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), GXML_TYPE_DOM_TIME_STAMP, GXmlDomTimeStamp))
#define GXML_DOM_TIME_STAMP_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), GXML_TYPE_DOM_TIME_STAMP, GXmlDomTimeStampClass))
#define GXML_IS_DOM_TIME_STAMP(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GXML_TYPE_DOM_TIME_STAMP))
#define GXML_IS_DOM_TIME_STAMP_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), GXML_TYPE_DOM_TIME_STAMP))
#define GXML_DOM_TIME_STAMP_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), GXML_TYPE_DOM_TIME_STAMP, GXmlDomTimeStampClass))

typedef struct _GXmlDomTimeStamp GXmlDomTimeStamp;
typedef struct _GXmlDomTimeStampClass GXmlDomTimeStampClass;

#define GXML_DOM_EVENT_TYPE_PHASE (gxml_dom_event_phase_get_type ())

#define GXML_TYPE_DOM_NODE (gxml_dom_node_get_type ())
#define GXML_DOM_NODE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), GXML_TYPE_DOM_NODE, GXmlDomNode))
#define GXML_IS_DOM_NODE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GXML_TYPE_DOM_NODE))
#define GXML_DOM_NODE_GET_INTERFACE(obj) (G_TYPE_INSTANCE_GET_INTERFACE ((obj), GXML_TYPE_DOM_NODE, GXmlDomNodeIface))

typedef struct _GXmlDomNode GXmlDomNode;
typedef struct _GXmlDomNodeIface GXmlDomNodeIface;

#define GXML_DOM_NODE_TYPE_DOCUMENT_POSITION (gxml_dom_node_document_position_get_type ())

#define GXML_DOM_NODE_TYPE_NODE_TYPE (gxml_dom_node_node_type_get_type ())

#define GXML_TYPE_DOM_PARENT_NODE (gxml_dom_parent_node_get_type ())
#define GXML_DOM_PARENT_NODE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), GXML_TYPE_DOM_PARENT_NODE, GXmlDomParentNode))
#define GXML_IS_DOM_PARENT_NODE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GXML_TYPE_DOM_PARENT_NODE))
#define GXML_DOM_PARENT_NODE_GET_INTERFACE(obj) (G_TYPE_INSTANCE_GET_INTERFACE ((obj), GXML_TYPE_DOM_PARENT_NODE, GXmlDomParentNodeIface))

typedef struct _GXmlDomParentNode GXmlDomParentNode;
typedef struct _GXmlDomParentNodeIface GXmlDomParentNodeIface;

#define GXML_TYPE_DOM_CHILD_NODE (gxml_dom_child_node_get_type ())
#define GXML_DOM_CHILD_NODE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), GXML_TYPE_DOM_CHILD_NODE, GXmlDomChildNode))
#define GXML_IS_DOM_CHILD_NODE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GXML_TYPE_DOM_CHILD_NODE))
#define GXML_DOM_CHILD_NODE_GET_INTERFACE(obj) (G_TYPE_INSTANCE_GET_INTERFACE ((obj), GXML_TYPE_DOM_CHILD_NODE, GXmlDomChildNodeIface))

typedef struct _GXmlDomChildNode GXmlDomChildNode;
typedef struct _GXmlDomChildNodeIface GXmlDomChildNodeIface;

#define GXML_TYPE_DOM_NON_DOCUMENT_TYPE_CHILD_NODE (gxml_dom_non_document_type_child_node_get_type ())
#define GXML_DOM_NON_DOCUMENT_TYPE_CHILD_NODE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), GXML_TYPE_DOM_NON_DOCUMENT_TYPE_CHILD_NODE, GXmlDomNonDocumentTypeChildNode))
#define GXML_IS_DOM_NON_DOCUMENT_TYPE_CHILD_NODE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GXML_TYPE_DOM_NON_DOCUMENT_TYPE_CHILD_NODE))
#define GXML_DOM_NON_DOCUMENT_TYPE_CHILD_NODE_GET_INTERFACE(obj) (G_TYPE_INSTANCE_GET_INTERFACE ((obj), GXML_TYPE_DOM_NON_DOCUMENT_TYPE_CHILD_NODE, GXmlDomNonDocumentTypeChildNodeIface))

typedef struct _GXmlDomNonDocumentTypeChildNode GXmlDomNonDocumentTypeChildNode;
typedef struct _GXmlDomNonDocumentTypeChildNodeIface GXmlDomNonDocumentTypeChildNodeIface;

#define GXML_TYPE_DOM_ELEMENT (gxml_dom_element_get_type ())
#define GXML_DOM_ELEMENT(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), GXML_TYPE_DOM_ELEMENT, GXmlDomElement))
#define GXML_IS_DOM_ELEMENT(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GXML_TYPE_DOM_ELEMENT))
#define GXML_DOM_ELEMENT_GET_INTERFACE(obj) (G_TYPE_INSTANCE_GET_INTERFACE ((obj), GXML_TYPE_DOM_ELEMENT, GXmlDomElementIface))

typedef struct _GXmlDomElement GXmlDomElement;
typedef struct _GXmlDomElementIface GXmlDomElementIface;

#define GXML_TYPE_DOM_HTML_COLLECTION (gxml_dom_html_collection_get_type ())
#define GXML_DOM_HTML_COLLECTION(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), GXML_TYPE_DOM_HTML_COLLECTION, GXmlDomHTMLCollection))
#define GXML_IS_DOM_HTML_COLLECTION(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GXML_TYPE_DOM_HTML_COLLECTION))
#define GXML_DOM_HTML_COLLECTION_GET_INTERFACE(obj) (G_TYPE_INSTANCE_GET_INTERFACE ((obj), GXML_TYPE_DOM_HTML_COLLECTION, GXmlDomHTMLCollectionIface))

typedef struct _GXmlDomHTMLCollection GXmlDomHTMLCollection;
typedef struct _GXmlDomHTMLCollectionIface GXmlDomHTMLCollectionIface;

#define GXML_TYPE_DOM_TOKEN_LIST (gxml_dom_token_list_get_type ())
#define GXML_DOM_TOKEN_LIST(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), GXML_TYPE_DOM_TOKEN_LIST, GXmlDomTokenList))
#define GXML_IS_DOM_TOKEN_LIST(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GXML_TYPE_DOM_TOKEN_LIST))
#define GXML_DOM_TOKEN_LIST_GET_INTERFACE(obj) (G_TYPE_INSTANCE_GET_INTERFACE ((obj), GXML_TYPE_DOM_TOKEN_LIST, GXmlDomTokenListIface))

typedef struct _GXmlDomTokenList GXmlDomTokenList;
typedef struct _GXmlDomTokenListIface GXmlDomTokenListIface;

#define GXML_TYPE_DOM_NAMED_NODE_MAP (gxml_dom_named_node_map_get_type ())
#define GXML_DOM_NAMED_NODE_MAP(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), GXML_TYPE_DOM_NAMED_NODE_MAP, GXmlDomNamedNodeMap))
#define GXML_IS_DOM_NAMED_NODE_MAP(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GXML_TYPE_DOM_NAMED_NODE_MAP))
#define GXML_DOM_NAMED_NODE_MAP_GET_INTERFACE(obj) (G_TYPE_INSTANCE_GET_INTERFACE ((obj), GXML_TYPE_DOM_NAMED_NODE_MAP, GXmlDomNamedNodeMapIface))

typedef struct _GXmlDomNamedNodeMap GXmlDomNamedNodeMap;
typedef struct _GXmlDomNamedNodeMapIface GXmlDomNamedNodeMapIface;

#define GXML_TYPE_DOM_NODE_LIST (gxml_dom_node_list_get_type ())
#define GXML_DOM_NODE_LIST(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), GXML_TYPE_DOM_NODE_LIST, GXmlDomNodeList))
#define GXML_IS_DOM_NODE_LIST(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GXML_TYPE_DOM_NODE_LIST))
#define GXML_DOM_NODE_LIST_GET_INTERFACE(obj) (G_TYPE_INSTANCE_GET_INTERFACE ((obj), GXML_TYPE_DOM_NODE_LIST, GXmlDomNodeListIface))

typedef struct _GXmlDomNodeList GXmlDomNodeList;
typedef struct _GXmlDomNodeListIface GXmlDomNodeListIface;

#define GXML_TYPE_DOM_ELEMENT_LIST (gxml_dom_element_list_get_type ())
#define GXML_DOM_ELEMENT_LIST(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), GXML_TYPE_DOM_ELEMENT_LIST, GXmlDomElementList))
#define GXML_DOM_ELEMENT_LIST_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), GXML_TYPE_DOM_ELEMENT_LIST, GXmlDomElementListClass))
#define GXML_IS_DOM_ELEMENT_LIST(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GXML_TYPE_DOM_ELEMENT_LIST))
#define GXML_IS_DOM_ELEMENT_LIST_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), GXML_TYPE_DOM_ELEMENT_LIST))
#define GXML_DOM_ELEMENT_LIST_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), GXML_TYPE_DOM_ELEMENT_LIST, GXmlDomElementListClass))

typedef struct _GXmlDomElementList GXmlDomElementList;
typedef struct _GXmlDomElementListClass GXmlDomElementListClass;

#define GXML_TYPE_DOM_NON_ELEMENT_PARENT_NODE (gxml_dom_non_element_parent_node_get_type ())
#define GXML_DOM_NON_ELEMENT_PARENT_NODE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), GXML_TYPE_DOM_NON_ELEMENT_PARENT_NODE, GXmlDomNonElementParentNode))
#define GXML_IS_DOM_NON_ELEMENT_PARENT_NODE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GXML_TYPE_DOM_NON_ELEMENT_PARENT_NODE))
#define GXML_DOM_NON_ELEMENT_PARENT_NODE_GET_INTERFACE(obj) (G_TYPE_INSTANCE_GET_INTERFACE ((obj), GXML_TYPE_DOM_NON_ELEMENT_PARENT_NODE, GXmlDomNonElementParentNodeIface))

typedef struct _GXmlDomNonElementParentNode GXmlDomNonElementParentNode;
typedef struct _GXmlDomNonElementParentNodeIface GXmlDomNonElementParentNodeIface;

#define GXML_TYPE_DOM_DOCUMENT (gxml_dom_document_get_type ())
#define GXML_DOM_DOCUMENT(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), GXML_TYPE_DOM_DOCUMENT, GXmlDomDocument))
#define GXML_IS_DOM_DOCUMENT(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GXML_TYPE_DOM_DOCUMENT))
#define GXML_DOM_DOCUMENT_GET_INTERFACE(obj) (G_TYPE_INSTANCE_GET_INTERFACE ((obj), GXML_TYPE_DOM_DOCUMENT, GXmlDomDocumentIface))

typedef struct _GXmlDomDocument GXmlDomDocument;
typedef struct _GXmlDomDocumentIface GXmlDomDocumentIface;

#define GXML_TYPE_DOM_DOCUMENT_FRAGMENT (gxml_dom_document_fragment_get_type ())
#define GXML_DOM_DOCUMENT_FRAGMENT(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), GXML_TYPE_DOM_DOCUMENT_FRAGMENT, GXmlDomDocumentFragment))
#define GXML_IS_DOM_DOCUMENT_FRAGMENT(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GXML_TYPE_DOM_DOCUMENT_FRAGMENT))
#define GXML_DOM_DOCUMENT_FRAGMENT_GET_INTERFACE(obj) (G_TYPE_INSTANCE_GET_INTERFACE ((obj), GXML_TYPE_DOM_DOCUMENT_FRAGMENT, GXmlDomDocumentFragmentIface))

typedef struct _GXmlDomDocumentFragment GXmlDomDocumentFragment;
typedef struct _GXmlDomDocumentFragmentIface GXmlDomDocumentFragmentIface;

#define GXML_TYPE_DOM_CHARACTER_DATA (gxml_dom_character_data_get_type ())
#define GXML_DOM_CHARACTER_DATA(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), GXML_TYPE_DOM_CHARACTER_DATA, GXmlDomCharacterData))
#define GXML_IS_DOM_CHARACTER_DATA(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GXML_TYPE_DOM_CHARACTER_DATA))
#define GXML_DOM_CHARACTER_DATA_GET_INTERFACE(obj) (G_TYPE_INSTANCE_GET_INTERFACE ((obj), GXML_TYPE_DOM_CHARACTER_DATA, GXmlDomCharacterDataIface))

typedef struct _GXmlDomCharacterData GXmlDomCharacterData;
typedef struct _GXmlDomCharacterDataIface GXmlDomCharacterDataIface;

#define GXML_TYPE_DOM_TEXT (gxml_dom_text_get_type ())
#define GXML_DOM_TEXT(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), GXML_TYPE_DOM_TEXT, GXmlDomText))
#define GXML_IS_DOM_TEXT(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GXML_TYPE_DOM_TEXT))
#define GXML_DOM_TEXT_GET_INTERFACE(obj) (G_TYPE_INSTANCE_GET_INTERFACE ((obj), GXML_TYPE_DOM_TEXT, GXmlDomTextIface))

typedef struct _GXmlDomText GXmlDomText;
typedef struct _GXmlDomTextIface GXmlDomTextIface;

#define GXML_TYPE_DOM_COMMENT (gxml_dom_comment_get_type ())
#define GXML_DOM_COMMENT(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), GXML_TYPE_DOM_COMMENT, GXmlDomComment))
#define GXML_IS_DOM_COMMENT(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GXML_TYPE_DOM_COMMENT))
#define GXML_DOM_COMMENT_GET_INTERFACE(obj) (G_TYPE_INSTANCE_GET_INTERFACE ((obj), GXML_TYPE_DOM_COMMENT, GXmlDomCommentIface))

typedef struct _GXmlDomComment GXmlDomComment;
typedef struct _GXmlDomCommentIface GXmlDomCommentIface;

#define GXML_TYPE_DOM_PROCESSING_INSTRUCTION (gxml_dom_processing_instruction_get_type ())
#define GXML_DOM_PROCESSING_INSTRUCTION(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), GXML_TYPE_DOM_PROCESSING_INSTRUCTION, GXmlDomProcessingInstruction))
#define GXML_IS_DOM_PROCESSING_INSTRUCTION(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GXML_TYPE_DOM_PROCESSING_INSTRUCTION))
#define GXML_DOM_PROCESSING_INSTRUCTION_GET_INTERFACE(obj) (G_TYPE_INSTANCE_GET_INTERFACE ((obj), GXML_TYPE_DOM_PROCESSING_INSTRUCTION, GXmlDomProcessingInstructionIface))

typedef struct _GXmlDomProcessingInstruction GXmlDomProcessingInstruction;
typedef struct _GXmlDomProcessingInstructionIface GXmlDomProcessingInstructionIface;

#define GXML_TYPE_DOM_RANGE (gxml_dom_range_get_type ())
#define GXML_DOM_RANGE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), GXML_TYPE_DOM_RANGE, GXmlDomRange))
#define GXML_IS_DOM_RANGE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GXML_TYPE_DOM_RANGE))
#define GXML_DOM_RANGE_GET_INTERFACE(obj) (G_TYPE_INSTANCE_GET_INTERFACE ((obj), GXML_TYPE_DOM_RANGE, GXmlDomRangeIface))

typedef struct _GXmlDomRange GXmlDomRange;
typedef struct _GXmlDomRangeIface GXmlDomRangeIface;

#define GXML_DOM_RANGE_TYPE_BOUNDARY_POINTS (gxml_dom_range_boundary_points_get_type ())

#define GXML_TYPE_DOM_NODE_FILTER (gxml_dom_node_filter_get_type ())
#define GXML_DOM_NODE_FILTER(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), GXML_TYPE_DOM_NODE_FILTER, GXmlDomNodeFilter))
#define GXML_DOM_NODE_FILTER_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), GXML_TYPE_DOM_NODE_FILTER, GXmlDomNodeFilterClass))
#define GXML_IS_DOM_NODE_FILTER(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GXML_TYPE_DOM_NODE_FILTER))
#define GXML_IS_DOM_NODE_FILTER_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), GXML_TYPE_DOM_NODE_FILTER))
#define GXML_DOM_NODE_FILTER_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), GXML_TYPE_DOM_NODE_FILTER, GXmlDomNodeFilterClass))

typedef struct _GXmlDomNodeFilter GXmlDomNodeFilter;
typedef struct _GXmlDomNodeFilterClass GXmlDomNodeFilterClass;

#define GXML_TYPE_DOM_NODE_ITERATOR (gxml_dom_node_iterator_get_type ())
#define GXML_DOM_NODE_ITERATOR(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), GXML_TYPE_DOM_NODE_ITERATOR, GXmlDomNodeIterator))
#define GXML_IS_DOM_NODE_ITERATOR(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GXML_TYPE_DOM_NODE_ITERATOR))
#define GXML_DOM_NODE_ITERATOR_GET_INTERFACE(obj) (G_TYPE_INSTANCE_GET_INTERFACE ((obj), GXML_TYPE_DOM_NODE_ITERATOR, GXmlDomNodeIteratorIface))

typedef struct _GXmlDomNodeIterator GXmlDomNodeIterator;
typedef struct _GXmlDomNodeIteratorIface GXmlDomNodeIteratorIface;

#define GXML_TYPE_DOM_TREE_WALKER (gxml_dom_tree_walker_get_type ())
#define GXML_DOM_TREE_WALKER(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), GXML_TYPE_DOM_TREE_WALKER, GXmlDomTreeWalker))
#define GXML_IS_DOM_TREE_WALKER(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GXML_TYPE_DOM_TREE_WALKER))
#define GXML_DOM_TREE_WALKER_GET_INTERFACE(obj) (G_TYPE_INSTANCE_GET_INTERFACE ((obj), GXML_TYPE_DOM_TREE_WALKER, GXmlDomTreeWalkerIface))

typedef struct _GXmlDomTreeWalker GXmlDomTreeWalker;
typedef struct _GXmlDomTreeWalkerIface GXmlDomTreeWalkerIface;

#define GXML_TYPE_DOM_IMPLEMENTATION (gxml_dom_implementation_get_type ())
#define GXML_DOM_IMPLEMENTATION(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), GXML_TYPE_DOM_IMPLEMENTATION, GXmlDomImplementation))
#define GXML_IS_DOM_IMPLEMENTATION(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GXML_TYPE_DOM_IMPLEMENTATION))
#define GXML_DOM_IMPLEMENTATION_GET_INTERFACE(obj) (G_TYPE_INSTANCE_GET_INTERFACE ((obj), GXML_TYPE_DOM_IMPLEMENTATION, GXmlDomImplementationIface))

typedef struct _GXmlDomImplementation GXmlDomImplementation;
typedef struct _GXmlDomImplementationIface GXmlDomImplementationIface;

#define GXML_TYPE_DOM_DOCUMENT_TYPE (gxml_dom_document_type_get_type ())
#define GXML_DOM_DOCUMENT_TYPE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), GXML_TYPE_DOM_DOCUMENT_TYPE, GXmlDomDocumentType))
#define GXML_IS_DOM_DOCUMENT_TYPE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GXML_TYPE_DOM_DOCUMENT_TYPE))
#define GXML_DOM_DOCUMENT_TYPE_GET_INTERFACE(obj) (G_TYPE_INSTANCE_GET_INTERFACE ((obj), GXML_TYPE_DOM_DOCUMENT_TYPE, GXmlDomDocumentTypeIface))

typedef struct _GXmlDomDocumentType GXmlDomDocumentType;
typedef struct _GXmlDomDocumentTypeIface GXmlDomDocumentTypeIface;

#define GXML_TYPE_DOM_XML_DOCUMENT (gxml_dom_xml_document_get_type ())
#define GXML_DOM_XML_DOCUMENT(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), GXML_TYPE_DOM_XML_DOCUMENT, GXmlDomXMLDocument))
#define GXML_IS_DOM_XML_DOCUMENT(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GXML_TYPE_DOM_XML_DOCUMENT))
#define GXML_DOM_XML_DOCUMENT_GET_INTERFACE(obj) (G_TYPE_INSTANCE_GET_INTERFACE ((obj), GXML_TYPE_DOM_XML_DOCUMENT, GXmlDomXMLDocumentIface))

typedef struct _GXmlDomXMLDocument GXmlDomXMLDocument;
typedef struct _GXmlDomXMLDocumentIface GXmlDomXMLDocumentIface;

#define GXML_TYPE_NODE (gxml_node_get_type ())
#define GXML_NODE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), GXML_TYPE_NODE, GXmlNode))
#define GXML_IS_NODE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GXML_TYPE_NODE))
#define GXML_NODE_GET_INTERFACE(obj) (G_TYPE_INSTANCE_GET_INTERFACE ((obj), GXML_TYPE_NODE, GXmlNodeIface))

typedef struct _GXmlNode GXmlNode;
typedef struct _GXmlNodeIface GXmlNodeIface;

#define GXML_TYPE_ELEMENT_LIST (gxml_element_list_get_type ())
#define GXML_ELEMENT_LIST(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), GXML_TYPE_ELEMENT_LIST, GXmlElementList))
#define GXML_ELEMENT_LIST_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), GXML_TYPE_ELEMENT_LIST, GXmlElementListClass))
#define GXML_IS_ELEMENT_LIST(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GXML_TYPE_ELEMENT_LIST))
#define GXML_IS_ELEMENT_LIST_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), GXML_TYPE_ELEMENT_LIST))
#define GXML_ELEMENT_LIST_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), GXML_TYPE_ELEMENT_LIST, GXmlElementListClass))

typedef struct _GXmlElementList GXmlElementList;
typedef struct _GXmlElementListClass GXmlElementListClass;

#define GXML_TYPE_NAMESPACE (gxml_namespace_get_type ())
#define GXML_NAMESPACE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), GXML_TYPE_NAMESPACE, GXmlNamespace))
#define GXML_IS_NAMESPACE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GXML_TYPE_NAMESPACE))
#define GXML_NAMESPACE_GET_INTERFACE(obj) (G_TYPE_INSTANCE_GET_INTERFACE ((obj), GXML_TYPE_NAMESPACE, GXmlNamespaceIface))

typedef struct _GXmlNamespace GXmlNamespace;
typedef struct _GXmlNamespaceIface GXmlNamespaceIface;

#define GXML_TYPE_NODE_TYPE (gxml_node_type_get_type ())

#define GXML_TYPE_DOCUMENT (gxml_document_get_type ())
#define GXML_DOCUMENT(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), GXML_TYPE_DOCUMENT, GXmlDocument))
#define GXML_IS_DOCUMENT(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GXML_TYPE_DOCUMENT))
#define GXML_DOCUMENT_GET_INTERFACE(obj) (G_TYPE_INSTANCE_GET_INTERFACE ((obj), GXML_TYPE_DOCUMENT, GXmlDocumentIface))

typedef struct _GXmlDocument GXmlDocument;
typedef struct _GXmlDocumentIface GXmlDocumentIface;

#define GXML_TYPE_GOM_NODE (gxml_gom_node_get_type ())
#define GXML_GOM_NODE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), GXML_TYPE_GOM_NODE, GXmlGomNode))
#define GXML_GOM_NODE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), GXML_TYPE_GOM_NODE, GXmlGomNodeClass))
#define GXML_IS_GOM_NODE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GXML_TYPE_GOM_NODE))
#define GXML_IS_GOM_NODE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), GXML_TYPE_GOM_NODE))
#define GXML_GOM_NODE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), GXML_TYPE_GOM_NODE, GXmlGomNodeClass))

typedef struct _GXmlGomNode GXmlGomNode;
typedef struct _GXmlGomNodeClass GXmlGomNodeClass;
typedef struct _GXmlGomNodePrivate GXmlGomNodePrivate;

#define GXML_TYPE_GOM_NODE_LIST (gxml_gom_node_list_get_type ())
#define GXML_GOM_NODE_LIST(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), GXML_TYPE_GOM_NODE_LIST, GXmlGomNodeList))
#define GXML_GOM_NODE_LIST_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), GXML_TYPE_GOM_NODE_LIST, GXmlGomNodeListClass))
#define GXML_IS_GOM_NODE_LIST(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GXML_TYPE_GOM_NODE_LIST))
#define GXML_IS_GOM_NODE_LIST_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), GXML_TYPE_GOM_NODE_LIST))
#define GXML_GOM_NODE_LIST_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), GXML_TYPE_GOM_NODE_LIST, GXmlGomNodeListClass))

typedef struct _GXmlGomNodeList GXmlGomNodeList;
typedef struct _GXmlGomNodeListClass GXmlGomNodeListClass;

#define GXML_TYPE_GOM_OBJECT (gxml_gom_object_get_type ())
#define GXML_GOM_OBJECT(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), GXML_TYPE_GOM_OBJECT, GXmlGomObject))
#define GXML_IS_GOM_OBJECT(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GXML_TYPE_GOM_OBJECT))
#define GXML_GOM_OBJECT_GET_INTERFACE(obj) (G_TYPE_INSTANCE_GET_INTERFACE ((obj), GXML_TYPE_GOM_OBJECT, GXmlGomObjectIface))

typedef struct _GXmlGomObject GXmlGomObject;
typedef struct _GXmlGomObjectIface GXmlGomObjectIface;

#define GXML_TYPE_GOM_ELEMENT (gxml_gom_element_get_type ())
#define GXML_GOM_ELEMENT(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), GXML_TYPE_GOM_ELEMENT, GXmlGomElement))
#define GXML_GOM_ELEMENT_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), GXML_TYPE_GOM_ELEMENT, GXmlGomElementClass))
#define GXML_IS_GOM_ELEMENT(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GXML_TYPE_GOM_ELEMENT))
#define GXML_IS_GOM_ELEMENT_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), GXML_TYPE_GOM_ELEMENT))
#define GXML_GOM_ELEMENT_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), GXML_TYPE_GOM_ELEMENT, GXmlGomElementClass))

typedef struct _GXmlGomElement GXmlGomElement;
typedef struct _GXmlGomElementClass GXmlGomElementClass;
typedef struct _GXmlGomElementPrivate GXmlGomElementPrivate;

#define GXML_GOM_ELEMENT_TYPE_ATTRIBUTES (gxml_gom_element_attributes_get_type ())
#define GXML_GOM_ELEMENT_ATTRIBUTES(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), GXML_GOM_ELEMENT_TYPE_ATTRIBUTES, GXmlGomElementAttributes))
#define GXML_GOM_ELEMENT_ATTRIBUTES_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), GXML_GOM_ELEMENT_TYPE_ATTRIBUTES, GXmlGomElementAttributesClass))
#define GXML_GOM_ELEMENT_IS_ATTRIBUTES(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GXML_GOM_ELEMENT_TYPE_ATTRIBUTES))
#define GXML_GOM_ELEMENT_IS_ATTRIBUTES_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), GXML_GOM_ELEMENT_TYPE_ATTRIBUTES))
#define GXML_GOM_ELEMENT_ATTRIBUTES_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), GXML_GOM_ELEMENT_TYPE_ATTRIBUTES, GXmlGomElementAttributesClass))

typedef struct _GXmlGomElementAttributes GXmlGomElementAttributes;
typedef struct _GXmlGomElementAttributesClass GXmlGomElementAttributesClass;

#define GXML_TYPE_GOM_XSD_SCHEMA (gxml_gom_xsd_schema_get_type ())
#define GXML_GOM_XSD_SCHEMA(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), GXML_TYPE_GOM_XSD_SCHEMA, GXmlGomXsdSchema))
#define GXML_GOM_XSD_SCHEMA_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), GXML_TYPE_GOM_XSD_SCHEMA, GXmlGomXsdSchemaClass))
#define GXML_IS_GOM_XSD_SCHEMA(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GXML_TYPE_GOM_XSD_SCHEMA))
#define GXML_IS_GOM_XSD_SCHEMA_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), GXML_TYPE_GOM_XSD_SCHEMA))
#define GXML_GOM_XSD_SCHEMA_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), GXML_TYPE_GOM_XSD_SCHEMA, GXmlGomXsdSchemaClass))

typedef struct _GXmlGomXsdSchema GXmlGomXsdSchema;
typedef struct _GXmlGomXsdSchemaClass GXmlGomXsdSchemaClass;
typedef struct _GXmlGomXsdSchemaPrivate GXmlGomXsdSchemaPrivate;

#define GXML_TYPE_BASE_COLLECTION (gxml_base_collection_get_type ())
#define GXML_BASE_COLLECTION(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), GXML_TYPE_BASE_COLLECTION, GXmlBaseCollection))
#define GXML_BASE_COLLECTION_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), GXML_TYPE_BASE_COLLECTION, GXmlBaseCollectionClass))
#define GXML_IS_BASE_COLLECTION(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GXML_TYPE_BASE_COLLECTION))
#define GXML_IS_BASE_COLLECTION_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), GXML_TYPE_BASE_COLLECTION))
#define GXML_BASE_COLLECTION_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), GXML_TYPE_BASE_COLLECTION, GXmlBaseCollectionClass))

typedef struct _GXmlBaseCollection GXmlBaseCollection;
typedef struct _GXmlBaseCollectionClass GXmlBaseCollectionClass;

#define GXML_TYPE_GOM_ARRAY_LIST (gxml_gom_array_list_get_type ())
#define GXML_GOM_ARRAY_LIST(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), GXML_TYPE_GOM_ARRAY_LIST, GXmlGomArrayList))
#define GXML_GOM_ARRAY_LIST_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), GXML_TYPE_GOM_ARRAY_LIST, GXmlGomArrayListClass))
#define GXML_IS_GOM_ARRAY_LIST(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GXML_TYPE_GOM_ARRAY_LIST))
#define GXML_IS_GOM_ARRAY_LIST_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), GXML_TYPE_GOM_ARRAY_LIST))
#define GXML_GOM_ARRAY_LIST_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), GXML_TYPE_GOM_ARRAY_LIST, GXmlGomArrayListClass))

typedef struct _GXmlGomArrayList GXmlGomArrayList;
typedef struct _GXmlGomArrayListClass GXmlGomArrayListClass;

#define GXML_TYPE_GOM_XSD_LIST (gxml_gom_xsd_list_get_type ())
#define GXML_GOM_XSD_LIST(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), GXML_TYPE_GOM_XSD_LIST, GXmlGomXsdList))
#define GXML_GOM_XSD_LIST_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), GXML_TYPE_GOM_XSD_LIST, GXmlGomXsdListClass))
#define GXML_IS_GOM_XSD_LIST(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GXML_TYPE_GOM_XSD_LIST))
#define GXML_IS_GOM_XSD_LIST_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), GXML_TYPE_GOM_XSD_LIST))
#define GXML_GOM_XSD_LIST_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), GXML_TYPE_GOM_XSD_LIST, GXmlGomXsdListClass))

typedef struct _GXmlGomXsdList GXmlGomXsdList;
typedef struct _GXmlGomXsdListClass GXmlGomXsdListClass;

#define GXML_TYPE_GOM_XSD_LIST_ELEMENTS (gxml_gom_xsd_list_elements_get_type ())
#define GXML_GOM_XSD_LIST_ELEMENTS(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), GXML_TYPE_GOM_XSD_LIST_ELEMENTS, GXmlGomXsdListElements))
#define GXML_GOM_XSD_LIST_ELEMENTS_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), GXML_TYPE_GOM_XSD_LIST_ELEMENTS, GXmlGomXsdListElementsClass))
#define GXML_IS_GOM_XSD_LIST_ELEMENTS(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GXML_TYPE_GOM_XSD_LIST_ELEMENTS))
#define GXML_IS_GOM_XSD_LIST_ELEMENTS_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), GXML_TYPE_GOM_XSD_LIST_ELEMENTS))
#define GXML_GOM_XSD_LIST_ELEMENTS_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), GXML_TYPE_GOM_XSD_LIST_ELEMENTS, GXmlGomXsdListElementsClass))

typedef struct _GXmlGomXsdListElements GXmlGomXsdListElements;
typedef struct _GXmlGomXsdListElementsClass GXmlGomXsdListElementsClass;

#define GXML_TYPE_GOM_XSD_LIST_SIMPLE_TYPES (gxml_gom_xsd_list_simple_types_get_type ())
#define GXML_GOM_XSD_LIST_SIMPLE_TYPES(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), GXML_TYPE_GOM_XSD_LIST_SIMPLE_TYPES, GXmlGomXsdListSimpleTypes))
#define GXML_GOM_XSD_LIST_SIMPLE_TYPES_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), GXML_TYPE_GOM_XSD_LIST_SIMPLE_TYPES, GXmlGomXsdListSimpleTypesClass))
#define GXML_IS_GOM_XSD_LIST_SIMPLE_TYPES(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GXML_TYPE_GOM_XSD_LIST_SIMPLE_TYPES))
#define GXML_IS_GOM_XSD_LIST_SIMPLE_TYPES_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), GXML_TYPE_GOM_XSD_LIST_SIMPLE_TYPES))
#define GXML_GOM_XSD_LIST_SIMPLE_TYPES_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), GXML_TYPE_GOM_XSD_LIST_SIMPLE_TYPES, GXmlGomXsdListSimpleTypesClass))

typedef struct _GXmlGomXsdListSimpleTypes GXmlGomXsdListSimpleTypes;
typedef struct _GXmlGomXsdListSimpleTypesClass GXmlGomXsdListSimpleTypesClass;

#define GXML_TYPE_GOM_XSD_LIST_COMPLEX_TYPES (gxml_gom_xsd_list_complex_types_get_type ())
#define GXML_GOM_XSD_LIST_COMPLEX_TYPES(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), GXML_TYPE_GOM_XSD_LIST_COMPLEX_TYPES, GXmlGomXsdListComplexTypes))
#define GXML_GOM_XSD_LIST_COMPLEX_TYPES_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), GXML_TYPE_GOM_XSD_LIST_COMPLEX_TYPES, GXmlGomXsdListComplexTypesClass))
#define GXML_IS_GOM_XSD_LIST_COMPLEX_TYPES(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GXML_TYPE_GOM_XSD_LIST_COMPLEX_TYPES))
#define GXML_IS_GOM_XSD_LIST_COMPLEX_TYPES_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), GXML_TYPE_GOM_XSD_LIST_COMPLEX_TYPES))
#define GXML_GOM_XSD_LIST_COMPLEX_TYPES_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), GXML_TYPE_GOM_XSD_LIST_COMPLEX_TYPES, GXmlGomXsdListComplexTypesClass))

typedef struct _GXmlGomXsdListComplexTypes GXmlGomXsdListComplexTypes;
typedef struct _GXmlGomXsdListComplexTypesClass GXmlGomXsdListComplexTypesClass;
#define _g_object_unref0(var) ((var == NULL) ? NULL : (var = (g_object_unref (var), NULL)))

#define GXML_TYPE_GOM_XSD_SIMPLE_TYPE (gxml_gom_xsd_simple_type_get_type ())
#define GXML_GOM_XSD_SIMPLE_TYPE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), GXML_TYPE_GOM_XSD_SIMPLE_TYPE, GXmlGomXsdSimpleType))
#define GXML_GOM_XSD_SIMPLE_TYPE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), GXML_TYPE_GOM_XSD_SIMPLE_TYPE, GXmlGomXsdSimpleTypeClass))
#define GXML_IS_GOM_XSD_SIMPLE_TYPE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GXML_TYPE_GOM_XSD_SIMPLE_TYPE))
#define GXML_IS_GOM_XSD_SIMPLE_TYPE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), GXML_TYPE_GOM_XSD_SIMPLE_TYPE))
#define GXML_GOM_XSD_SIMPLE_TYPE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), GXML_TYPE_GOM_XSD_SIMPLE_TYPE, GXmlGomXsdSimpleTypeClass))

typedef struct _GXmlGomXsdSimpleType GXmlGomXsdSimpleType;
typedef struct _GXmlGomXsdSimpleTypeClass GXmlGomXsdSimpleTypeClass;
typedef struct _GXmlGomXsdSimpleTypePrivate GXmlGomXsdSimpleTypePrivate;

#define GXML_TYPE_GOM_XSD_ANNOTATION (gxml_gom_xsd_annotation_get_type ())
#define GXML_GOM_XSD_ANNOTATION(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), GXML_TYPE_GOM_XSD_ANNOTATION, GXmlGomXsdAnnotation))
#define GXML_GOM_XSD_ANNOTATION_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), GXML_TYPE_GOM_XSD_ANNOTATION, GXmlGomXsdAnnotationClass))
#define GXML_IS_GOM_XSD_ANNOTATION(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GXML_TYPE_GOM_XSD_ANNOTATION))
#define GXML_IS_GOM_XSD_ANNOTATION_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), GXML_TYPE_GOM_XSD_ANNOTATION))
#define GXML_GOM_XSD_ANNOTATION_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), GXML_TYPE_GOM_XSD_ANNOTATION, GXmlGomXsdAnnotationClass))

typedef struct _GXmlGomXsdAnnotation GXmlGomXsdAnnotation;
typedef struct _GXmlGomXsdAnnotationClass GXmlGomXsdAnnotationClass;

#define GXML_TYPE_GOM_XSD_TYPE_DEFINITION (gxml_gom_xsd_type_definition_get_type ())
#define GXML_GOM_XSD_TYPE_DEFINITION(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), GXML_TYPE_GOM_XSD_TYPE_DEFINITION, GXmlGomXsdTypeDefinition))
#define GXML_GOM_XSD_TYPE_DEFINITION_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), GXML_TYPE_GOM_XSD_TYPE_DEFINITION, GXmlGomXsdTypeDefinitionClass))
#define GXML_IS_GOM_XSD_TYPE_DEFINITION(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GXML_TYPE_GOM_XSD_TYPE_DEFINITION))
#define GXML_IS_GOM_XSD_TYPE_DEFINITION_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), GXML_TYPE_GOM_XSD_TYPE_DEFINITION))
#define GXML_GOM_XSD_TYPE_DEFINITION_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), GXML_TYPE_GOM_XSD_TYPE_DEFINITION, GXmlGomXsdTypeDefinitionClass))

typedef struct _GXmlGomXsdTypeDefinition GXmlGomXsdTypeDefinition;
typedef struct _GXmlGomXsdTypeDefinitionClass GXmlGomXsdTypeDefinitionClass;

#define GXML_TYPE_GOM_XSD_TYPE_LIST (gxml_gom_xsd_type_list_get_type ())
#define GXML_GOM_XSD_TYPE_LIST(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), GXML_TYPE_GOM_XSD_TYPE_LIST, GXmlGomXsdTypeList))
#define GXML_GOM_XSD_TYPE_LIST_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), GXML_TYPE_GOM_XSD_TYPE_LIST, GXmlGomXsdTypeListClass))
#define GXML_IS_GOM_XSD_TYPE_LIST(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GXML_TYPE_GOM_XSD_TYPE_LIST))
#define GXML_IS_GOM_XSD_TYPE_LIST_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), GXML_TYPE_GOM_XSD_TYPE_LIST))
#define GXML_GOM_XSD_TYPE_LIST_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), GXML_TYPE_GOM_XSD_TYPE_LIST, GXmlGomXsdTypeListClass))

typedef struct _GXmlGomXsdTypeList GXmlGomXsdTypeList;
typedef struct _GXmlGomXsdTypeListClass GXmlGomXsdTypeListClass;

#define GXML_TYPE_GOM_XSD_TYPE_UNION (gxml_gom_xsd_type_union_get_type ())
#define GXML_GOM_XSD_TYPE_UNION(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), GXML_TYPE_GOM_XSD_TYPE_UNION, GXmlGomXsdTypeUnion))
#define GXML_GOM_XSD_TYPE_UNION_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), GXML_TYPE_GOM_XSD_TYPE_UNION, GXmlGomXsdTypeUnionClass))
#define GXML_IS_GOM_XSD_TYPE_UNION(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GXML_TYPE_GOM_XSD_TYPE_UNION))
#define GXML_IS_GOM_XSD_TYPE_UNION_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), GXML_TYPE_GOM_XSD_TYPE_UNION))
#define GXML_GOM_XSD_TYPE_UNION_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), GXML_TYPE_GOM_XSD_TYPE_UNION, GXmlGomXsdTypeUnionClass))

typedef struct _GXmlGomXsdTypeUnion GXmlGomXsdTypeUnion;
typedef struct _GXmlGomXsdTypeUnionClass GXmlGomXsdTypeUnionClass;

#define GXML_TYPE_GOM_XSD_TYPE_RESTRICTION (gxml_gom_xsd_type_restriction_get_type ())
#define GXML_GOM_XSD_TYPE_RESTRICTION(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), GXML_TYPE_GOM_XSD_TYPE_RESTRICTION, GXmlGomXsdTypeRestriction))
#define GXML_GOM_XSD_TYPE_RESTRICTION_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), GXML_TYPE_GOM_XSD_TYPE_RESTRICTION, GXmlGomXsdTypeRestrictionClass))
#define GXML_IS_GOM_XSD_TYPE_RESTRICTION(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GXML_TYPE_GOM_XSD_TYPE_RESTRICTION))
#define GXML_IS_GOM_XSD_TYPE_RESTRICTION_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), GXML_TYPE_GOM_XSD_TYPE_RESTRICTION))
#define GXML_GOM_XSD_TYPE_RESTRICTION_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), GXML_TYPE_GOM_XSD_TYPE_RESTRICTION, GXmlGomXsdTypeRestrictionClass))

typedef struct _GXmlGomXsdTypeRestriction GXmlGomXsdTypeRestriction;
typedef struct _GXmlGomXsdTypeRestrictionClass GXmlGomXsdTypeRestrictionClass;
#define _g_free0(var) (var = (g_free (var), NULL))
typedef struct _GXmlGomXsdTypeDefinitionPrivate GXmlGomXsdTypeDefinitionPrivate;
typedef struct _GXmlGomXsdTypeListPrivate GXmlGomXsdTypeListPrivate;
typedef struct _GXmlGomXsdTypeUnionPrivate GXmlGomXsdTypeUnionPrivate;
typedef struct _GXmlGomXsdTypeRestrictionPrivate GXmlGomXsdTypeRestrictionPrivate;

#define GXML_TYPE_GOM_XSD_LIST_TYPE_RESTRICTION_ENUMERATIONS (gxml_gom_xsd_list_type_restriction_enumerations_get_type ())
#define GXML_GOM_XSD_LIST_TYPE_RESTRICTION_ENUMERATIONS(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), GXML_TYPE_GOM_XSD_LIST_TYPE_RESTRICTION_ENUMERATIONS, GXmlGomXsdListTypeRestrictionEnumerations))
#define GXML_GOM_XSD_LIST_TYPE_RESTRICTION_ENUMERATIONS_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), GXML_TYPE_GOM_XSD_LIST_TYPE_RESTRICTION_ENUMERATIONS, GXmlGomXsdListTypeRestrictionEnumerationsClass))
#define GXML_IS_GOM_XSD_LIST_TYPE_RESTRICTION_ENUMERATIONS(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GXML_TYPE_GOM_XSD_LIST_TYPE_RESTRICTION_ENUMERATIONS))
#define GXML_IS_GOM_XSD_LIST_TYPE_RESTRICTION_ENUMERATIONS_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), GXML_TYPE_GOM_XSD_LIST_TYPE_RESTRICTION_ENUMERATIONS))
#define GXML_GOM_XSD_LIST_TYPE_RESTRICTION_ENUMERATIONS_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), GXML_TYPE_GOM_XSD_LIST_TYPE_RESTRICTION_ENUMERATIONS, GXmlGomXsdListTypeRestrictionEnumerationsClass))

typedef struct _GXmlGomXsdListTypeRestrictionEnumerations GXmlGomXsdListTypeRestrictionEnumerations;
typedef struct _GXmlGomXsdListTypeRestrictionEnumerationsClass GXmlGomXsdListTypeRestrictionEnumerationsClass;

#define GXML_TYPE_GOM_XSD_LIST_TYPE_RESTRICTION_WHITE_SPACES (gxml_gom_xsd_list_type_restriction_white_spaces_get_type ())
#define GXML_GOM_XSD_LIST_TYPE_RESTRICTION_WHITE_SPACES(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), GXML_TYPE_GOM_XSD_LIST_TYPE_RESTRICTION_WHITE_SPACES, GXmlGomXsdListTypeRestrictionWhiteSpaces))
#define GXML_GOM_XSD_LIST_TYPE_RESTRICTION_WHITE_SPACES_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), GXML_TYPE_GOM_XSD_LIST_TYPE_RESTRICTION_WHITE_SPACES, GXmlGomXsdListTypeRestrictionWhiteSpacesClass))
#define GXML_IS_GOM_XSD_LIST_TYPE_RESTRICTION_WHITE_SPACES(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GXML_TYPE_GOM_XSD_LIST_TYPE_RESTRICTION_WHITE_SPACES))
#define GXML_IS_GOM_XSD_LIST_TYPE_RESTRICTION_WHITE_SPACES_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), GXML_TYPE_GOM_XSD_LIST_TYPE_RESTRICTION_WHITE_SPACES))
#define GXML_GOM_XSD_LIST_TYPE_RESTRICTION_WHITE_SPACES_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), GXML_TYPE_GOM_XSD_LIST_TYPE_RESTRICTION_WHITE_SPACES, GXmlGomXsdListTypeRestrictionWhiteSpacesClass))

typedef struct _GXmlGomXsdListTypeRestrictionWhiteSpaces GXmlGomXsdListTypeRestrictionWhiteSpaces;
typedef struct _GXmlGomXsdListTypeRestrictionWhiteSpacesClass GXmlGomXsdListTypeRestrictionWhiteSpacesClass;

#define GXML_TYPE_GOM_XSD_TYPE_RESTRICTION_DEF (gxml_gom_xsd_type_restriction_def_get_type ())
#define GXML_GOM_XSD_TYPE_RESTRICTION_DEF(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), GXML_TYPE_GOM_XSD_TYPE_RESTRICTION_DEF, GXmlGomXsdTypeRestrictionDef))
#define GXML_GOM_XSD_TYPE_RESTRICTION_DEF_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), GXML_TYPE_GOM_XSD_TYPE_RESTRICTION_DEF, GXmlGomXsdTypeRestrictionDefClass))
#define GXML_IS_GOM_XSD_TYPE_RESTRICTION_DEF(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GXML_TYPE_GOM_XSD_TYPE_RESTRICTION_DEF))
#define GXML_IS_GOM_XSD_TYPE_RESTRICTION_DEF_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), GXML_TYPE_GOM_XSD_TYPE_RESTRICTION_DEF))
#define GXML_GOM_XSD_TYPE_RESTRICTION_DEF_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), GXML_TYPE_GOM_XSD_TYPE_RESTRICTION_DEF, GXmlGomXsdTypeRestrictionDefClass))

typedef struct _GXmlGomXsdTypeRestrictionDef GXmlGomXsdTypeRestrictionDef;
typedef struct _GXmlGomXsdTypeRestrictionDefClass GXmlGomXsdTypeRestrictionDefClass;
typedef struct _GXmlGomXsdTypeRestrictionDefPrivate GXmlGomXsdTypeRestrictionDefPrivate;

#define GXML_TYPE_GOM_XSD_TYPE_RESTRICTION_MIN_EXCLUSIVE (gxml_gom_xsd_type_restriction_min_exclusive_get_type ())
#define GXML_GOM_XSD_TYPE_RESTRICTION_MIN_EXCLUSIVE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), GXML_TYPE_GOM_XSD_TYPE_RESTRICTION_MIN_EXCLUSIVE, GXmlGomXsdTypeRestrictionMinExclusive))
#define GXML_GOM_XSD_TYPE_RESTRICTION_MIN_EXCLUSIVE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), GXML_TYPE_GOM_XSD_TYPE_RESTRICTION_MIN_EXCLUSIVE, GXmlGomXsdTypeRestrictionMinExclusiveClass))
#define GXML_IS_GOM_XSD_TYPE_RESTRICTION_MIN_EXCLUSIVE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GXML_TYPE_GOM_XSD_TYPE_RESTRICTION_MIN_EXCLUSIVE))
#define GXML_IS_GOM_XSD_TYPE_RESTRICTION_MIN_EXCLUSIVE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), GXML_TYPE_GOM_XSD_TYPE_RESTRICTION_MIN_EXCLUSIVE))
#define GXML_GOM_XSD_TYPE_RESTRICTION_MIN_EXCLUSIVE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), GXML_TYPE_GOM_XSD_TYPE_RESTRICTION_MIN_EXCLUSIVE, GXmlGomXsdTypeRestrictionMinExclusiveClass))

typedef struct _GXmlGomXsdTypeRestrictionMinExclusive GXmlGomXsdTypeRestrictionMinExclusive;
typedef struct _GXmlGomXsdTypeRestrictionMinExclusiveClass GXmlGomXsdTypeRestrictionMinExclusiveClass;
typedef struct _GXmlGomXsdTypeRestrictionMinExclusivePrivate GXmlGomXsdTypeRestrictionMinExclusivePrivate;

#define GXML_TYPE_GOM_XSD_TYPE_RESTRICTION_MIN_INCLUSIVE (gxml_gom_xsd_type_restriction_min_inclusive_get_type ())
#define GXML_GOM_XSD_TYPE_RESTRICTION_MIN_INCLUSIVE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), GXML_TYPE_GOM_XSD_TYPE_RESTRICTION_MIN_INCLUSIVE, GXmlGomXsdTypeRestrictionMinInclusive))
#define GXML_GOM_XSD_TYPE_RESTRICTION_MIN_INCLUSIVE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), GXML_TYPE_GOM_XSD_TYPE_RESTRICTION_MIN_INCLUSIVE, GXmlGomXsdTypeRestrictionMinInclusiveClass))
#define GXML_IS_GOM_XSD_TYPE_RESTRICTION_MIN_INCLUSIVE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GXML_TYPE_GOM_XSD_TYPE_RESTRICTION_MIN_INCLUSIVE))
#define GXML_IS_GOM_XSD_TYPE_RESTRICTION_MIN_INCLUSIVE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), GXML_TYPE_GOM_XSD_TYPE_RESTRICTION_MIN_INCLUSIVE))
#define GXML_GOM_XSD_TYPE_RESTRICTION_MIN_INCLUSIVE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), GXML_TYPE_GOM_XSD_TYPE_RESTRICTION_MIN_INCLUSIVE, GXmlGomXsdTypeRestrictionMinInclusiveClass))

typedef struct _GXmlGomXsdTypeRestrictionMinInclusive GXmlGomXsdTypeRestrictionMinInclusive;
typedef struct _GXmlGomXsdTypeRestrictionMinInclusiveClass GXmlGomXsdTypeRestrictionMinInclusiveClass;
typedef struct _GXmlGomXsdTypeRestrictionMinInclusivePrivate GXmlGomXsdTypeRestrictionMinInclusivePrivate;

#define GXML_TYPE_GOM_XSD_TYPE_RESTRICTION_MAX_EXCLUSIVE (gxml_gom_xsd_type_restriction_max_exclusive_get_type ())
#define GXML_GOM_XSD_TYPE_RESTRICTION_MAX_EXCLUSIVE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), GXML_TYPE_GOM_XSD_TYPE_RESTRICTION_MAX_EXCLUSIVE, GXmlGomXsdTypeRestrictionMaxExclusive))
#define GXML_GOM_XSD_TYPE_RESTRICTION_MAX_EXCLUSIVE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), GXML_TYPE_GOM_XSD_TYPE_RESTRICTION_MAX_EXCLUSIVE, GXmlGomXsdTypeRestrictionMaxExclusiveClass))
#define GXML_IS_GOM_XSD_TYPE_RESTRICTION_MAX_EXCLUSIVE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GXML_TYPE_GOM_XSD_TYPE_RESTRICTION_MAX_EXCLUSIVE))
#define GXML_IS_GOM_XSD_TYPE_RESTRICTION_MAX_EXCLUSIVE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), GXML_TYPE_GOM_XSD_TYPE_RESTRICTION_MAX_EXCLUSIVE))
#define GXML_GOM_XSD_TYPE_RESTRICTION_MAX_EXCLUSIVE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), GXML_TYPE_GOM_XSD_TYPE_RESTRICTION_MAX_EXCLUSIVE, GXmlGomXsdTypeRestrictionMaxExclusiveClass))

typedef struct _GXmlGomXsdTypeRestrictionMaxExclusive GXmlGomXsdTypeRestrictionMaxExclusive;
typedef struct _GXmlGomXsdTypeRestrictionMaxExclusiveClass GXmlGomXsdTypeRestrictionMaxExclusiveClass;
typedef struct _GXmlGomXsdTypeRestrictionMaxExclusivePrivate GXmlGomXsdTypeRestrictionMaxExclusivePrivate;

#define GXML_TYPE_GOM_XSD_TYPE_RESTRICTION_MAX_INCLUSIVE (gxml_gom_xsd_type_restriction_max_inclusive_get_type ())
#define GXML_GOM_XSD_TYPE_RESTRICTION_MAX_INCLUSIVE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), GXML_TYPE_GOM_XSD_TYPE_RESTRICTION_MAX_INCLUSIVE, GXmlGomXsdTypeRestrictionMaxInclusive))
#define GXML_GOM_XSD_TYPE_RESTRICTION_MAX_INCLUSIVE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), GXML_TYPE_GOM_XSD_TYPE_RESTRICTION_MAX_INCLUSIVE, GXmlGomXsdTypeRestrictionMaxInclusiveClass))
#define GXML_IS_GOM_XSD_TYPE_RESTRICTION_MAX_INCLUSIVE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GXML_TYPE_GOM_XSD_TYPE_RESTRICTION_MAX_INCLUSIVE))
#define GXML_IS_GOM_XSD_TYPE_RESTRICTION_MAX_INCLUSIVE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), GXML_TYPE_GOM_XSD_TYPE_RESTRICTION_MAX_INCLUSIVE))
#define GXML_GOM_XSD_TYPE_RESTRICTION_MAX_INCLUSIVE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), GXML_TYPE_GOM_XSD_TYPE_RESTRICTION_MAX_INCLUSIVE, GXmlGomXsdTypeRestrictionMaxInclusiveClass))

typedef struct _GXmlGomXsdTypeRestrictionMaxInclusive GXmlGomXsdTypeRestrictionMaxInclusive;
typedef struct _GXmlGomXsdTypeRestrictionMaxInclusiveClass GXmlGomXsdTypeRestrictionMaxInclusiveClass;
typedef struct _GXmlGomXsdTypeRestrictionMaxInclusivePrivate GXmlGomXsdTypeRestrictionMaxInclusivePrivate;

#define GXML_TYPE_GOM_XSD_TYPE_RESTRICTION_TOTAL_DIGITS (gxml_gom_xsd_type_restriction_total_digits_get_type ())
#define GXML_GOM_XSD_TYPE_RESTRICTION_TOTAL_DIGITS(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), GXML_TYPE_GOM_XSD_TYPE_RESTRICTION_TOTAL_DIGITS, GXmlGomXsdTypeRestrictionTotalDigits))
#define GXML_GOM_XSD_TYPE_RESTRICTION_TOTAL_DIGITS_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), GXML_TYPE_GOM_XSD_TYPE_RESTRICTION_TOTAL_DIGITS, GXmlGomXsdTypeRestrictionTotalDigitsClass))
#define GXML_IS_GOM_XSD_TYPE_RESTRICTION_TOTAL_DIGITS(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GXML_TYPE_GOM_XSD_TYPE_RESTRICTION_TOTAL_DIGITS))
#define GXML_IS_GOM_XSD_TYPE_RESTRICTION_TOTAL_DIGITS_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), GXML_TYPE_GOM_XSD_TYPE_RESTRICTION_TOTAL_DIGITS))
#define GXML_GOM_XSD_TYPE_RESTRICTION_TOTAL_DIGITS_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), GXML_TYPE_GOM_XSD_TYPE_RESTRICTION_TOTAL_DIGITS, GXmlGomXsdTypeRestrictionTotalDigitsClass))

typedef struct _GXmlGomXsdTypeRestrictionTotalDigits GXmlGomXsdTypeRestrictionTotalDigits;
typedef struct _GXmlGomXsdTypeRestrictionTotalDigitsClass GXmlGomXsdTypeRestrictionTotalDigitsClass;
typedef struct _GXmlGomXsdTypeRestrictionTotalDigitsPrivate GXmlGomXsdTypeRestrictionTotalDigitsPrivate;

#define GXML_TYPE_GOM_XSD_TYPE_RESTRICTION_FRACTION_DIGITS (gxml_gom_xsd_type_restriction_fraction_digits_get_type ())
#define GXML_GOM_XSD_TYPE_RESTRICTION_FRACTION_DIGITS(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), GXML_TYPE_GOM_XSD_TYPE_RESTRICTION_FRACTION_DIGITS, GXmlGomXsdTypeRestrictionFractionDigits))
#define GXML_GOM_XSD_TYPE_RESTRICTION_FRACTION_DIGITS_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), GXML_TYPE_GOM_XSD_TYPE_RESTRICTION_FRACTION_DIGITS, GXmlGomXsdTypeRestrictionFractionDigitsClass))
#define GXML_IS_GOM_XSD_TYPE_RESTRICTION_FRACTION_DIGITS(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GXML_TYPE_GOM_XSD_TYPE_RESTRICTION_FRACTION_DIGITS))
#define GXML_IS_GOM_XSD_TYPE_RESTRICTION_FRACTION_DIGITS_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), GXML_TYPE_GOM_XSD_TYPE_RESTRICTION_FRACTION_DIGITS))
#define GXML_GOM_XSD_TYPE_RESTRICTION_FRACTION_DIGITS_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), GXML_TYPE_GOM_XSD_TYPE_RESTRICTION_FRACTION_DIGITS, GXmlGomXsdTypeRestrictionFractionDigitsClass))

typedef struct _GXmlGomXsdTypeRestrictionFractionDigits GXmlGomXsdTypeRestrictionFractionDigits;
typedef struct _GXmlGomXsdTypeRestrictionFractionDigitsClass GXmlGomXsdTypeRestrictionFractionDigitsClass;
typedef struct _GXmlGomXsdTypeRestrictionFractionDigitsPrivate GXmlGomXsdTypeRestrictionFractionDigitsPrivate;

#define GXML_TYPE_GOM_XSD_TYPE_RESTRICTION_LENGTH (gxml_gom_xsd_type_restriction_length_get_type ())
#define GXML_GOM_XSD_TYPE_RESTRICTION_LENGTH(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), GXML_TYPE_GOM_XSD_TYPE_RESTRICTION_LENGTH, GXmlGomXsdTypeRestrictionLength))
#define GXML_GOM_XSD_TYPE_RESTRICTION_LENGTH_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), GXML_TYPE_GOM_XSD_TYPE_RESTRICTION_LENGTH, GXmlGomXsdTypeRestrictionLengthClass))
#define GXML_IS_GOM_XSD_TYPE_RESTRICTION_LENGTH(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GXML_TYPE_GOM_XSD_TYPE_RESTRICTION_LENGTH))
#define GXML_IS_GOM_XSD_TYPE_RESTRICTION_LENGTH_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), GXML_TYPE_GOM_XSD_TYPE_RESTRICTION_LENGTH))
#define GXML_GOM_XSD_TYPE_RESTRICTION_LENGTH_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), GXML_TYPE_GOM_XSD_TYPE_RESTRICTION_LENGTH, GXmlGomXsdTypeRestrictionLengthClass))

typedef struct _GXmlGomXsdTypeRestrictionLength GXmlGomXsdTypeRestrictionLength;
typedef struct _GXmlGomXsdTypeRestrictionLengthClass GXmlGomXsdTypeRestrictionLengthClass;
typedef struct _GXmlGomXsdTypeRestrictionLengthPrivate GXmlGomXsdTypeRestrictionLengthPrivate;

#define GXML_TYPE_GOM_XSD_TYPE_RESTRICTION_MIN_LENGTH (gxml_gom_xsd_type_restriction_min_length_get_type ())
#define GXML_GOM_XSD_TYPE_RESTRICTION_MIN_LENGTH(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), GXML_TYPE_GOM_XSD_TYPE_RESTRICTION_MIN_LENGTH, GXmlGomXsdTypeRestrictionMinLength))
#define GXML_GOM_XSD_TYPE_RESTRICTION_MIN_LENGTH_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), GXML_TYPE_GOM_XSD_TYPE_RESTRICTION_MIN_LENGTH, GXmlGomXsdTypeRestrictionMinLengthClass))
#define GXML_IS_GOM_XSD_TYPE_RESTRICTION_MIN_LENGTH(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GXML_TYPE_GOM_XSD_TYPE_RESTRICTION_MIN_LENGTH))
#define GXML_IS_GOM_XSD_TYPE_RESTRICTION_MIN_LENGTH_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), GXML_TYPE_GOM_XSD_TYPE_RESTRICTION_MIN_LENGTH))
#define GXML_GOM_XSD_TYPE_RESTRICTION_MIN_LENGTH_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), GXML_TYPE_GOM_XSD_TYPE_RESTRICTION_MIN_LENGTH, GXmlGomXsdTypeRestrictionMinLengthClass))

typedef struct _GXmlGomXsdTypeRestrictionMinLength GXmlGomXsdTypeRestrictionMinLength;
typedef struct _GXmlGomXsdTypeRestrictionMinLengthClass GXmlGomXsdTypeRestrictionMinLengthClass;
typedef struct _GXmlGomXsdTypeRestrictionMinLengthPrivate GXmlGomXsdTypeRestrictionMinLengthPrivate;

#define GXML_TYPE_GOM_XSD_TYPE_RESTRICTION_MAX_LENGTH (gxml_gom_xsd_type_restriction_max_length_get_type ())
#define GXML_GOM_XSD_TYPE_RESTRICTION_MAX_LENGTH(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), GXML_TYPE_GOM_XSD_TYPE_RESTRICTION_MAX_LENGTH, GXmlGomXsdTypeRestrictionMaxLength))
#define GXML_GOM_XSD_TYPE_RESTRICTION_MAX_LENGTH_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), GXML_TYPE_GOM_XSD_TYPE_RESTRICTION_MAX_LENGTH, GXmlGomXsdTypeRestrictionMaxLengthClass))
#define GXML_IS_GOM_XSD_TYPE_RESTRICTION_MAX_LENGTH(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GXML_TYPE_GOM_XSD_TYPE_RESTRICTION_MAX_LENGTH))
#define GXML_IS_GOM_XSD_TYPE_RESTRICTION_MAX_LENGTH_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), GXML_TYPE_GOM_XSD_TYPE_RESTRICTION_MAX_LENGTH))
#define GXML_GOM_XSD_TYPE_RESTRICTION_MAX_LENGTH_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), GXML_TYPE_GOM_XSD_TYPE_RESTRICTION_MAX_LENGTH, GXmlGomXsdTypeRestrictionMaxLengthClass))

typedef struct _GXmlGomXsdTypeRestrictionMaxLength GXmlGomXsdTypeRestrictionMaxLength;
typedef struct _GXmlGomXsdTypeRestrictionMaxLengthClass GXmlGomXsdTypeRestrictionMaxLengthClass;
typedef struct _GXmlGomXsdTypeRestrictionMaxLengthPrivate GXmlGomXsdTypeRestrictionMaxLengthPrivate;

#define GXML_TYPE_GOM_XSD_TYPE_RESTRICTION_ENUMERATION (gxml_gom_xsd_type_restriction_enumeration_get_type ())
#define GXML_GOM_XSD_TYPE_RESTRICTION_ENUMERATION(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), GXML_TYPE_GOM_XSD_TYPE_RESTRICTION_ENUMERATION, GXmlGomXsdTypeRestrictionEnumeration))
#define GXML_GOM_XSD_TYPE_RESTRICTION_ENUMERATION_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), GXML_TYPE_GOM_XSD_TYPE_RESTRICTION_ENUMERATION, GXmlGomXsdTypeRestrictionEnumerationClass))
#define GXML_IS_GOM_XSD_TYPE_RESTRICTION_ENUMERATION(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GXML_TYPE_GOM_XSD_TYPE_RESTRICTION_ENUMERATION))
#define GXML_IS_GOM_XSD_TYPE_RESTRICTION_ENUMERATION_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), GXML_TYPE_GOM_XSD_TYPE_RESTRICTION_ENUMERATION))
#define GXML_GOM_XSD_TYPE_RESTRICTION_ENUMERATION_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), GXML_TYPE_GOM_XSD_TYPE_RESTRICTION_ENUMERATION, GXmlGomXsdTypeRestrictionEnumerationClass))

typedef struct _GXmlGomXsdTypeRestrictionEnumeration GXmlGomXsdTypeRestrictionEnumeration;
typedef struct _GXmlGomXsdTypeRestrictionEnumerationClass GXmlGomXsdTypeRestrictionEnumerationClass;
typedef struct _GXmlGomXsdTypeRestrictionEnumerationPrivate GXmlGomXsdTypeRestrictionEnumerationPrivate;

#define GXML_TYPE_GOM_XSD_TYPE_RESTRICTION_WHITE_SPACE (gxml_gom_xsd_type_restriction_white_space_get_type ())
#define GXML_GOM_XSD_TYPE_RESTRICTION_WHITE_SPACE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), GXML_TYPE_GOM_XSD_TYPE_RESTRICTION_WHITE_SPACE, GXmlGomXsdTypeRestrictionWhiteSpace))
#define GXML_GOM_XSD_TYPE_RESTRICTION_WHITE_SPACE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), GXML_TYPE_GOM_XSD_TYPE_RESTRICTION_WHITE_SPACE, GXmlGomXsdTypeRestrictionWhiteSpaceClass))
#define GXML_IS_GOM_XSD_TYPE_RESTRICTION_WHITE_SPACE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GXML_TYPE_GOM_XSD_TYPE_RESTRICTION_WHITE_SPACE))
#define GXML_IS_GOM_XSD_TYPE_RESTRICTION_WHITE_SPACE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), GXML_TYPE_GOM_XSD_TYPE_RESTRICTION_WHITE_SPACE))
#define GXML_GOM_XSD_TYPE_RESTRICTION_WHITE_SPACE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), GXML_TYPE_GOM_XSD_TYPE_RESTRICTION_WHITE_SPACE, GXmlGomXsdTypeRestrictionWhiteSpaceClass))

typedef struct _GXmlGomXsdTypeRestrictionWhiteSpace GXmlGomXsdTypeRestrictionWhiteSpace;
typedef struct _GXmlGomXsdTypeRestrictionWhiteSpaceClass GXmlGomXsdTypeRestrictionWhiteSpaceClass;
typedef struct _GXmlGomXsdTypeRestrictionWhiteSpacePrivate GXmlGomXsdTypeRestrictionWhiteSpacePrivate;

#define GXML_TYPE_GOM_BASE_PROPERTY (gxml_gom_base_property_get_type ())
#define GXML_GOM_BASE_PROPERTY(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), GXML_TYPE_GOM_BASE_PROPERTY, GXmlGomBaseProperty))
#define GXML_GOM_BASE_PROPERTY_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), GXML_TYPE_GOM_BASE_PROPERTY, GXmlGomBasePropertyClass))
#define GXML_IS_GOM_BASE_PROPERTY(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GXML_TYPE_GOM_BASE_PROPERTY))
#define GXML_IS_GOM_BASE_PROPERTY_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), GXML_TYPE_GOM_BASE_PROPERTY))
#define GXML_GOM_BASE_PROPERTY_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), GXML_TYPE_GOM_BASE_PROPERTY, GXmlGomBasePropertyClass))

typedef struct _GXmlGomBaseProperty GXmlGomBaseProperty;
typedef struct _GXmlGomBasePropertyClass GXmlGomBasePropertyClass;

#define GXML_TYPE_GOM_BOOLEAN (gxml_gom_boolean_get_type ())
#define GXML_GOM_BOOLEAN(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), GXML_TYPE_GOM_BOOLEAN, GXmlGomBoolean))
#define GXML_GOM_BOOLEAN_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), GXML_TYPE_GOM_BOOLEAN, GXmlGomBooleanClass))
#define GXML_IS_GOM_BOOLEAN(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GXML_TYPE_GOM_BOOLEAN))
#define GXML_IS_GOM_BOOLEAN_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), GXML_TYPE_GOM_BOOLEAN))
#define GXML_GOM_BOOLEAN_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), GXML_TYPE_GOM_BOOLEAN, GXmlGomBooleanClass))

typedef struct _GXmlGomBoolean GXmlGomBoolean;
typedef struct _GXmlGomBooleanClass GXmlGomBooleanClass;

#define GXML_GOM_XSD_TYPE_RESTRICTION_WHITE_SPACE_TYPE_FIXED (gxml_gom_xsd_type_restriction_white_space_fixed_get_type ())
#define GXML_GOM_XSD_TYPE_RESTRICTION_WHITE_SPACE_FIXED(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), GXML_GOM_XSD_TYPE_RESTRICTION_WHITE_SPACE_TYPE_FIXED, GXmlGomXsdTypeRestrictionWhiteSpaceFixed))
#define GXML_GOM_XSD_TYPE_RESTRICTION_WHITE_SPACE_FIXED_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), GXML_GOM_XSD_TYPE_RESTRICTION_WHITE_SPACE_TYPE_FIXED, GXmlGomXsdTypeRestrictionWhiteSpaceFixedClass))
#define GXML_GOM_XSD_TYPE_RESTRICTION_WHITE_SPACE_IS_FIXED(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GXML_GOM_XSD_TYPE_RESTRICTION_WHITE_SPACE_TYPE_FIXED))
#define GXML_GOM_XSD_TYPE_RESTRICTION_WHITE_SPACE_IS_FIXED_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), GXML_GOM_XSD_TYPE_RESTRICTION_WHITE_SPACE_TYPE_FIXED))
#define GXML_GOM_XSD_TYPE_RESTRICTION_WHITE_SPACE_FIXED_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), GXML_GOM_XSD_TYPE_RESTRICTION_WHITE_SPACE_TYPE_FIXED, GXmlGomXsdTypeRestrictionWhiteSpaceFixedClass))

typedef struct _GXmlGomXsdTypeRestrictionWhiteSpaceFixed GXmlGomXsdTypeRestrictionWhiteSpaceFixed;
typedef struct _GXmlGomXsdTypeRestrictionWhiteSpaceFixedClass GXmlGomXsdTypeRestrictionWhiteSpaceFixedClass;

#define GXML_TYPE_GOM_PROPERTY (gxml_gom_property_get_type ())
#define GXML_GOM_PROPERTY(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), GXML_TYPE_GOM_PROPERTY, GXmlGomProperty))
#define GXML_IS_GOM_PROPERTY(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GXML_TYPE_GOM_PROPERTY))
#define GXML_GOM_PROPERTY_GET_INTERFACE(obj) (G_TYPE_INSTANCE_GET_INTERFACE ((obj), GXML_TYPE_GOM_PROPERTY, GXmlGomPropertyIface))

typedef struct _GXmlGomProperty GXmlGomProperty;
typedef struct _GXmlGomPropertyIface GXmlGomPropertyIface;
typedef struct _GXmlGomBasePropertyPrivate GXmlGomBasePropertyPrivate;
typedef struct _GXmlGomBooleanPrivate GXmlGomBooleanPrivate;
typedef struct _GXmlGomXsdTypeRestrictionWhiteSpaceFixedPrivate GXmlGomXsdTypeRestrictionWhiteSpaceFixedPrivate;

#define GXML_TYPE_GOM_XSD_TYPE_RESTRICTION_PATTERN (gxml_gom_xsd_type_restriction_pattern_get_type ())
#define GXML_GOM_XSD_TYPE_RESTRICTION_PATTERN(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), GXML_TYPE_GOM_XSD_TYPE_RESTRICTION_PATTERN, GXmlGomXsdTypeRestrictionPattern))
#define GXML_GOM_XSD_TYPE_RESTRICTION_PATTERN_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), GXML_TYPE_GOM_XSD_TYPE_RESTRICTION_PATTERN, GXmlGomXsdTypeRestrictionPatternClass))
#define GXML_IS_GOM_XSD_TYPE_RESTRICTION_PATTERN(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GXML_TYPE_GOM_XSD_TYPE_RESTRICTION_PATTERN))
#define GXML_IS_GOM_XSD_TYPE_RESTRICTION_PATTERN_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), GXML_TYPE_GOM_XSD_TYPE_RESTRICTION_PATTERN))
#define GXML_GOM_XSD_TYPE_RESTRICTION_PATTERN_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), GXML_TYPE_GOM_XSD_TYPE_RESTRICTION_PATTERN, GXmlGomXsdTypeRestrictionPatternClass))

typedef struct _GXmlGomXsdTypeRestrictionPattern GXmlGomXsdTypeRestrictionPattern;
typedef struct _GXmlGomXsdTypeRestrictionPatternClass GXmlGomXsdTypeRestrictionPatternClass;
typedef struct _GXmlGomXsdTypeRestrictionPatternPrivate GXmlGomXsdTypeRestrictionPatternPrivate;

#define GXML_TYPE_GOM_XSD_TYPE_RESTRICTION_ASSERTION (gxml_gom_xsd_type_restriction_assertion_get_type ())
#define GXML_GOM_XSD_TYPE_RESTRICTION_ASSERTION(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), GXML_TYPE_GOM_XSD_TYPE_RESTRICTION_ASSERTION, GXmlGomXsdTypeRestrictionAssertion))
#define GXML_GOM_XSD_TYPE_RESTRICTION_ASSERTION_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), GXML_TYPE_GOM_XSD_TYPE_RESTRICTION_ASSERTION, GXmlGomXsdTypeRestrictionAssertionClass))
#define GXML_IS_GOM_XSD_TYPE_RESTRICTION_ASSERTION(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GXML_TYPE_GOM_XSD_TYPE_RESTRICTION_ASSERTION))
#define GXML_IS_GOM_XSD_TYPE_RESTRICTION_ASSERTION_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), GXML_TYPE_GOM_XSD_TYPE_RESTRICTION_ASSERTION))
#define GXML_GOM_XSD_TYPE_RESTRICTION_ASSERTION_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), GXML_TYPE_GOM_XSD_TYPE_RESTRICTION_ASSERTION, GXmlGomXsdTypeRestrictionAssertionClass))

typedef struct _GXmlGomXsdTypeRestrictionAssertion GXmlGomXsdTypeRestrictionAssertion;
typedef struct _GXmlGomXsdTypeRestrictionAssertionClass GXmlGomXsdTypeRestrictionAssertionClass;
typedef struct _GXmlGomXsdTypeRestrictionAssertionPrivate GXmlGomXsdTypeRestrictionAssertionPrivate;

#define GXML_TYPE_GOM_XSD_TYPE_RESTRICTION_EXPLICIT_TIMEZONE (gxml_gom_xsd_type_restriction_explicit_timezone_get_type ())
#define GXML_GOM_XSD_TYPE_RESTRICTION_EXPLICIT_TIMEZONE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), GXML_TYPE_GOM_XSD_TYPE_RESTRICTION_EXPLICIT_TIMEZONE, GXmlGomXsdTypeRestrictionExplicitTimezone))
#define GXML_GOM_XSD_TYPE_RESTRICTION_EXPLICIT_TIMEZONE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), GXML_TYPE_GOM_XSD_TYPE_RESTRICTION_EXPLICIT_TIMEZONE, GXmlGomXsdTypeRestrictionExplicitTimezoneClass))
#define GXML_IS_GOM_XSD_TYPE_RESTRICTION_EXPLICIT_TIMEZONE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GXML_TYPE_GOM_XSD_TYPE_RESTRICTION_EXPLICIT_TIMEZONE))
#define GXML_IS_GOM_XSD_TYPE_RESTRICTION_EXPLICIT_TIMEZONE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), GXML_TYPE_GOM_XSD_TYPE_RESTRICTION_EXPLICIT_TIMEZONE))
#define GXML_GOM_XSD_TYPE_RESTRICTION_EXPLICIT_TIMEZONE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), GXML_TYPE_GOM_XSD_TYPE_RESTRICTION_EXPLICIT_TIMEZONE, GXmlGomXsdTypeRestrictionExplicitTimezoneClass))

typedef struct _GXmlGomXsdTypeRestrictionExplicitTimezone GXmlGomXsdTypeRestrictionExplicitTimezone;
typedef struct _GXmlGomXsdTypeRestrictionExplicitTimezoneClass GXmlGomXsdTypeRestrictionExplicitTimezoneClass;
typedef struct _GXmlGomXsdTypeRestrictionExplicitTimezonePrivate GXmlGomXsdTypeRestrictionExplicitTimezonePrivate;

#define GXML_TYPE_GOM_XSD_BASE_TYPE (gxml_gom_xsd_base_type_get_type ())
#define GXML_GOM_XSD_BASE_TYPE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), GXML_TYPE_GOM_XSD_BASE_TYPE, GXmlGomXsdBaseType))
#define GXML_GOM_XSD_BASE_TYPE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), GXML_TYPE_GOM_XSD_BASE_TYPE, GXmlGomXsdBaseTypeClass))
#define GXML_IS_GOM_XSD_BASE_TYPE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GXML_TYPE_GOM_XSD_BASE_TYPE))
#define GXML_IS_GOM_XSD_BASE_TYPE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), GXML_TYPE_GOM_XSD_BASE_TYPE))
#define GXML_GOM_XSD_BASE_TYPE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), GXML_TYPE_GOM_XSD_BASE_TYPE, GXmlGomXsdBaseTypeClass))

typedef struct _GXmlGomXsdBaseType GXmlGomXsdBaseType;
typedef struct _GXmlGomXsdBaseTypeClass GXmlGomXsdBaseTypeClass;
typedef struct _GXmlGomXsdBaseTypePrivate GXmlGomXsdBaseTypePrivate;

#define GXML_TYPE_GOM_XSD_COMPLEX_TYPE (gxml_gom_xsd_complex_type_get_type ())
#define GXML_GOM_XSD_COMPLEX_TYPE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), GXML_TYPE_GOM_XSD_COMPLEX_TYPE, GXmlGomXsdComplexType))
#define GXML_GOM_XSD_COMPLEX_TYPE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), GXML_TYPE_GOM_XSD_COMPLEX_TYPE, GXmlGomXsdComplexTypeClass))
#define GXML_IS_GOM_XSD_COMPLEX_TYPE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GXML_TYPE_GOM_XSD_COMPLEX_TYPE))
#define GXML_IS_GOM_XSD_COMPLEX_TYPE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), GXML_TYPE_GOM_XSD_COMPLEX_TYPE))
#define GXML_GOM_XSD_COMPLEX_TYPE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), GXML_TYPE_GOM_XSD_COMPLEX_TYPE, GXmlGomXsdComplexTypeClass))

typedef struct _GXmlGomXsdComplexType GXmlGomXsdComplexType;
typedef struct _GXmlGomXsdComplexTypeClass GXmlGomXsdComplexTypeClass;
typedef struct _GXmlGomXsdComplexTypePrivate GXmlGomXsdComplexTypePrivate;

#define GXML_TYPE_GOM_XSD_BASE_CONTENT (gxml_gom_xsd_base_content_get_type ())
#define GXML_GOM_XSD_BASE_CONTENT(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), GXML_TYPE_GOM_XSD_BASE_CONTENT, GXmlGomXsdBaseContent))
#define GXML_GOM_XSD_BASE_CONTENT_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), GXML_TYPE_GOM_XSD_BASE_CONTENT, GXmlGomXsdBaseContentClass))
#define GXML_IS_GOM_XSD_BASE_CONTENT(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GXML_TYPE_GOM_XSD_BASE_CONTENT))
#define GXML_IS_GOM_XSD_BASE_CONTENT_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), GXML_TYPE_GOM_XSD_BASE_CONTENT))
#define GXML_GOM_XSD_BASE_CONTENT_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), GXML_TYPE_GOM_XSD_BASE_CONTENT, GXmlGomXsdBaseContentClass))

typedef struct _GXmlGomXsdBaseContent GXmlGomXsdBaseContent;
typedef struct _GXmlGomXsdBaseContentClass GXmlGomXsdBaseContentClass;

#define GXML_TYPE_GOM_XSD_EXTENSION (gxml_gom_xsd_extension_get_type ())
#define GXML_GOM_XSD_EXTENSION(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), GXML_TYPE_GOM_XSD_EXTENSION, GXmlGomXsdExtension))
#define GXML_GOM_XSD_EXTENSION_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), GXML_TYPE_GOM_XSD_EXTENSION, GXmlGomXsdExtensionClass))
#define GXML_IS_GOM_XSD_EXTENSION(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GXML_TYPE_GOM_XSD_EXTENSION))
#define GXML_IS_GOM_XSD_EXTENSION_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), GXML_TYPE_GOM_XSD_EXTENSION))
#define GXML_GOM_XSD_EXTENSION_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), GXML_TYPE_GOM_XSD_EXTENSION, GXmlGomXsdExtensionClass))

typedef struct _GXmlGomXsdExtension GXmlGomXsdExtension;
typedef struct _GXmlGomXsdExtensionClass GXmlGomXsdExtensionClass;
typedef struct _GXmlGomXsdExtensionPrivate GXmlGomXsdExtensionPrivate;

#define GXML_TYPE_GOM_XSD_ELEMENT (gxml_gom_xsd_element_get_type ())
#define GXML_GOM_XSD_ELEMENT(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), GXML_TYPE_GOM_XSD_ELEMENT, GXmlGomXsdElement))
#define GXML_GOM_XSD_ELEMENT_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), GXML_TYPE_GOM_XSD_ELEMENT, GXmlGomXsdElementClass))
#define GXML_IS_GOM_XSD_ELEMENT(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GXML_TYPE_GOM_XSD_ELEMENT))
#define GXML_IS_GOM_XSD_ELEMENT_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), GXML_TYPE_GOM_XSD_ELEMENT))
#define GXML_GOM_XSD_ELEMENT_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), GXML_TYPE_GOM_XSD_ELEMENT, GXmlGomXsdElementClass))

typedef struct _GXmlGomXsdElement GXmlGomXsdElement;
typedef struct _GXmlGomXsdElementClass GXmlGomXsdElementClass;
typedef struct _GXmlGomXsdElementPrivate GXmlGomXsdElementPrivate;
typedef struct _GXmlGomXsdAnnotationPrivate GXmlGomXsdAnnotationPrivate;
typedef struct _GXmlGomXsdBaseContentPrivate GXmlGomXsdBaseContentPrivate;

#define GXML_TYPE_GOM_XSD_SIMPLE_CONTENT (gxml_gom_xsd_simple_content_get_type ())
#define GXML_GOM_XSD_SIMPLE_CONTENT(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), GXML_TYPE_GOM_XSD_SIMPLE_CONTENT, GXmlGomXsdSimpleContent))
#define GXML_GOM_XSD_SIMPLE_CONTENT_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), GXML_TYPE_GOM_XSD_SIMPLE_CONTENT, GXmlGomXsdSimpleContentClass))
#define GXML_IS_GOM_XSD_SIMPLE_CONTENT(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GXML_TYPE_GOM_XSD_SIMPLE_CONTENT))
#define GXML_IS_GOM_XSD_SIMPLE_CONTENT_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), GXML_TYPE_GOM_XSD_SIMPLE_CONTENT))
#define GXML_GOM_XSD_SIMPLE_CONTENT_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), GXML_TYPE_GOM_XSD_SIMPLE_CONTENT, GXmlGomXsdSimpleContentClass))

typedef struct _GXmlGomXsdSimpleContent GXmlGomXsdSimpleContent;
typedef struct _GXmlGomXsdSimpleContentClass GXmlGomXsdSimpleContentClass;
typedef struct _GXmlGomXsdSimpleContentPrivate GXmlGomXsdSimpleContentPrivate;

#define GXML_TYPE_GOM_XSD_COMPLEX_CONTENT (gxml_gom_xsd_complex_content_get_type ())
#define GXML_GOM_XSD_COMPLEX_CONTENT(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), GXML_TYPE_GOM_XSD_COMPLEX_CONTENT, GXmlGomXsdComplexContent))
#define GXML_GOM_XSD_COMPLEX_CONTENT_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), GXML_TYPE_GOM_XSD_COMPLEX_CONTENT, GXmlGomXsdComplexContentClass))
#define GXML_IS_GOM_XSD_COMPLEX_CONTENT(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GXML_TYPE_GOM_XSD_COMPLEX_CONTENT))
#define GXML_IS_GOM_XSD_COMPLEX_CONTENT_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), GXML_TYPE_GOM_XSD_COMPLEX_CONTENT))
#define GXML_GOM_XSD_COMPLEX_CONTENT_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), GXML_TYPE_GOM_XSD_COMPLEX_CONTENT, GXmlGomXsdComplexContentClass))

typedef struct _GXmlGomXsdComplexContent GXmlGomXsdComplexContent;
typedef struct _GXmlGomXsdComplexContentClass GXmlGomXsdComplexContentClass;
typedef struct _GXmlGomXsdComplexContentPrivate GXmlGomXsdComplexContentPrivate;

#define GXML_TYPE_GOM_XSD_OPEN_CONTENT (gxml_gom_xsd_open_content_get_type ())
#define GXML_GOM_XSD_OPEN_CONTENT(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), GXML_TYPE_GOM_XSD_OPEN_CONTENT, GXmlGomXsdOpenContent))
#define GXML_GOM_XSD_OPEN_CONTENT_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), GXML_TYPE_GOM_XSD_OPEN_CONTENT, GXmlGomXsdOpenContentClass))
#define GXML_IS_GOM_XSD_OPEN_CONTENT(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GXML_TYPE_GOM_XSD_OPEN_CONTENT))
#define GXML_IS_GOM_XSD_OPEN_CONTENT_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), GXML_TYPE_GOM_XSD_OPEN_CONTENT))
#define GXML_GOM_XSD_OPEN_CONTENT_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), GXML_TYPE_GOM_XSD_OPEN_CONTENT, GXmlGomXsdOpenContentClass))

typedef struct _GXmlGomXsdOpenContent GXmlGomXsdOpenContent;
typedef struct _GXmlGomXsdOpenContentClass GXmlGomXsdOpenContentClass;
typedef struct _GXmlGomXsdOpenContentPrivate GXmlGomXsdOpenContentPrivate;

#define GXML_TYPE_GOM_XSD_BASE_ATTRIBUTE (gxml_gom_xsd_base_attribute_get_type ())
#define GXML_GOM_XSD_BASE_ATTRIBUTE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), GXML_TYPE_GOM_XSD_BASE_ATTRIBUTE, GXmlGomXsdBaseAttribute))
#define GXML_GOM_XSD_BASE_ATTRIBUTE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), GXML_TYPE_GOM_XSD_BASE_ATTRIBUTE, GXmlGomXsdBaseAttributeClass))
#define GXML_IS_GOM_XSD_BASE_ATTRIBUTE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GXML_TYPE_GOM_XSD_BASE_ATTRIBUTE))
#define GXML_IS_GOM_XSD_BASE_ATTRIBUTE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), GXML_TYPE_GOM_XSD_BASE_ATTRIBUTE))
#define GXML_GOM_XSD_BASE_ATTRIBUTE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), GXML_TYPE_GOM_XSD_BASE_ATTRIBUTE, GXmlGomXsdBaseAttributeClass))

typedef struct _GXmlGomXsdBaseAttribute GXmlGomXsdBaseAttribute;
typedef struct _GXmlGomXsdBaseAttributeClass GXmlGomXsdBaseAttributeClass;
typedef struct _GXmlGomXsdBaseAttributePrivate GXmlGomXsdBaseAttributePrivate;

#define GXML_TYPE_GOM_XSD_ATTRIBUTE (gxml_gom_xsd_attribute_get_type ())
#define GXML_GOM_XSD_ATTRIBUTE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), GXML_TYPE_GOM_XSD_ATTRIBUTE, GXmlGomXsdAttribute))
#define GXML_GOM_XSD_ATTRIBUTE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), GXML_TYPE_GOM_XSD_ATTRIBUTE, GXmlGomXsdAttributeClass))
#define GXML_IS_GOM_XSD_ATTRIBUTE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GXML_TYPE_GOM_XSD_ATTRIBUTE))
#define GXML_IS_GOM_XSD_ATTRIBUTE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), GXML_TYPE_GOM_XSD_ATTRIBUTE))
#define GXML_GOM_XSD_ATTRIBUTE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), GXML_TYPE_GOM_XSD_ATTRIBUTE, GXmlGomXsdAttributeClass))

typedef struct _GXmlGomXsdAttribute GXmlGomXsdAttribute;
typedef struct _GXmlGomXsdAttributeClass GXmlGomXsdAttributeClass;
typedef struct _GXmlGomXsdAttributePrivate GXmlGomXsdAttributePrivate;

#define GXML_TYPE_GOM_XSD_ATTRIBUTE_GROUP (gxml_gom_xsd_attribute_group_get_type ())
#define GXML_GOM_XSD_ATTRIBUTE_GROUP(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), GXML_TYPE_GOM_XSD_ATTRIBUTE_GROUP, GXmlGomXsdAttributeGroup))
#define GXML_GOM_XSD_ATTRIBUTE_GROUP_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), GXML_TYPE_GOM_XSD_ATTRIBUTE_GROUP, GXmlGomXsdAttributeGroupClass))
#define GXML_IS_GOM_XSD_ATTRIBUTE_GROUP(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GXML_TYPE_GOM_XSD_ATTRIBUTE_GROUP))
#define GXML_IS_GOM_XSD_ATTRIBUTE_GROUP_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), GXML_TYPE_GOM_XSD_ATTRIBUTE_GROUP))
#define GXML_GOM_XSD_ATTRIBUTE_GROUP_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), GXML_TYPE_GOM_XSD_ATTRIBUTE_GROUP, GXmlGomXsdAttributeGroupClass))

typedef struct _GXmlGomXsdAttributeGroup GXmlGomXsdAttributeGroup;
typedef struct _GXmlGomXsdAttributeGroupClass GXmlGomXsdAttributeGroupClass;
typedef struct _GXmlGomXsdAttributeGroupPrivate GXmlGomXsdAttributeGroupPrivate;
typedef struct _GXmlBaseCollectionPrivate GXmlBaseCollectionPrivate;

#define GXML_TYPE_GOM_COLLECTION (gxml_gom_collection_get_type ())
#define GXML_GOM_COLLECTION(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), GXML_TYPE_GOM_COLLECTION, GXmlGomCollection))
#define GXML_IS_GOM_COLLECTION(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GXML_TYPE_GOM_COLLECTION))
#define GXML_GOM_COLLECTION_GET_INTERFACE(obj) (G_TYPE_INSTANCE_GET_INTERFACE ((obj), GXML_TYPE_GOM_COLLECTION, GXmlGomCollectionIface))

typedef struct _GXmlGomCollection GXmlGomCollection;
typedef struct _GXmlGomCollectionIface GXmlGomCollectionIface;
typedef struct _GXmlGomArrayListPrivate GXmlGomArrayListPrivate;
typedef struct _GXmlGomXsdListPrivate GXmlGomXsdListPrivate;
#define _g_error_free0(var) ((var == NULL) ? NULL : (var = (g_error_free (var), NULL)))
typedef struct _GXmlGomXsdListElementsPrivate GXmlGomXsdListElementsPrivate;
typedef struct _GXmlGomXsdListSimpleTypesPrivate GXmlGomXsdListSimpleTypesPrivate;
typedef struct _GXmlGomXsdListComplexTypesPrivate GXmlGomXsdListComplexTypesPrivate;
typedef struct _GXmlGomXsdListTypeRestrictionEnumerationsPrivate GXmlGomXsdListTypeRestrictionEnumerationsPrivate;
typedef struct _GXmlGomXsdListTypeRestrictionWhiteSpacesPrivate GXmlGomXsdListTypeRestrictionWhiteSpacesPrivate;

typedef enum  {
	GXML_DOM_EVENT_PHASE_NONE = 0,
	GXML_DOM_EVENT_PHASE_CAPTURING_PHASE,
	GXML_DOM_EVENT_PHASE_AT_TARGET,
	GXML_DOM_EVENT_PHASE_BUBBLING_PHASE
} GXmlDomEventPhase;

struct _GXmlDomEventIface {
	GTypeInterface parent_iface;
	void (*stop_propagation) (GXmlDomEvent* self);
	void (*stop_immediate_propagation) (GXmlDomEvent* self);
	void (*prevent_default) (GXmlDomEvent* self);
	void (*init_event) (GXmlDomEvent* self, const gchar* type, gboolean bubbles, gboolean cancelable);
	const gchar* (*get_etype) (GXmlDomEvent* self);
	GXmlDomEventTarget* (*get_event_target) (GXmlDomEvent* self);
	GXmlDomEventTarget* (*get_current_target) (GXmlDomEvent* self);
	gboolean (*get_bubbles) (GXmlDomEvent* self);
	gboolean (*get_cancelable) (GXmlDomEvent* self);
	gboolean (*get_is_trusted) (GXmlDomEvent* self);
	GXmlDomTimeStamp* (*get_time_stamp) (GXmlDomEvent* self);
	gboolean (*get_default_prevented) (GXmlDomEvent* self);
	GXmlDomEventPhase (*get_event_phase) (GXmlDomEvent* self);
};

struct _GXmlDomEventListenerIface {
	GTypeInterface parent_iface;
	void (*handle_event) (GXmlDomEventListener* self, GXmlDomEvent* event);
};

struct _GXmlDomEventTargetIface {
	GTypeInterface parent_iface;
	void (*add_event_listener) (GXmlDomEventTarget* self, const gchar* type, GXmlDomEventListener* callback, gboolean capture);
	void (*remove_event_listener) (GXmlDomEventTarget* self, const gchar* type, GXmlDomEventListener* callback, gboolean capture);
	gboolean (*dispatch_event) (GXmlDomEventTarget* self, GXmlDomEvent* event, GError** error);
};

typedef enum  {
	GXML_DOM_NODE_DOCUMENT_POSITION_NONE = 1 << 0,
	GXML_DOM_NODE_DOCUMENT_POSITION_DISCONNECTED = 1 << 1,
	GXML_DOM_NODE_DOCUMENT_POSITION_PRECEDING = 1 << 2,
	GXML_DOM_NODE_DOCUMENT_POSITION_FOLLOWING = 1 << 3,
	GXML_DOM_NODE_DOCUMENT_POSITION_CONTAINS = 1 << 4,
	GXML_DOM_NODE_DOCUMENT_POSITION_CONTAINED_BY = 1 << 5,
	GXML_DOM_NODE_DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC = 1 << 6
} GXmlDomNodeDocumentPosition;

typedef enum  {
	GXML_DOM_NODE_NODE_TYPE_INVALID = 0,
	GXML_DOM_NODE_NODE_TYPE_ELEMENT_NODE = 1,
	GXML_DOM_NODE_NODE_TYPE_ATTRIBUTE_NODE,
	GXML_DOM_NODE_NODE_TYPE_TEXT_NODE,
	GXML_DOM_NODE_NODE_TYPE_CDATA_SECTION_NODE,
	GXML_DOM_NODE_NODE_TYPE_ENTITY_REFERENCE_NODE,
	GXML_DOM_NODE_NODE_TYPE_ENTITY_NODE,
	GXML_DOM_NODE_NODE_TYPE_PROCESSING_INSTRUCTION_NODE,
	GXML_DOM_NODE_NODE_TYPE_COMMENT_NODE,
	GXML_DOM_NODE_NODE_TYPE_DOCUMENT_NODE,
	GXML_DOM_NODE_NODE_TYPE_DOCUMENT_TYPE_NODE,
	GXML_DOM_NODE_NODE_TYPE_DOCUMENT_FRAGMENT_NODE,
	GXML_DOM_NODE_NODE_TYPE_NOTATION_NODE
} GXmlDomNodeNodeType;

struct _GXmlDomChildNodeIface {
	GTypeInterface parent_iface;
	void (*remove) (GXmlDomChildNode* self);
};

struct _GXmlDomNonDocumentTypeChildNodeIface {
	GTypeInterface parent_iface;
	GXmlDomElement* (*get_previous_element_sibling) (GXmlDomNonDocumentTypeChildNode* self);
	GXmlDomElement* (*get_next_element_sibling) (GXmlDomNonDocumentTypeChildNode* self);
};

struct _GXmlDomHTMLCollectionIface {
	GTypeInterface parent_iface;
	GXmlDomElement* (*get_element) (GXmlDomHTMLCollection* self, gint index);
	GXmlDomElement** (*to_array) (GXmlDomHTMLCollection* self, int* result_length1);
	GXmlDomElement* (*item) (GXmlDomHTMLCollection* self, gint index);
	GXmlDomElement* (*named_item) (GXmlDomHTMLCollection* self, const gchar* name);
	gint (*get_length) (GXmlDomHTMLCollection* self);
};

struct _GXmlDomTokenListIface {
	GTypeInterface parent_iface;
	gchar* (*item) (GXmlDomTokenList* self, gint index);
	gboolean (*contains) (GXmlDomTokenList* self, const gchar* token, GError** error);
	void (*add) (GXmlDomTokenList* self, gchar** tokens, int tokens_length1, GError** error);
	void (*remove) (GXmlDomTokenList* self, gchar** tokens, int tokens_length1);
	gboolean (*toggle) (GXmlDomTokenList* self, const gchar* token, gboolean force, gboolean _auto_, GError** error);
	gchar* (*to_string) (GXmlDomTokenList* self);
	gint (*get_length) (GXmlDomTokenList* self);
};

struct _GXmlDomNamedNodeMapIface {
	GTypeInterface parent_iface;
	GXmlDomNode* (*item) (GXmlDomNamedNodeMap* self, gint index);
	GXmlDomNode* (*get_named_item) (GXmlDomNamedNodeMap* self, const gchar* name);
	GXmlDomNode* (*set_named_item) (GXmlDomNamedNodeMap* self, GXmlDomNode* node, GError** error);
	GXmlDomNode* (*remove_named_item) (GXmlDomNamedNodeMap* self, const gchar* name, GError** error);
	GXmlDomNode* (*remove_named_item_ns) (GXmlDomNamedNodeMap* self, const gchar* namespace_uri, const gchar* localName, GError** error);
	GXmlDomNode* (*get_named_item_ns) (GXmlDomNamedNodeMap* self, const gchar* namespace_uri, const gchar* local_name, GError** error);
	GXmlDomNode* (*set_named_item_ns) (GXmlDomNamedNodeMap* self, GXmlDomNode* node, GError** error);
	gint (*get_length) (GXmlDomNamedNodeMap* self);
};

struct _GXmlDomElementIface {
	GTypeInterface parent_iface;
	gchar* (*get_attribute) (GXmlDomElement* self, const gchar* name);
	gchar* (*get_attribute_ns) (GXmlDomElement* self, const gchar* namespace, const gchar* local_name);
	void (*set_attribute) (GXmlDomElement* self, const gchar* name, const gchar* value, GError** error);
	void (*set_attribute_ns) (GXmlDomElement* self, const gchar* namespace, const gchar* name, const gchar* value, GError** error);
	void (*remove_attribute) (GXmlDomElement* self, const gchar* name);
	void (*remove_attribute_ns) (GXmlDomElement* self, const gchar* namespace, const gchar* local_name);
	gboolean (*has_attribute) (GXmlDomElement* self, const gchar* name);
	gboolean (*has_attribute_ns) (GXmlDomElement* self, const gchar* namespace, const gchar* local_name);
	GXmlDomHTMLCollection* (*get_elements_by_tag_name) (GXmlDomElement* self, const gchar* local_name);
	GXmlDomHTMLCollection* (*get_elements_by_tag_name_ns) (GXmlDomElement* self, const gchar* namespace, const gchar* local_name);
	GXmlDomHTMLCollection* (*get_elements_by_class_name) (GXmlDomElement* self, const gchar* class_names);
	gchar* (*get_namespace_uri) (GXmlDomElement* self);
	gchar* (*get_prefix) (GXmlDomElement* self);
	gchar* (*get_local_name) (GXmlDomElement* self);
	gchar* (*get_tag_name) (GXmlDomElement* self);
	gchar* (*get_id) (GXmlDomElement* self);
	void (*set_id) (GXmlDomElement* self, const gchar* value);
	gchar* (*get_class_name) (GXmlDomElement* self);
	void (*set_class_name) (GXmlDomElement* self, const gchar* value);
	GXmlDomTokenList* (*get_class_list) (GXmlDomElement* self);
	GXmlDomNamedNodeMap* (*get_attributes) (GXmlDomElement* self);
};

struct _GXmlDomNodeListIface {
	GTypeInterface parent_iface;
	GXmlDomNode* (*item) (GXmlDomNodeList* self, gint index);
	gint (*get_length) (GXmlDomNodeList* self);
};

struct _GXmlDomParentNodeIface {
	GTypeInterface parent_iface;
	GXmlDomElement* (*query_selector) (GXmlDomParentNode* self, const gchar* selectors, GError** error);
	GXmlDomNodeList* (*query_selector_all) (GXmlDomParentNode* self, const gchar* selectors, GError** error);
	GXmlDomElementList* (*get_elements_by_property_value) (GXmlDomParentNode* self, const gchar* property, const gchar* value);
	GXmlDomHTMLCollection* (*get_children) (GXmlDomParentNode* self);
	GXmlDomElement* (*get_first_element_child) (GXmlDomParentNode* self);
	GXmlDomElement* (*get_last_element_child) (GXmlDomParentNode* self);
	gint (*get_child_element_count) (GXmlDomParentNode* self);
};

struct _GXmlDomNonElementParentNodeIface {
	GTypeInterface parent_iface;
	GXmlDomElement* (*get_element_by_id) (GXmlDomNonElementParentNode* self, const gchar* element_id, GError** error);
};

struct _GXmlDomDocumentFragmentIface {
	GTypeInterface parent_iface;
};

struct _GXmlDomCharacterDataIface {
	GTypeInterface parent_iface;
	gchar* (*substring_data) (GXmlDomCharacterData* self, gint offset, gint count, GError** error);
	void (*append_data) (GXmlDomCharacterData* self, const gchar* data);
	void (*insert_data) (GXmlDomCharacterData* self, gint offset, const gchar* data, GError** error);
	void (*delete_data) (GXmlDomCharacterData* self, gint offset, gint count, GError** error);
	void (*replace_data) (GXmlDomCharacterData* self, gint offset, gint count, const gchar* data, GError** error);
	gchar* (*get_data) (GXmlDomCharacterData* self);
	void (*set_data) (GXmlDomCharacterData* self, const gchar* value);
	gint (*get_length) (GXmlDomCharacterData* self);
};

struct _GXmlDomTextIface {
	GTypeInterface parent_iface;
	GXmlDomText* (*split_text) (GXmlDomText* self, gint offset, GError** error);
	gchar* (*get_whole_text) (GXmlDomText* self);
};

struct _GXmlDomCommentIface {
	GTypeInterface parent_iface;
};

struct _GXmlDomProcessingInstructionIface {
	GTypeInterface parent_iface;
	gchar* (*get_target) (GXmlDomProcessingInstruction* self);
};

typedef enum  {
	GXML_DOM_RANGE_BOUNDARY_POINTS_START_TO_START = 0,
	GXML_DOM_RANGE_BOUNDARY_POINTS_START_TO_END,
	GXML_DOM_RANGE_BOUNDARY_POINTS_END_TO_END,
	GXML_DOM_RANGE_BOUNDARY_POINTS_END_TO_START
} GXmlDomRangeBoundaryPoints;

struct _GXmlDomRangeIface {
	GTypeInterface parent_iface;
	void (*set_start) (GXmlDomRange* self, GXmlDomNode* node, gint offset, GError** error);
	void (*set_end) (GXmlDomRange* self, GXmlDomNode* node, gint offset, GError** error);
	void (*set_start_before) (GXmlDomRange* self, GXmlDomNode* node, GError** error);
	void (*set_start_after) (GXmlDomRange* self, GXmlDomNode* node, GError** error);
	void (*set_end_before) (GXmlDomRange* self, GXmlDomNode* node, GError** error);
	void (*set_end_after) (GXmlDomRange* self, GXmlDomNode* node, GError** error);
	void (*collapse) (GXmlDomRange* self, gboolean to_start, GError** error);
	void (*select_node) (GXmlDomRange* self, GXmlDomNode* node, GError** error);
	void (*select_node_contents) (GXmlDomRange* self, GXmlDomNode* node, GError** error);
	gint (*compare_boundary_points) (GXmlDomRange* self, GXmlDomRangeBoundaryPoints how, GXmlDomRange* sourceRange, GError** error);
	void (*delete_contents) (GXmlDomRange* self, GError** error);
	GXmlDomDocumentFragment* (*extract_contents) (GXmlDomRange* self, GError** error);
	GXmlDomDocumentFragment* (*clone_contents) (GXmlDomRange* self, GError** error);
	void (*insert_node) (GXmlDomRange* self, GXmlDomNode* node);
	void (*surround_contents) (GXmlDomRange* self, GXmlDomNode* newParent);
	GXmlDomRange* (*clone_range) (GXmlDomRange* self);
	void (*detach) (GXmlDomRange* self);
	gboolean (*is_point_in_range) (GXmlDomRange* self, GXmlDomNode* node, gint offset);
	gshort (*compare_point) (GXmlDomRange* self, GXmlDomNode* node, gint offset);
	gboolean (*intersects_node) (GXmlDomRange* self, GXmlDomNode* node);
	gchar* (*to_string) (GXmlDomRange* self);
	GXmlDomNode* (*get_start_container) (GXmlDomRange* self);
	gint (*get_start_offset) (GXmlDomRange* self);
	GXmlDomNode* (*get_end_container) (GXmlDomRange* self);
	gint (*get_end_offset) (GXmlDomRange* self);
	gboolean (*get_collapsed) (GXmlDomRange* self);
	GXmlDomNode* (*get_common_ancestor_container) (GXmlDomRange* self);
};

struct _GXmlDomNodeIteratorIface {
	GTypeInterface parent_iface;
	GXmlDomNode* (*next_node) (GXmlDomNodeIterator* self);
	GXmlDomNode* (*previous_node) (GXmlDomNodeIterator* self);
	void (*detach) (GXmlDomNodeIterator* self);
	GXmlDomNode* (*get_root) (GXmlDomNodeIterator* self);
	GXmlDomNode* (*get_reference_node) (GXmlDomNodeIterator* self);
	gboolean (*get_pointer_before_reference_node) (GXmlDomNodeIterator* self);
	gint (*get_what_to_show) (GXmlDomNodeIterator* self);
	GXmlDomNodeFilter* (*get_filter) (GXmlDomNodeIterator* self);
};

struct _GXmlDomTreeWalkerIface {
	GTypeInterface parent_iface;
	GXmlDomNode* (*parentNode) (GXmlDomTreeWalker* self);
	GXmlDomNode* (*firstChild) (GXmlDomTreeWalker* self);
	GXmlDomNode* (*lastChild) (GXmlDomTreeWalker* self);
	GXmlDomNode* (*previousSibling) (GXmlDomTreeWalker* self);
	GXmlDomNode* (*nextSibling) (GXmlDomTreeWalker* self);
	GXmlDomNode* (*previousNode) (GXmlDomTreeWalker* self);
	GXmlDomNode* (*nextNode) (GXmlDomTreeWalker* self);
	GXmlDomNode* (*get_root) (GXmlDomTreeWalker* self);
	gint (*get_what_to_show) (GXmlDomTreeWalker* self);
	GXmlDomNodeFilter* (*get_filter) (GXmlDomTreeWalker* self);
	GXmlDomNode* (*get_current_node) (GXmlDomTreeWalker* self);
};

struct _GXmlDomDocumentTypeIface {
	GTypeInterface parent_iface;
	const gchar* (*get_name) (GXmlDomDocumentType* self);
	const gchar* (*get_public_id) (GXmlDomDocumentType* self);
	const gchar* (*get_system_id) (GXmlDomDocumentType* self);
};

struct _GXmlDomXMLDocumentIface {
	GTypeInterface parent_iface;
};

struct _GXmlNamespaceIface {
	GTypeInterface parent_iface;
	gchar* (*get_uri) (GXmlNamespace* self);
	gchar* (*get_prefix) (GXmlNamespace* self);
};

typedef enum  {
	GXML_NODE_TYPE_INVALID = 0,
	GXML_NODE_TYPE_ELEMENT = 1,
	GXML_NODE_TYPE_ATTRIBUTE,
	GXML_NODE_TYPE_TEXT,
	GXML_NODE_TYPE_CDATA_SECTION,
	GXML_NODE_TYPE_ENTITY_REFERENCE,
	GXML_NODE_TYPE_ENTITY,
	GXML_NODE_TYPE_PROCESSING_INSTRUCTION,
	GXML_NODE_TYPE_COMMENT,
	GXML_NODE_TYPE_DOCUMENT,
	GXML_NODE_TYPE_DOCUMENT_TYPE,
	GXML_NODE_TYPE_DOCUMENT_FRAGMENT,
	GXML_NODE_TYPE_NOTATION
} GXmlNodeType;

struct _GXmlNodeIface {
	GTypeInterface parent_iface;
	GXmlNode* (*get) (GXmlNode* self, const gchar* key);
	GXmlElementList* (*get_elements_by_property_value) (GXmlNode* self, const gchar* property, const gchar* value);
	GXmlElementList* (*get_elements_by_name) (GXmlNode* self, const gchar* name);
	GXmlElementList* (*get_elements_by_name_ns) (GXmlNode* self, const gchar* name, const gchar* ns);
	gchar* (*to_string) (GXmlNode* self);
	gboolean (*set_namespace) (GXmlNode* self, const gchar* uri, const gchar* prefix);
	gchar* (*ns_prefix) (GXmlNode* self);
	gchar* (*ns_uri) (GXmlNode* self);
	GeeList* (*get_namespaces) (GXmlNode* self);
	GeeBidirList* (*get_children_nodes) (GXmlNode* self);
	GeeMap* (*get_attrs) (GXmlNode* self);
	gchar* (*get_name) (GXmlNode* self);
	gchar* (*get_value) (GXmlNode* self);
	void (*set_value) (GXmlNode* self, const gchar* value);
	GXmlNodeType (*get_type_node) (GXmlNode* self);
	GXmlDocument* (*get_document) (GXmlNode* self);
	GXmlNode* (*get_parent) (GXmlNode* self);
};

struct _GXmlDocumentIface {
	GTypeInterface parent_iface;
	GXmlNode* (*create_element) (GXmlDocument* self, const gchar* name, GError** error);
	GXmlNode* (*create_text) (GXmlDocument* self, const gchar* text);
	GXmlNode* (*create_comment) (GXmlDocument* self, const gchar* text);
	GXmlNode* (*create_cdata) (GXmlDocument* self, const gchar* text);
	GXmlNode* (*create_pi) (GXmlDocument* self, const gchar* target, const gchar* data);
	gboolean (*save) (GXmlDocument* self, GCancellable* cancellable, GError** error);
	gboolean (*save_as) (GXmlDocument* self, GFile* f, GCancellable* cancellable, GError** error);
	gboolean (*get_indent) (GXmlDocument* self);
	void (*set_indent) (GXmlDocument* self, gboolean value);
	gboolean (*get_ns_top) (GXmlDocument* self);
	void (*set_ns_top) (GXmlDocument* self, gboolean value);
	gboolean (*get_prefix_default_ns) (GXmlDocument* self);
	void (*set_prefix_default_ns) (GXmlDocument* self, gboolean value);
	gboolean (*get_backup) (GXmlDocument* self);
	void (*set_backup) (GXmlDocument* self, gboolean value);
	GXmlNode* (*get_root) (GXmlDocument* self);
	GFile* (*get_file) (GXmlDocument* self);
	void (*set_file) (GXmlDocument* self, GFile* value);
};

struct _GXmlDomImplementationIface {
	GTypeInterface parent_iface;
	GXmlDomDocumentType* (*create_document_type) (GXmlDomImplementation* self, const gchar* qualified_name, const gchar* public_id, const gchar* system_id, GError** error);
	GXmlDomXMLDocument* (*create_document) (GXmlDomImplementation* self, const gchar* nspace, const gchar* qualified_name, GXmlDomDocumentType* doctype, GError** error);
	GXmlDocument* (*create_html_document) (GXmlDomImplementation* self, const gchar* title);
	gboolean (*has_feature) (GXmlDomImplementation* self);
};

struct _GXmlDomDocumentIface {
	GTypeInterface parent_iface;
	GXmlDomHTMLCollection* (*get_elements_by_tag_name) (GXmlDomDocument* self, const gchar* local_name);
	GXmlDomHTMLCollection* (*get_elements_by_tag_name_ns) (GXmlDomDocument* self, const gchar* namespace, const gchar* local_name);
	GXmlDomHTMLCollection* (*get_elements_by_class_name) (GXmlDomDocument* self, const gchar* classNames);
	GXmlDomElement* (*create_element) (GXmlDomDocument* self, const gchar* local_name, GError** error);
	GXmlDomElement* (*create_element_ns) (GXmlDomDocument* self, const gchar* namespace, const gchar* qualified_name, GError** error);
	GXmlDomDocumentFragment* (*create_document_fragment) (GXmlDomDocument* self);
	GXmlDomText* (*create_text_node) (GXmlDomDocument* self, const gchar* data, GError** error);
	GXmlDomComment* (*create_comment) (GXmlDomDocument* self, const gchar* data, GError** error);
	GXmlDomProcessingInstruction* (*create_processing_instruction) (GXmlDomDocument* self, const gchar* target, const gchar* data, GError** error);
	GXmlDomNode* (*import_node) (GXmlDomDocument* self, GXmlDomNode* node, gboolean deep, GError** error);
	GXmlDomNode* (*adopt_node) (GXmlDomDocument* self, GXmlDomNode* node, GError** error);
	GXmlDomEvent* (*create_event) (GXmlDomDocument* self, const gchar* interface, GError** error);
	GXmlDomRange* (*create_range) (GXmlDomDocument* self);
	GXmlDomNodeIterator* (*create_node_iterator) (GXmlDomDocument* self, GXmlDomNode* root, gint whatToShow, GXmlDomNodeFilter* filter);
	GXmlDomTreeWalker* (*create_tree_walker) (GXmlDomDocument* self, GXmlDomNode* root, gint what_to_show, GXmlDomNodeFilter* filter);
	GXmlDomImplementation* (*get_implementation) (GXmlDomDocument* self);
	const gchar* (*get_url) (GXmlDomDocument* self);
	const gchar* (*get_document_uri) (GXmlDomDocument* self);
	const gchar* (*get_origin) (GXmlDomDocument* self);
	const gchar* (*get_compat_mode) (GXmlDomDocument* self);
	const gchar* (*get_character_set) (GXmlDomDocument* self);
	const gchar* (*get_content_type) (GXmlDomDocument* self);
	GXmlDomDocumentType* (*get_doctype) (GXmlDomDocument* self);
	GXmlDomElement* (*get_document_element) (GXmlDomDocument* self);
};

struct _GXmlDomNodeIface {
	GTypeInterface parent_iface;
	gboolean (*has_child_nodes) (GXmlDomNode* self);
	void (*normalize) (GXmlDomNode* self);
	gboolean (*is_equal_node) (GXmlDomNode* self, GXmlDomNode* node);
	GXmlDomNodeDocumentPosition (*compare_document_position) (GXmlDomNode* self, GXmlDomNode* other);
	gboolean (*contains) (GXmlDomNode* self, GXmlDomNode* other);
	gchar* (*lookup_prefix) (GXmlDomNode* self, const gchar* nspace);
	gchar* (*lookup_namespace_uri) (GXmlDomNode* self, const gchar* prefix);
	gboolean (*is_default_namespace) (GXmlDomNode* self, const gchar* nspace);
	GXmlDomNode* (*insert_before) (GXmlDomNode* self, GXmlDomNode* node, GXmlDomNode* child, GError** error);
	GXmlDomNode* (*append_child) (GXmlDomNode* self, GXmlDomNode* node, GError** error);
	GXmlDomNode* (*replace_child) (GXmlDomNode* self, GXmlDomNode* node, GXmlDomNode* child, GError** error);
	GXmlDomNode* (*remove_child) (GXmlDomNode* self, GXmlDomNode* child, GError** error);
	GXmlDomNode* (*clone_node) (GXmlDomNode* self, gboolean deep, GError** error);
	GXmlDomNodeNodeType (*get_node_type) (GXmlDomNode* self);
	gchar* (*get_node_name) (GXmlDomNode* self);
	const gchar* (*get_base_uri) (GXmlDomNode* self);
	GXmlDomDocument* (*get_owner_document) (GXmlDomNode* self);
	void (*set_owner_document) (GXmlDomNode* self, GXmlDomDocument* value);
	GXmlDomNode* (*get_parent_node) (GXmlDomNode* self);
	GXmlDomElement* (*get_parent_element) (GXmlDomNode* self);
	GXmlDomNodeList* (*get_child_nodes) (GXmlDomNode* self);
	GXmlDomNode* (*get_first_child) (GXmlDomNode* self);
	GXmlDomNode* (*get_last_child) (GXmlDomNode* self);
	GXmlDomNode* (*get_previous_sibling) (GXmlDomNode* self);
	GXmlDomNode* (*get_next_sibling) (GXmlDomNode* self);
	gchar* (*get_node_value) (GXmlDomNode* self);
	void (*set_node_value) (GXmlDomNode* self, const gchar* value);
	gchar* (*get_text_content) (GXmlDomNode* self);
	void (*set_text_content) (GXmlDomNode* self, const gchar* value);
};

struct _GXmlGomNode {
	GObject parent_instance;
	GXmlGomNodePrivate * priv;
	gchar* _local_name;
	gchar* _prefix;
	gchar* _base_uri;
	gchar* _node_value;
	GXmlDomNode* _parent;
	GXmlDomNodeNodeType _node_type;
	GXmlGomNodeList* _child_nodes;
	GXmlDomDocument* _document;
};

struct _GXmlGomNodeClass {
	GObjectClass parent_class;
};

struct _GXmlGomObjectIface {
	GTypeInterface parent_iface;
	GList* (*get_properties_list) (GXmlGomObject* self);
	GParamSpec* (*find_property_name) (GXmlGomObject* self, const gchar* pname);
	GParamSpec* (*find_object_property_name) (GXmlGomObject* self, const gchar* pname);
	GList* (*get_property_element_list) (GXmlGomObject* self);
	gchar* (*get_property_string) (GXmlGomObject* self, GParamSpec* prop);
	gchar* (*get_attribute) (GXmlGomObject* self, const gchar* name);
	gboolean (*set_attribute) (GXmlGomObject* self, const gchar* name, const gchar* val);
	GXmlDomElement* (*get_child) (GXmlGomObject* self, const gchar* name);
	GXmlDomElementList* (*find_elements) (GXmlGomObject* self, const gchar* name);
	gboolean (*remove_attribute) (GXmlGomObject* self, const gchar* name);
	gboolean (*set_instance_property) (GXmlGomObject* self, const gchar* name);
	void (*clean_property_elements) (GXmlGomObject* self, const gchar* name, GError** error);
};

struct _GXmlGomElement {
	GXmlGomNode parent_instance;
	GXmlGomElementPrivate * priv;
	GXmlGomElementAttributes* _attributes;
	gchar* _namespace_uri;
};

struct _GXmlGomElementClass {
	GXmlGomNodeClass parent_class;
};

struct _GXmlGomXsdSchema {
	GXmlGomElement parent_instance;
	GXmlGomXsdSchemaPrivate * priv;
};

struct _GXmlGomXsdSchemaClass {
	GXmlGomElementClass parent_class;
};

struct _GXmlGomXsdSchemaPrivate {
	GXmlGomXsdListElements* _element_definitions;
	GXmlGomXsdListSimpleTypes* _simple_type_definitions;
	GXmlGomXsdListComplexTypes* _complex_type_definitions;
};

struct _GXmlGomXsdSimpleType {
	GXmlGomElement parent_instance;
	GXmlGomXsdSimpleTypePrivate * priv;
};

struct _GXmlGomXsdSimpleTypeClass {
	GXmlGomElementClass parent_class;
};

struct _GXmlGomXsdSimpleTypePrivate {
	gchar* _final;
	gchar* _name;
	GXmlGomXsdAnnotation* _annotation;
	GXmlGomXsdTypeList* _list;
	GXmlGomXsdTypeUnion* _union;
	GXmlGomXsdTypeRestriction* _restriction;
};

struct _GXmlGomXsdTypeDefinition {
	GXmlGomElement parent_instance;
	GXmlGomXsdTypeDefinitionPrivate * priv;
};

struct _GXmlGomXsdTypeDefinitionClass {
	GXmlGomElementClass parent_class;
};

struct _GXmlGomXsdTypeDefinitionPrivate {
	GXmlGomXsdAnnotation* _annotation;
};

struct _GXmlGomXsdTypeList {
	GXmlGomXsdTypeDefinition parent_instance;
	GXmlGomXsdTypeListPrivate * priv;
};

struct _GXmlGomXsdTypeListClass {
	GXmlGomXsdTypeDefinitionClass parent_class;
};

struct _GXmlGomXsdTypeUnion {
	GXmlGomXsdTypeDefinition parent_instance;
	GXmlGomXsdTypeUnionPrivate * priv;
};

struct _GXmlGomXsdTypeUnionClass {
	GXmlGomXsdTypeDefinitionClass parent_class;
};

struct _GXmlGomXsdTypeRestriction {
	GXmlGomXsdTypeDefinition parent_instance;
	GXmlGomXsdTypeRestrictionPrivate * priv;
};

struct _GXmlGomXsdTypeRestrictionClass {
	GXmlGomXsdTypeDefinitionClass parent_class;
};

struct _GXmlGomXsdTypeRestrictionPrivate {
	gchar* _base;
	GXmlGomXsdSimpleType* _simple_type;
	GXmlGomXsdListTypeRestrictionEnumerations* _enumerations;
	GXmlGomXsdListTypeRestrictionWhiteSpaces* _white_spaces;
};

struct _GXmlGomXsdTypeRestrictionDef {
	GXmlGomElement parent_instance;
	GXmlGomXsdTypeRestrictionDefPrivate * priv;
};

struct _GXmlGomXsdTypeRestrictionDefClass {
	GXmlGomElementClass parent_class;
};

struct _GXmlGomXsdTypeRestrictionDefPrivate {
	GXmlGomXsdAnnotation* _annotation;
};

struct _GXmlGomXsdTypeRestrictionMinExclusive {
	GXmlGomXsdTypeRestrictionDef parent_instance;
	GXmlGomXsdTypeRestrictionMinExclusivePrivate * priv;
};

struct _GXmlGomXsdTypeRestrictionMinExclusiveClass {
	GXmlGomXsdTypeRestrictionDefClass parent_class;
};

struct _GXmlGomXsdTypeRestrictionMinInclusive {
	GXmlGomXsdTypeRestrictionDef parent_instance;
	GXmlGomXsdTypeRestrictionMinInclusivePrivate * priv;
};

struct _GXmlGomXsdTypeRestrictionMinInclusiveClass {
	GXmlGomXsdTypeRestrictionDefClass parent_class;
};

struct _GXmlGomXsdTypeRestrictionMaxExclusive {
	GXmlGomXsdTypeRestrictionDef parent_instance;
	GXmlGomXsdTypeRestrictionMaxExclusivePrivate * priv;
};

struct _GXmlGomXsdTypeRestrictionMaxExclusiveClass {
	GXmlGomXsdTypeRestrictionDefClass parent_class;
};

struct _GXmlGomXsdTypeRestrictionMaxInclusive {
	GXmlGomXsdTypeRestrictionDef parent_instance;
	GXmlGomXsdTypeRestrictionMaxInclusivePrivate * priv;
};

struct _GXmlGomXsdTypeRestrictionMaxInclusiveClass {
	GXmlGomXsdTypeRestrictionDefClass parent_class;
};

struct _GXmlGomXsdTypeRestrictionTotalDigits {
	GXmlGomXsdTypeRestrictionDef parent_instance;
	GXmlGomXsdTypeRestrictionTotalDigitsPrivate * priv;
};

struct _GXmlGomXsdTypeRestrictionTotalDigitsClass {
	GXmlGomXsdTypeRestrictionDefClass parent_class;
};

struct _GXmlGomXsdTypeRestrictionFractionDigits {
	GXmlGomXsdTypeRestrictionDef parent_instance;
	GXmlGomXsdTypeRestrictionFractionDigitsPrivate * priv;
};

struct _GXmlGomXsdTypeRestrictionFractionDigitsClass {
	GXmlGomXsdTypeRestrictionDefClass parent_class;
};

struct _GXmlGomXsdTypeRestrictionLength {
	GXmlGomXsdTypeRestrictionDef parent_instance;
	GXmlGomXsdTypeRestrictionLengthPrivate * priv;
};

struct _GXmlGomXsdTypeRestrictionLengthClass {
	GXmlGomXsdTypeRestrictionDefClass parent_class;
};

struct _GXmlGomXsdTypeRestrictionMinLength {
	GXmlGomXsdTypeRestrictionDef parent_instance;
	GXmlGomXsdTypeRestrictionMinLengthPrivate * priv;
};

struct _GXmlGomXsdTypeRestrictionMinLengthClass {
	GXmlGomXsdTypeRestrictionDefClass parent_class;
};

struct _GXmlGomXsdTypeRestrictionMaxLength {
	GXmlGomXsdTypeRestrictionDef parent_instance;
	GXmlGomXsdTypeRestrictionMaxLengthPrivate * priv;
};

struct _GXmlGomXsdTypeRestrictionMaxLengthClass {
	GXmlGomXsdTypeRestrictionDefClass parent_class;
};

struct _GXmlGomXsdTypeRestrictionEnumeration {
	GXmlGomXsdTypeRestrictionDef parent_instance;
	GXmlGomXsdTypeRestrictionEnumerationPrivate * priv;
};

struct _GXmlGomXsdTypeRestrictionEnumerationClass {
	GXmlGomXsdTypeRestrictionDefClass parent_class;
};

struct _GXmlGomXsdTypeRestrictionEnumerationPrivate {
	gchar* _value;
};

struct _GXmlGomXsdTypeRestrictionWhiteSpace {
	GXmlGomXsdTypeRestrictionDef parent_instance;
	GXmlGomXsdTypeRestrictionWhiteSpacePrivate * priv;
};

struct _GXmlGomXsdTypeRestrictionWhiteSpaceClass {
	GXmlGomXsdTypeRestrictionDefClass parent_class;
};

struct _GXmlGomXsdTypeRestrictionWhiteSpacePrivate {
	GXmlGomXsdTypeRestrictionWhiteSpaceFixed* _fixed;
	gchar* _value;
};

struct _GXmlGomPropertyIface {
	GTypeInterface parent_iface;
	gboolean (*validate_value) (GXmlGomProperty* self, const gchar* val);
	gchar* (*get_value) (GXmlGomProperty* self);
	void (*set_value) (GXmlGomProperty* self, const gchar* value);
};

struct _GXmlGomBaseProperty {
	GObject parent_instance;
	GXmlGomBasePropertyPrivate * priv;
};

struct _GXmlGomBasePropertyClass {
	GObjectClass parent_class;
	gboolean (*validate_value) (GXmlGomBaseProperty* self, const gchar* val);
	gchar* (*get_value) (GXmlGomBaseProperty* self);
	void (*set_value) (GXmlGomBaseProperty* self, const gchar* value);
};

struct _GXmlGomBoolean {
	GXmlGomBaseProperty parent_instance;
	GXmlGomBooleanPrivate * priv;
	gboolean _value;
};

struct _GXmlGomBooleanClass {
	GXmlGomBasePropertyClass parent_class;
};

struct _GXmlGomXsdTypeRestrictionWhiteSpaceFixed {
	GXmlGomBoolean parent_instance;
	GXmlGomXsdTypeRestrictionWhiteSpaceFixedPrivate * priv;
};

struct _GXmlGomXsdTypeRestrictionWhiteSpaceFixedClass {
	GXmlGomBooleanClass parent_class;
};

struct _GXmlGomXsdTypeRestrictionPattern {
	GXmlGomXsdTypeRestrictionDef parent_instance;
	GXmlGomXsdTypeRestrictionPatternPrivate * priv;
};

struct _GXmlGomXsdTypeRestrictionPatternClass {
	GXmlGomXsdTypeRestrictionDefClass parent_class;
};

struct _GXmlGomXsdTypeRestrictionAssertion {
	GXmlGomXsdTypeRestrictionDef parent_instance;
	GXmlGomXsdTypeRestrictionAssertionPrivate * priv;
};

struct _GXmlGomXsdTypeRestrictionAssertionClass {
	GXmlGomXsdTypeRestrictionDefClass parent_class;
};

struct _GXmlGomXsdTypeRestrictionExplicitTimezone {
	GXmlGomXsdTypeRestrictionDef parent_instance;
	GXmlGomXsdTypeRestrictionExplicitTimezonePrivate * priv;
};

struct _GXmlGomXsdTypeRestrictionExplicitTimezoneClass {
	GXmlGomXsdTypeRestrictionDefClass parent_class;
};

struct _GXmlGomXsdBaseType {
	GXmlGomElement parent_instance;
	GXmlGomXsdBaseTypePrivate * priv;
};

struct _GXmlGomXsdBaseTypeClass {
	GXmlGomElementClass parent_class;
};

struct _GXmlGomXsdComplexType {
	GXmlGomXsdBaseType parent_instance;
	GXmlGomXsdComplexTypePrivate * priv;
	GXmlGomXsdList* _type_attributes;
	GXmlGomXsdList* _group_attributes;
};

struct _GXmlGomXsdComplexTypeClass {
	GXmlGomXsdBaseTypeClass parent_class;
};

struct _GXmlGomXsdComplexTypePrivate {
	gboolean _abstract;
	gchar* _block;
	gchar* _final;
	gboolean _mixed;
	gchar* _name;
	gboolean _default_attributes_apply;
	GXmlGomXsdBaseContent* _content_type;
};

struct _GXmlGomXsdExtension {
	GXmlGomElement parent_instance;
	GXmlGomXsdExtensionPrivate * priv;
};

struct _GXmlGomXsdExtensionClass {
	GXmlGomElementClass parent_class;
};

struct _GXmlGomXsdExtensionPrivate {
	gchar* _base;
};

struct _GXmlGomXsdElement {
	GXmlGomElement parent_instance;
	GXmlGomXsdElementPrivate * priv;
};

struct _GXmlGomXsdElementClass {
	GXmlGomElementClass parent_class;
};

struct _GXmlGomXsdElementPrivate {
	gboolean _abstract;
	gchar* _block;
	gchar* _default;
	gchar* _final;
	gchar* _fixed;
	gchar* _form;
	gchar* _max_occurs;
	gchar* _min_occurs;
	gchar* _name;
	gboolean _nillable;
	gchar* _ref;
	GXmlDomTokenList* _substitution_group;
	gchar* _target_namespace;
	gchar* _object_type;
	GXmlGomXsdAnnotation* _anotation;
	GXmlGomXsdSimpleType* _simple_type;
	GXmlGomXsdComplexType* _complex_type;
};

struct _GXmlGomXsdAnnotation {
	GXmlGomElement parent_instance;
	GXmlGomXsdAnnotationPrivate * priv;
};

struct _GXmlGomXsdAnnotationClass {
	GXmlGomElementClass parent_class;
};

struct _GXmlGomXsdBaseTypePrivate {
	GXmlGomXsdAnnotation* _anotation;
};

struct _GXmlGomXsdBaseContent {
	GXmlGomElement parent_instance;
	GXmlGomXsdBaseContentPrivate * priv;
};

struct _GXmlGomXsdBaseContentClass {
	GXmlGomElementClass parent_class;
};

struct _GXmlGomXsdBaseContentPrivate {
	GXmlGomXsdAnnotation* _anotation;
};

struct _GXmlGomXsdSimpleContent {
	GXmlGomXsdBaseContent parent_instance;
	GXmlGomXsdSimpleContentPrivate * priv;
};

struct _GXmlGomXsdSimpleContentClass {
	GXmlGomXsdBaseContentClass parent_class;
};

struct _GXmlGomXsdComplexContent {
	GXmlGomXsdBaseContent parent_instance;
	GXmlGomXsdComplexContentPrivate * priv;
};

struct _GXmlGomXsdComplexContentClass {
	GXmlGomXsdBaseContentClass parent_class;
};

struct _GXmlGomXsdOpenContent {
	GXmlGomXsdBaseContent parent_instance;
	GXmlGomXsdOpenContentPrivate * priv;
};

struct _GXmlGomXsdOpenContentClass {
	GXmlGomXsdBaseContentClass parent_class;
};

struct _GXmlGomXsdBaseAttribute {
	GXmlGomElement parent_instance;
	GXmlGomXsdBaseAttributePrivate * priv;
};

struct _GXmlGomXsdBaseAttributeClass {
	GXmlGomElementClass parent_class;
};

struct _GXmlGomXsdBaseAttributePrivate {
	GXmlGomXsdAnnotation* _anotation;
};

struct _GXmlGomXsdAttribute {
	GXmlGomXsdBaseAttribute parent_instance;
	GXmlGomXsdAttributePrivate * priv;
};

struct _GXmlGomXsdAttributeClass {
	GXmlGomXsdBaseAttributeClass parent_class;
};

struct _GXmlGomXsdAttributeGroup {
	GXmlGomXsdBaseAttribute parent_instance;
	GXmlGomXsdAttributeGroupPrivate * priv;
};

struct _GXmlGomXsdAttributeGroupClass {
	GXmlGomXsdBaseAttributeClass parent_class;
};

struct _GXmlBaseCollection {
	GObject parent_instance;
	GXmlBaseCollectionPrivate * priv;
	GQueue* _nodes_index;
	GXmlGomElement* _element;
	gchar* _items_name;
	GType _items_type;
};

struct _GXmlBaseCollectionClass {
	GObjectClass parent_class;
	gboolean (*validate_append) (GXmlBaseCollection* self, gint index, GXmlDomElement* element, GError** error);
};

struct _GXmlGomCollectionIface {
	GTypeInterface parent_iface;
	void (*search) (GXmlGomCollection* self, GError** error);
	GXmlDomElement* (*get_item) (GXmlGomCollection* self, gint index, GError** error);
	void (*append) (GXmlGomCollection* self, GXmlDomElement* node, GError** error);
	void (*initialize) (GXmlGomCollection* self, GType t, GError** error);
	GXmlGomElement* (*create_item) (GXmlGomCollection* self);
	gboolean (*validate_append) (GXmlGomCollection* self, gint index, GXmlDomElement* element, GError** error);
	GQueue* (*get_nodes_index) (GXmlGomCollection* self);
	GXmlGomElement* (*get_element) (GXmlGomCollection* self);
	void (*set_element) (GXmlGomCollection* self, GXmlGomElement* value);
	const gchar* (*get_items_name) (GXmlGomCollection* self);
	GType (*get_items_type) (GXmlGomCollection* self);
	void (*set_items_type) (GXmlGomCollection* self, GType value);
	gint (*get_length) (GXmlGomCollection* self);
};

struct _GXmlGomArrayList {
	GXmlBaseCollection parent_instance;
	GXmlGomArrayListPrivate * priv;
};

struct _GXmlGomArrayListClass {
	GXmlBaseCollectionClass parent_class;
};

struct _GXmlGomXsdList {
	GXmlGomArrayList parent_instance;
	GXmlGomXsdListPrivate * priv;
};

struct _GXmlGomXsdListClass {
	GXmlGomArrayListClass parent_class;
};

struct _GXmlGomXsdListElements {
	GXmlGomXsdList parent_instance;
	GXmlGomXsdListElementsPrivate * priv;
};

struct _GXmlGomXsdListElementsClass {
	GXmlGomXsdListClass parent_class;
};

struct _GXmlGomXsdListSimpleTypes {
	GXmlGomXsdList parent_instance;
	GXmlGomXsdListSimpleTypesPrivate * priv;
};

struct _GXmlGomXsdListSimpleTypesClass {
	GXmlGomXsdListClass parent_class;
};

struct _GXmlGomXsdListComplexTypes {
	GXmlGomXsdList parent_instance;
	GXmlGomXsdListComplexTypesPrivate * priv;
};

struct _GXmlGomXsdListComplexTypesClass {
	GXmlGomXsdListClass parent_class;
};

struct _GXmlGomXsdListTypeRestrictionEnumerations {
	GXmlGomXsdList parent_instance;
	GXmlGomXsdListTypeRestrictionEnumerationsPrivate * priv;
};

struct _GXmlGomXsdListTypeRestrictionEnumerationsClass {
	GXmlGomXsdListClass parent_class;
};

struct _GXmlGomXsdListTypeRestrictionWhiteSpaces {
	GXmlGomXsdList parent_instance;
	GXmlGomXsdListTypeRestrictionWhiteSpacesPrivate * priv;
};

struct _GXmlGomXsdListTypeRestrictionWhiteSpacesClass {
	GXmlGomXsdListClass parent_class;
};


static gpointer gxml_gom_xsd_schema_parent_class = NULL;
static gpointer gxml_gom_xsd_simple_type_parent_class = NULL;
static gpointer gxml_gom_xsd_type_definition_parent_class = NULL;
static gpointer gxml_gom_xsd_type_list_parent_class = NULL;
static gpointer gxml_gom_xsd_type_union_parent_class = NULL;
static gpointer gxml_gom_xsd_type_restriction_parent_class = NULL;
static gpointer gxml_gom_xsd_type_restriction_def_parent_class = NULL;
static gpointer gxml_gom_xsd_type_restriction_min_exclusive_parent_class = NULL;
static gpointer gxml_gom_xsd_type_restriction_min_inclusive_parent_class = NULL;
static gpointer gxml_gom_xsd_type_restriction_max_exclusive_parent_class = NULL;
static gpointer gxml_gom_xsd_type_restriction_max_inclusive_parent_class = NULL;
static gpointer gxml_gom_xsd_type_restriction_total_digits_parent_class = NULL;
static gpointer gxml_gom_xsd_type_restriction_fraction_digits_parent_class = NULL;
static gpointer gxml_gom_xsd_type_restriction_length_parent_class = NULL;
static gpointer gxml_gom_xsd_type_restriction_min_length_parent_class = NULL;
static gpointer gxml_gom_xsd_type_restriction_max_length_parent_class = NULL;
static gpointer gxml_gom_xsd_type_restriction_enumeration_parent_class = NULL;
static gpointer gxml_gom_xsd_type_restriction_white_space_parent_class = NULL;
static gpointer gxml_gom_xsd_type_restriction_white_space_fixed_parent_class = NULL;
static gpointer gxml_gom_xsd_type_restriction_pattern_parent_class = NULL;
static gpointer gxml_gom_xsd_type_restriction_assertion_parent_class = NULL;
static gpointer gxml_gom_xsd_type_restriction_explicit_timezone_parent_class = NULL;
static gpointer gxml_gom_xsd_complex_type_parent_class = NULL;
static gpointer gxml_gom_xsd_extension_parent_class = NULL;
static gpointer gxml_gom_xsd_element_parent_class = NULL;
static gpointer gxml_gom_xsd_annotation_parent_class = NULL;
static gpointer gxml_gom_xsd_base_type_parent_class = NULL;
static gpointer gxml_gom_xsd_base_content_parent_class = NULL;
static gpointer gxml_gom_xsd_simple_content_parent_class = NULL;
static gpointer gxml_gom_xsd_complex_content_parent_class = NULL;
static gpointer gxml_gom_xsd_open_content_parent_class = NULL;
static gpointer gxml_gom_xsd_base_attribute_parent_class = NULL;
static gpointer gxml_gom_xsd_attribute_parent_class = NULL;
static gpointer gxml_gom_xsd_attribute_group_parent_class = NULL;
static gpointer gxml_gom_xsd_list_parent_class = NULL;
static gpointer gxml_gom_xsd_list_elements_parent_class = NULL;
static gpointer gxml_gom_xsd_list_simple_types_parent_class = NULL;
static gpointer gxml_gom_xsd_list_complex_types_parent_class = NULL;
static gpointer gxml_gom_xsd_list_type_restriction_enumerations_parent_class = NULL;
static gpointer gxml_gom_xsd_list_type_restriction_white_spaces_parent_class = NULL;

GType gxml_dom_time_stamp_get_type (void) G_GNUC_CONST;
GType gxml_dom_event_phase_get_type (void) G_GNUC_CONST;
GType gxml_dom_event_get_type (void) G_GNUC_CONST;
GType gxml_dom_event_listener_get_type (void) G_GNUC_CONST;
GType gxml_dom_event_target_get_type (void) G_GNUC_CONST;
GType gxml_dom_node_document_position_get_type (void) G_GNUC_CONST;
GType gxml_dom_node_node_type_get_type (void) G_GNUC_CONST;
GType gxml_dom_child_node_get_type (void) G_GNUC_CONST;
GType gxml_dom_non_document_type_child_node_get_type (void) G_GNUC_CONST;
GType gxml_dom_html_collection_get_type (void) G_GNUC_CONST;
GType gxml_dom_token_list_get_type (void) G_GNUC_CONST;
GType gxml_dom_named_node_map_get_type (void) G_GNUC_CONST;
GType gxml_dom_element_get_type (void) G_GNUC_CONST;
GType gxml_dom_node_list_get_type (void) G_GNUC_CONST;
GType gxml_dom_element_list_get_type (void) G_GNUC_CONST;
GType gxml_dom_parent_node_get_type (void) G_GNUC_CONST;
GType gxml_dom_non_element_parent_node_get_type (void) G_GNUC_CONST;
GType gxml_dom_document_fragment_get_type (void) G_GNUC_CONST;
GType gxml_dom_character_data_get_type (void) G_GNUC_CONST;
GType gxml_dom_text_get_type (void) G_GNUC_CONST;
GType gxml_dom_comment_get_type (void) G_GNUC_CONST;
GType gxml_dom_processing_instruction_get_type (void) G_GNUC_CONST;
GType gxml_dom_range_boundary_points_get_type (void) G_GNUC_CONST;
GType gxml_dom_range_get_type (void) G_GNUC_CONST;
GType gxml_dom_node_filter_get_type (void) G_GNUC_CONST;
GType gxml_dom_node_iterator_get_type (void) G_GNUC_CONST;
GType gxml_dom_tree_walker_get_type (void) G_GNUC_CONST;
GType gxml_dom_document_type_get_type (void) G_GNUC_CONST;
GType gxml_dom_xml_document_get_type (void) G_GNUC_CONST;
GType gxml_element_list_get_type (void) G_GNUC_CONST;
GType gxml_namespace_get_type (void) G_GNUC_CONST;
GType gxml_node_type_get_type (void) G_GNUC_CONST;
GType gxml_node_get_type (void) G_GNUC_CONST;
GType gxml_document_get_type (void) G_GNUC_CONST;
GType gxml_dom_implementation_get_type (void) G_GNUC_CONST;
GType gxml_dom_document_get_type (void) G_GNUC_CONST;
GType gxml_dom_node_get_type (void) G_GNUC_CONST;
GType gxml_gom_node_get_type (void) G_GNUC_CONST;
GType gxml_gom_node_list_get_type (void) G_GNUC_CONST;
GType gxml_gom_object_get_type (void) G_GNUC_CONST;
GType gxml_gom_element_get_type (void) G_GNUC_CONST;
GType gxml_gom_element_attributes_get_type (void) G_GNUC_CONST;
GType gxml_gom_xsd_schema_get_type (void) G_GNUC_CONST;
GType gxml_base_collection_get_type (void) G_GNUC_CONST;
GType gxml_gom_array_list_get_type (void) G_GNUC_CONST;
GType gxml_gom_xsd_list_get_type (void) G_GNUC_CONST;
GType gxml_gom_xsd_list_elements_get_type (void) G_GNUC_CONST;
GType gxml_gom_xsd_list_simple_types_get_type (void) G_GNUC_CONST;
GType gxml_gom_xsd_list_complex_types_get_type (void) G_GNUC_CONST;
#define GXML_GOM_XSD_SCHEMA_GET_PRIVATE(o) (G_TYPE_INSTANCE_GET_PRIVATE ((o), GXML_TYPE_GOM_XSD_SCHEMA, GXmlGomXsdSchemaPrivate))
enum  {
	GXML_GOM_XSD_SCHEMA_DUMMY_PROPERTY,
	GXML_GOM_XSD_SCHEMA_ELEMENT_DEFINITIONS,
	GXML_GOM_XSD_SCHEMA_SIMPLE_TYPE_DEFINITIONS,
	GXML_GOM_XSD_SCHEMA_COMPLEX_TYPE_DEFINITIONS
};
GXmlGomXsdSchema* gxml_gom_xsd_schema_new (void);
GXmlGomXsdSchema* gxml_gom_xsd_schema_construct (GType object_type);
GXmlGomElement* gxml_gom_element_new (void);
GXmlGomElement* gxml_gom_element_construct (GType object_type);
GXmlGomXsdListElements* gxml_gom_xsd_schema_get_element_definitions (GXmlGomXsdSchema* self);
void gxml_gom_xsd_schema_set_element_definitions (GXmlGomXsdSchema* self, GXmlGomXsdListElements* value);
GXmlGomXsdListSimpleTypes* gxml_gom_xsd_schema_get_simple_type_definitions (GXmlGomXsdSchema* self);
void gxml_gom_xsd_schema_set_simple_type_definitions (GXmlGomXsdSchema* self, GXmlGomXsdListSimpleTypes* value);
GXmlGomXsdListComplexTypes* gxml_gom_xsd_schema_get_complex_type_definitions (GXmlGomXsdSchema* self);
void gxml_gom_xsd_schema_set_complex_type_definitions (GXmlGomXsdSchema* self, GXmlGomXsdListComplexTypes* value);
static GObject * gxml_gom_xsd_schema_constructor (GType type, guint n_construct_properties, GObjectConstructParam * construct_properties);
void gxml_gom_element_initialize_with_namespace (GXmlGomElement* self, const gchar* namespace_uri, const gchar* prefix, const gchar* local_name);
#define GXML_IXSD_SCHEMA_SCHEMA_NAMESPACE_URI "http://www.w3.org/2001/XMLSchema"
#define GXML_IXSD_SCHEMA_SCHEMA_NAMESPACE_PREFIX "xs"
#define GXML_IXSD_SCHEMA_SCHEMA_NODE_NAME "schema"
static void gxml_gom_xsd_schema_finalize (GObject* obj);
static void _vala_gxml_gom_xsd_schema_get_property (GObject * object, guint property_id, GValue * value, GParamSpec * pspec);
static void _vala_gxml_gom_xsd_schema_set_property (GObject * object, guint property_id, const GValue * value, GParamSpec * pspec);
GType gxml_gom_xsd_simple_type_get_type (void) G_GNUC_CONST;
GType gxml_gom_xsd_annotation_get_type (void) G_GNUC_CONST;
GType gxml_gom_xsd_type_definition_get_type (void) G_GNUC_CONST;
GType gxml_gom_xsd_type_list_get_type (void) G_GNUC_CONST;
GType gxml_gom_xsd_type_union_get_type (void) G_GNUC_CONST;
GType gxml_gom_xsd_type_restriction_get_type (void) G_GNUC_CONST;
#define GXML_GOM_XSD_SIMPLE_TYPE_GET_PRIVATE(o) (G_TYPE_INSTANCE_GET_PRIVATE ((o), GXML_TYPE_GOM_XSD_SIMPLE_TYPE, GXmlGomXsdSimpleTypePrivate))
enum  {
	GXML_GOM_XSD_SIMPLE_TYPE_DUMMY_PROPERTY,
	GXML_GOM_XSD_SIMPLE_TYPE_FINAL,
	GXML_GOM_XSD_SIMPLE_TYPE_NAME,
	GXML_GOM_XSD_SIMPLE_TYPE_ANNOTATION,
	GXML_GOM_XSD_SIMPLE_TYPE_LIST,
	GXML_GOM_XSD_SIMPLE_TYPE_UNION,
	GXML_GOM_XSD_SIMPLE_TYPE_RESTRICTION
};
GXmlGomXsdSimpleType* gxml_gom_xsd_simple_type_new (void);
GXmlGomXsdSimpleType* gxml_gom_xsd_simple_type_construct (GType object_type);
const gchar* gxml_gom_xsd_simple_type_get_final (GXmlGomXsdSimpleType* self);
void gxml_gom_xsd_simple_type_set_final (GXmlGomXsdSimpleType* self, const gchar* value);
const gchar* gxml_gom_xsd_simple_type_get_name (GXmlGomXsdSimpleType* self);
void gxml_gom_xsd_simple_type_set_name (GXmlGomXsdSimpleType* self, const gchar* value);
GXmlGomXsdAnnotation* gxml_gom_xsd_simple_type_get_annotation (GXmlGomXsdSimpleType* self);
void gxml_gom_xsd_simple_type_set_annotation (GXmlGomXsdSimpleType* self, GXmlGomXsdAnnotation* value);
GXmlGomXsdTypeList* gxml_gom_xsd_simple_type_get_list (GXmlGomXsdSimpleType* self);
void gxml_gom_xsd_simple_type_set_list (GXmlGomXsdSimpleType* self, GXmlGomXsdTypeList* value);
GXmlGomXsdTypeUnion* gxml_gom_xsd_simple_type_get_union (GXmlGomXsdSimpleType* self);
void gxml_gom_xsd_simple_type_set_union (GXmlGomXsdSimpleType* self, GXmlGomXsdTypeUnion* value);
GXmlGomXsdTypeRestriction* gxml_gom_xsd_simple_type_get_restriction (GXmlGomXsdSimpleType* self);
void gxml_gom_xsd_simple_type_set_restriction (GXmlGomXsdSimpleType* self, GXmlGomXsdTypeRestriction* value);
static GObject * gxml_gom_xsd_simple_type_constructor (GType type, guint n_construct_properties, GObjectConstructParam * construct_properties);
#define GXML_IXSD_SIMPLE_TYPE_SCHEMA_NODE_NAME "simpleType"
static void gxml_gom_xsd_simple_type_finalize (GObject* obj);
static void _vala_gxml_gom_xsd_simple_type_get_property (GObject * object, guint property_id, GValue * value, GParamSpec * pspec);
static void _vala_gxml_gom_xsd_simple_type_set_property (GObject * object, guint property_id, const GValue * value, GParamSpec * pspec);
#define GXML_GOM_XSD_TYPE_DEFINITION_GET_PRIVATE(o) (G_TYPE_INSTANCE_GET_PRIVATE ((o), GXML_TYPE_GOM_XSD_TYPE_DEFINITION, GXmlGomXsdTypeDefinitionPrivate))
enum  {
	GXML_GOM_XSD_TYPE_DEFINITION_DUMMY_PROPERTY,
	GXML_GOM_XSD_TYPE_DEFINITION_ANNOTATION
};
GXmlGomXsdTypeDefinition* gxml_gom_xsd_type_definition_new (void);
GXmlGomXsdTypeDefinition* gxml_gom_xsd_type_definition_construct (GType object_type);
GXmlGomXsdAnnotation* gxml_gom_xsd_type_definition_get_annotation (GXmlGomXsdTypeDefinition* self);
void gxml_gom_xsd_type_definition_set_annotation (GXmlGomXsdTypeDefinition* self, GXmlGomXsdAnnotation* value);
static void gxml_gom_xsd_type_definition_finalize (GObject* obj);
static void _vala_gxml_gom_xsd_type_definition_get_property (GObject * object, guint property_id, GValue * value, GParamSpec * pspec);
static void _vala_gxml_gom_xsd_type_definition_set_property (GObject * object, guint property_id, const GValue * value, GParamSpec * pspec);
enum  {
	GXML_GOM_XSD_TYPE_LIST_DUMMY_PROPERTY
};
GXmlGomXsdTypeList* gxml_gom_xsd_type_list_new (void);
GXmlGomXsdTypeList* gxml_gom_xsd_type_list_construct (GType object_type);
enum  {
	GXML_GOM_XSD_TYPE_UNION_DUMMY_PROPERTY
};
GXmlGomXsdTypeUnion* gxml_gom_xsd_type_union_new (void);
GXmlGomXsdTypeUnion* gxml_gom_xsd_type_union_construct (GType object_type);
GType gxml_gom_xsd_list_type_restriction_enumerations_get_type (void) G_GNUC_CONST;
GType gxml_gom_xsd_list_type_restriction_white_spaces_get_type (void) G_GNUC_CONST;
#define GXML_GOM_XSD_TYPE_RESTRICTION_GET_PRIVATE(o) (G_TYPE_INSTANCE_GET_PRIVATE ((o), GXML_TYPE_GOM_XSD_TYPE_RESTRICTION, GXmlGomXsdTypeRestrictionPrivate))
enum  {
	GXML_GOM_XSD_TYPE_RESTRICTION_DUMMY_PROPERTY,
	GXML_GOM_XSD_TYPE_RESTRICTION_BASE,
	GXML_GOM_XSD_TYPE_RESTRICTION_SIMPLE_TYPE,
	GXML_GOM_XSD_TYPE_RESTRICTION_ENUMERATIONS,
	GXML_GOM_XSD_TYPE_RESTRICTION_WHITE_SPACES
};
GXmlGomXsdTypeRestriction* gxml_gom_xsd_type_restriction_new (void);
GXmlGomXsdTypeRestriction* gxml_gom_xsd_type_restriction_construct (GType object_type);
const gchar* gxml_gom_xsd_type_restriction_get_base (GXmlGomXsdTypeRestriction* self);
void gxml_gom_xsd_type_restriction_set_base (GXmlGomXsdTypeRestriction* self, const gchar* value);
GXmlGomXsdSimpleType* gxml_gom_xsd_type_restriction_get_simple_type (GXmlGomXsdTypeRestriction* self);
void gxml_gom_xsd_type_restriction_set_simple_type (GXmlGomXsdTypeRestriction* self, GXmlGomXsdSimpleType* value);
GXmlGomXsdListTypeRestrictionEnumerations* gxml_gom_xsd_type_restriction_get_enumerations (GXmlGomXsdTypeRestriction* self);
void gxml_gom_xsd_type_restriction_set_enumerations (GXmlGomXsdTypeRestriction* self, GXmlGomXsdListTypeRestrictionEnumerations* value);
GXmlGomXsdListTypeRestrictionWhiteSpaces* gxml_gom_xsd_type_restriction_get_white_spaces (GXmlGomXsdTypeRestriction* self);
void gxml_gom_xsd_type_restriction_set_white_spaces (GXmlGomXsdTypeRestriction* self, GXmlGomXsdListTypeRestrictionWhiteSpaces* value);
static GObject * gxml_gom_xsd_type_restriction_constructor (GType type, guint n_construct_properties, GObjectConstructParam * construct_properties);
#define GXML_IXSD_TYPE_RESTRICTION_SCHEMA_NODE_NAME "restriction"
static void gxml_gom_xsd_type_restriction_finalize (GObject* obj);
static void _vala_gxml_gom_xsd_type_restriction_get_property (GObject * object, guint property_id, GValue * value, GParamSpec * pspec);
static void _vala_gxml_gom_xsd_type_restriction_set_property (GObject * object, guint property_id, const GValue * value, GParamSpec * pspec);
GType gxml_gom_xsd_type_restriction_def_get_type (void) G_GNUC_CONST;
#define GXML_GOM_XSD_TYPE_RESTRICTION_DEF_GET_PRIVATE(o) (G_TYPE_INSTANCE_GET_PRIVATE ((o), GXML_TYPE_GOM_XSD_TYPE_RESTRICTION_DEF, GXmlGomXsdTypeRestrictionDefPrivate))
enum  {
	GXML_GOM_XSD_TYPE_RESTRICTION_DEF_DUMMY_PROPERTY,
	GXML_GOM_XSD_TYPE_RESTRICTION_DEF_ANNOTATION
};
GXmlGomXsdTypeRestrictionDef* gxml_gom_xsd_type_restriction_def_new (void);
GXmlGomXsdTypeRestrictionDef* gxml_gom_xsd_type_restriction_def_construct (GType object_type);
GXmlGomXsdAnnotation* gxml_gom_xsd_type_restriction_def_get_annotation (GXmlGomXsdTypeRestrictionDef* self);
void gxml_gom_xsd_type_restriction_def_set_annotation (GXmlGomXsdTypeRestrictionDef* self, GXmlGomXsdAnnotation* value);
static void gxml_gom_xsd_type_restriction_def_finalize (GObject* obj);
static void _vala_gxml_gom_xsd_type_restriction_def_get_property (GObject * object, guint property_id, GValue * value, GParamSpec * pspec);
static void _vala_gxml_gom_xsd_type_restriction_def_set_property (GObject * object, guint property_id, const GValue * value, GParamSpec * pspec);
GType gxml_gom_xsd_type_restriction_min_exclusive_get_type (void) G_GNUC_CONST;
enum  {
	GXML_GOM_XSD_TYPE_RESTRICTION_MIN_EXCLUSIVE_DUMMY_PROPERTY
};
GXmlGomXsdTypeRestrictionMinExclusive* gxml_gom_xsd_type_restriction_min_exclusive_new (void);
GXmlGomXsdTypeRestrictionMinExclusive* gxml_gom_xsd_type_restriction_min_exclusive_construct (GType object_type);
GType gxml_gom_xsd_type_restriction_min_inclusive_get_type (void) G_GNUC_CONST;
enum  {
	GXML_GOM_XSD_TYPE_RESTRICTION_MIN_INCLUSIVE_DUMMY_PROPERTY
};
GXmlGomXsdTypeRestrictionMinInclusive* gxml_gom_xsd_type_restriction_min_inclusive_new (void);
GXmlGomXsdTypeRestrictionMinInclusive* gxml_gom_xsd_type_restriction_min_inclusive_construct (GType object_type);
GType gxml_gom_xsd_type_restriction_max_exclusive_get_type (void) G_GNUC_CONST;
enum  {
	GXML_GOM_XSD_TYPE_RESTRICTION_MAX_EXCLUSIVE_DUMMY_PROPERTY
};
GXmlGomXsdTypeRestrictionMaxExclusive* gxml_gom_xsd_type_restriction_max_exclusive_new (void);
GXmlGomXsdTypeRestrictionMaxExclusive* gxml_gom_xsd_type_restriction_max_exclusive_construct (GType object_type);
GType gxml_gom_xsd_type_restriction_max_inclusive_get_type (void) G_GNUC_CONST;
enum  {
	GXML_GOM_XSD_TYPE_RESTRICTION_MAX_INCLUSIVE_DUMMY_PROPERTY
};
GXmlGomXsdTypeRestrictionMaxInclusive* gxml_gom_xsd_type_restriction_max_inclusive_new (void);
GXmlGomXsdTypeRestrictionMaxInclusive* gxml_gom_xsd_type_restriction_max_inclusive_construct (GType object_type);
GType gxml_gom_xsd_type_restriction_total_digits_get_type (void) G_GNUC_CONST;
enum  {
	GXML_GOM_XSD_TYPE_RESTRICTION_TOTAL_DIGITS_DUMMY_PROPERTY
};
GXmlGomXsdTypeRestrictionTotalDigits* gxml_gom_xsd_type_restriction_total_digits_new (void);
GXmlGomXsdTypeRestrictionTotalDigits* gxml_gom_xsd_type_restriction_total_digits_construct (GType object_type);
GType gxml_gom_xsd_type_restriction_fraction_digits_get_type (void) G_GNUC_CONST;
enum  {
	GXML_GOM_XSD_TYPE_RESTRICTION_FRACTION_DIGITS_DUMMY_PROPERTY
};
GXmlGomXsdTypeRestrictionFractionDigits* gxml_gom_xsd_type_restriction_fraction_digits_new (void);
GXmlGomXsdTypeRestrictionFractionDigits* gxml_gom_xsd_type_restriction_fraction_digits_construct (GType object_type);
GType gxml_gom_xsd_type_restriction_length_get_type (void) G_GNUC_CONST;
enum  {
	GXML_GOM_XSD_TYPE_RESTRICTION_LENGTH_DUMMY_PROPERTY
};
GXmlGomXsdTypeRestrictionLength* gxml_gom_xsd_type_restriction_length_new (void);
GXmlGomXsdTypeRestrictionLength* gxml_gom_xsd_type_restriction_length_construct (GType object_type);
GType gxml_gom_xsd_type_restriction_min_length_get_type (void) G_GNUC_CONST;
enum  {
	GXML_GOM_XSD_TYPE_RESTRICTION_MIN_LENGTH_DUMMY_PROPERTY
};
GXmlGomXsdTypeRestrictionMinLength* gxml_gom_xsd_type_restriction_min_length_new (void);
GXmlGomXsdTypeRestrictionMinLength* gxml_gom_xsd_type_restriction_min_length_construct (GType object_type);
GType gxml_gom_xsd_type_restriction_max_length_get_type (void) G_GNUC_CONST;
enum  {
	GXML_GOM_XSD_TYPE_RESTRICTION_MAX_LENGTH_DUMMY_PROPERTY
};
GXmlGomXsdTypeRestrictionMaxLength* gxml_gom_xsd_type_restriction_max_length_new (void);
GXmlGomXsdTypeRestrictionMaxLength* gxml_gom_xsd_type_restriction_max_length_construct (GType object_type);
GType gxml_gom_xsd_type_restriction_enumeration_get_type (void) G_GNUC_CONST;
#define GXML_GOM_XSD_TYPE_RESTRICTION_ENUMERATION_GET_PRIVATE(o) (G_TYPE_INSTANCE_GET_PRIVATE ((o), GXML_TYPE_GOM_XSD_TYPE_RESTRICTION_ENUMERATION, GXmlGomXsdTypeRestrictionEnumerationPrivate))
enum  {
	GXML_GOM_XSD_TYPE_RESTRICTION_ENUMERATION_DUMMY_PROPERTY,
	GXML_GOM_XSD_TYPE_RESTRICTION_ENUMERATION_VALUE
};
GXmlGomXsdTypeRestrictionEnumeration* gxml_gom_xsd_type_restriction_enumeration_new (void);
GXmlGomXsdTypeRestrictionEnumeration* gxml_gom_xsd_type_restriction_enumeration_construct (GType object_type);
const gchar* gxml_gom_xsd_type_restriction_enumeration_get_value (GXmlGomXsdTypeRestrictionEnumeration* self);
void gxml_gom_xsd_type_restriction_enumeration_set_value (GXmlGomXsdTypeRestrictionEnumeration* self, const gchar* value);
static GObject * gxml_gom_xsd_type_restriction_enumeration_constructor (GType type, guint n_construct_properties, GObjectConstructParam * construct_properties);
#define GXML_IXSD_TYPE_RESTRICTION_ENUMERATION_SCHEMA_NODE_NAME "enumeration"
static void gxml_gom_xsd_type_restriction_enumeration_finalize (GObject* obj);
static void _vala_gxml_gom_xsd_type_restriction_enumeration_get_property (GObject * object, guint property_id, GValue * value, GParamSpec * pspec);
static void _vala_gxml_gom_xsd_type_restriction_enumeration_set_property (GObject * object, guint property_id, const GValue * value, GParamSpec * pspec);
GType gxml_gom_xsd_type_restriction_white_space_get_type (void) G_GNUC_CONST;
GType gxml_gom_base_property_get_type (void) G_GNUC_CONST;
GType gxml_gom_boolean_get_type (void) G_GNUC_CONST;
GType gxml_gom_xsd_type_restriction_white_space_fixed_get_type (void) G_GNUC_CONST;
#define GXML_GOM_XSD_TYPE_RESTRICTION_WHITE_SPACE_GET_PRIVATE(o) (G_TYPE_INSTANCE_GET_PRIVATE ((o), GXML_TYPE_GOM_XSD_TYPE_RESTRICTION_WHITE_SPACE, GXmlGomXsdTypeRestrictionWhiteSpacePrivate))
enum  {
	GXML_GOM_XSD_TYPE_RESTRICTION_WHITE_SPACE_DUMMY_PROPERTY,
	GXML_GOM_XSD_TYPE_RESTRICTION_WHITE_SPACE_FIXED,
	GXML_GOM_XSD_TYPE_RESTRICTION_WHITE_SPACE_VALUE
};
GXmlGomXsdTypeRestrictionWhiteSpace* gxml_gom_xsd_type_restriction_white_space_new (void);
GXmlGomXsdTypeRestrictionWhiteSpace* gxml_gom_xsd_type_restriction_white_space_construct (GType object_type);
GXmlGomXsdTypeRestrictionWhiteSpaceFixed* gxml_gom_xsd_type_restriction_white_space_get_fixed (GXmlGomXsdTypeRestrictionWhiteSpace* self);
void gxml_gom_xsd_type_restriction_white_space_set_fixed (GXmlGomXsdTypeRestrictionWhiteSpace* self, GXmlGomXsdTypeRestrictionWhiteSpaceFixed* value);
const gchar* gxml_gom_xsd_type_restriction_white_space_get_value (GXmlGomXsdTypeRestrictionWhiteSpace* self);
void gxml_gom_xsd_type_restriction_white_space_set_value (GXmlGomXsdTypeRestrictionWhiteSpace* self, const gchar* value);
static GObject * gxml_gom_xsd_type_restriction_white_space_constructor (GType type, guint n_construct_properties, GObjectConstructParam * construct_properties);
#define GXML_IXSD_TYPE_RESTRICTION_WHITE_SPACE_SCHEMA_NODE_NAME "whiteSpace"
GType gxml_gom_property_get_type (void) G_GNUC_CONST;
enum  {
	GXML_GOM_XSD_TYPE_RESTRICTION_WHITE_SPACE_FIXED_DUMMY_PROPERTY
};
GXmlGomXsdTypeRestrictionWhiteSpaceFixed* gxml_gom_xsd_type_restriction_white_space_fixed_new (void);
GXmlGomXsdTypeRestrictionWhiteSpaceFixed* gxml_gom_xsd_type_restriction_white_space_fixed_construct (GType object_type);
GXmlGomBoolean* gxml_gom_boolean_new (void);
GXmlGomBoolean* gxml_gom_boolean_construct (GType object_type);
static void gxml_gom_xsd_type_restriction_white_space_finalize (GObject* obj);
static void _vala_gxml_gom_xsd_type_restriction_white_space_get_property (GObject * object, guint property_id, GValue * value, GParamSpec * pspec);
static void _vala_gxml_gom_xsd_type_restriction_white_space_set_property (GObject * object, guint property_id, const GValue * value, GParamSpec * pspec);
GType gxml_gom_xsd_type_restriction_pattern_get_type (void) G_GNUC_CONST;
enum  {
	GXML_GOM_XSD_TYPE_RESTRICTION_PATTERN_DUMMY_PROPERTY
};
GXmlGomXsdTypeRestrictionPattern* gxml_gom_xsd_type_restriction_pattern_new (void);
GXmlGomXsdTypeRestrictionPattern* gxml_gom_xsd_type_restriction_pattern_construct (GType object_type);
GType gxml_gom_xsd_type_restriction_assertion_get_type (void) G_GNUC_CONST;
enum  {
	GXML_GOM_XSD_TYPE_RESTRICTION_ASSERTION_DUMMY_PROPERTY
};
GXmlGomXsdTypeRestrictionAssertion* gxml_gom_xsd_type_restriction_assertion_new (void);
GXmlGomXsdTypeRestrictionAssertion* gxml_gom_xsd_type_restriction_assertion_construct (GType object_type);
GType gxml_gom_xsd_type_restriction_explicit_timezone_get_type (void) G_GNUC_CONST;
enum  {
	GXML_GOM_XSD_TYPE_RESTRICTION_EXPLICIT_TIMEZONE_DUMMY_PROPERTY
};
GXmlGomXsdTypeRestrictionExplicitTimezone* gxml_gom_xsd_type_restriction_explicit_timezone_new (void);
GXmlGomXsdTypeRestrictionExplicitTimezone* gxml_gom_xsd_type_restriction_explicit_timezone_construct (GType object_type);
GType gxml_gom_xsd_base_type_get_type (void) G_GNUC_CONST;
GType gxml_gom_xsd_complex_type_get_type (void) G_GNUC_CONST;
GType gxml_gom_xsd_base_content_get_type (void) G_GNUC_CONST;
#define GXML_GOM_XSD_COMPLEX_TYPE_GET_PRIVATE(o) (G_TYPE_INSTANCE_GET_PRIVATE ((o), GXML_TYPE_GOM_XSD_COMPLEX_TYPE, GXmlGomXsdComplexTypePrivate))
enum  {
	GXML_GOM_XSD_COMPLEX_TYPE_DUMMY_PROPERTY,
	GXML_GOM_XSD_COMPLEX_TYPE_ABSTRACT,
	GXML_GOM_XSD_COMPLEX_TYPE_BLOCK,
	GXML_GOM_XSD_COMPLEX_TYPE_FINAL,
	GXML_GOM_XSD_COMPLEX_TYPE_MIXED,
	GXML_GOM_XSD_COMPLEX_TYPE_NAME,
	GXML_GOM_XSD_COMPLEX_TYPE_DEFAULT_ATTRIBUTES_APPLY,
	GXML_GOM_XSD_COMPLEX_TYPE_CONTENT_TYPE,
	GXML_GOM_XSD_COMPLEX_TYPE_TYPE_ATTRIBUTES,
	GXML_GOM_XSD_COMPLEX_TYPE_GROUP_ATTRIBUTES
};
GXmlGomXsdComplexType* gxml_gom_xsd_complex_type_new (void);
GXmlGomXsdComplexType* gxml_gom_xsd_complex_type_construct (GType object_type);
GXmlGomXsdBaseType* gxml_gom_xsd_base_type_new (void);
GXmlGomXsdBaseType* gxml_gom_xsd_base_type_construct (GType object_type);
gboolean gxml_gom_xsd_complex_type_get_abstract (GXmlGomXsdComplexType* self);
void gxml_gom_xsd_complex_type_set_abstract (GXmlGomXsdComplexType* self, gboolean value);
const gchar* gxml_gom_xsd_complex_type_get_block (GXmlGomXsdComplexType* self);
void gxml_gom_xsd_complex_type_set_block (GXmlGomXsdComplexType* self, const gchar* value);
const gchar* gxml_gom_xsd_complex_type_get_final (GXmlGomXsdComplexType* self);
void gxml_gom_xsd_complex_type_set_final (GXmlGomXsdComplexType* self, const gchar* value);
gboolean gxml_gom_xsd_complex_type_get_mixed (GXmlGomXsdComplexType* self);
void gxml_gom_xsd_complex_type_set_mixed (GXmlGomXsdComplexType* self, gboolean value);
const gchar* gxml_gom_xsd_complex_type_get_name (GXmlGomXsdComplexType* self);
void gxml_gom_xsd_complex_type_set_name (GXmlGomXsdComplexType* self, const gchar* value);
gboolean gxml_gom_xsd_complex_type_get_default_attributes_apply (GXmlGomXsdComplexType* self);
void gxml_gom_xsd_complex_type_set_default_attributes_apply (GXmlGomXsdComplexType* self, gboolean value);
GXmlGomXsdBaseContent* gxml_gom_xsd_complex_type_get_content_type (GXmlGomXsdComplexType* self);
void gxml_gom_xsd_complex_type_set_content_type (GXmlGomXsdComplexType* self, GXmlGomXsdBaseContent* value);
GXmlGomXsdList* gxml_gom_xsd_complex_type_get_type_attributes (GXmlGomXsdComplexType* self);
GXmlGomXsdList* gxml_gom_xsd_complex_type_get_group_attributes (GXmlGomXsdComplexType* self);
static GObject * gxml_gom_xsd_complex_type_constructor (GType type, guint n_construct_properties, GObjectConstructParam * construct_properties);
#define GXML_IXSD_COMPLEX_TYPE_SCHEMA_NODE_NAME "complexType"
static void gxml_gom_xsd_complex_type_finalize (GObject* obj);
static void _vala_gxml_gom_xsd_complex_type_get_property (GObject * object, guint property_id, GValue * value, GParamSpec * pspec);
static void _vala_gxml_gom_xsd_complex_type_set_property (GObject * object, guint property_id, const GValue * value, GParamSpec * pspec);
GType gxml_gom_xsd_extension_get_type (void) G_GNUC_CONST;
#define GXML_GOM_XSD_EXTENSION_GET_PRIVATE(o) (G_TYPE_INSTANCE_GET_PRIVATE ((o), GXML_TYPE_GOM_XSD_EXTENSION, GXmlGomXsdExtensionPrivate))
enum  {
	GXML_GOM_XSD_EXTENSION_DUMMY_PROPERTY,
	GXML_GOM_XSD_EXTENSION_BASE
};
GXmlGomXsdExtension* gxml_gom_xsd_extension_new (void);
GXmlGomXsdExtension* gxml_gom_xsd_extension_construct (GType object_type);
const gchar* gxml_gom_xsd_extension_get_base (GXmlGomXsdExtension* self);
void gxml_gom_xsd_extension_set_base (GXmlGomXsdExtension* self, const gchar* value);
static GObject * gxml_gom_xsd_extension_constructor (GType type, guint n_construct_properties, GObjectConstructParam * construct_properties);
#define GXML_IXSD_EXTENSION_SCHEMA_NODE_NAME "extension"
static void gxml_gom_xsd_extension_finalize (GObject* obj);
static void _vala_gxml_gom_xsd_extension_get_property (GObject * object, guint property_id, GValue * value, GParamSpec * pspec);
static void _vala_gxml_gom_xsd_extension_set_property (GObject * object, guint property_id, const GValue * value, GParamSpec * pspec);
GType gxml_gom_xsd_element_get_type (void) G_GNUC_CONST;
#define GXML_GOM_XSD_ELEMENT_GET_PRIVATE(o) (G_TYPE_INSTANCE_GET_PRIVATE ((o), GXML_TYPE_GOM_XSD_ELEMENT, GXmlGomXsdElementPrivate))
enum  {
	GXML_GOM_XSD_ELEMENT_DUMMY_PROPERTY,
	GXML_GOM_XSD_ELEMENT_ABSTRACT,
	GXML_GOM_XSD_ELEMENT_BLOCK,
	GXML_GOM_XSD_ELEMENT_DEFAULT,
	GXML_GOM_XSD_ELEMENT_FINAL,
	GXML_GOM_XSD_ELEMENT_FIXED,
	GXML_GOM_XSD_ELEMENT_FORM,
	GXML_GOM_XSD_ELEMENT_MAX_OCCURS,
	GXML_GOM_XSD_ELEMENT_MIN_OCCURS,
	GXML_GOM_XSD_ELEMENT_NAME,
	GXML_GOM_XSD_ELEMENT_NILLABLE,
	GXML_GOM_XSD_ELEMENT_REF,
	GXML_GOM_XSD_ELEMENT_SUBSTITUTION_GROUP,
	GXML_GOM_XSD_ELEMENT_TARGET_NAMESPACE,
	GXML_GOM_XSD_ELEMENT_OBJECT_TYPE,
	GXML_GOM_XSD_ELEMENT_ANOTATION,
	GXML_GOM_XSD_ELEMENT_SIMPLE_TYPE,
	GXML_GOM_XSD_ELEMENT_COMPLEX_TYPE
};
GXmlGomXsdElement* gxml_gom_xsd_element_new (void);
GXmlGomXsdElement* gxml_gom_xsd_element_construct (GType object_type);
gboolean gxml_gom_xsd_element_get_abstract (GXmlGomXsdElement* self);
void gxml_gom_xsd_element_set_abstract (GXmlGomXsdElement* self, gboolean value);
const gchar* gxml_gom_xsd_element_get_block (GXmlGomXsdElement* self);
void gxml_gom_xsd_element_set_block (GXmlGomXsdElement* self, const gchar* value);
const gchar* gxml_gom_xsd_element_get_default (GXmlGomXsdElement* self);
void gxml_gom_xsd_element_set_default (GXmlGomXsdElement* self, const gchar* value);
const gchar* gxml_gom_xsd_element_get_final (GXmlGomXsdElement* self);
void gxml_gom_xsd_element_set_final (GXmlGomXsdElement* self, const gchar* value);
const gchar* gxml_gom_xsd_element_get_fixed (GXmlGomXsdElement* self);
void gxml_gom_xsd_element_set_fixed (GXmlGomXsdElement* self, const gchar* value);
const gchar* gxml_gom_xsd_element_get_form (GXmlGomXsdElement* self);
void gxml_gom_xsd_element_set_form (GXmlGomXsdElement* self, const gchar* value);
const gchar* gxml_gom_xsd_element_get_max_occurs (GXmlGomXsdElement* self);
void gxml_gom_xsd_element_set_max_occurs (GXmlGomXsdElement* self, const gchar* value);
const gchar* gxml_gom_xsd_element_get_min_occurs (GXmlGomXsdElement* self);
void gxml_gom_xsd_element_set_min_occurs (GXmlGomXsdElement* self, const gchar* value);
const gchar* gxml_gom_xsd_element_get_name (GXmlGomXsdElement* self);
void gxml_gom_xsd_element_set_name (GXmlGomXsdElement* self, const gchar* value);
gboolean gxml_gom_xsd_element_get_nillable (GXmlGomXsdElement* self);
void gxml_gom_xsd_element_set_nillable (GXmlGomXsdElement* self, gboolean value);
const gchar* gxml_gom_xsd_element_get_ref (GXmlGomXsdElement* self);
void gxml_gom_xsd_element_set_ref (GXmlGomXsdElement* self, const gchar* value);
GXmlDomTokenList* gxml_gom_xsd_element_get_substitution_group (GXmlGomXsdElement* self);
void gxml_gom_xsd_element_set_substitution_group (GXmlGomXsdElement* self, GXmlDomTokenList* value);
const gchar* gxml_gom_xsd_element_get_target_namespace (GXmlGomXsdElement* self);
void gxml_gom_xsd_element_set_target_namespace (GXmlGomXsdElement* self, const gchar* value);
const gchar* gxml_gom_xsd_element_get_object_type (GXmlGomXsdElement* self);
void gxml_gom_xsd_element_set_object_type (GXmlGomXsdElement* self, const gchar* value);
GXmlGomXsdAnnotation* gxml_gom_xsd_element_get_anotation (GXmlGomXsdElement* self);
void gxml_gom_xsd_element_set_anotation (GXmlGomXsdElement* self, GXmlGomXsdAnnotation* value);
GXmlGomXsdSimpleType* gxml_gom_xsd_element_get_simple_type (GXmlGomXsdElement* self);
void gxml_gom_xsd_element_set_simple_type (GXmlGomXsdElement* self, GXmlGomXsdSimpleType* value);
GXmlGomXsdComplexType* gxml_gom_xsd_element_get_complex_type (GXmlGomXsdElement* self);
void gxml_gom_xsd_element_set_complex_type (GXmlGomXsdElement* self, GXmlGomXsdComplexType* value);
static GObject * gxml_gom_xsd_element_constructor (GType type, guint n_construct_properties, GObjectConstructParam * construct_properties);
#define GXML_IXSD_ELEMENT_SCHEMA_NODE_NAME "element"
static void gxml_gom_xsd_element_finalize (GObject* obj);
static void _vala_gxml_gom_xsd_element_get_property (GObject * object, guint property_id, GValue * value, GParamSpec * pspec);
static void _vala_gxml_gom_xsd_element_set_property (GObject * object, guint property_id, const GValue * value, GParamSpec * pspec);
enum  {
	GXML_GOM_XSD_ANNOTATION_DUMMY_PROPERTY
};
GXmlGomXsdAnnotation* gxml_gom_xsd_annotation_new (void);
GXmlGomXsdAnnotation* gxml_gom_xsd_annotation_construct (GType object_type);
#define GXML_GOM_XSD_BASE_TYPE_GET_PRIVATE(o) (G_TYPE_INSTANCE_GET_PRIVATE ((o), GXML_TYPE_GOM_XSD_BASE_TYPE, GXmlGomXsdBaseTypePrivate))
enum  {
	GXML_GOM_XSD_BASE_TYPE_DUMMY_PROPERTY,
	GXML_GOM_XSD_BASE_TYPE_ANOTATION
};
GXmlGomXsdAnnotation* gxml_gom_xsd_base_type_get_anotation (GXmlGomXsdBaseType* self);
void gxml_gom_xsd_base_type_set_anotation (GXmlGomXsdBaseType* self, GXmlGomXsdAnnotation* value);
static void gxml_gom_xsd_base_type_finalize (GObject* obj);
static void _vala_gxml_gom_xsd_base_type_get_property (GObject * object, guint property_id, GValue * value, GParamSpec * pspec);
static void _vala_gxml_gom_xsd_base_type_set_property (GObject * object, guint property_id, const GValue * value, GParamSpec * pspec);
#define GXML_GOM_XSD_BASE_CONTENT_GET_PRIVATE(o) (G_TYPE_INSTANCE_GET_PRIVATE ((o), GXML_TYPE_GOM_XSD_BASE_CONTENT, GXmlGomXsdBaseContentPrivate))
enum  {
	GXML_GOM_XSD_BASE_CONTENT_DUMMY_PROPERTY,
	GXML_GOM_XSD_BASE_CONTENT_ANOTATION
};
GXmlGomXsdBaseContent* gxml_gom_xsd_base_content_new (void);
GXmlGomXsdBaseContent* gxml_gom_xsd_base_content_construct (GType object_type);
GXmlGomXsdAnnotation* gxml_gom_xsd_base_content_get_anotation (GXmlGomXsdBaseContent* self);
void gxml_gom_xsd_base_content_set_anotation (GXmlGomXsdBaseContent* self, GXmlGomXsdAnnotation* value);
static void gxml_gom_xsd_base_content_finalize (GObject* obj);
static void _vala_gxml_gom_xsd_base_content_get_property (GObject * object, guint property_id, GValue * value, GParamSpec * pspec);
static void _vala_gxml_gom_xsd_base_content_set_property (GObject * object, guint property_id, const GValue * value, GParamSpec * pspec);
GType gxml_gom_xsd_simple_content_get_type (void) G_GNUC_CONST;
enum  {
	GXML_GOM_XSD_SIMPLE_CONTENT_DUMMY_PROPERTY
};
GXmlGomXsdSimpleContent* gxml_gom_xsd_simple_content_new (void);
GXmlGomXsdSimpleContent* gxml_gom_xsd_simple_content_construct (GType object_type);
static GObject * gxml_gom_xsd_simple_content_constructor (GType type, guint n_construct_properties, GObjectConstructParam * construct_properties);
void gxml_gom_element_initialize (GXmlGomElement* self, const gchar* local_name);
#define GXML_IXSD_SIMPLE_CONTENT_SCHEMA_NODE_NAME "simpleContent"
GType gxml_gom_xsd_complex_content_get_type (void) G_GNUC_CONST;
enum  {
	GXML_GOM_XSD_COMPLEX_CONTENT_DUMMY_PROPERTY
};
GXmlGomXsdComplexContent* gxml_gom_xsd_complex_content_new (void);
GXmlGomXsdComplexContent* gxml_gom_xsd_complex_content_construct (GType object_type);
static GObject * gxml_gom_xsd_complex_content_constructor (GType type, guint n_construct_properties, GObjectConstructParam * construct_properties);
#define GXML_IXSD_COMPLEX_CONTENT_SCHEMA_NODE_NAME "complexContent"
GType gxml_gom_xsd_open_content_get_type (void) G_GNUC_CONST;
enum  {
	GXML_GOM_XSD_OPEN_CONTENT_DUMMY_PROPERTY
};
GXmlGomXsdOpenContent* gxml_gom_xsd_open_content_new (void);
GXmlGomXsdOpenContent* gxml_gom_xsd_open_content_construct (GType object_type);
GType gxml_gom_xsd_base_attribute_get_type (void) G_GNUC_CONST;
#define GXML_GOM_XSD_BASE_ATTRIBUTE_GET_PRIVATE(o) (G_TYPE_INSTANCE_GET_PRIVATE ((o), GXML_TYPE_GOM_XSD_BASE_ATTRIBUTE, GXmlGomXsdBaseAttributePrivate))
enum  {
	GXML_GOM_XSD_BASE_ATTRIBUTE_DUMMY_PROPERTY,
	GXML_GOM_XSD_BASE_ATTRIBUTE_ANOTATION
};
GXmlGomXsdBaseAttribute* gxml_gom_xsd_base_attribute_new (void);
GXmlGomXsdBaseAttribute* gxml_gom_xsd_base_attribute_construct (GType object_type);
GXmlGomXsdAnnotation* gxml_gom_xsd_base_attribute_get_anotation (GXmlGomXsdBaseAttribute* self);
void gxml_gom_xsd_base_attribute_set_anotation (GXmlGomXsdBaseAttribute* self, GXmlGomXsdAnnotation* value);
static void gxml_gom_xsd_base_attribute_finalize (GObject* obj);
static void _vala_gxml_gom_xsd_base_attribute_get_property (GObject * object, guint property_id, GValue * value, GParamSpec * pspec);
static void _vala_gxml_gom_xsd_base_attribute_set_property (GObject * object, guint property_id, const GValue * value, GParamSpec * pspec);
GType gxml_gom_xsd_attribute_get_type (void) G_GNUC_CONST;
enum  {
	GXML_GOM_XSD_ATTRIBUTE_DUMMY_PROPERTY
};
GXmlGomXsdAttribute* gxml_gom_xsd_attribute_new (void);
GXmlGomXsdAttribute* gxml_gom_xsd_attribute_construct (GType object_type);
GType gxml_gom_xsd_attribute_group_get_type (void) G_GNUC_CONST;
enum  {
	GXML_GOM_XSD_ATTRIBUTE_GROUP_DUMMY_PROPERTY
};
GXmlGomXsdAttributeGroup* gxml_gom_xsd_attribute_group_new (void);
GXmlGomXsdAttributeGroup* gxml_gom_xsd_attribute_group_construct (GType object_type);
GType gxml_gom_collection_get_type (void) G_GNUC_CONST;
enum  {
	GXML_GOM_XSD_LIST_DUMMY_PROPERTY,
	GXML_GOM_XSD_LIST_LENGTH
};
void gxml_gom_xsd_list_remove (GXmlGomXsdList* self, gint index);
GXmlGomElement* gxml_gom_collection_get_element (GXmlGomCollection* self);
GXmlDomNode* gxml_dom_node_remove_child (GXmlDomNode* self, GXmlDomNode* child, GError** error);
GXmlDomNodeList* gxml_dom_node_get_child_nodes (GXmlDomNode* self);
GXmlDomNode* gxml_dom_node_list_item (GXmlDomNodeList* self, gint index);
gint gxml_gom_xsd_list_index_of (GXmlGomXsdList* self, GXmlDomElement* element);
GXmlDomNode* gxml_dom_node_get_parent_node (GXmlDomNode* self);
gint gxml_gom_xsd_list_get_length (GXmlGomXsdList* self);
GXmlDomElement* gxml_gom_collection_get_item (GXmlGomCollection* self, gint index, GError** error);
GXmlGomXsdList* gxml_gom_xsd_list_new (void);
GXmlGomXsdList* gxml_gom_xsd_list_construct (GType object_type);
GXmlGomArrayList* gxml_gom_array_list_new (void);
GXmlGomArrayList* gxml_gom_array_list_construct (GType object_type);
gint gxml_gom_collection_get_length (GXmlGomCollection* self);
static void _vala_gxml_gom_xsd_list_get_property (GObject * object, guint property_id, GValue * value, GParamSpec * pspec);
enum  {
	GXML_GOM_XSD_LIST_ELEMENTS_DUMMY_PROPERTY
};
GXmlGomXsdListElements* gxml_gom_xsd_list_elements_new (void);
GXmlGomXsdListElements* gxml_gom_xsd_list_elements_construct (GType object_type);
static GObject * gxml_gom_xsd_list_elements_constructor (GType type, guint n_construct_properties, GObjectConstructParam * construct_properties);
void gxml_gom_collection_initialize (GXmlGomCollection* self, GType t, GError** error);
enum  {
	GXML_GOM_XSD_LIST_SIMPLE_TYPES_DUMMY_PROPERTY
};
GXmlGomXsdListSimpleTypes* gxml_gom_xsd_list_simple_types_new (void);
GXmlGomXsdListSimpleTypes* gxml_gom_xsd_list_simple_types_construct (GType object_type);
static GObject * gxml_gom_xsd_list_simple_types_constructor (GType type, guint n_construct_properties, GObjectConstructParam * construct_properties);
enum  {
	GXML_GOM_XSD_LIST_COMPLEX_TYPES_DUMMY_PROPERTY
};
GXmlGomXsdListComplexTypes* gxml_gom_xsd_list_complex_types_new (void);
GXmlGomXsdListComplexTypes* gxml_gom_xsd_list_complex_types_construct (GType object_type);
static GObject * gxml_gom_xsd_list_complex_types_constructor (GType type, guint n_construct_properties, GObjectConstructParam * construct_properties);
enum  {
	GXML_GOM_XSD_LIST_TYPE_RESTRICTION_ENUMERATIONS_DUMMY_PROPERTY
};
GXmlGomXsdListTypeRestrictionEnumerations* gxml_gom_xsd_list_type_restriction_enumerations_new (void);
GXmlGomXsdListTypeRestrictionEnumerations* gxml_gom_xsd_list_type_restriction_enumerations_construct (GType object_type);
static GObject * gxml_gom_xsd_list_type_restriction_enumerations_constructor (GType type, guint n_construct_properties, GObjectConstructParam * construct_properties);
enum  {
	GXML_GOM_XSD_LIST_TYPE_RESTRICTION_WHITE_SPACES_DUMMY_PROPERTY
};
GXmlGomXsdListTypeRestrictionWhiteSpaces* gxml_gom_xsd_list_type_restriction_white_spaces_new (void);
GXmlGomXsdListTypeRestrictionWhiteSpaces* gxml_gom_xsd_list_type_restriction_white_spaces_construct (GType object_type);
static GObject * gxml_gom_xsd_list_type_restriction_white_spaces_constructor (GType type, guint n_construct_properties, GObjectConstructParam * construct_properties);


GXmlGomXsdSchema* gxml_gom_xsd_schema_construct (GType object_type) {
	GXmlGomXsdSchema * self = NULL;
	self = (GXmlGomXsdSchema*) gxml_gom_element_construct (object_type);
	return self;
}


GXmlGomXsdSchema* gxml_gom_xsd_schema_new (void) {
	return gxml_gom_xsd_schema_construct (GXML_TYPE_GOM_XSD_SCHEMA);
}


GXmlGomXsdListElements* gxml_gom_xsd_schema_get_element_definitions (GXmlGomXsdSchema* self) {
	GXmlGomXsdListElements* result;
	GXmlGomXsdListElements* _tmp0_ = NULL;
	g_return_val_if_fail (self != NULL, NULL);
	_tmp0_ = self->priv->_element_definitions;
	result = _tmp0_;
	return result;
}


static gpointer _g_object_ref0 (gpointer self) {
	return self ? g_object_ref (self) : NULL;
}


void gxml_gom_xsd_schema_set_element_definitions (GXmlGomXsdSchema* self, GXmlGomXsdListElements* value) {
	GXmlGomXsdListElements* _tmp0_ = NULL;
	GXmlGomXsdListElements* _tmp1_ = NULL;
	g_return_if_fail (self != NULL);
	_tmp0_ = value;
	_tmp1_ = _g_object_ref0 (_tmp0_);
	_g_object_unref0 (self->priv->_element_definitions);
	self->priv->_element_definitions = _tmp1_;
	g_object_notify ((GObject *) self, "element-definitions");
}


GXmlGomXsdListSimpleTypes* gxml_gom_xsd_schema_get_simple_type_definitions (GXmlGomXsdSchema* self) {
	GXmlGomXsdListSimpleTypes* result;
	GXmlGomXsdListSimpleTypes* _tmp0_ = NULL;
	g_return_val_if_fail (self != NULL, NULL);
	_tmp0_ = self->priv->_simple_type_definitions;
	result = _tmp0_;
	return result;
}


void gxml_gom_xsd_schema_set_simple_type_definitions (GXmlGomXsdSchema* self, GXmlGomXsdListSimpleTypes* value) {
	GXmlGomXsdListSimpleTypes* _tmp0_ = NULL;
	GXmlGomXsdListSimpleTypes* _tmp1_ = NULL;
	g_return_if_fail (self != NULL);
	_tmp0_ = value;
	_tmp1_ = _g_object_ref0 (_tmp0_);
	_g_object_unref0 (self->priv->_simple_type_definitions);
	self->priv->_simple_type_definitions = _tmp1_;
	g_object_notify ((GObject *) self, "simple-type-definitions");
}


GXmlGomXsdListComplexTypes* gxml_gom_xsd_schema_get_complex_type_definitions (GXmlGomXsdSchema* self) {
	GXmlGomXsdListComplexTypes* result;
	GXmlGomXsdListComplexTypes* _tmp0_ = NULL;
	g_return_val_if_fail (self != NULL, NULL);
	_tmp0_ = self->priv->_complex_type_definitions;
	result = _tmp0_;
	return result;
}


void gxml_gom_xsd_schema_set_complex_type_definitions (GXmlGomXsdSchema* self, GXmlGomXsdListComplexTypes* value) {
	GXmlGomXsdListComplexTypes* _tmp0_ = NULL;
	GXmlGomXsdListComplexTypes* _tmp1_ = NULL;
	g_return_if_fail (self != NULL);
	_tmp0_ = value;
	_tmp1_ = _g_object_ref0 (_tmp0_);
	_g_object_unref0 (self->priv->_complex_type_definitions);
	self->priv->_complex_type_definitions = _tmp1_;
	g_object_notify ((GObject *) self, "complex-type-definitions");
}


static GObject * gxml_gom_xsd_schema_constructor (GType type, guint n_construct_properties, GObjectConstructParam * construct_properties) {
	GObject * obj;
	GObjectClass * parent_class;
	GXmlGomXsdSchema * self;
	parent_class = G_OBJECT_CLASS (gxml_gom_xsd_schema_parent_class);
	obj = parent_class->constructor (type, n_construct_properties, construct_properties);
	self = G_TYPE_CHECK_INSTANCE_CAST (obj, GXML_TYPE_GOM_XSD_SCHEMA, GXmlGomXsdSchema);
	gxml_gom_element_initialize_with_namespace ((GXmlGomElement*) self, GXML_IXSD_SCHEMA_SCHEMA_NAMESPACE_URI, GXML_IXSD_SCHEMA_SCHEMA_NAMESPACE_PREFIX, GXML_IXSD_SCHEMA_SCHEMA_NODE_NAME);
	return obj;
}


static void gxml_gom_xsd_schema_class_init (GXmlGomXsdSchemaClass * klass) {
	gxml_gom_xsd_schema_parent_class = g_type_class_peek_parent (klass);
	g_type_class_add_private (klass, sizeof (GXmlGomXsdSchemaPrivate));
	G_OBJECT_CLASS (klass)->get_property = _vala_gxml_gom_xsd_schema_get_property;
	G_OBJECT_CLASS (klass)->set_property = _vala_gxml_gom_xsd_schema_set_property;
	G_OBJECT_CLASS (klass)->constructor = gxml_gom_xsd_schema_constructor;
	G_OBJECT_CLASS (klass)->finalize = gxml_gom_xsd_schema_finalize;
	g_object_class_install_property (G_OBJECT_CLASS (klass), GXML_GOM_XSD_SCHEMA_ELEMENT_DEFINITIONS, g_param_spec_object ("element-definitions", "element-definitions", "element-definitions", GXML_TYPE_GOM_XSD_LIST_ELEMENTS, G_PARAM_STATIC_NAME | G_PARAM_STATIC_NICK | G_PARAM_STATIC_BLURB | G_PARAM_READABLE | G_PARAM_WRITABLE));
	g_object_class_install_property (G_OBJECT_CLASS (klass), GXML_GOM_XSD_SCHEMA_SIMPLE_TYPE_DEFINITIONS, g_param_spec_object ("simple-type-definitions", "simple-type-definitions", "simple-type-definitions", GXML_TYPE_GOM_XSD_LIST_SIMPLE_TYPES, G_PARAM_STATIC_NAME | G_PARAM_STATIC_NICK | G_PARAM_STATIC_BLURB | G_PARAM_READABLE | G_PARAM_WRITABLE));
	g_object_class_install_property (G_OBJECT_CLASS (klass), GXML_GOM_XSD_SCHEMA_COMPLEX_TYPE_DEFINITIONS, g_param_spec_object ("complex-type-definitions", "complex-type-definitions", "complex-type-definitions", GXML_TYPE_GOM_XSD_LIST_COMPLEX_TYPES, G_PARAM_STATIC_NAME | G_PARAM_STATIC_NICK | G_PARAM_STATIC_BLURB | G_PARAM_READABLE | G_PARAM_WRITABLE));
}


static void gxml_gom_xsd_schema_instance_init (GXmlGomXsdSchema * self) {
	self->priv = GXML_GOM_XSD_SCHEMA_GET_PRIVATE (self);
}


static void gxml_gom_xsd_schema_finalize (GObject* obj) {
	GXmlGomXsdSchema * self;
	self = G_TYPE_CHECK_INSTANCE_CAST (obj, GXML_TYPE_GOM_XSD_SCHEMA, GXmlGomXsdSchema);
	_g_object_unref0 (self->priv->_element_definitions);
	_g_object_unref0 (self->priv->_simple_type_definitions);
	_g_object_unref0 (self->priv->_complex_type_definitions);
	G_OBJECT_CLASS (gxml_gom_xsd_schema_parent_class)->finalize (obj);
}


/**
 * Reference interfaces for XSD support.
 */
GType gxml_gom_xsd_schema_get_type (void) {
	static volatile gsize gxml_gom_xsd_schema_type_id__volatile = 0;
	if (g_once_init_enter (&gxml_gom_xsd_schema_type_id__volatile)) {
		static const GTypeInfo g_define_type_info = { sizeof (GXmlGomXsdSchemaClass), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) gxml_gom_xsd_schema_class_init, (GClassFinalizeFunc) NULL, NULL, sizeof (GXmlGomXsdSchema), 0, (GInstanceInitFunc) gxml_gom_xsd_schema_instance_init, NULL };
		GType gxml_gom_xsd_schema_type_id;
		gxml_gom_xsd_schema_type_id = g_type_register_static (GXML_TYPE_GOM_ELEMENT, "GXmlGomXsdSchema", &g_define_type_info, 0);
		g_once_init_leave (&gxml_gom_xsd_schema_type_id__volatile, gxml_gom_xsd_schema_type_id);
	}
	return gxml_gom_xsd_schema_type_id__volatile;
}


static void _vala_gxml_gom_xsd_schema_get_property (GObject * object, guint property_id, GValue * value, GParamSpec * pspec) {
	GXmlGomXsdSchema * self;
	self = G_TYPE_CHECK_INSTANCE_CAST (object, GXML_TYPE_GOM_XSD_SCHEMA, GXmlGomXsdSchema);
	switch (property_id) {
		case GXML_GOM_XSD_SCHEMA_ELEMENT_DEFINITIONS:
		g_value_set_object (value, gxml_gom_xsd_schema_get_element_definitions (self));
		break;
		case GXML_GOM_XSD_SCHEMA_SIMPLE_TYPE_DEFINITIONS:
		g_value_set_object (value, gxml_gom_xsd_schema_get_simple_type_definitions (self));
		break;
		case GXML_GOM_XSD_SCHEMA_COMPLEX_TYPE_DEFINITIONS:
		g_value_set_object (value, gxml_gom_xsd_schema_get_complex_type_definitions (self));
		break;
		default:
		G_OBJECT_WARN_INVALID_PROPERTY_ID (object, property_id, pspec);
		break;
	}
}


static void _vala_gxml_gom_xsd_schema_set_property (GObject * object, guint property_id, const GValue * value, GParamSpec * pspec) {
	GXmlGomXsdSchema * self;
	self = G_TYPE_CHECK_INSTANCE_CAST (object, GXML_TYPE_GOM_XSD_SCHEMA, GXmlGomXsdSchema);
	switch (property_id) {
		case GXML_GOM_XSD_SCHEMA_ELEMENT_DEFINITIONS:
		gxml_gom_xsd_schema_set_element_definitions (self, g_value_get_object (value));
		break;
		case GXML_GOM_XSD_SCHEMA_SIMPLE_TYPE_DEFINITIONS:
		gxml_gom_xsd_schema_set_simple_type_definitions (self, g_value_get_object (value));
		break;
		case GXML_GOM_XSD_SCHEMA_COMPLEX_TYPE_DEFINITIONS:
		gxml_gom_xsd_schema_set_complex_type_definitions (self, g_value_get_object (value));
		break;
		default:
		G_OBJECT_WARN_INVALID_PROPERTY_ID (object, property_id, pspec);
		break;
	}
}


GXmlGomXsdSimpleType* gxml_gom_xsd_simple_type_construct (GType object_type) {
	GXmlGomXsdSimpleType * self = NULL;
	self = (GXmlGomXsdSimpleType*) gxml_gom_element_construct (object_type);
	return self;
}


GXmlGomXsdSimpleType* gxml_gom_xsd_simple_type_new (void) {
	return gxml_gom_xsd_simple_type_construct (GXML_TYPE_GOM_XSD_SIMPLE_TYPE);
}


const gchar* gxml_gom_xsd_simple_type_get_final (GXmlGomXsdSimpleType* self) {
	const gchar* result;
	const gchar* _tmp0_ = NULL;
	g_return_val_if_fail (self != NULL, NULL);
	_tmp0_ = self->priv->_final;
	result = _tmp0_;
	return result;
}


void gxml_gom_xsd_simple_type_set_final (GXmlGomXsdSimpleType* self, const gchar* value) {
	const gchar* _tmp0_ = NULL;
	gchar* _tmp1_ = NULL;
	g_return_if_fail (self != NULL);
	_tmp0_ = value;
	_tmp1_ = g_strdup (_tmp0_);
	_g_free0 (self->priv->_final);
	self->priv->_final = _tmp1_;
	g_object_notify ((GObject *) self, "final");
}


const gchar* gxml_gom_xsd_simple_type_get_name (GXmlGomXsdSimpleType* self) {
	const gchar* result;
	const gchar* _tmp0_ = NULL;
	g_return_val_if_fail (self != NULL, NULL);
	_tmp0_ = self->priv->_name;
	result = _tmp0_;
	return result;
}


void gxml_gom_xsd_simple_type_set_name (GXmlGomXsdSimpleType* self, const gchar* value) {
	const gchar* _tmp0_ = NULL;
	gchar* _tmp1_ = NULL;
	g_return_if_fail (self != NULL);
	_tmp0_ = value;
	_tmp1_ = g_strdup (_tmp0_);
	_g_free0 (self->priv->_name);
	self->priv->_name = _tmp1_;
	g_object_notify ((GObject *) self, "name");
}


GXmlGomXsdAnnotation* gxml_gom_xsd_simple_type_get_annotation (GXmlGomXsdSimpleType* self) {
	GXmlGomXsdAnnotation* result;
	GXmlGomXsdAnnotation* _tmp0_ = NULL;
	g_return_val_if_fail (self != NULL, NULL);
	_tmp0_ = self->priv->_annotation;
	result = _tmp0_;
	return result;
}


void gxml_gom_xsd_simple_type_set_annotation (GXmlGomXsdSimpleType* self, GXmlGomXsdAnnotation* value) {
	GXmlGomXsdAnnotation* _tmp0_ = NULL;
	GXmlGomXsdAnnotation* _tmp1_ = NULL;
	g_return_if_fail (self != NULL);
	_tmp0_ = value;
	_tmp1_ = _g_object_ref0 (_tmp0_);
	_g_object_unref0 (self->priv->_annotation);
	self->priv->_annotation = _tmp1_;
	g_object_notify ((GObject *) self, "annotation");
}


GXmlGomXsdTypeList* gxml_gom_xsd_simple_type_get_list (GXmlGomXsdSimpleType* self) {
	GXmlGomXsdTypeList* result;
	GXmlGomXsdTypeList* _tmp0_ = NULL;
	g_return_val_if_fail (self != NULL, NULL);
	_tmp0_ = self->priv->_list;
	result = _tmp0_;
	return result;
}


void gxml_gom_xsd_simple_type_set_list (GXmlGomXsdSimpleType* self, GXmlGomXsdTypeList* value) {
	GXmlGomXsdTypeList* _tmp0_ = NULL;
	GXmlGomXsdTypeList* _tmp1_ = NULL;
	g_return_if_fail (self != NULL);
	_tmp0_ = value;
	_tmp1_ = _g_object_ref0 (_tmp0_);
	_g_object_unref0 (self->priv->_list);
	self->priv->_list = _tmp1_;
	g_object_notify ((GObject *) self, "list");
}


GXmlGomXsdTypeUnion* gxml_gom_xsd_simple_type_get_union (GXmlGomXsdSimpleType* self) {
	GXmlGomXsdTypeUnion* result;
	GXmlGomXsdTypeUnion* _tmp0_ = NULL;
	g_return_val_if_fail (self != NULL, NULL);
	_tmp0_ = self->priv->_union;
	result = _tmp0_;
	return result;
}


void gxml_gom_xsd_simple_type_set_union (GXmlGomXsdSimpleType* self, GXmlGomXsdTypeUnion* value) {
	GXmlGomXsdTypeUnion* _tmp0_ = NULL;
	GXmlGomXsdTypeUnion* _tmp1_ = NULL;
	g_return_if_fail (self != NULL);
	_tmp0_ = value;
	_tmp1_ = _g_object_ref0 (_tmp0_);
	_g_object_unref0 (self->priv->_union);
	self->priv->_union = _tmp1_;
	g_object_notify ((GObject *) self, "union");
}


GXmlGomXsdTypeRestriction* gxml_gom_xsd_simple_type_get_restriction (GXmlGomXsdSimpleType* self) {
	GXmlGomXsdTypeRestriction* result;
	GXmlGomXsdTypeRestriction* _tmp0_ = NULL;
	g_return_val_if_fail (self != NULL, NULL);
	_tmp0_ = self->priv->_restriction;
	result = _tmp0_;
	return result;
}


void gxml_gom_xsd_simple_type_set_restriction (GXmlGomXsdSimpleType* self, GXmlGomXsdTypeRestriction* value) {
	GXmlGomXsdTypeRestriction* _tmp0_ = NULL;
	GXmlGomXsdTypeRestriction* _tmp1_ = NULL;
	g_return_if_fail (self != NULL);
	_tmp0_ = value;
	_tmp1_ = _g_object_ref0 (_tmp0_);
	_g_object_unref0 (self->priv->_restriction);
	self->priv->_restriction = _tmp1_;
	g_object_notify ((GObject *) self, "restriction");
}


static GObject * gxml_gom_xsd_simple_type_constructor (GType type, guint n_construct_properties, GObjectConstructParam * construct_properties) {
	GObject * obj;
	GObjectClass * parent_class;
	GXmlGomXsdSimpleType * self;
	parent_class = G_OBJECT_CLASS (gxml_gom_xsd_simple_type_parent_class);
	obj = parent_class->constructor (type, n_construct_properties, construct_properties);
	self = G_TYPE_CHECK_INSTANCE_CAST (obj, GXML_TYPE_GOM_XSD_SIMPLE_TYPE, GXmlGomXsdSimpleType);
	gxml_gom_element_initialize_with_namespace ((GXmlGomElement*) self, GXML_IXSD_SCHEMA_SCHEMA_NAMESPACE_URI, GXML_IXSD_SCHEMA_SCHEMA_NAMESPACE_PREFIX, GXML_IXSD_SIMPLE_TYPE_SCHEMA_NODE_NAME);
	return obj;
}


static void gxml_gom_xsd_simple_type_class_init (GXmlGomXsdSimpleTypeClass * klass) {
	gxml_gom_xsd_simple_type_parent_class = g_type_class_peek_parent (klass);
	g_type_class_add_private (klass, sizeof (GXmlGomXsdSimpleTypePrivate));
	G_OBJECT_CLASS (klass)->get_property = _vala_gxml_gom_xsd_simple_type_get_property;
	G_OBJECT_CLASS (klass)->set_property = _vala_gxml_gom_xsd_simple_type_set_property;
	G_OBJECT_CLASS (klass)->constructor = gxml_gom_xsd_simple_type_constructor;
	G_OBJECT_CLASS (klass)->finalize = gxml_gom_xsd_simple_type_finalize;
	/**
	   * (#all | List of (list | union | restriction | extension))
	   */
	g_object_class_install_property (G_OBJECT_CLASS (klass), GXML_GOM_XSD_SIMPLE_TYPE_FINAL, g_param_spec_string ("final", "::final", "final", NULL, G_PARAM_STATIC_NAME | G_PARAM_STATIC_NICK | G_PARAM_STATIC_BLURB | G_PARAM_READABLE | G_PARAM_WRITABLE));
	g_object_class_install_property (G_OBJECT_CLASS (klass), GXML_GOM_XSD_SIMPLE_TYPE_NAME, g_param_spec_string ("name", "::name", "name", NULL, G_PARAM_STATIC_NAME | G_PARAM_STATIC_NICK | G_PARAM_STATIC_BLURB | G_PARAM_READABLE | G_PARAM_WRITABLE));
	g_object_class_install_property (G_OBJECT_CLASS (klass), GXML_GOM_XSD_SIMPLE_TYPE_ANNOTATION, g_param_spec_object ("annotation", "annotation", "annotation", GXML_TYPE_GOM_XSD_ANNOTATION, G_PARAM_STATIC_NAME | G_PARAM_STATIC_NICK | G_PARAM_STATIC_BLURB | G_PARAM_READABLE | G_PARAM_WRITABLE));
	g_object_class_install_property (G_OBJECT_CLASS (klass), GXML_GOM_XSD_SIMPLE_TYPE_LIST, g_param_spec_object ("list", "list", "list", GXML_TYPE_GOM_XSD_TYPE_LIST, G_PARAM_STATIC_NAME | G_PARAM_STATIC_NICK | G_PARAM_STATIC_BLURB | G_PARAM_READABLE | G_PARAM_WRITABLE));
	g_object_class_install_property (G_OBJECT_CLASS (klass), GXML_GOM_XSD_SIMPLE_TYPE_UNION, g_param_spec_object ("union", "union", "union", GXML_TYPE_GOM_XSD_TYPE_UNION, G_PARAM_STATIC_NAME | G_PARAM_STATIC_NICK | G_PARAM_STATIC_BLURB | G_PARAM_READABLE | G_PARAM_WRITABLE));
	g_object_class_install_property (G_OBJECT_CLASS (klass), GXML_GOM_XSD_SIMPLE_TYPE_RESTRICTION, g_param_spec_object ("restriction", "restriction", "restriction", GXML_TYPE_GOM_XSD_TYPE_RESTRICTION, G_PARAM_STATIC_NAME | G_PARAM_STATIC_NICK | G_PARAM_STATIC_BLURB | G_PARAM_READABLE | G_PARAM_WRITABLE));
}


static void gxml_gom_xsd_simple_type_instance_init (GXmlGomXsdSimpleType * self) {
	self->priv = GXML_GOM_XSD_SIMPLE_TYPE_GET_PRIVATE (self);
}


static void gxml_gom_xsd_simple_type_finalize (GObject* obj) {
	GXmlGomXsdSimpleType * self;
	self = G_TYPE_CHECK_INSTANCE_CAST (obj, GXML_TYPE_GOM_XSD_SIMPLE_TYPE, GXmlGomXsdSimpleType);
	_g_free0 (self->priv->_final);
	_g_free0 (self->priv->_name);
	_g_object_unref0 (self->priv->_annotation);
	_g_object_unref0 (self->priv->_list);
	_g_object_unref0 (self->priv->_union);
	_g_object_unref0 (self->priv->_restriction);
	G_OBJECT_CLASS (gxml_gom_xsd_simple_type_parent_class)->finalize (obj);
}


GType gxml_gom_xsd_simple_type_get_type (void) {
	static volatile gsize gxml_gom_xsd_simple_type_type_id__volatile = 0;
	if (g_once_init_enter (&gxml_gom_xsd_simple_type_type_id__volatile)) {
		static const GTypeInfo g_define_type_info = { sizeof (GXmlGomXsdSimpleTypeClass), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) gxml_gom_xsd_simple_type_class_init, (GClassFinalizeFunc) NULL, NULL, sizeof (GXmlGomXsdSimpleType), 0, (GInstanceInitFunc) gxml_gom_xsd_simple_type_instance_init, NULL };
		GType gxml_gom_xsd_simple_type_type_id;
		gxml_gom_xsd_simple_type_type_id = g_type_register_static (GXML_TYPE_GOM_ELEMENT, "GXmlGomXsdSimpleType", &g_define_type_info, 0);
		g_once_init_leave (&gxml_gom_xsd_simple_type_type_id__volatile, gxml_gom_xsd_simple_type_type_id);
	}
	return gxml_gom_xsd_simple_type_type_id__volatile;
}


static void _vala_gxml_gom_xsd_simple_type_get_property (GObject * object, guint property_id, GValue * value, GParamSpec * pspec) {
	GXmlGomXsdSimpleType * self;
	self = G_TYPE_CHECK_INSTANCE_CAST (object, GXML_TYPE_GOM_XSD_SIMPLE_TYPE, GXmlGomXsdSimpleType);
	switch (property_id) {
		case GXML_GOM_XSD_SIMPLE_TYPE_FINAL:
		g_value_set_string (value, gxml_gom_xsd_simple_type_get_final (self));
		break;
		case GXML_GOM_XSD_SIMPLE_TYPE_NAME:
		g_value_set_string (value, gxml_gom_xsd_simple_type_get_name (self));
		break;
		case GXML_GOM_XSD_SIMPLE_TYPE_ANNOTATION:
		g_value_set_object (value, gxml_gom_xsd_simple_type_get_annotation (self));
		break;
		case GXML_GOM_XSD_SIMPLE_TYPE_LIST:
		g_value_set_object (value, gxml_gom_xsd_simple_type_get_list (self));
		break;
		case GXML_GOM_XSD_SIMPLE_TYPE_UNION:
		g_value_set_object (value, gxml_gom_xsd_simple_type_get_union (self));
		break;
		case GXML_GOM_XSD_SIMPLE_TYPE_RESTRICTION:
		g_value_set_object (value, gxml_gom_xsd_simple_type_get_restriction (self));
		break;
		default:
		G_OBJECT_WARN_INVALID_PROPERTY_ID (object, property_id, pspec);
		break;
	}
}


static void _vala_gxml_gom_xsd_simple_type_set_property (GObject * object, guint property_id, const GValue * value, GParamSpec * pspec) {
	GXmlGomXsdSimpleType * self;
	self = G_TYPE_CHECK_INSTANCE_CAST (object, GXML_TYPE_GOM_XSD_SIMPLE_TYPE, GXmlGomXsdSimpleType);
	switch (property_id) {
		case GXML_GOM_XSD_SIMPLE_TYPE_FINAL:
		gxml_gom_xsd_simple_type_set_final (self, g_value_get_string (value));
		break;
		case GXML_GOM_XSD_SIMPLE_TYPE_NAME:
		gxml_gom_xsd_simple_type_set_name (self, g_value_get_string (value));
		break;
		case GXML_GOM_XSD_SIMPLE_TYPE_ANNOTATION:
		gxml_gom_xsd_simple_type_set_annotation (self, g_value_get_object (value));
		break;
		case GXML_GOM_XSD_SIMPLE_TYPE_LIST:
		gxml_gom_xsd_simple_type_set_list (self, g_value_get_object (value));
		break;
		case GXML_GOM_XSD_SIMPLE_TYPE_UNION:
		gxml_gom_xsd_simple_type_set_union (self, g_value_get_object (value));
		break;
		case GXML_GOM_XSD_SIMPLE_TYPE_RESTRICTION:
		gxml_gom_xsd_simple_type_set_restriction (self, g_value_get_object (value));
		break;
		default:
		G_OBJECT_WARN_INVALID_PROPERTY_ID (object, property_id, pspec);
		break;
	}
}


GXmlGomXsdTypeDefinition* gxml_gom_xsd_type_definition_construct (GType object_type) {
	GXmlGomXsdTypeDefinition * self = NULL;
	self = (GXmlGomXsdTypeDefinition*) gxml_gom_element_construct (object_type);
	return self;
}


GXmlGomXsdTypeDefinition* gxml_gom_xsd_type_definition_new (void) {
	return gxml_gom_xsd_type_definition_construct (GXML_TYPE_GOM_XSD_TYPE_DEFINITION);
}


GXmlGomXsdAnnotation* gxml_gom_xsd_type_definition_get_annotation (GXmlGomXsdTypeDefinition* self) {
	GXmlGomXsdAnnotation* result;
	GXmlGomXsdAnnotation* _tmp0_ = NULL;
	g_return_val_if_fail (self != NULL, NULL);
	_tmp0_ = self->priv->_annotation;
	result = _tmp0_;
	return result;
}


void gxml_gom_xsd_type_definition_set_annotation (GXmlGomXsdTypeDefinition* self, GXmlGomXsdAnnotation* value) {
	GXmlGomXsdAnnotation* _tmp0_ = NULL;
	GXmlGomXsdAnnotation* _tmp1_ = NULL;
	g_return_if_fail (self != NULL);
	_tmp0_ = value;
	_tmp1_ = _g_object_ref0 (_tmp0_);
	_g_object_unref0 (self->priv->_annotation);
	self->priv->_annotation = _tmp1_;
	g_object_notify ((GObject *) self, "annotation");
}


static void gxml_gom_xsd_type_definition_class_init (GXmlGomXsdTypeDefinitionClass * klass) {
	gxml_gom_xsd_type_definition_parent_class = g_type_class_peek_parent (klass);
	g_type_class_add_private (klass, sizeof (GXmlGomXsdTypeDefinitionPrivate));
	G_OBJECT_CLASS (klass)->get_property = _vala_gxml_gom_xsd_type_definition_get_property;
	G_OBJECT_CLASS (klass)->set_property = _vala_gxml_gom_xsd_type_definition_set_property;
	G_OBJECT_CLASS (klass)->finalize = gxml_gom_xsd_type_definition_finalize;
	g_object_class_install_property (G_OBJECT_CLASS (klass), GXML_GOM_XSD_TYPE_DEFINITION_ANNOTATION, g_param_spec_object ("annotation", "annotation", "annotation", GXML_TYPE_GOM_XSD_ANNOTATION, G_PARAM_STATIC_NAME | G_PARAM_STATIC_NICK | G_PARAM_STATIC_BLURB | G_PARAM_READABLE | G_PARAM_WRITABLE));
}


static void gxml_gom_xsd_type_definition_instance_init (GXmlGomXsdTypeDefinition * self) {
	self->priv = GXML_GOM_XSD_TYPE_DEFINITION_GET_PRIVATE (self);
}


static void gxml_gom_xsd_type_definition_finalize (GObject* obj) {
	GXmlGomXsdTypeDefinition * self;
	self = G_TYPE_CHECK_INSTANCE_CAST (obj, GXML_TYPE_GOM_XSD_TYPE_DEFINITION, GXmlGomXsdTypeDefinition);
	_g_object_unref0 (self->priv->_annotation);
	G_OBJECT_CLASS (gxml_gom_xsd_type_definition_parent_class)->finalize (obj);
}


GType gxml_gom_xsd_type_definition_get_type (void) {
	static volatile gsize gxml_gom_xsd_type_definition_type_id__volatile = 0;
	if (g_once_init_enter (&gxml_gom_xsd_type_definition_type_id__volatile)) {
		static const GTypeInfo g_define_type_info = { sizeof (GXmlGomXsdTypeDefinitionClass), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) gxml_gom_xsd_type_definition_class_init, (GClassFinalizeFunc) NULL, NULL, sizeof (GXmlGomXsdTypeDefinition), 0, (GInstanceInitFunc) gxml_gom_xsd_type_definition_instance_init, NULL };
		GType gxml_gom_xsd_type_definition_type_id;
		gxml_gom_xsd_type_definition_type_id = g_type_register_static (GXML_TYPE_GOM_ELEMENT, "GXmlGomXsdTypeDefinition", &g_define_type_info, 0);
		g_once_init_leave (&gxml_gom_xsd_type_definition_type_id__volatile, gxml_gom_xsd_type_definition_type_id);
	}
	return gxml_gom_xsd_type_definition_type_id__volatile;
}


static void _vala_gxml_gom_xsd_type_definition_get_property (GObject * object, guint property_id, GValue * value, GParamSpec * pspec) {
	GXmlGomXsdTypeDefinition * self;
	self = G_TYPE_CHECK_INSTANCE_CAST (object, GXML_TYPE_GOM_XSD_TYPE_DEFINITION, GXmlGomXsdTypeDefinition);
	switch (property_id) {
		case GXML_GOM_XSD_TYPE_DEFINITION_ANNOTATION:
		g_value_set_object (value, gxml_gom_xsd_type_definition_get_annotation (self));
		break;
		default:
		G_OBJECT_WARN_INVALID_PROPERTY_ID (object, property_id, pspec);
		break;
	}
}


static void _vala_gxml_gom_xsd_type_definition_set_property (GObject * object, guint property_id, const GValue * value, GParamSpec * pspec) {
	GXmlGomXsdTypeDefinition * self;
	self = G_TYPE_CHECK_INSTANCE_CAST (object, GXML_TYPE_GOM_XSD_TYPE_DEFINITION, GXmlGomXsdTypeDefinition);
	switch (property_id) {
		case GXML_GOM_XSD_TYPE_DEFINITION_ANNOTATION:
		gxml_gom_xsd_type_definition_set_annotation (self, g_value_get_object (value));
		break;
		default:
		G_OBJECT_WARN_INVALID_PROPERTY_ID (object, property_id, pspec);
		break;
	}
}


GXmlGomXsdTypeList* gxml_gom_xsd_type_list_construct (GType object_type) {
	GXmlGomXsdTypeList * self = NULL;
	self = (GXmlGomXsdTypeList*) gxml_gom_xsd_type_definition_construct (object_type);
	return self;
}


GXmlGomXsdTypeList* gxml_gom_xsd_type_list_new (void) {
	return gxml_gom_xsd_type_list_construct (GXML_TYPE_GOM_XSD_TYPE_LIST);
}


static void gxml_gom_xsd_type_list_class_init (GXmlGomXsdTypeListClass * klass) {
	gxml_gom_xsd_type_list_parent_class = g_type_class_peek_parent (klass);
}


static void gxml_gom_xsd_type_list_instance_init (GXmlGomXsdTypeList * self) {
}


GType gxml_gom_xsd_type_list_get_type (void) {
	static volatile gsize gxml_gom_xsd_type_list_type_id__volatile = 0;
	if (g_once_init_enter (&gxml_gom_xsd_type_list_type_id__volatile)) {
		static const GTypeInfo g_define_type_info = { sizeof (GXmlGomXsdTypeListClass), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) gxml_gom_xsd_type_list_class_init, (GClassFinalizeFunc) NULL, NULL, sizeof (GXmlGomXsdTypeList), 0, (GInstanceInitFunc) gxml_gom_xsd_type_list_instance_init, NULL };
		GType gxml_gom_xsd_type_list_type_id;
		gxml_gom_xsd_type_list_type_id = g_type_register_static (GXML_TYPE_GOM_XSD_TYPE_DEFINITION, "GXmlGomXsdTypeList", &g_define_type_info, 0);
		g_once_init_leave (&gxml_gom_xsd_type_list_type_id__volatile, gxml_gom_xsd_type_list_type_id);
	}
	return gxml_gom_xsd_type_list_type_id__volatile;
}


GXmlGomXsdTypeUnion* gxml_gom_xsd_type_union_construct (GType object_type) {
	GXmlGomXsdTypeUnion * self = NULL;
	self = (GXmlGomXsdTypeUnion*) gxml_gom_xsd_type_definition_construct (object_type);
	return self;
}


GXmlGomXsdTypeUnion* gxml_gom_xsd_type_union_new (void) {
	return gxml_gom_xsd_type_union_construct (GXML_TYPE_GOM_XSD_TYPE_UNION);
}


static void gxml_gom_xsd_type_union_class_init (GXmlGomXsdTypeUnionClass * klass) {
	gxml_gom_xsd_type_union_parent_class = g_type_class_peek_parent (klass);
}


static void gxml_gom_xsd_type_union_instance_init (GXmlGomXsdTypeUnion * self) {
}


GType gxml_gom_xsd_type_union_get_type (void) {
	static volatile gsize gxml_gom_xsd_type_union_type_id__volatile = 0;
	if (g_once_init_enter (&gxml_gom_xsd_type_union_type_id__volatile)) {
		static const GTypeInfo g_define_type_info = { sizeof (GXmlGomXsdTypeUnionClass), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) gxml_gom_xsd_type_union_class_init, (GClassFinalizeFunc) NULL, NULL, sizeof (GXmlGomXsdTypeUnion), 0, (GInstanceInitFunc) gxml_gom_xsd_type_union_instance_init, NULL };
		GType gxml_gom_xsd_type_union_type_id;
		gxml_gom_xsd_type_union_type_id = g_type_register_static (GXML_TYPE_GOM_XSD_TYPE_DEFINITION, "GXmlGomXsdTypeUnion", &g_define_type_info, 0);
		g_once_init_leave (&gxml_gom_xsd_type_union_type_id__volatile, gxml_gom_xsd_type_union_type_id);
	}
	return gxml_gom_xsd_type_union_type_id__volatile;
}


GXmlGomXsdTypeRestriction* gxml_gom_xsd_type_restriction_construct (GType object_type) {
	GXmlGomXsdTypeRestriction * self = NULL;
	self = (GXmlGomXsdTypeRestriction*) gxml_gom_xsd_type_definition_construct (object_type);
	return self;
}


GXmlGomXsdTypeRestriction* gxml_gom_xsd_type_restriction_new (void) {
	return gxml_gom_xsd_type_restriction_construct (GXML_TYPE_GOM_XSD_TYPE_RESTRICTION);
}


const gchar* gxml_gom_xsd_type_restriction_get_base (GXmlGomXsdTypeRestriction* self) {
	const gchar* result;
	const gchar* _tmp0_ = NULL;
	g_return_val_if_fail (self != NULL, NULL);
	_tmp0_ = self->priv->_base;
	result = _tmp0_;
	return result;
}


void gxml_gom_xsd_type_restriction_set_base (GXmlGomXsdTypeRestriction* self, const gchar* value) {
	const gchar* _tmp0_ = NULL;
	gchar* _tmp1_ = NULL;
	g_return_if_fail (self != NULL);
	_tmp0_ = value;
	_tmp1_ = g_strdup (_tmp0_);
	_g_free0 (self->priv->_base);
	self->priv->_base = _tmp1_;
	g_object_notify ((GObject *) self, "base");
}


GXmlGomXsdSimpleType* gxml_gom_xsd_type_restriction_get_simple_type (GXmlGomXsdTypeRestriction* self) {
	GXmlGomXsdSimpleType* result;
	GXmlGomXsdSimpleType* _tmp0_ = NULL;
	g_return_val_if_fail (self != NULL, NULL);
	_tmp0_ = self->priv->_simple_type;
	result = _tmp0_;
	return result;
}


void gxml_gom_xsd_type_restriction_set_simple_type (GXmlGomXsdTypeRestriction* self, GXmlGomXsdSimpleType* value) {
	GXmlGomXsdSimpleType* _tmp0_ = NULL;
	GXmlGomXsdSimpleType* _tmp1_ = NULL;
	g_return_if_fail (self != NULL);
	_tmp0_ = value;
	_tmp1_ = _g_object_ref0 (_tmp0_);
	_g_object_unref0 (self->priv->_simple_type);
	self->priv->_simple_type = _tmp1_;
	g_object_notify ((GObject *) self, "simple-type");
}


GXmlGomXsdListTypeRestrictionEnumerations* gxml_gom_xsd_type_restriction_get_enumerations (GXmlGomXsdTypeRestriction* self) {
	GXmlGomXsdListTypeRestrictionEnumerations* result;
	GXmlGomXsdListTypeRestrictionEnumerations* _tmp0_ = NULL;
	g_return_val_if_fail (self != NULL, NULL);
	_tmp0_ = self->priv->_enumerations;
	result = _tmp0_;
	return result;
}


void gxml_gom_xsd_type_restriction_set_enumerations (GXmlGomXsdTypeRestriction* self, GXmlGomXsdListTypeRestrictionEnumerations* value) {
	GXmlGomXsdListTypeRestrictionEnumerations* _tmp0_ = NULL;
	GXmlGomXsdListTypeRestrictionEnumerations* _tmp1_ = NULL;
	g_return_if_fail (self != NULL);
	_tmp0_ = value;
	_tmp1_ = _g_object_ref0 (_tmp0_);
	_g_object_unref0 (self->priv->_enumerations);
	self->priv->_enumerations = _tmp1_;
	g_object_notify ((GObject *) self, "enumerations");
}


GXmlGomXsdListTypeRestrictionWhiteSpaces* gxml_gom_xsd_type_restriction_get_white_spaces (GXmlGomXsdTypeRestriction* self) {
	GXmlGomXsdListTypeRestrictionWhiteSpaces* result;
	GXmlGomXsdListTypeRestrictionWhiteSpaces* _tmp0_ = NULL;
	g_return_val_if_fail (self != NULL, NULL);
	_tmp0_ = self->priv->_white_spaces;
	result = _tmp0_;
	return result;
}


void gxml_gom_xsd_type_restriction_set_white_spaces (GXmlGomXsdTypeRestriction* self, GXmlGomXsdListTypeRestrictionWhiteSpaces* value) {
	GXmlGomXsdListTypeRestrictionWhiteSpaces* _tmp0_ = NULL;
	GXmlGomXsdListTypeRestrictionWhiteSpaces* _tmp1_ = NULL;
	g_return_if_fail (self != NULL);
	_tmp0_ = value;
	_tmp1_ = _g_object_ref0 (_tmp0_);
	_g_object_unref0 (self->priv->_white_spaces);
	self->priv->_white_spaces = _tmp1_;
	g_object_notify ((GObject *) self, "white-spaces");
}


static GObject * gxml_gom_xsd_type_restriction_constructor (GType type, guint n_construct_properties, GObjectConstructParam * construct_properties) {
	GObject * obj;
	GObjectClass * parent_class;
	GXmlGomXsdTypeRestriction * self;
	parent_class = G_OBJECT_CLASS (gxml_gom_xsd_type_restriction_parent_class);
	obj = parent_class->constructor (type, n_construct_properties, construct_properties);
	self = G_TYPE_CHECK_INSTANCE_CAST (obj, GXML_TYPE_GOM_XSD_TYPE_RESTRICTION, GXmlGomXsdTypeRestriction);
	gxml_gom_element_initialize_with_namespace ((GXmlGomElement*) self, GXML_IXSD_SCHEMA_SCHEMA_NAMESPACE_URI, GXML_IXSD_SCHEMA_SCHEMA_NAMESPACE_PREFIX, GXML_IXSD_TYPE_RESTRICTION_SCHEMA_NODE_NAME);
	return obj;
}


static void gxml_gom_xsd_type_restriction_class_init (GXmlGomXsdTypeRestrictionClass * klass) {
	gxml_gom_xsd_type_restriction_parent_class = g_type_class_peek_parent (klass);
	g_type_class_add_private (klass, sizeof (GXmlGomXsdTypeRestrictionPrivate));
	G_OBJECT_CLASS (klass)->get_property = _vala_gxml_gom_xsd_type_restriction_get_property;
	G_OBJECT_CLASS (klass)->set_property = _vala_gxml_gom_xsd_type_restriction_set_property;
	G_OBJECT_CLASS (klass)->constructor = gxml_gom_xsd_type_restriction_constructor;
	G_OBJECT_CLASS (klass)->finalize = gxml_gom_xsd_type_restriction_finalize;
	g_object_class_install_property (G_OBJECT_CLASS (klass), GXML_GOM_XSD_TYPE_RESTRICTION_BASE, g_param_spec_string ("base", "::base", "base", NULL, G_PARAM_STATIC_NAME | G_PARAM_STATIC_NICK | G_PARAM_STATIC_BLURB | G_PARAM_READABLE | G_PARAM_WRITABLE));
	g_object_class_install_property (G_OBJECT_CLASS (klass), GXML_GOM_XSD_TYPE_RESTRICTION_SIMPLE_TYPE, g_param_spec_object ("simple-type", "simple-type", "simple-type", GXML_TYPE_GOM_XSD_SIMPLE_TYPE, G_PARAM_STATIC_NAME | G_PARAM_STATIC_NICK | G_PARAM_STATIC_BLURB | G_PARAM_READABLE | G_PARAM_WRITABLE));
	g_object_class_install_property (G_OBJECT_CLASS (klass), GXML_GOM_XSD_TYPE_RESTRICTION_ENUMERATIONS, g_param_spec_object ("enumerations", "enumerations", "enumerations", GXML_TYPE_GOM_XSD_LIST_TYPE_RESTRICTION_ENUMERATIONS, G_PARAM_STATIC_NAME | G_PARAM_STATIC_NICK | G_PARAM_STATIC_BLURB | G_PARAM_READABLE | G_PARAM_WRITABLE));
	g_object_class_install_property (G_OBJECT_CLASS (klass), GXML_GOM_XSD_TYPE_RESTRICTION_WHITE_SPACES, g_param_spec_object ("white-spaces", "white-spaces", "white-spaces", GXML_TYPE_GOM_XSD_LIST_TYPE_RESTRICTION_WHITE_SPACES, G_PARAM_STATIC_NAME | G_PARAM_STATIC_NICK | G_PARAM_STATIC_BLURB | G_PARAM_READABLE | G_PARAM_WRITABLE));
}


static void gxml_gom_xsd_type_restriction_instance_init (GXmlGomXsdTypeRestriction * self) {
	self->priv = GXML_GOM_XSD_TYPE_RESTRICTION_GET_PRIVATE (self);
}


static void gxml_gom_xsd_type_restriction_finalize (GObject* obj) {
	GXmlGomXsdTypeRestriction * self;
	self = G_TYPE_CHECK_INSTANCE_CAST (obj, GXML_TYPE_GOM_XSD_TYPE_RESTRICTION, GXmlGomXsdTypeRestriction);
	_g_free0 (self->priv->_base);
	_g_object_unref0 (self->priv->_simple_type);
	_g_object_unref0 (self->priv->_enumerations);
	_g_object_unref0 (self->priv->_white_spaces);
	G_OBJECT_CLASS (gxml_gom_xsd_type_restriction_parent_class)->finalize (obj);
}


GType gxml_gom_xsd_type_restriction_get_type (void) {
	static volatile gsize gxml_gom_xsd_type_restriction_type_id__volatile = 0;
	if (g_once_init_enter (&gxml_gom_xsd_type_restriction_type_id__volatile)) {
		static const GTypeInfo g_define_type_info = { sizeof (GXmlGomXsdTypeRestrictionClass), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) gxml_gom_xsd_type_restriction_class_init, (GClassFinalizeFunc) NULL, NULL, sizeof (GXmlGomXsdTypeRestriction), 0, (GInstanceInitFunc) gxml_gom_xsd_type_restriction_instance_init, NULL };
		GType gxml_gom_xsd_type_restriction_type_id;
		gxml_gom_xsd_type_restriction_type_id = g_type_register_static (GXML_TYPE_GOM_XSD_TYPE_DEFINITION, "GXmlGomXsdTypeRestriction", &g_define_type_info, 0);
		g_once_init_leave (&gxml_gom_xsd_type_restriction_type_id__volatile, gxml_gom_xsd_type_restriction_type_id);
	}
	return gxml_gom_xsd_type_restriction_type_id__volatile;
}


static void _vala_gxml_gom_xsd_type_restriction_get_property (GObject * object, guint property_id, GValue * value, GParamSpec * pspec) {
	GXmlGomXsdTypeRestriction * self;
	self = G_TYPE_CHECK_INSTANCE_CAST (object, GXML_TYPE_GOM_XSD_TYPE_RESTRICTION, GXmlGomXsdTypeRestriction);
	switch (property_id) {
		case GXML_GOM_XSD_TYPE_RESTRICTION_BASE:
		g_value_set_string (value, gxml_gom_xsd_type_restriction_get_base (self));
		break;
		case GXML_GOM_XSD_TYPE_RESTRICTION_SIMPLE_TYPE:
		g_value_set_object (value, gxml_gom_xsd_type_restriction_get_simple_type (self));
		break;
		case GXML_GOM_XSD_TYPE_RESTRICTION_ENUMERATIONS:
		g_value_set_object (value, gxml_gom_xsd_type_restriction_get_enumerations (self));
		break;
		case GXML_GOM_XSD_TYPE_RESTRICTION_WHITE_SPACES:
		g_value_set_object (value, gxml_gom_xsd_type_restriction_get_white_spaces (self));
		break;
		default:
		G_OBJECT_WARN_INVALID_PROPERTY_ID (object, property_id, pspec);
		break;
	}
}


static void _vala_gxml_gom_xsd_type_restriction_set_property (GObject * object, guint property_id, const GValue * value, GParamSpec * pspec) {
	GXmlGomXsdTypeRestriction * self;
	self = G_TYPE_CHECK_INSTANCE_CAST (object, GXML_TYPE_GOM_XSD_TYPE_RESTRICTION, GXmlGomXsdTypeRestriction);
	switch (property_id) {
		case GXML_GOM_XSD_TYPE_RESTRICTION_BASE:
		gxml_gom_xsd_type_restriction_set_base (self, g_value_get_string (value));
		break;
		case GXML_GOM_XSD_TYPE_RESTRICTION_SIMPLE_TYPE:
		gxml_gom_xsd_type_restriction_set_simple_type (self, g_value_get_object (value));
		break;
		case GXML_GOM_XSD_TYPE_RESTRICTION_ENUMERATIONS:
		gxml_gom_xsd_type_restriction_set_enumerations (self, g_value_get_object (value));
		break;
		case GXML_GOM_XSD_TYPE_RESTRICTION_WHITE_SPACES:
		gxml_gom_xsd_type_restriction_set_white_spaces (self, g_value_get_object (value));
		break;
		default:
		G_OBJECT_WARN_INVALID_PROPERTY_ID (object, property_id, pspec);
		break;
	}
}


GXmlGomXsdTypeRestrictionDef* gxml_gom_xsd_type_restriction_def_construct (GType object_type) {
	GXmlGomXsdTypeRestrictionDef * self = NULL;
	self = (GXmlGomXsdTypeRestrictionDef*) gxml_gom_element_construct (object_type);
	return self;
}


GXmlGomXsdTypeRestrictionDef* gxml_gom_xsd_type_restriction_def_new (void) {
	return gxml_gom_xsd_type_restriction_def_construct (GXML_TYPE_GOM_XSD_TYPE_RESTRICTION_DEF);
}


GXmlGomXsdAnnotation* gxml_gom_xsd_type_restriction_def_get_annotation (GXmlGomXsdTypeRestrictionDef* self) {
	GXmlGomXsdAnnotation* result;
	GXmlGomXsdAnnotation* _tmp0_ = NULL;
	g_return_val_if_fail (self != NULL, NULL);
	_tmp0_ = self->priv->_annotation;
	result = _tmp0_;
	return result;
}


void gxml_gom_xsd_type_restriction_def_set_annotation (GXmlGomXsdTypeRestrictionDef* self, GXmlGomXsdAnnotation* value) {
	GXmlGomXsdAnnotation* _tmp0_ = NULL;
	GXmlGomXsdAnnotation* _tmp1_ = NULL;
	g_return_if_fail (self != NULL);
	_tmp0_ = value;
	_tmp1_ = _g_object_ref0 (_tmp0_);
	_g_object_unref0 (self->priv->_annotation);
	self->priv->_annotation = _tmp1_;
	g_object_notify ((GObject *) self, "annotation");
}


static void gxml_gom_xsd_type_restriction_def_class_init (GXmlGomXsdTypeRestrictionDefClass * klass) {
	gxml_gom_xsd_type_restriction_def_parent_class = g_type_class_peek_parent (klass);
	g_type_class_add_private (klass, sizeof (GXmlGomXsdTypeRestrictionDefPrivate));
	G_OBJECT_CLASS (klass)->get_property = _vala_gxml_gom_xsd_type_restriction_def_get_property;
	G_OBJECT_CLASS (klass)->set_property = _vala_gxml_gom_xsd_type_restriction_def_set_property;
	G_OBJECT_CLASS (klass)->finalize = gxml_gom_xsd_type_restriction_def_finalize;
	g_object_class_install_property (G_OBJECT_CLASS (klass), GXML_GOM_XSD_TYPE_RESTRICTION_DEF_ANNOTATION, g_param_spec_object ("annotation", "annotation", "annotation", GXML_TYPE_GOM_XSD_ANNOTATION, G_PARAM_STATIC_NAME | G_PARAM_STATIC_NICK | G_PARAM_STATIC_BLURB | G_PARAM_READABLE | G_PARAM_WRITABLE));
}


static void gxml_gom_xsd_type_restriction_def_instance_init (GXmlGomXsdTypeRestrictionDef * self) {
	self->priv = GXML_GOM_XSD_TYPE_RESTRICTION_DEF_GET_PRIVATE (self);
}


static void gxml_gom_xsd_type_restriction_def_finalize (GObject* obj) {
	GXmlGomXsdTypeRestrictionDef * self;
	self = G_TYPE_CHECK_INSTANCE_CAST (obj, GXML_TYPE_GOM_XSD_TYPE_RESTRICTION_DEF, GXmlGomXsdTypeRestrictionDef);
	_g_object_unref0 (self->priv->_annotation);
	G_OBJECT_CLASS (gxml_gom_xsd_type_restriction_def_parent_class)->finalize (obj);
}


GType gxml_gom_xsd_type_restriction_def_get_type (void) {
	static volatile gsize gxml_gom_xsd_type_restriction_def_type_id__volatile = 0;
	if (g_once_init_enter (&gxml_gom_xsd_type_restriction_def_type_id__volatile)) {
		static const GTypeInfo g_define_type_info = { sizeof (GXmlGomXsdTypeRestrictionDefClass), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) gxml_gom_xsd_type_restriction_def_class_init, (GClassFinalizeFunc) NULL, NULL, sizeof (GXmlGomXsdTypeRestrictionDef), 0, (GInstanceInitFunc) gxml_gom_xsd_type_restriction_def_instance_init, NULL };
		GType gxml_gom_xsd_type_restriction_def_type_id;
		gxml_gom_xsd_type_restriction_def_type_id = g_type_register_static (GXML_TYPE_GOM_ELEMENT, "GXmlGomXsdTypeRestrictionDef", &g_define_type_info, 0);
		g_once_init_leave (&gxml_gom_xsd_type_restriction_def_type_id__volatile, gxml_gom_xsd_type_restriction_def_type_id);
	}
	return gxml_gom_xsd_type_restriction_def_type_id__volatile;
}


static void _vala_gxml_gom_xsd_type_restriction_def_get_property (GObject * object, guint property_id, GValue * value, GParamSpec * pspec) {
	GXmlGomXsdTypeRestrictionDef * self;
	self = G_TYPE_CHECK_INSTANCE_CAST (object, GXML_TYPE_GOM_XSD_TYPE_RESTRICTION_DEF, GXmlGomXsdTypeRestrictionDef);
	switch (property_id) {
		case GXML_GOM_XSD_TYPE_RESTRICTION_DEF_ANNOTATION:
		g_value_set_object (value, gxml_gom_xsd_type_restriction_def_get_annotation (self));
		break;
		default:
		G_OBJECT_WARN_INVALID_PROPERTY_ID (object, property_id, pspec);
		break;
	}
}


static void _vala_gxml_gom_xsd_type_restriction_def_set_property (GObject * object, guint property_id, const GValue * value, GParamSpec * pspec) {
	GXmlGomXsdTypeRestrictionDef * self;
	self = G_TYPE_CHECK_INSTANCE_CAST (object, GXML_TYPE_GOM_XSD_TYPE_RESTRICTION_DEF, GXmlGomXsdTypeRestrictionDef);
	switch (property_id) {
		case GXML_GOM_XSD_TYPE_RESTRICTION_DEF_ANNOTATION:
		gxml_gom_xsd_type_restriction_def_set_annotation (self, g_value_get_object (value));
		break;
		default:
		G_OBJECT_WARN_INVALID_PROPERTY_ID (object, property_id, pspec);
		break;
	}
}


GXmlGomXsdTypeRestrictionMinExclusive* gxml_gom_xsd_type_restriction_min_exclusive_construct (GType object_type) {
	GXmlGomXsdTypeRestrictionMinExclusive * self = NULL;
	self = (GXmlGomXsdTypeRestrictionMinExclusive*) gxml_gom_xsd_type_restriction_def_construct (object_type);
	return self;
}


GXmlGomXsdTypeRestrictionMinExclusive* gxml_gom_xsd_type_restriction_min_exclusive_new (void) {
	return gxml_gom_xsd_type_restriction_min_exclusive_construct (GXML_TYPE_GOM_XSD_TYPE_RESTRICTION_MIN_EXCLUSIVE);
}


static void gxml_gom_xsd_type_restriction_min_exclusive_class_init (GXmlGomXsdTypeRestrictionMinExclusiveClass * klass) {
	gxml_gom_xsd_type_restriction_min_exclusive_parent_class = g_type_class_peek_parent (klass);
}


static void gxml_gom_xsd_type_restriction_min_exclusive_instance_init (GXmlGomXsdTypeRestrictionMinExclusive * self) {
}


GType gxml_gom_xsd_type_restriction_min_exclusive_get_type (void) {
	static volatile gsize gxml_gom_xsd_type_restriction_min_exclusive_type_id__volatile = 0;
	if (g_once_init_enter (&gxml_gom_xsd_type_restriction_min_exclusive_type_id__volatile)) {
		static const GTypeInfo g_define_type_info = { sizeof (GXmlGomXsdTypeRestrictionMinExclusiveClass), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) gxml_gom_xsd_type_restriction_min_exclusive_class_init, (GClassFinalizeFunc) NULL, NULL, sizeof (GXmlGomXsdTypeRestrictionMinExclusive), 0, (GInstanceInitFunc) gxml_gom_xsd_type_restriction_min_exclusive_instance_init, NULL };
		GType gxml_gom_xsd_type_restriction_min_exclusive_type_id;
		gxml_gom_xsd_type_restriction_min_exclusive_type_id = g_type_register_static (GXML_TYPE_GOM_XSD_TYPE_RESTRICTION_DEF, "GXmlGomXsdTypeRestrictionMinExclusive", &g_define_type_info, 0);
		g_once_init_leave (&gxml_gom_xsd_type_restriction_min_exclusive_type_id__volatile, gxml_gom_xsd_type_restriction_min_exclusive_type_id);
	}
	return gxml_gom_xsd_type_restriction_min_exclusive_type_id__volatile;
}


GXmlGomXsdTypeRestrictionMinInclusive* gxml_gom_xsd_type_restriction_min_inclusive_construct (GType object_type) {
	GXmlGomXsdTypeRestrictionMinInclusive * self = NULL;
	self = (GXmlGomXsdTypeRestrictionMinInclusive*) gxml_gom_xsd_type_restriction_def_construct (object_type);
	return self;
}


GXmlGomXsdTypeRestrictionMinInclusive* gxml_gom_xsd_type_restriction_min_inclusive_new (void) {
	return gxml_gom_xsd_type_restriction_min_inclusive_construct (GXML_TYPE_GOM_XSD_TYPE_RESTRICTION_MIN_INCLUSIVE);
}


static void gxml_gom_xsd_type_restriction_min_inclusive_class_init (GXmlGomXsdTypeRestrictionMinInclusiveClass * klass) {
	gxml_gom_xsd_type_restriction_min_inclusive_parent_class = g_type_class_peek_parent (klass);
}


static void gxml_gom_xsd_type_restriction_min_inclusive_instance_init (GXmlGomXsdTypeRestrictionMinInclusive * self) {
}


GType gxml_gom_xsd_type_restriction_min_inclusive_get_type (void) {
	static volatile gsize gxml_gom_xsd_type_restriction_min_inclusive_type_id__volatile = 0;
	if (g_once_init_enter (&gxml_gom_xsd_type_restriction_min_inclusive_type_id__volatile)) {
		static const GTypeInfo g_define_type_info = { sizeof (GXmlGomXsdTypeRestrictionMinInclusiveClass), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) gxml_gom_xsd_type_restriction_min_inclusive_class_init, (GClassFinalizeFunc) NULL, NULL, sizeof (GXmlGomXsdTypeRestrictionMinInclusive), 0, (GInstanceInitFunc) gxml_gom_xsd_type_restriction_min_inclusive_instance_init, NULL };
		GType gxml_gom_xsd_type_restriction_min_inclusive_type_id;
		gxml_gom_xsd_type_restriction_min_inclusive_type_id = g_type_register_static (GXML_TYPE_GOM_XSD_TYPE_RESTRICTION_DEF, "GXmlGomXsdTypeRestrictionMinInclusive", &g_define_type_info, 0);
		g_once_init_leave (&gxml_gom_xsd_type_restriction_min_inclusive_type_id__volatile, gxml_gom_xsd_type_restriction_min_inclusive_type_id);
	}
	return gxml_gom_xsd_type_restriction_min_inclusive_type_id__volatile;
}


GXmlGomXsdTypeRestrictionMaxExclusive* gxml_gom_xsd_type_restriction_max_exclusive_construct (GType object_type) {
	GXmlGomXsdTypeRestrictionMaxExclusive * self = NULL;
	self = (GXmlGomXsdTypeRestrictionMaxExclusive*) gxml_gom_xsd_type_restriction_def_construct (object_type);
	return self;
}


GXmlGomXsdTypeRestrictionMaxExclusive* gxml_gom_xsd_type_restriction_max_exclusive_new (void) {
	return gxml_gom_xsd_type_restriction_max_exclusive_construct (GXML_TYPE_GOM_XSD_TYPE_RESTRICTION_MAX_EXCLUSIVE);
}


static void gxml_gom_xsd_type_restriction_max_exclusive_class_init (GXmlGomXsdTypeRestrictionMaxExclusiveClass * klass) {
	gxml_gom_xsd_type_restriction_max_exclusive_parent_class = g_type_class_peek_parent (klass);
}


static void gxml_gom_xsd_type_restriction_max_exclusive_instance_init (GXmlGomXsdTypeRestrictionMaxExclusive * self) {
}


GType gxml_gom_xsd_type_restriction_max_exclusive_get_type (void) {
	static volatile gsize gxml_gom_xsd_type_restriction_max_exclusive_type_id__volatile = 0;
	if (g_once_init_enter (&gxml_gom_xsd_type_restriction_max_exclusive_type_id__volatile)) {
		static const GTypeInfo g_define_type_info = { sizeof (GXmlGomXsdTypeRestrictionMaxExclusiveClass), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) gxml_gom_xsd_type_restriction_max_exclusive_class_init, (GClassFinalizeFunc) NULL, NULL, sizeof (GXmlGomXsdTypeRestrictionMaxExclusive), 0, (GInstanceInitFunc) gxml_gom_xsd_type_restriction_max_exclusive_instance_init, NULL };
		GType gxml_gom_xsd_type_restriction_max_exclusive_type_id;
		gxml_gom_xsd_type_restriction_max_exclusive_type_id = g_type_register_static (GXML_TYPE_GOM_XSD_TYPE_RESTRICTION_DEF, "GXmlGomXsdTypeRestrictionMaxExclusive", &g_define_type_info, 0);
		g_once_init_leave (&gxml_gom_xsd_type_restriction_max_exclusive_type_id__volatile, gxml_gom_xsd_type_restriction_max_exclusive_type_id);
	}
	return gxml_gom_xsd_type_restriction_max_exclusive_type_id__volatile;
}


GXmlGomXsdTypeRestrictionMaxInclusive* gxml_gom_xsd_type_restriction_max_inclusive_construct (GType object_type) {
	GXmlGomXsdTypeRestrictionMaxInclusive * self = NULL;
	self = (GXmlGomXsdTypeRestrictionMaxInclusive*) gxml_gom_xsd_type_restriction_def_construct (object_type);
	return self;
}


GXmlGomXsdTypeRestrictionMaxInclusive* gxml_gom_xsd_type_restriction_max_inclusive_new (void) {
	return gxml_gom_xsd_type_restriction_max_inclusive_construct (GXML_TYPE_GOM_XSD_TYPE_RESTRICTION_MAX_INCLUSIVE);
}


static void gxml_gom_xsd_type_restriction_max_inclusive_class_init (GXmlGomXsdTypeRestrictionMaxInclusiveClass * klass) {
	gxml_gom_xsd_type_restriction_max_inclusive_parent_class = g_type_class_peek_parent (klass);
}


static void gxml_gom_xsd_type_restriction_max_inclusive_instance_init (GXmlGomXsdTypeRestrictionMaxInclusive * self) {
}


GType gxml_gom_xsd_type_restriction_max_inclusive_get_type (void) {
	static volatile gsize gxml_gom_xsd_type_restriction_max_inclusive_type_id__volatile = 0;
	if (g_once_init_enter (&gxml_gom_xsd_type_restriction_max_inclusive_type_id__volatile)) {
		static const GTypeInfo g_define_type_info = { sizeof (GXmlGomXsdTypeRestrictionMaxInclusiveClass), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) gxml_gom_xsd_type_restriction_max_inclusive_class_init, (GClassFinalizeFunc) NULL, NULL, sizeof (GXmlGomXsdTypeRestrictionMaxInclusive), 0, (GInstanceInitFunc) gxml_gom_xsd_type_restriction_max_inclusive_instance_init, NULL };
		GType gxml_gom_xsd_type_restriction_max_inclusive_type_id;
		gxml_gom_xsd_type_restriction_max_inclusive_type_id = g_type_register_static (GXML_TYPE_GOM_XSD_TYPE_RESTRICTION_DEF, "GXmlGomXsdTypeRestrictionMaxInclusive", &g_define_type_info, 0);
		g_once_init_leave (&gxml_gom_xsd_type_restriction_max_inclusive_type_id__volatile, gxml_gom_xsd_type_restriction_max_inclusive_type_id);
	}
	return gxml_gom_xsd_type_restriction_max_inclusive_type_id__volatile;
}


GXmlGomXsdTypeRestrictionTotalDigits* gxml_gom_xsd_type_restriction_total_digits_construct (GType object_type) {
	GXmlGomXsdTypeRestrictionTotalDigits * self = NULL;
	self = (GXmlGomXsdTypeRestrictionTotalDigits*) gxml_gom_xsd_type_restriction_def_construct (object_type);
	return self;
}


GXmlGomXsdTypeRestrictionTotalDigits* gxml_gom_xsd_type_restriction_total_digits_new (void) {
	return gxml_gom_xsd_type_restriction_total_digits_construct (GXML_TYPE_GOM_XSD_TYPE_RESTRICTION_TOTAL_DIGITS);
}


static void gxml_gom_xsd_type_restriction_total_digits_class_init (GXmlGomXsdTypeRestrictionTotalDigitsClass * klass) {
	gxml_gom_xsd_type_restriction_total_digits_parent_class = g_type_class_peek_parent (klass);
}


static void gxml_gom_xsd_type_restriction_total_digits_instance_init (GXmlGomXsdTypeRestrictionTotalDigits * self) {
}


GType gxml_gom_xsd_type_restriction_total_digits_get_type (void) {
	static volatile gsize gxml_gom_xsd_type_restriction_total_digits_type_id__volatile = 0;
	if (g_once_init_enter (&gxml_gom_xsd_type_restriction_total_digits_type_id__volatile)) {
		static const GTypeInfo g_define_type_info = { sizeof (GXmlGomXsdTypeRestrictionTotalDigitsClass), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) gxml_gom_xsd_type_restriction_total_digits_class_init, (GClassFinalizeFunc) NULL, NULL, sizeof (GXmlGomXsdTypeRestrictionTotalDigits), 0, (GInstanceInitFunc) gxml_gom_xsd_type_restriction_total_digits_instance_init, NULL };
		GType gxml_gom_xsd_type_restriction_total_digits_type_id;
		gxml_gom_xsd_type_restriction_total_digits_type_id = g_type_register_static (GXML_TYPE_GOM_XSD_TYPE_RESTRICTION_DEF, "GXmlGomXsdTypeRestrictionTotalDigits", &g_define_type_info, 0);
		g_once_init_leave (&gxml_gom_xsd_type_restriction_total_digits_type_id__volatile, gxml_gom_xsd_type_restriction_total_digits_type_id);
	}
	return gxml_gom_xsd_type_restriction_total_digits_type_id__volatile;
}


GXmlGomXsdTypeRestrictionFractionDigits* gxml_gom_xsd_type_restriction_fraction_digits_construct (GType object_type) {
	GXmlGomXsdTypeRestrictionFractionDigits * self = NULL;
	self = (GXmlGomXsdTypeRestrictionFractionDigits*) gxml_gom_xsd_type_restriction_def_construct (object_type);
	return self;
}


GXmlGomXsdTypeRestrictionFractionDigits* gxml_gom_xsd_type_restriction_fraction_digits_new (void) {
	return gxml_gom_xsd_type_restriction_fraction_digits_construct (GXML_TYPE_GOM_XSD_TYPE_RESTRICTION_FRACTION_DIGITS);
}


static void gxml_gom_xsd_type_restriction_fraction_digits_class_init (GXmlGomXsdTypeRestrictionFractionDigitsClass * klass) {
	gxml_gom_xsd_type_restriction_fraction_digits_parent_class = g_type_class_peek_parent (klass);
}


static void gxml_gom_xsd_type_restriction_fraction_digits_instance_init (GXmlGomXsdTypeRestrictionFractionDigits * self) {
}


GType gxml_gom_xsd_type_restriction_fraction_digits_get_type (void) {
	static volatile gsize gxml_gom_xsd_type_restriction_fraction_digits_type_id__volatile = 0;
	if (g_once_init_enter (&gxml_gom_xsd_type_restriction_fraction_digits_type_id__volatile)) {
		static const GTypeInfo g_define_type_info = { sizeof (GXmlGomXsdTypeRestrictionFractionDigitsClass), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) gxml_gom_xsd_type_restriction_fraction_digits_class_init, (GClassFinalizeFunc) NULL, NULL, sizeof (GXmlGomXsdTypeRestrictionFractionDigits), 0, (GInstanceInitFunc) gxml_gom_xsd_type_restriction_fraction_digits_instance_init, NULL };
		GType gxml_gom_xsd_type_restriction_fraction_digits_type_id;
		gxml_gom_xsd_type_restriction_fraction_digits_type_id = g_type_register_static (GXML_TYPE_GOM_XSD_TYPE_RESTRICTION_DEF, "GXmlGomXsdTypeRestrictionFractionDigits", &g_define_type_info, 0);
		g_once_init_leave (&gxml_gom_xsd_type_restriction_fraction_digits_type_id__volatile, gxml_gom_xsd_type_restriction_fraction_digits_type_id);
	}
	return gxml_gom_xsd_type_restriction_fraction_digits_type_id__volatile;
}


GXmlGomXsdTypeRestrictionLength* gxml_gom_xsd_type_restriction_length_construct (GType object_type) {
	GXmlGomXsdTypeRestrictionLength * self = NULL;
	self = (GXmlGomXsdTypeRestrictionLength*) gxml_gom_xsd_type_restriction_def_construct (object_type);
	return self;
}


GXmlGomXsdTypeRestrictionLength* gxml_gom_xsd_type_restriction_length_new (void) {
	return gxml_gom_xsd_type_restriction_length_construct (GXML_TYPE_GOM_XSD_TYPE_RESTRICTION_LENGTH);
}


static void gxml_gom_xsd_type_restriction_length_class_init (GXmlGomXsdTypeRestrictionLengthClass * klass) {
	gxml_gom_xsd_type_restriction_length_parent_class = g_type_class_peek_parent (klass);
}


static void gxml_gom_xsd_type_restriction_length_instance_init (GXmlGomXsdTypeRestrictionLength * self) {
}


GType gxml_gom_xsd_type_restriction_length_get_type (void) {
	static volatile gsize gxml_gom_xsd_type_restriction_length_type_id__volatile = 0;
	if (g_once_init_enter (&gxml_gom_xsd_type_restriction_length_type_id__volatile)) {
		static const GTypeInfo g_define_type_info = { sizeof (GXmlGomXsdTypeRestrictionLengthClass), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) gxml_gom_xsd_type_restriction_length_class_init, (GClassFinalizeFunc) NULL, NULL, sizeof (GXmlGomXsdTypeRestrictionLength), 0, (GInstanceInitFunc) gxml_gom_xsd_type_restriction_length_instance_init, NULL };
		GType gxml_gom_xsd_type_restriction_length_type_id;
		gxml_gom_xsd_type_restriction_length_type_id = g_type_register_static (GXML_TYPE_GOM_XSD_TYPE_RESTRICTION_DEF, "GXmlGomXsdTypeRestrictionLength", &g_define_type_info, 0);
		g_once_init_leave (&gxml_gom_xsd_type_restriction_length_type_id__volatile, gxml_gom_xsd_type_restriction_length_type_id);
	}
	return gxml_gom_xsd_type_restriction_length_type_id__volatile;
}


GXmlGomXsdTypeRestrictionMinLength* gxml_gom_xsd_type_restriction_min_length_construct (GType object_type) {
	GXmlGomXsdTypeRestrictionMinLength * self = NULL;
	self = (GXmlGomXsdTypeRestrictionMinLength*) gxml_gom_xsd_type_restriction_def_construct (object_type);
	return self;
}


GXmlGomXsdTypeRestrictionMinLength* gxml_gom_xsd_type_restriction_min_length_new (void) {
	return gxml_gom_xsd_type_restriction_min_length_construct (GXML_TYPE_GOM_XSD_TYPE_RESTRICTION_MIN_LENGTH);
}


static void gxml_gom_xsd_type_restriction_min_length_class_init (GXmlGomXsdTypeRestrictionMinLengthClass * klass) {
	gxml_gom_xsd_type_restriction_min_length_parent_class = g_type_class_peek_parent (klass);
}


static void gxml_gom_xsd_type_restriction_min_length_instance_init (GXmlGomXsdTypeRestrictionMinLength * self) {
}


GType gxml_gom_xsd_type_restriction_min_length_get_type (void) {
	static volatile gsize gxml_gom_xsd_type_restriction_min_length_type_id__volatile = 0;
	if (g_once_init_enter (&gxml_gom_xsd_type_restriction_min_length_type_id__volatile)) {
		static const GTypeInfo g_define_type_info = { sizeof (GXmlGomXsdTypeRestrictionMinLengthClass), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) gxml_gom_xsd_type_restriction_min_length_class_init, (GClassFinalizeFunc) NULL, NULL, sizeof (GXmlGomXsdTypeRestrictionMinLength), 0, (GInstanceInitFunc) gxml_gom_xsd_type_restriction_min_length_instance_init, NULL };
		GType gxml_gom_xsd_type_restriction_min_length_type_id;
		gxml_gom_xsd_type_restriction_min_length_type_id = g_type_register_static (GXML_TYPE_GOM_XSD_TYPE_RESTRICTION_DEF, "GXmlGomXsdTypeRestrictionMinLength", &g_define_type_info, 0);
		g_once_init_leave (&gxml_gom_xsd_type_restriction_min_length_type_id__volatile, gxml_gom_xsd_type_restriction_min_length_type_id);
	}
	return gxml_gom_xsd_type_restriction_min_length_type_id__volatile;
}


GXmlGomXsdTypeRestrictionMaxLength* gxml_gom_xsd_type_restriction_max_length_construct (GType object_type) {
	GXmlGomXsdTypeRestrictionMaxLength * self = NULL;
	self = (GXmlGomXsdTypeRestrictionMaxLength*) gxml_gom_xsd_type_restriction_def_construct (object_type);
	return self;
}


GXmlGomXsdTypeRestrictionMaxLength* gxml_gom_xsd_type_restriction_max_length_new (void) {
	return gxml_gom_xsd_type_restriction_max_length_construct (GXML_TYPE_GOM_XSD_TYPE_RESTRICTION_MAX_LENGTH);
}


static void gxml_gom_xsd_type_restriction_max_length_class_init (GXmlGomXsdTypeRestrictionMaxLengthClass * klass) {
	gxml_gom_xsd_type_restriction_max_length_parent_class = g_type_class_peek_parent (klass);
}


static void gxml_gom_xsd_type_restriction_max_length_instance_init (GXmlGomXsdTypeRestrictionMaxLength * self) {
}


GType gxml_gom_xsd_type_restriction_max_length_get_type (void) {
	static volatile gsize gxml_gom_xsd_type_restriction_max_length_type_id__volatile = 0;
	if (g_once_init_enter (&gxml_gom_xsd_type_restriction_max_length_type_id__volatile)) {
		static const GTypeInfo g_define_type_info = { sizeof (GXmlGomXsdTypeRestrictionMaxLengthClass), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) gxml_gom_xsd_type_restriction_max_length_class_init, (GClassFinalizeFunc) NULL, NULL, sizeof (GXmlGomXsdTypeRestrictionMaxLength), 0, (GInstanceInitFunc) gxml_gom_xsd_type_restriction_max_length_instance_init, NULL };
		GType gxml_gom_xsd_type_restriction_max_length_type_id;
		gxml_gom_xsd_type_restriction_max_length_type_id = g_type_register_static (GXML_TYPE_GOM_XSD_TYPE_RESTRICTION_DEF, "GXmlGomXsdTypeRestrictionMaxLength", &g_define_type_info, 0);
		g_once_init_leave (&gxml_gom_xsd_type_restriction_max_length_type_id__volatile, gxml_gom_xsd_type_restriction_max_length_type_id);
	}
	return gxml_gom_xsd_type_restriction_max_length_type_id__volatile;
}


GXmlGomXsdTypeRestrictionEnumeration* gxml_gom_xsd_type_restriction_enumeration_construct (GType object_type) {
	GXmlGomXsdTypeRestrictionEnumeration * self = NULL;
	self = (GXmlGomXsdTypeRestrictionEnumeration*) gxml_gom_xsd_type_restriction_def_construct (object_type);
	return self;
}


GXmlGomXsdTypeRestrictionEnumeration* gxml_gom_xsd_type_restriction_enumeration_new (void) {
	return gxml_gom_xsd_type_restriction_enumeration_construct (GXML_TYPE_GOM_XSD_TYPE_RESTRICTION_ENUMERATION);
}


const gchar* gxml_gom_xsd_type_restriction_enumeration_get_value (GXmlGomXsdTypeRestrictionEnumeration* self) {
	const gchar* result;
	const gchar* _tmp0_ = NULL;
	g_return_val_if_fail (self != NULL, NULL);
	_tmp0_ = self->priv->_value;
	result = _tmp0_;
	return result;
}


void gxml_gom_xsd_type_restriction_enumeration_set_value (GXmlGomXsdTypeRestrictionEnumeration* self, const gchar* value) {
	const gchar* _tmp0_ = NULL;
	gchar* _tmp1_ = NULL;
	g_return_if_fail (self != NULL);
	_tmp0_ = value;
	_tmp1_ = g_strdup (_tmp0_);
	_g_free0 (self->priv->_value);
	self->priv->_value = _tmp1_;
	g_object_notify ((GObject *) self, "value");
}


static GObject * gxml_gom_xsd_type_restriction_enumeration_constructor (GType type, guint n_construct_properties, GObjectConstructParam * construct_properties) {
	GObject * obj;
	GObjectClass * parent_class;
	GXmlGomXsdTypeRestrictionEnumeration * self;
	parent_class = G_OBJECT_CLASS (gxml_gom_xsd_type_restriction_enumeration_parent_class);
	obj = parent_class->constructor (type, n_construct_properties, construct_properties);
	self = G_TYPE_CHECK_INSTANCE_CAST (obj, GXML_TYPE_GOM_XSD_TYPE_RESTRICTION_ENUMERATION, GXmlGomXsdTypeRestrictionEnumeration);
	gxml_gom_element_initialize_with_namespace ((GXmlGomElement*) self, GXML_IXSD_SCHEMA_SCHEMA_NAMESPACE_URI, GXML_IXSD_SCHEMA_SCHEMA_NAMESPACE_PREFIX, GXML_IXSD_TYPE_RESTRICTION_ENUMERATION_SCHEMA_NODE_NAME);
	return obj;
}


static void gxml_gom_xsd_type_restriction_enumeration_class_init (GXmlGomXsdTypeRestrictionEnumerationClass * klass) {
	gxml_gom_xsd_type_restriction_enumeration_parent_class = g_type_class_peek_parent (klass);
	g_type_class_add_private (klass, sizeof (GXmlGomXsdTypeRestrictionEnumerationPrivate));
	G_OBJECT_CLASS (klass)->get_property = _vala_gxml_gom_xsd_type_restriction_enumeration_get_property;
	G_OBJECT_CLASS (klass)->set_property = _vala_gxml_gom_xsd_type_restriction_enumeration_set_property;
	G_OBJECT_CLASS (klass)->constructor = gxml_gom_xsd_type_restriction_enumeration_constructor;
	G_OBJECT_CLASS (klass)->finalize = gxml_gom_xsd_type_restriction_enumeration_finalize;
	g_object_class_install_property (G_OBJECT_CLASS (klass), GXML_GOM_XSD_TYPE_RESTRICTION_ENUMERATION_VALUE, g_param_spec_string ("value", "::value", "value", NULL, G_PARAM_STATIC_NAME | G_PARAM_STATIC_NICK | G_PARAM_STATIC_BLURB | G_PARAM_READABLE | G_PARAM_WRITABLE));
}


static void gxml_gom_xsd_type_restriction_enumeration_instance_init (GXmlGomXsdTypeRestrictionEnumeration * self) {
	self->priv = GXML_GOM_XSD_TYPE_RESTRICTION_ENUMERATION_GET_PRIVATE (self);
}


static void gxml_gom_xsd_type_restriction_enumeration_finalize (GObject* obj) {
	GXmlGomXsdTypeRestrictionEnumeration * self;
	self = G_TYPE_CHECK_INSTANCE_CAST (obj, GXML_TYPE_GOM_XSD_TYPE_RESTRICTION_ENUMERATION, GXmlGomXsdTypeRestrictionEnumeration);
	_g_free0 (self->priv->_value);
	G_OBJECT_CLASS (gxml_gom_xsd_type_restriction_enumeration_parent_class)->finalize (obj);
}


GType gxml_gom_xsd_type_restriction_enumeration_get_type (void) {
	static volatile gsize gxml_gom_xsd_type_restriction_enumeration_type_id__volatile = 0;
	if (g_once_init_enter (&gxml_gom_xsd_type_restriction_enumeration_type_id__volatile)) {
		static const GTypeInfo g_define_type_info = { sizeof (GXmlGomXsdTypeRestrictionEnumerationClass), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) gxml_gom_xsd_type_restriction_enumeration_class_init, (GClassFinalizeFunc) NULL, NULL, sizeof (GXmlGomXsdTypeRestrictionEnumeration), 0, (GInstanceInitFunc) gxml_gom_xsd_type_restriction_enumeration_instance_init, NULL };
		GType gxml_gom_xsd_type_restriction_enumeration_type_id;
		gxml_gom_xsd_type_restriction_enumeration_type_id = g_type_register_static (GXML_TYPE_GOM_XSD_TYPE_RESTRICTION_DEF, "GXmlGomXsdTypeRestrictionEnumeration", &g_define_type_info, 0);
		g_once_init_leave (&gxml_gom_xsd_type_restriction_enumeration_type_id__volatile, gxml_gom_xsd_type_restriction_enumeration_type_id);
	}
	return gxml_gom_xsd_type_restriction_enumeration_type_id__volatile;
}


static void _vala_gxml_gom_xsd_type_restriction_enumeration_get_property (GObject * object, guint property_id, GValue * value, GParamSpec * pspec) {
	GXmlGomXsdTypeRestrictionEnumeration * self;
	self = G_TYPE_CHECK_INSTANCE_CAST (object, GXML_TYPE_GOM_XSD_TYPE_RESTRICTION_ENUMERATION, GXmlGomXsdTypeRestrictionEnumeration);
	switch (property_id) {
		case GXML_GOM_XSD_TYPE_RESTRICTION_ENUMERATION_VALUE:
		g_value_set_string (value, gxml_gom_xsd_type_restriction_enumeration_get_value (self));
		break;
		default:
		G_OBJECT_WARN_INVALID_PROPERTY_ID (object, property_id, pspec);
		break;
	}
}


static void _vala_gxml_gom_xsd_type_restriction_enumeration_set_property (GObject * object, guint property_id, const GValue * value, GParamSpec * pspec) {
	GXmlGomXsdTypeRestrictionEnumeration * self;
	self = G_TYPE_CHECK_INSTANCE_CAST (object, GXML_TYPE_GOM_XSD_TYPE_RESTRICTION_ENUMERATION, GXmlGomXsdTypeRestrictionEnumeration);
	switch (property_id) {
		case GXML_GOM_XSD_TYPE_RESTRICTION_ENUMERATION_VALUE:
		gxml_gom_xsd_type_restriction_enumeration_set_value (self, g_value_get_string (value));
		break;
		default:
		G_OBJECT_WARN_INVALID_PROPERTY_ID (object, property_id, pspec);
		break;
	}
}


GXmlGomXsdTypeRestrictionWhiteSpace* gxml_gom_xsd_type_restriction_white_space_construct (GType object_type) {
	GXmlGomXsdTypeRestrictionWhiteSpace * self = NULL;
	self = (GXmlGomXsdTypeRestrictionWhiteSpace*) gxml_gom_xsd_type_restriction_def_construct (object_type);
	return self;
}


GXmlGomXsdTypeRestrictionWhiteSpace* gxml_gom_xsd_type_restriction_white_space_new (void) {
	return gxml_gom_xsd_type_restriction_white_space_construct (GXML_TYPE_GOM_XSD_TYPE_RESTRICTION_WHITE_SPACE);
}


GXmlGomXsdTypeRestrictionWhiteSpaceFixed* gxml_gom_xsd_type_restriction_white_space_get_fixed (GXmlGomXsdTypeRestrictionWhiteSpace* self) {
	GXmlGomXsdTypeRestrictionWhiteSpaceFixed* result;
	GXmlGomXsdTypeRestrictionWhiteSpaceFixed* _tmp0_ = NULL;
	g_return_val_if_fail (self != NULL, NULL);
	_tmp0_ = self->priv->_fixed;
	result = _tmp0_;
	return result;
}


void gxml_gom_xsd_type_restriction_white_space_set_fixed (GXmlGomXsdTypeRestrictionWhiteSpace* self, GXmlGomXsdTypeRestrictionWhiteSpaceFixed* value) {
	GXmlGomXsdTypeRestrictionWhiteSpaceFixed* _tmp0_ = NULL;
	GXmlGomXsdTypeRestrictionWhiteSpaceFixed* _tmp1_ = NULL;
	g_return_if_fail (self != NULL);
	_tmp0_ = value;
	_tmp1_ = _g_object_ref0 (_tmp0_);
	_g_object_unref0 (self->priv->_fixed);
	self->priv->_fixed = _tmp1_;
	g_object_notify ((GObject *) self, "fixed");
}


const gchar* gxml_gom_xsd_type_restriction_white_space_get_value (GXmlGomXsdTypeRestrictionWhiteSpace* self) {
	const gchar* result;
	const gchar* _tmp0_ = NULL;
	g_return_val_if_fail (self != NULL, NULL);
	_tmp0_ = self->priv->_value;
	result = _tmp0_;
	return result;
}


void gxml_gom_xsd_type_restriction_white_space_set_value (GXmlGomXsdTypeRestrictionWhiteSpace* self, const gchar* value) {
	const gchar* _tmp0_ = NULL;
	gchar* _tmp1_ = NULL;
	g_return_if_fail (self != NULL);
	_tmp0_ = value;
	_tmp1_ = g_strdup (_tmp0_);
	_g_free0 (self->priv->_value);
	self->priv->_value = _tmp1_;
	g_object_notify ((GObject *) self, "value");
}


static GObject * gxml_gom_xsd_type_restriction_white_space_constructor (GType type, guint n_construct_properties, GObjectConstructParam * construct_properties) {
	GObject * obj;
	GObjectClass * parent_class;
	GXmlGomXsdTypeRestrictionWhiteSpace * self;
	parent_class = G_OBJECT_CLASS (gxml_gom_xsd_type_restriction_white_space_parent_class);
	obj = parent_class->constructor (type, n_construct_properties, construct_properties);
	self = G_TYPE_CHECK_INSTANCE_CAST (obj, GXML_TYPE_GOM_XSD_TYPE_RESTRICTION_WHITE_SPACE, GXmlGomXsdTypeRestrictionWhiteSpace);
	gxml_gom_element_initialize_with_namespace ((GXmlGomElement*) self, GXML_IXSD_SCHEMA_SCHEMA_NAMESPACE_URI, GXML_IXSD_SCHEMA_SCHEMA_NAMESPACE_PREFIX, GXML_IXSD_TYPE_RESTRICTION_WHITE_SPACE_SCHEMA_NODE_NAME);
	return obj;
}


GXmlGomXsdTypeRestrictionWhiteSpaceFixed* gxml_gom_xsd_type_restriction_white_space_fixed_construct (GType object_type) {
	GXmlGomXsdTypeRestrictionWhiteSpaceFixed * self = NULL;
	self = (GXmlGomXsdTypeRestrictionWhiteSpaceFixed*) gxml_gom_boolean_construct (object_type);
	return self;
}


GXmlGomXsdTypeRestrictionWhiteSpaceFixed* gxml_gom_xsd_type_restriction_white_space_fixed_new (void) {
	return gxml_gom_xsd_type_restriction_white_space_fixed_construct (GXML_GOM_XSD_TYPE_RESTRICTION_WHITE_SPACE_TYPE_FIXED);
}


static void gxml_gom_xsd_type_restriction_white_space_fixed_class_init (GXmlGomXsdTypeRestrictionWhiteSpaceFixedClass * klass) {
	gxml_gom_xsd_type_restriction_white_space_fixed_parent_class = g_type_class_peek_parent (klass);
}


static void gxml_gom_xsd_type_restriction_white_space_fixed_instance_init (GXmlGomXsdTypeRestrictionWhiteSpaceFixed * self) {
}


GType gxml_gom_xsd_type_restriction_white_space_fixed_get_type (void) {
	static volatile gsize gxml_gom_xsd_type_restriction_white_space_fixed_type_id__volatile = 0;
	if (g_once_init_enter (&gxml_gom_xsd_type_restriction_white_space_fixed_type_id__volatile)) {
		static const GTypeInfo g_define_type_info = { sizeof (GXmlGomXsdTypeRestrictionWhiteSpaceFixedClass), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) gxml_gom_xsd_type_restriction_white_space_fixed_class_init, (GClassFinalizeFunc) NULL, NULL, sizeof (GXmlGomXsdTypeRestrictionWhiteSpaceFixed), 0, (GInstanceInitFunc) gxml_gom_xsd_type_restriction_white_space_fixed_instance_init, NULL };
		GType gxml_gom_xsd_type_restriction_white_space_fixed_type_id;
		gxml_gom_xsd_type_restriction_white_space_fixed_type_id = g_type_register_static (GXML_TYPE_GOM_BOOLEAN, "GXmlGomXsdTypeRestrictionWhiteSpaceFixed", &g_define_type_info, 0);
		g_once_init_leave (&gxml_gom_xsd_type_restriction_white_space_fixed_type_id__volatile, gxml_gom_xsd_type_restriction_white_space_fixed_type_id);
	}
	return gxml_gom_xsd_type_restriction_white_space_fixed_type_id__volatile;
}


static void gxml_gom_xsd_type_restriction_white_space_class_init (GXmlGomXsdTypeRestrictionWhiteSpaceClass * klass) {
	gxml_gom_xsd_type_restriction_white_space_parent_class = g_type_class_peek_parent (klass);
	g_type_class_add_private (klass, sizeof (GXmlGomXsdTypeRestrictionWhiteSpacePrivate));
	G_OBJECT_CLASS (klass)->get_property = _vala_gxml_gom_xsd_type_restriction_white_space_get_property;
	G_OBJECT_CLASS (klass)->set_property = _vala_gxml_gom_xsd_type_restriction_white_space_set_property;
	G_OBJECT_CLASS (klass)->constructor = gxml_gom_xsd_type_restriction_white_space_constructor;
	G_OBJECT_CLASS (klass)->finalize = gxml_gom_xsd_type_restriction_white_space_finalize;
	g_object_class_install_property (G_OBJECT_CLASS (klass), GXML_GOM_XSD_TYPE_RESTRICTION_WHITE_SPACE_FIXED, g_param_spec_object ("fixed", "::fixed", "fixed", GXML_GOM_XSD_TYPE_RESTRICTION_WHITE_SPACE_TYPE_FIXED, G_PARAM_STATIC_NAME | G_PARAM_STATIC_NICK | G_PARAM_STATIC_BLURB | G_PARAM_READABLE | G_PARAM_WRITABLE));
	/**
	   * (collapse | preserve | replace)
	   */
	g_object_class_install_property (G_OBJECT_CLASS (klass), GXML_GOM_XSD_TYPE_RESTRICTION_WHITE_SPACE_VALUE, g_param_spec_string ("value", "::value", "value", NULL, G_PARAM_STATIC_NAME | G_PARAM_STATIC_NICK | G_PARAM_STATIC_BLURB | G_PARAM_READABLE | G_PARAM_WRITABLE));
}


static void gxml_gom_xsd_type_restriction_white_space_instance_init (GXmlGomXsdTypeRestrictionWhiteSpace * self) {
	self->priv = GXML_GOM_XSD_TYPE_RESTRICTION_WHITE_SPACE_GET_PRIVATE (self);
}


static void gxml_gom_xsd_type_restriction_white_space_finalize (GObject* obj) {
	GXmlGomXsdTypeRestrictionWhiteSpace * self;
	self = G_TYPE_CHECK_INSTANCE_CAST (obj, GXML_TYPE_GOM_XSD_TYPE_RESTRICTION_WHITE_SPACE, GXmlGomXsdTypeRestrictionWhiteSpace);
	_g_object_unref0 (self->priv->_fixed);
	_g_free0 (self->priv->_value);
	G_OBJECT_CLASS (gxml_gom_xsd_type_restriction_white_space_parent_class)->finalize (obj);
}


GType gxml_gom_xsd_type_restriction_white_space_get_type (void) {
	static volatile gsize gxml_gom_xsd_type_restriction_white_space_type_id__volatile = 0;
	if (g_once_init_enter (&gxml_gom_xsd_type_restriction_white_space_type_id__volatile)) {
		static const GTypeInfo g_define_type_info = { sizeof (GXmlGomXsdTypeRestrictionWhiteSpaceClass), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) gxml_gom_xsd_type_restriction_white_space_class_init, (GClassFinalizeFunc) NULL, NULL, sizeof (GXmlGomXsdTypeRestrictionWhiteSpace), 0, (GInstanceInitFunc) gxml_gom_xsd_type_restriction_white_space_instance_init, NULL };
		GType gxml_gom_xsd_type_restriction_white_space_type_id;
		gxml_gom_xsd_type_restriction_white_space_type_id = g_type_register_static (GXML_TYPE_GOM_XSD_TYPE_RESTRICTION_DEF, "GXmlGomXsdTypeRestrictionWhiteSpace", &g_define_type_info, 0);
		g_once_init_leave (&gxml_gom_xsd_type_restriction_white_space_type_id__volatile, gxml_gom_xsd_type_restriction_white_space_type_id);
	}
	return gxml_gom_xsd_type_restriction_white_space_type_id__volatile;
}


static void _vala_gxml_gom_xsd_type_restriction_white_space_get_property (GObject * object, guint property_id, GValue * value, GParamSpec * pspec) {
	GXmlGomXsdTypeRestrictionWhiteSpace * self;
	self = G_TYPE_CHECK_INSTANCE_CAST (object, GXML_TYPE_GOM_XSD_TYPE_RESTRICTION_WHITE_SPACE, GXmlGomXsdTypeRestrictionWhiteSpace);
	switch (property_id) {
		case GXML_GOM_XSD_TYPE_RESTRICTION_WHITE_SPACE_FIXED:
		g_value_set_object (value, gxml_gom_xsd_type_restriction_white_space_get_fixed (self));
		break;
		case GXML_GOM_XSD_TYPE_RESTRICTION_WHITE_SPACE_VALUE:
		g_value_set_string (value, gxml_gom_xsd_type_restriction_white_space_get_value (self));
		break;
		default:
		G_OBJECT_WARN_INVALID_PROPERTY_ID (object, property_id, pspec);
		break;
	}
}


static void _vala_gxml_gom_xsd_type_restriction_white_space_set_property (GObject * object, guint property_id, const GValue * value, GParamSpec * pspec) {
	GXmlGomXsdTypeRestrictionWhiteSpace * self;
	self = G_TYPE_CHECK_INSTANCE_CAST (object, GXML_TYPE_GOM_XSD_TYPE_RESTRICTION_WHITE_SPACE, GXmlGomXsdTypeRestrictionWhiteSpace);
	switch (property_id) {
		case GXML_GOM_XSD_TYPE_RESTRICTION_WHITE_SPACE_FIXED:
		gxml_gom_xsd_type_restriction_white_space_set_fixed (self, g_value_get_object (value));
		break;
		case GXML_GOM_XSD_TYPE_RESTRICTION_WHITE_SPACE_VALUE:
		gxml_gom_xsd_type_restriction_white_space_set_value (self, g_value_get_string (value));
		break;
		default:
		G_OBJECT_WARN_INVALID_PROPERTY_ID (object, property_id, pspec);
		break;
	}
}


GXmlGomXsdTypeRestrictionPattern* gxml_gom_xsd_type_restriction_pattern_construct (GType object_type) {
	GXmlGomXsdTypeRestrictionPattern * self = NULL;
	self = (GXmlGomXsdTypeRestrictionPattern*) gxml_gom_xsd_type_restriction_def_construct (object_type);
	return self;
}


GXmlGomXsdTypeRestrictionPattern* gxml_gom_xsd_type_restriction_pattern_new (void) {
	return gxml_gom_xsd_type_restriction_pattern_construct (GXML_TYPE_GOM_XSD_TYPE_RESTRICTION_PATTERN);
}


static void gxml_gom_xsd_type_restriction_pattern_class_init (GXmlGomXsdTypeRestrictionPatternClass * klass) {
	gxml_gom_xsd_type_restriction_pattern_parent_class = g_type_class_peek_parent (klass);
}


static void gxml_gom_xsd_type_restriction_pattern_instance_init (GXmlGomXsdTypeRestrictionPattern * self) {
}


GType gxml_gom_xsd_type_restriction_pattern_get_type (void) {
	static volatile gsize gxml_gom_xsd_type_restriction_pattern_type_id__volatile = 0;
	if (g_once_init_enter (&gxml_gom_xsd_type_restriction_pattern_type_id__volatile)) {
		static const GTypeInfo g_define_type_info = { sizeof (GXmlGomXsdTypeRestrictionPatternClass), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) gxml_gom_xsd_type_restriction_pattern_class_init, (GClassFinalizeFunc) NULL, NULL, sizeof (GXmlGomXsdTypeRestrictionPattern), 0, (GInstanceInitFunc) gxml_gom_xsd_type_restriction_pattern_instance_init, NULL };
		GType gxml_gom_xsd_type_restriction_pattern_type_id;
		gxml_gom_xsd_type_restriction_pattern_type_id = g_type_register_static (GXML_TYPE_GOM_XSD_TYPE_RESTRICTION_DEF, "GXmlGomXsdTypeRestrictionPattern", &g_define_type_info, 0);
		g_once_init_leave (&gxml_gom_xsd_type_restriction_pattern_type_id__volatile, gxml_gom_xsd_type_restriction_pattern_type_id);
	}
	return gxml_gom_xsd_type_restriction_pattern_type_id__volatile;
}


GXmlGomXsdTypeRestrictionAssertion* gxml_gom_xsd_type_restriction_assertion_construct (GType object_type) {
	GXmlGomXsdTypeRestrictionAssertion * self = NULL;
	self = (GXmlGomXsdTypeRestrictionAssertion*) gxml_gom_xsd_type_restriction_def_construct (object_type);
	return self;
}


GXmlGomXsdTypeRestrictionAssertion* gxml_gom_xsd_type_restriction_assertion_new (void) {
	return gxml_gom_xsd_type_restriction_assertion_construct (GXML_TYPE_GOM_XSD_TYPE_RESTRICTION_ASSERTION);
}


static void gxml_gom_xsd_type_restriction_assertion_class_init (GXmlGomXsdTypeRestrictionAssertionClass * klass) {
	gxml_gom_xsd_type_restriction_assertion_parent_class = g_type_class_peek_parent (klass);
}


static void gxml_gom_xsd_type_restriction_assertion_instance_init (GXmlGomXsdTypeRestrictionAssertion * self) {
}


GType gxml_gom_xsd_type_restriction_assertion_get_type (void) {
	static volatile gsize gxml_gom_xsd_type_restriction_assertion_type_id__volatile = 0;
	if (g_once_init_enter (&gxml_gom_xsd_type_restriction_assertion_type_id__volatile)) {
		static const GTypeInfo g_define_type_info = { sizeof (GXmlGomXsdTypeRestrictionAssertionClass), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) gxml_gom_xsd_type_restriction_assertion_class_init, (GClassFinalizeFunc) NULL, NULL, sizeof (GXmlGomXsdTypeRestrictionAssertion), 0, (GInstanceInitFunc) gxml_gom_xsd_type_restriction_assertion_instance_init, NULL };
		GType gxml_gom_xsd_type_restriction_assertion_type_id;
		gxml_gom_xsd_type_restriction_assertion_type_id = g_type_register_static (GXML_TYPE_GOM_XSD_TYPE_RESTRICTION_DEF, "GXmlGomXsdTypeRestrictionAssertion", &g_define_type_info, 0);
		g_once_init_leave (&gxml_gom_xsd_type_restriction_assertion_type_id__volatile, gxml_gom_xsd_type_restriction_assertion_type_id);
	}
	return gxml_gom_xsd_type_restriction_assertion_type_id__volatile;
}


GXmlGomXsdTypeRestrictionExplicitTimezone* gxml_gom_xsd_type_restriction_explicit_timezone_construct (GType object_type) {
	GXmlGomXsdTypeRestrictionExplicitTimezone * self = NULL;
	self = (GXmlGomXsdTypeRestrictionExplicitTimezone*) gxml_gom_xsd_type_restriction_def_construct (object_type);
	return self;
}


GXmlGomXsdTypeRestrictionExplicitTimezone* gxml_gom_xsd_type_restriction_explicit_timezone_new (void) {
	return gxml_gom_xsd_type_restriction_explicit_timezone_construct (GXML_TYPE_GOM_XSD_TYPE_RESTRICTION_EXPLICIT_TIMEZONE);
}


static void gxml_gom_xsd_type_restriction_explicit_timezone_class_init (GXmlGomXsdTypeRestrictionExplicitTimezoneClass * klass) {
	gxml_gom_xsd_type_restriction_explicit_timezone_parent_class = g_type_class_peek_parent (klass);
}


static void gxml_gom_xsd_type_restriction_explicit_timezone_instance_init (GXmlGomXsdTypeRestrictionExplicitTimezone * self) {
}


GType gxml_gom_xsd_type_restriction_explicit_timezone_get_type (void) {
	static volatile gsize gxml_gom_xsd_type_restriction_explicit_timezone_type_id__volatile = 0;
	if (g_once_init_enter (&gxml_gom_xsd_type_restriction_explicit_timezone_type_id__volatile)) {
		static const GTypeInfo g_define_type_info = { sizeof (GXmlGomXsdTypeRestrictionExplicitTimezoneClass), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) gxml_gom_xsd_type_restriction_explicit_timezone_class_init, (GClassFinalizeFunc) NULL, NULL, sizeof (GXmlGomXsdTypeRestrictionExplicitTimezone), 0, (GInstanceInitFunc) gxml_gom_xsd_type_restriction_explicit_timezone_instance_init, NULL };
		GType gxml_gom_xsd_type_restriction_explicit_timezone_type_id;
		gxml_gom_xsd_type_restriction_explicit_timezone_type_id = g_type_register_static (GXML_TYPE_GOM_XSD_TYPE_RESTRICTION_DEF, "GXmlGomXsdTypeRestrictionExplicitTimezone", &g_define_type_info, 0);
		g_once_init_leave (&gxml_gom_xsd_type_restriction_explicit_timezone_type_id__volatile, gxml_gom_xsd_type_restriction_explicit_timezone_type_id);
	}
	return gxml_gom_xsd_type_restriction_explicit_timezone_type_id__volatile;
}


GXmlGomXsdComplexType* gxml_gom_xsd_complex_type_construct (GType object_type) {
	GXmlGomXsdComplexType * self = NULL;
	self = (GXmlGomXsdComplexType*) gxml_gom_xsd_base_type_construct (object_type);
	return self;
}


GXmlGomXsdComplexType* gxml_gom_xsd_complex_type_new (void) {
	return gxml_gom_xsd_complex_type_construct (GXML_TYPE_GOM_XSD_COMPLEX_TYPE);
}


gboolean gxml_gom_xsd_complex_type_get_abstract (GXmlGomXsdComplexType* self) {
	gboolean result;
	gboolean _tmp0_ = FALSE;
	g_return_val_if_fail (self != NULL, FALSE);
	_tmp0_ = self->priv->_abstract;
	result = _tmp0_;
	return result;
}


void gxml_gom_xsd_complex_type_set_abstract (GXmlGomXsdComplexType* self, gboolean value) {
	gboolean _tmp0_ = FALSE;
	g_return_if_fail (self != NULL);
	_tmp0_ = value;
	self->priv->_abstract = _tmp0_;
	g_object_notify ((GObject *) self, "abstract");
}


const gchar* gxml_gom_xsd_complex_type_get_block (GXmlGomXsdComplexType* self) {
	const gchar* result;
	const gchar* _tmp0_ = NULL;
	g_return_val_if_fail (self != NULL, NULL);
	_tmp0_ = self->priv->_block;
	result = _tmp0_;
	return result;
}


void gxml_gom_xsd_complex_type_set_block (GXmlGomXsdComplexType* self, const gchar* value) {
	const gchar* _tmp0_ = NULL;
	gchar* _tmp1_ = NULL;
	g_return_if_fail (self != NULL);
	_tmp0_ = value;
	_tmp1_ = g_strdup (_tmp0_);
	_g_free0 (self->priv->_block);
	self->priv->_block = _tmp1_;
	g_object_notify ((GObject *) self, "block");
}


const gchar* gxml_gom_xsd_complex_type_get_final (GXmlGomXsdComplexType* self) {
	const gchar* result;
	const gchar* _tmp0_ = NULL;
	g_return_val_if_fail (self != NULL, NULL);
	_tmp0_ = self->priv->_final;
	result = _tmp0_;
	return result;
}


void gxml_gom_xsd_complex_type_set_final (GXmlGomXsdComplexType* self, const gchar* value) {
	const gchar* _tmp0_ = NULL;
	gchar* _tmp1_ = NULL;
	g_return_if_fail (self != NULL);
	_tmp0_ = value;
	_tmp1_ = g_strdup (_tmp0_);
	_g_free0 (self->priv->_final);
	self->priv->_final = _tmp1_;
	g_object_notify ((GObject *) self, "final");
}


gboolean gxml_gom_xsd_complex_type_get_mixed (GXmlGomXsdComplexType* self) {
	gboolean result;
	gboolean _tmp0_ = FALSE;
	g_return_val_if_fail (self != NULL, FALSE);
	_tmp0_ = self->priv->_mixed;
	result = _tmp0_;
	return result;
}


void gxml_gom_xsd_complex_type_set_mixed (GXmlGomXsdComplexType* self, gboolean value) {
	gboolean _tmp0_ = FALSE;
	g_return_if_fail (self != NULL);
	_tmp0_ = value;
	self->priv->_mixed = _tmp0_;
	g_object_notify ((GObject *) self, "mixed");
}


const gchar* gxml_gom_xsd_complex_type_get_name (GXmlGomXsdComplexType* self) {
	const gchar* result;
	const gchar* _tmp0_ = NULL;
	g_return_val_if_fail (self != NULL, NULL);
	_tmp0_ = self->priv->_name;
	result = _tmp0_;
	return result;
}


void gxml_gom_xsd_complex_type_set_name (GXmlGomXsdComplexType* self, const gchar* value) {
	const gchar* _tmp0_ = NULL;
	gchar* _tmp1_ = NULL;
	g_return_if_fail (self != NULL);
	_tmp0_ = value;
	_tmp1_ = g_strdup (_tmp0_);
	_g_free0 (self->priv->_name);
	self->priv->_name = _tmp1_;
	g_object_notify ((GObject *) self, "name");
}


gboolean gxml_gom_xsd_complex_type_get_default_attributes_apply (GXmlGomXsdComplexType* self) {
	gboolean result;
	gboolean _tmp0_ = FALSE;
	g_return_val_if_fail (self != NULL, FALSE);
	_tmp0_ = self->priv->_default_attributes_apply;
	result = _tmp0_;
	return result;
}


void gxml_gom_xsd_complex_type_set_default_attributes_apply (GXmlGomXsdComplexType* self, gboolean value) {
	gboolean _tmp0_ = FALSE;
	g_return_if_fail (self != NULL);
	_tmp0_ = value;
	self->priv->_default_attributes_apply = _tmp0_;
	g_object_notify ((GObject *) self, "default-attributes-apply");
}


GXmlGomXsdBaseContent* gxml_gom_xsd_complex_type_get_content_type (GXmlGomXsdComplexType* self) {
	GXmlGomXsdBaseContent* result;
	GXmlGomXsdBaseContent* _tmp0_ = NULL;
	g_return_val_if_fail (self != NULL, NULL);
	_tmp0_ = self->priv->_content_type;
	result = _tmp0_;
	return result;
}


void gxml_gom_xsd_complex_type_set_content_type (GXmlGomXsdComplexType* self, GXmlGomXsdBaseContent* value) {
	GXmlGomXsdBaseContent* _tmp0_ = NULL;
	GXmlGomXsdBaseContent* _tmp1_ = NULL;
	g_return_if_fail (self != NULL);
	_tmp0_ = value;
	_tmp1_ = _g_object_ref0 (_tmp0_);
	_g_object_unref0 (self->priv->_content_type);
	self->priv->_content_type = _tmp1_;
	g_object_notify ((GObject *) self, "content-type");
}


GXmlGomXsdList* gxml_gom_xsd_complex_type_get_type_attributes (GXmlGomXsdComplexType* self) {
	GXmlGomXsdList* result;
	GXmlGomXsdList* _tmp0_ = NULL;
	g_return_val_if_fail (self != NULL, NULL);
	_tmp0_ = self->_type_attributes;
	result = _tmp0_;
	return result;
}


GXmlGomXsdList* gxml_gom_xsd_complex_type_get_group_attributes (GXmlGomXsdComplexType* self) {
	GXmlGomXsdList* result;
	GXmlGomXsdList* _tmp0_ = NULL;
	g_return_val_if_fail (self != NULL, NULL);
	_tmp0_ = self->_group_attributes;
	result = _tmp0_;
	return result;
}


static GObject * gxml_gom_xsd_complex_type_constructor (GType type, guint n_construct_properties, GObjectConstructParam * construct_properties) {
	GObject * obj;
	GObjectClass * parent_class;
	GXmlGomXsdComplexType * self;
	parent_class = G_OBJECT_CLASS (gxml_gom_xsd_complex_type_parent_class);
	obj = parent_class->constructor (type, n_construct_properties, construct_properties);
	self = G_TYPE_CHECK_INSTANCE_CAST (obj, GXML_TYPE_GOM_XSD_COMPLEX_TYPE, GXmlGomXsdComplexType);
	gxml_gom_element_initialize_with_namespace ((GXmlGomElement*) self, GXML_IXSD_SCHEMA_SCHEMA_NAMESPACE_URI, GXML_IXSD_SCHEMA_SCHEMA_NAMESPACE_PREFIX, GXML_IXSD_COMPLEX_TYPE_SCHEMA_NODE_NAME);
	return obj;
}


static void gxml_gom_xsd_complex_type_class_init (GXmlGomXsdComplexTypeClass * klass) {
	gxml_gom_xsd_complex_type_parent_class = g_type_class_peek_parent (klass);
	g_type_class_add_private (klass, sizeof (GXmlGomXsdComplexTypePrivate));
	G_OBJECT_CLASS (klass)->get_property = _vala_gxml_gom_xsd_complex_type_get_property;
	G_OBJECT_CLASS (klass)->set_property = _vala_gxml_gom_xsd_complex_type_set_property;
	G_OBJECT_CLASS (klass)->constructor = gxml_gom_xsd_complex_type_constructor;
	G_OBJECT_CLASS (klass)->finalize = gxml_gom_xsd_complex_type_finalize;
	/**
	  * attribute name = abstract
	  */
	g_object_class_install_property (G_OBJECT_CLASS (klass), GXML_GOM_XSD_COMPLEX_TYPE_ABSTRACT, g_param_spec_boolean ("abstract", "abstract", "abstract", FALSE, G_PARAM_STATIC_NAME | G_PARAM_STATIC_NICK | G_PARAM_STATIC_BLURB | G_PARAM_READABLE | G_PARAM_WRITABLE));
	/**
	  * (#all | List of (extension | restriction))
	  */
	g_object_class_install_property (G_OBJECT_CLASS (klass), GXML_GOM_XSD_COMPLEX_TYPE_BLOCK, g_param_spec_string ("block", "block", "block", NULL, G_PARAM_STATIC_NAME | G_PARAM_STATIC_NICK | G_PARAM_STATIC_BLURB | G_PARAM_READABLE | G_PARAM_WRITABLE));
	/**
	  * (#all | List of (extension | restriction))
	  */
	g_object_class_install_property (G_OBJECT_CLASS (klass), GXML_GOM_XSD_COMPLEX_TYPE_FINAL, g_param_spec_string ("final", "final", "final", NULL, G_PARAM_STATIC_NAME | G_PARAM_STATIC_NICK | G_PARAM_STATIC_BLURB | G_PARAM_READABLE | G_PARAM_WRITABLE));
	g_object_class_install_property (G_OBJECT_CLASS (klass), GXML_GOM_XSD_COMPLEX_TYPE_MIXED, g_param_spec_boolean ("mixed", "mixed", "mixed", FALSE, G_PARAM_STATIC_NAME | G_PARAM_STATIC_NICK | G_PARAM_STATIC_BLURB | G_PARAM_READABLE | G_PARAM_WRITABLE));
	g_object_class_install_property (G_OBJECT_CLASS (klass), GXML_GOM_XSD_COMPLEX_TYPE_NAME, g_param_spec_string ("name", "name", "name", NULL, G_PARAM_STATIC_NAME | G_PARAM_STATIC_NICK | G_PARAM_STATIC_BLURB | G_PARAM_READABLE | G_PARAM_WRITABLE));
	/**
	   * defaultAttributesApply
	   */
	g_object_class_install_property (G_OBJECT_CLASS (klass), GXML_GOM_XSD_COMPLEX_TYPE_DEFAULT_ATTRIBUTES_APPLY, g_param_spec_boolean ("default-attributes-apply", "default-attributes-apply", "default-attributes-apply", TRUE, G_PARAM_STATIC_NAME | G_PARAM_STATIC_NICK | G_PARAM_STATIC_BLURB | G_PARAM_READABLE | G_PARAM_WRITABLE));
	/**
	   * A {@link GomXsdComplexType} or {@link GomXsdSimpleType}
	   */
	g_object_class_install_property (G_OBJECT_CLASS (klass), GXML_GOM_XSD_COMPLEX_TYPE_CONTENT_TYPE, g_param_spec_object ("content-type", "content-type", "content-type", GXML_TYPE_GOM_XSD_BASE_CONTENT, G_PARAM_STATIC_NAME | G_PARAM_STATIC_NICK | G_PARAM_STATIC_BLURB | G_PARAM_READABLE | G_PARAM_WRITABLE));
	/**
	   * List of type {@link GomXsdAttribute} definitions
	   */
	g_object_class_install_property (G_OBJECT_CLASS (klass), GXML_GOM_XSD_COMPLEX_TYPE_TYPE_ATTRIBUTES, g_param_spec_object ("type-attributes", "type-attributes", "type-attributes", GXML_TYPE_GOM_XSD_LIST, G_PARAM_STATIC_NAME | G_PARAM_STATIC_NICK | G_PARAM_STATIC_BLURB | G_PARAM_READABLE));
	/**
	   * List of group {@link GomXsdAttribute} definitions
	   */
	g_object_class_install_property (G_OBJECT_CLASS (klass), GXML_GOM_XSD_COMPLEX_TYPE_GROUP_ATTRIBUTES, g_param_spec_object ("group-attributes", "group-attributes", "group-attributes", GXML_TYPE_GOM_XSD_LIST, G_PARAM_STATIC_NAME | G_PARAM_STATIC_NICK | G_PARAM_STATIC_BLURB | G_PARAM_READABLE));
}


static void gxml_gom_xsd_complex_type_instance_init (GXmlGomXsdComplexType * self) {
	self->priv = GXML_GOM_XSD_COMPLEX_TYPE_GET_PRIVATE (self);
	self->_type_attributes = NULL;
	self->_group_attributes = NULL;
	self->priv->_abstract = FALSE;
	self->priv->_default_attributes_apply = TRUE;
}


static void gxml_gom_xsd_complex_type_finalize (GObject* obj) {
	GXmlGomXsdComplexType * self;
	self = G_TYPE_CHECK_INSTANCE_CAST (obj, GXML_TYPE_GOM_XSD_COMPLEX_TYPE, GXmlGomXsdComplexType);
	_g_object_unref0 (self->_type_attributes);
	_g_object_unref0 (self->_group_attributes);
	_g_free0 (self->priv->_block);
	_g_free0 (self->priv->_final);
	_g_free0 (self->priv->_name);
	_g_object_unref0 (self->priv->_content_type);
	G_OBJECT_CLASS (gxml_gom_xsd_complex_type_parent_class)->finalize (obj);
}


GType gxml_gom_xsd_complex_type_get_type (void) {
	static volatile gsize gxml_gom_xsd_complex_type_type_id__volatile = 0;
	if (g_once_init_enter (&gxml_gom_xsd_complex_type_type_id__volatile)) {
		static const GTypeInfo g_define_type_info = { sizeof (GXmlGomXsdComplexTypeClass), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) gxml_gom_xsd_complex_type_class_init, (GClassFinalizeFunc) NULL, NULL, sizeof (GXmlGomXsdComplexType), 0, (GInstanceInitFunc) gxml_gom_xsd_complex_type_instance_init, NULL };
		GType gxml_gom_xsd_complex_type_type_id;
		gxml_gom_xsd_complex_type_type_id = g_type_register_static (GXML_TYPE_GOM_XSD_BASE_TYPE, "GXmlGomXsdComplexType", &g_define_type_info, 0);
		g_once_init_leave (&gxml_gom_xsd_complex_type_type_id__volatile, gxml_gom_xsd_complex_type_type_id);
	}
	return gxml_gom_xsd_complex_type_type_id__volatile;
}


static void _vala_gxml_gom_xsd_complex_type_get_property (GObject * object, guint property_id, GValue * value, GParamSpec * pspec) {
	GXmlGomXsdComplexType * self;
	self = G_TYPE_CHECK_INSTANCE_CAST (object, GXML_TYPE_GOM_XSD_COMPLEX_TYPE, GXmlGomXsdComplexType);
	switch (property_id) {
		case GXML_GOM_XSD_COMPLEX_TYPE_ABSTRACT:
		g_value_set_boolean (value, gxml_gom_xsd_complex_type_get_abstract (self));
		break;
		case GXML_GOM_XSD_COMPLEX_TYPE_BLOCK:
		g_value_set_string (value, gxml_gom_xsd_complex_type_get_block (self));
		break;
		case GXML_GOM_XSD_COMPLEX_TYPE_FINAL:
		g_value_set_string (value, gxml_gom_xsd_complex_type_get_final (self));
		break;
		case GXML_GOM_XSD_COMPLEX_TYPE_MIXED:
		g_value_set_boolean (value, gxml_gom_xsd_complex_type_get_mixed (self));
		break;
		case GXML_GOM_XSD_COMPLEX_TYPE_NAME:
		g_value_set_string (value, gxml_gom_xsd_complex_type_get_name (self));
		break;
		case GXML_GOM_XSD_COMPLEX_TYPE_DEFAULT_ATTRIBUTES_APPLY:
		g_value_set_boolean (value, gxml_gom_xsd_complex_type_get_default_attributes_apply (self));
		break;
		case GXML_GOM_XSD_COMPLEX_TYPE_CONTENT_TYPE:
		g_value_set_object (value, gxml_gom_xsd_complex_type_get_content_type (self));
		break;
		case GXML_GOM_XSD_COMPLEX_TYPE_TYPE_ATTRIBUTES:
		g_value_set_object (value, gxml_gom_xsd_complex_type_get_type_attributes (self));
		break;
		case GXML_GOM_XSD_COMPLEX_TYPE_GROUP_ATTRIBUTES:
		g_value_set_object (value, gxml_gom_xsd_complex_type_get_group_attributes (self));
		break;
		default:
		G_OBJECT_WARN_INVALID_PROPERTY_ID (object, property_id, pspec);
		break;
	}
}


static void _vala_gxml_gom_xsd_complex_type_set_property (GObject * object, guint property_id, const GValue * value, GParamSpec * pspec) {
	GXmlGomXsdComplexType * self;
	self = G_TYPE_CHECK_INSTANCE_CAST (object, GXML_TYPE_GOM_XSD_COMPLEX_TYPE, GXmlGomXsdComplexType);
	switch (property_id) {
		case GXML_GOM_XSD_COMPLEX_TYPE_ABSTRACT:
		gxml_gom_xsd_complex_type_set_abstract (self, g_value_get_boolean (value));
		break;
		case GXML_GOM_XSD_COMPLEX_TYPE_BLOCK:
		gxml_gom_xsd_complex_type_set_block (self, g_value_get_string (value));
		break;
		case GXML_GOM_XSD_COMPLEX_TYPE_FINAL:
		gxml_gom_xsd_complex_type_set_final (self, g_value_get_string (value));
		break;
		case GXML_GOM_XSD_COMPLEX_TYPE_MIXED:
		gxml_gom_xsd_complex_type_set_mixed (self, g_value_get_boolean (value));
		break;
		case GXML_GOM_XSD_COMPLEX_TYPE_NAME:
		gxml_gom_xsd_complex_type_set_name (self, g_value_get_string (value));
		break;
		case GXML_GOM_XSD_COMPLEX_TYPE_DEFAULT_ATTRIBUTES_APPLY:
		gxml_gom_xsd_complex_type_set_default_attributes_apply (self, g_value_get_boolean (value));
		break;
		case GXML_GOM_XSD_COMPLEX_TYPE_CONTENT_TYPE:
		gxml_gom_xsd_complex_type_set_content_type (self, g_value_get_object (value));
		break;
		default:
		G_OBJECT_WARN_INVALID_PROPERTY_ID (object, property_id, pspec);
		break;
	}
}


GXmlGomXsdExtension* gxml_gom_xsd_extension_construct (GType object_type) {
	GXmlGomXsdExtension * self = NULL;
	self = (GXmlGomXsdExtension*) gxml_gom_element_construct (object_type);
	return self;
}


GXmlGomXsdExtension* gxml_gom_xsd_extension_new (void) {
	return gxml_gom_xsd_extension_construct (GXML_TYPE_GOM_XSD_EXTENSION);
}


const gchar* gxml_gom_xsd_extension_get_base (GXmlGomXsdExtension* self) {
	const gchar* result;
	const gchar* _tmp0_ = NULL;
	g_return_val_if_fail (self != NULL, NULL);
	_tmp0_ = self->priv->_base;
	result = _tmp0_;
	return result;
}


void gxml_gom_xsd_extension_set_base (GXmlGomXsdExtension* self, const gchar* value) {
	const gchar* _tmp0_ = NULL;
	gchar* _tmp1_ = NULL;
	g_return_if_fail (self != NULL);
	_tmp0_ = value;
	_tmp1_ = g_strdup (_tmp0_);
	_g_free0 (self->priv->_base);
	self->priv->_base = _tmp1_;
	g_object_notify ((GObject *) self, "base");
}


static GObject * gxml_gom_xsd_extension_constructor (GType type, guint n_construct_properties, GObjectConstructParam * construct_properties) {
	GObject * obj;
	GObjectClass * parent_class;
	GXmlGomXsdExtension * self;
	parent_class = G_OBJECT_CLASS (gxml_gom_xsd_extension_parent_class);
	obj = parent_class->constructor (type, n_construct_properties, construct_properties);
	self = G_TYPE_CHECK_INSTANCE_CAST (obj, GXML_TYPE_GOM_XSD_EXTENSION, GXmlGomXsdExtension);
	gxml_gom_element_initialize_with_namespace ((GXmlGomElement*) self, GXML_IXSD_SCHEMA_SCHEMA_NAMESPACE_URI, GXML_IXSD_SCHEMA_SCHEMA_NAMESPACE_PREFIX, GXML_IXSD_EXTENSION_SCHEMA_NODE_NAME);
	return obj;
}


static void gxml_gom_xsd_extension_class_init (GXmlGomXsdExtensionClass * klass) {
	gxml_gom_xsd_extension_parent_class = g_type_class_peek_parent (klass);
	g_type_class_add_private (klass, sizeof (GXmlGomXsdExtensionPrivate));
	G_OBJECT_CLASS (klass)->get_property = _vala_gxml_gom_xsd_extension_get_property;
	G_OBJECT_CLASS (klass)->set_property = _vala_gxml_gom_xsd_extension_set_property;
	G_OBJECT_CLASS (klass)->constructor = gxml_gom_xsd_extension_constructor;
	G_OBJECT_CLASS (klass)->finalize = gxml_gom_xsd_extension_finalize;
	g_object_class_install_property (G_OBJECT_CLASS (klass), GXML_GOM_XSD_EXTENSION_BASE, g_param_spec_string ("base", "::base", "base", NULL, G_PARAM_STATIC_NAME | G_PARAM_STATIC_NICK | G_PARAM_STATIC_BLURB | G_PARAM_READABLE | G_PARAM_WRITABLE));
}


static void gxml_gom_xsd_extension_instance_init (GXmlGomXsdExtension * self) {
	self->priv = GXML_GOM_XSD_EXTENSION_GET_PRIVATE (self);
}


static void gxml_gom_xsd_extension_finalize (GObject* obj) {
	GXmlGomXsdExtension * self;
	self = G_TYPE_CHECK_INSTANCE_CAST (obj, GXML_TYPE_GOM_XSD_EXTENSION, GXmlGomXsdExtension);
	_g_free0 (self->priv->_base);
	G_OBJECT_CLASS (gxml_gom_xsd_extension_parent_class)->finalize (obj);
}


GType gxml_gom_xsd_extension_get_type (void) {
	static volatile gsize gxml_gom_xsd_extension_type_id__volatile = 0;
	if (g_once_init_enter (&gxml_gom_xsd_extension_type_id__volatile)) {
		static const GTypeInfo g_define_type_info = { sizeof (GXmlGomXsdExtensionClass), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) gxml_gom_xsd_extension_class_init, (GClassFinalizeFunc) NULL, NULL, sizeof (GXmlGomXsdExtension), 0, (GInstanceInitFunc) gxml_gom_xsd_extension_instance_init, NULL };
		GType gxml_gom_xsd_extension_type_id;
		gxml_gom_xsd_extension_type_id = g_type_register_static (GXML_TYPE_GOM_ELEMENT, "GXmlGomXsdExtension", &g_define_type_info, 0);
		g_once_init_leave (&gxml_gom_xsd_extension_type_id__volatile, gxml_gom_xsd_extension_type_id);
	}
	return gxml_gom_xsd_extension_type_id__volatile;
}


static void _vala_gxml_gom_xsd_extension_get_property (GObject * object, guint property_id, GValue * value, GParamSpec * pspec) {
	GXmlGomXsdExtension * self;
	self = G_TYPE_CHECK_INSTANCE_CAST (object, GXML_TYPE_GOM_XSD_EXTENSION, GXmlGomXsdExtension);
	switch (property_id) {
		case GXML_GOM_XSD_EXTENSION_BASE:
		g_value_set_string (value, gxml_gom_xsd_extension_get_base (self));
		break;
		default:
		G_OBJECT_WARN_INVALID_PROPERTY_ID (object, property_id, pspec);
		break;
	}
}


static void _vala_gxml_gom_xsd_extension_set_property (GObject * object, guint property_id, const GValue * value, GParamSpec * pspec) {
	GXmlGomXsdExtension * self;
	self = G_TYPE_CHECK_INSTANCE_CAST (object, GXML_TYPE_GOM_XSD_EXTENSION, GXmlGomXsdExtension);
	switch (property_id) {
		case GXML_GOM_XSD_EXTENSION_BASE:
		gxml_gom_xsd_extension_set_base (self, g_value_get_string (value));
		break;
		default:
		G_OBJECT_WARN_INVALID_PROPERTY_ID (object, property_id, pspec);
		break;
	}
}


GXmlGomXsdElement* gxml_gom_xsd_element_construct (GType object_type) {
	GXmlGomXsdElement * self = NULL;
	self = (GXmlGomXsdElement*) gxml_gom_element_construct (object_type);
	return self;
}


GXmlGomXsdElement* gxml_gom_xsd_element_new (void) {
	return gxml_gom_xsd_element_construct (GXML_TYPE_GOM_XSD_ELEMENT);
}


gboolean gxml_gom_xsd_element_get_abstract (GXmlGomXsdElement* self) {
	gboolean result;
	gboolean _tmp0_ = FALSE;
	g_return_val_if_fail (self != NULL, FALSE);
	_tmp0_ = self->priv->_abstract;
	result = _tmp0_;
	return result;
}


void gxml_gom_xsd_element_set_abstract (GXmlGomXsdElement* self, gboolean value) {
	gboolean _tmp0_ = FALSE;
	g_return_if_fail (self != NULL);
	_tmp0_ = value;
	self->priv->_abstract = _tmp0_;
	g_object_notify ((GObject *) self, "abstract");
}


const gchar* gxml_gom_xsd_element_get_block (GXmlGomXsdElement* self) {
	const gchar* result;
	const gchar* _tmp0_ = NULL;
	g_return_val_if_fail (self != NULL, NULL);
	_tmp0_ = self->priv->_block;
	result = _tmp0_;
	return result;
}


void gxml_gom_xsd_element_set_block (GXmlGomXsdElement* self, const gchar* value) {
	const gchar* _tmp0_ = NULL;
	gchar* _tmp1_ = NULL;
	g_return_if_fail (self != NULL);
	_tmp0_ = value;
	_tmp1_ = g_strdup (_tmp0_);
	_g_free0 (self->priv->_block);
	self->priv->_block = _tmp1_;
	g_object_notify ((GObject *) self, "block");
}


const gchar* gxml_gom_xsd_element_get_default (GXmlGomXsdElement* self) {
	const gchar* result;
	const gchar* _tmp0_ = NULL;
	g_return_val_if_fail (self != NULL, NULL);
	_tmp0_ = self->priv->_default;
	result = _tmp0_;
	return result;
}


void gxml_gom_xsd_element_set_default (GXmlGomXsdElement* self, const gchar* value) {
	const gchar* _tmp0_ = NULL;
	gchar* _tmp1_ = NULL;
	g_return_if_fail (self != NULL);
	_tmp0_ = value;
	_tmp1_ = g_strdup (_tmp0_);
	_g_free0 (self->priv->_default);
	self->priv->_default = _tmp1_;
	g_object_notify ((GObject *) self, "default");
}


const gchar* gxml_gom_xsd_element_get_final (GXmlGomXsdElement* self) {
	const gchar* result;
	const gchar* _tmp0_ = NULL;
	g_return_val_if_fail (self != NULL, NULL);
	_tmp0_ = self->priv->_final;
	result = _tmp0_;
	return result;
}


void gxml_gom_xsd_element_set_final (GXmlGomXsdElement* self, const gchar* value) {
	const gchar* _tmp0_ = NULL;
	gchar* _tmp1_ = NULL;
	g_return_if_fail (self != NULL);
	_tmp0_ = value;
	_tmp1_ = g_strdup (_tmp0_);
	_g_free0 (self->priv->_final);
	self->priv->_final = _tmp1_;
	g_object_notify ((GObject *) self, "final");
}


const gchar* gxml_gom_xsd_element_get_fixed (GXmlGomXsdElement* self) {
	const gchar* result;
	const gchar* _tmp0_ = NULL;
	g_return_val_if_fail (self != NULL, NULL);
	_tmp0_ = self->priv->_fixed;
	result = _tmp0_;
	return result;
}


void gxml_gom_xsd_element_set_fixed (GXmlGomXsdElement* self, const gchar* value) {
	const gchar* _tmp0_ = NULL;
	gchar* _tmp1_ = NULL;
	g_return_if_fail (self != NULL);
	_tmp0_ = value;
	_tmp1_ = g_strdup (_tmp0_);
	_g_free0 (self->priv->_fixed);
	self->priv->_fixed = _tmp1_;
	g_object_notify ((GObject *) self, "fixed");
}


const gchar* gxml_gom_xsd_element_get_form (GXmlGomXsdElement* self) {
	const gchar* result;
	const gchar* _tmp0_ = NULL;
	g_return_val_if_fail (self != NULL, NULL);
	_tmp0_ = self->priv->_form;
	result = _tmp0_;
	return result;
}


void gxml_gom_xsd_element_set_form (GXmlGomXsdElement* self, const gchar* value) {
	const gchar* _tmp0_ = NULL;
	gchar* _tmp1_ = NULL;
	g_return_if_fail (self != NULL);
	_tmp0_ = value;
	_tmp1_ = g_strdup (_tmp0_);
	_g_free0 (self->priv->_form);
	self->priv->_form = _tmp1_;
	g_object_notify ((GObject *) self, "form");
}


const gchar* gxml_gom_xsd_element_get_max_occurs (GXmlGomXsdElement* self) {
	const gchar* result;
	const gchar* _tmp0_ = NULL;
	g_return_val_if_fail (self != NULL, NULL);
	_tmp0_ = self->priv->_max_occurs;
	result = _tmp0_;
	return result;
}


void gxml_gom_xsd_element_set_max_occurs (GXmlGomXsdElement* self, const gchar* value) {
	const gchar* _tmp0_ = NULL;
	gchar* _tmp1_ = NULL;
	g_return_if_fail (self != NULL);
	_tmp0_ = value;
	_tmp1_ = g_strdup (_tmp0_);
	_g_free0 (self->priv->_max_occurs);
	self->priv->_max_occurs = _tmp1_;
	g_object_notify ((GObject *) self, "max-occurs");
}


const gchar* gxml_gom_xsd_element_get_min_occurs (GXmlGomXsdElement* self) {
	const gchar* result;
	const gchar* _tmp0_ = NULL;
	g_return_val_if_fail (self != NULL, NULL);
	_tmp0_ = self->priv->_min_occurs;
	result = _tmp0_;
	return result;
}


void gxml_gom_xsd_element_set_min_occurs (GXmlGomXsdElement* self, const gchar* value) {
	const gchar* _tmp0_ = NULL;
	gchar* _tmp1_ = NULL;
	g_return_if_fail (self != NULL);
	_tmp0_ = value;
	_tmp1_ = g_strdup (_tmp0_);
	_g_free0 (self->priv->_min_occurs);
	self->priv->_min_occurs = _tmp1_;
	g_object_notify ((GObject *) self, "min-occurs");
}


const gchar* gxml_gom_xsd_element_get_name (GXmlGomXsdElement* self) {
	const gchar* result;
	const gchar* _tmp0_ = NULL;
	g_return_val_if_fail (self != NULL, NULL);
	_tmp0_ = self->priv->_name;
	result = _tmp0_;
	return result;
}


void gxml_gom_xsd_element_set_name (GXmlGomXsdElement* self, const gchar* value) {
	const gchar* _tmp0_ = NULL;
	gchar* _tmp1_ = NULL;
	g_return_if_fail (self != NULL);
	_tmp0_ = value;
	_tmp1_ = g_strdup (_tmp0_);
	_g_free0 (self->priv->_name);
	self->priv->_name = _tmp1_;
	g_object_notify ((GObject *) self, "name");
}


gboolean gxml_gom_xsd_element_get_nillable (GXmlGomXsdElement* self) {
	gboolean result;
	gboolean _tmp0_ = FALSE;
	g_return_val_if_fail (self != NULL, FALSE);
	_tmp0_ = self->priv->_nillable;
	result = _tmp0_;
	return result;
}


void gxml_gom_xsd_element_set_nillable (GXmlGomXsdElement* self, gboolean value) {
	gboolean _tmp0_ = FALSE;
	g_return_if_fail (self != NULL);
	_tmp0_ = value;
	self->priv->_nillable = _tmp0_;
	g_object_notify ((GObject *) self, "nillable");
}


const gchar* gxml_gom_xsd_element_get_ref (GXmlGomXsdElement* self) {
	const gchar* result;
	const gchar* _tmp0_ = NULL;
	g_return_val_if_fail (self != NULL, NULL);
	_tmp0_ = self->priv->_ref;
	result = _tmp0_;
	return result;
}


void gxml_gom_xsd_element_set_ref (GXmlGomXsdElement* self, const gchar* value) {
	const gchar* _tmp0_ = NULL;
	gchar* _tmp1_ = NULL;
	g_return_if_fail (self != NULL);
	_tmp0_ = value;
	_tmp1_ = g_strdup (_tmp0_);
	_g_free0 (self->priv->_ref);
	self->priv->_ref = _tmp1_;
	g_object_notify ((GObject *) self, "ref");
}


GXmlDomTokenList* gxml_gom_xsd_element_get_substitution_group (GXmlGomXsdElement* self) {
	GXmlDomTokenList* result;
	GXmlDomTokenList* _tmp0_ = NULL;
	g_return_val_if_fail (self != NULL, NULL);
	_tmp0_ = self->priv->_substitution_group;
	result = _tmp0_;
	return result;
}


void gxml_gom_xsd_element_set_substitution_group (GXmlGomXsdElement* self, GXmlDomTokenList* value) {
	GXmlDomTokenList* _tmp0_ = NULL;
	GXmlDomTokenList* _tmp1_ = NULL;
	g_return_if_fail (self != NULL);
	_tmp0_ = value;
	_tmp1_ = _g_object_ref0 (_tmp0_);
	_g_object_unref0 (self->priv->_substitution_group);
	self->priv->_substitution_group = _tmp1_;
	g_object_notify ((GObject *) self, "substitution-group");
}


const gchar* gxml_gom_xsd_element_get_target_namespace (GXmlGomXsdElement* self) {
	const gchar* result;
	const gchar* _tmp0_ = NULL;
	g_return_val_if_fail (self != NULL, NULL);
	_tmp0_ = self->priv->_target_namespace;
	result = _tmp0_;
	return result;
}


void gxml_gom_xsd_element_set_target_namespace (GXmlGomXsdElement* self, const gchar* value) {
	const gchar* _tmp0_ = NULL;
	gchar* _tmp1_ = NULL;
	g_return_if_fail (self != NULL);
	_tmp0_ = value;
	_tmp1_ = g_strdup (_tmp0_);
	_g_free0 (self->priv->_target_namespace);
	self->priv->_target_namespace = _tmp1_;
	g_object_notify ((GObject *) self, "target-namespace");
}


const gchar* gxml_gom_xsd_element_get_object_type (GXmlGomXsdElement* self) {
	const gchar* result;
	const gchar* _tmp0_ = NULL;
	g_return_val_if_fail (self != NULL, NULL);
	_tmp0_ = self->priv->_object_type;
	result = _tmp0_;
	return result;
}


void gxml_gom_xsd_element_set_object_type (GXmlGomXsdElement* self, const gchar* value) {
	const gchar* _tmp0_ = NULL;
	gchar* _tmp1_ = NULL;
	g_return_if_fail (self != NULL);
	_tmp0_ = value;
	_tmp1_ = g_strdup (_tmp0_);
	_g_free0 (self->priv->_object_type);
	self->priv->_object_type = _tmp1_;
	g_object_notify ((GObject *) self, "object-type");
}


GXmlGomXsdAnnotation* gxml_gom_xsd_element_get_anotation (GXmlGomXsdElement* self) {
	GXmlGomXsdAnnotation* result;
	GXmlGomXsdAnnotation* _tmp0_ = NULL;
	g_return_val_if_fail (self != NULL, NULL);
	_tmp0_ = self->priv->_anotation;
	result = _tmp0_;
	return result;
}


void gxml_gom_xsd_element_set_anotation (GXmlGomXsdElement* self, GXmlGomXsdAnnotation* value) {
	GXmlGomXsdAnnotation* _tmp0_ = NULL;
	GXmlGomXsdAnnotation* _tmp1_ = NULL;
	g_return_if_fail (self != NULL);
	_tmp0_ = value;
	_tmp1_ = _g_object_ref0 (_tmp0_);
	_g_object_unref0 (self->priv->_anotation);
	self->priv->_anotation = _tmp1_;
	g_object_notify ((GObject *) self, "anotation");
}


GXmlGomXsdSimpleType* gxml_gom_xsd_element_get_simple_type (GXmlGomXsdElement* self) {
	GXmlGomXsdSimpleType* result;
	GXmlGomXsdSimpleType* _tmp0_ = NULL;
	g_return_val_if_fail (self != NULL, NULL);
	_tmp0_ = self->priv->_simple_type;
	result = _tmp0_;
	return result;
}


void gxml_gom_xsd_element_set_simple_type (GXmlGomXsdElement* self, GXmlGomXsdSimpleType* value) {
	GXmlGomXsdSimpleType* _tmp0_ = NULL;
	GXmlGomXsdSimpleType* _tmp1_ = NULL;
	g_return_if_fail (self != NULL);
	_tmp0_ = value;
	_tmp1_ = _g_object_ref0 (_tmp0_);
	_g_object_unref0 (self->priv->_simple_type);
	self->priv->_simple_type = _tmp1_;
	g_object_notify ((GObject *) self, "simple-type");
}


GXmlGomXsdComplexType* gxml_gom_xsd_element_get_complex_type (GXmlGomXsdElement* self) {
	GXmlGomXsdComplexType* result;
	GXmlGomXsdComplexType* _tmp0_ = NULL;
	g_return_val_if_fail (self != NULL, NULL);
	_tmp0_ = self->priv->_complex_type;
	result = _tmp0_;
	return result;
}


void gxml_gom_xsd_element_set_complex_type (GXmlGomXsdElement* self, GXmlGomXsdComplexType* value) {
	GXmlGomXsdComplexType* _tmp0_ = NULL;
	GXmlGomXsdComplexType* _tmp1_ = NULL;
	g_return_if_fail (self != NULL);
	_tmp0_ = value;
	_tmp1_ = _g_object_ref0 (_tmp0_);
	_g_object_unref0 (self->priv->_complex_type);
	self->priv->_complex_type = _tmp1_;
	g_object_notify ((GObject *) self, "complex-type");
}


static GObject * gxml_gom_xsd_element_constructor (GType type, guint n_construct_properties, GObjectConstructParam * construct_properties) {
	GObject * obj;
	GObjectClass * parent_class;
	GXmlGomXsdElement * self;
	parent_class = G_OBJECT_CLASS (gxml_gom_xsd_element_parent_class);
	obj = parent_class->constructor (type, n_construct_properties, construct_properties);
	self = G_TYPE_CHECK_INSTANCE_CAST (obj, GXML_TYPE_GOM_XSD_ELEMENT, GXmlGomXsdElement);
	gxml_gom_element_initialize_with_namespace ((GXmlGomElement*) self, GXML_IXSD_SCHEMA_SCHEMA_NAMESPACE_URI, GXML_IXSD_SCHEMA_SCHEMA_NAMESPACE_PREFIX, GXML_IXSD_ELEMENT_SCHEMA_NODE_NAME);
	return obj;
}


static void gxml_gom_xsd_element_class_init (GXmlGomXsdElementClass * klass) {
	gxml_gom_xsd_element_parent_class = g_type_class_peek_parent (klass);
	g_type_class_add_private (klass, sizeof (GXmlGomXsdElementPrivate));
	G_OBJECT_CLASS (klass)->get_property = _vala_gxml_gom_xsd_element_get_property;
	G_OBJECT_CLASS (klass)->set_property = _vala_gxml_gom_xsd_element_set_property;
	G_OBJECT_CLASS (klass)->constructor = gxml_gom_xsd_element_constructor;
	G_OBJECT_CLASS (klass)->finalize = gxml_gom_xsd_element_finalize;
	/**
	  * attribute name = abstract
	  */
	g_object_class_install_property (G_OBJECT_CLASS (klass), GXML_GOM_XSD_ELEMENT_ABSTRACT, g_param_spec_boolean ("abstract", "::abstract", "abstract", FALSE, G_PARAM_STATIC_NAME | G_PARAM_STATIC_NICK | G_PARAM_STATIC_BLURB | G_PARAM_READABLE | G_PARAM_WRITABLE));
	/**
	   * (#all | List of (extension | restriction | substitution))
	  */
	g_object_class_install_property (G_OBJECT_CLASS (klass), GXML_GOM_XSD_ELEMENT_BLOCK, g_param_spec_string ("block", "::block", "block", NULL, G_PARAM_STATIC_NAME | G_PARAM_STATIC_NICK | G_PARAM_STATIC_BLURB | G_PARAM_READABLE | G_PARAM_WRITABLE));
	g_object_class_install_property (G_OBJECT_CLASS (klass), GXML_GOM_XSD_ELEMENT_DEFAULT, g_param_spec_string ("default", "::default", "default", NULL, G_PARAM_STATIC_NAME | G_PARAM_STATIC_NICK | G_PARAM_STATIC_BLURB | G_PARAM_READABLE | G_PARAM_WRITABLE));
	/**
	   * (#all | List of (extension | restriction))
	   */
	g_object_class_install_property (G_OBJECT_CLASS (klass), GXML_GOM_XSD_ELEMENT_FINAL, g_param_spec_string ("final", "::final", "final", NULL, G_PARAM_STATIC_NAME | G_PARAM_STATIC_NICK | G_PARAM_STATIC_BLURB | G_PARAM_READABLE | G_PARAM_WRITABLE));
	g_object_class_install_property (G_OBJECT_CLASS (klass), GXML_GOM_XSD_ELEMENT_FIXED, g_param_spec_string ("fixed", "::fixed", "fixed", NULL, G_PARAM_STATIC_NAME | G_PARAM_STATIC_NICK | G_PARAM_STATIC_BLURB | G_PARAM_READABLE | G_PARAM_WRITABLE));
	/**
	   * (qualified | unqualified)
	   */
	g_object_class_install_property (G_OBJECT_CLASS (klass), GXML_GOM_XSD_ELEMENT_FORM, g_param_spec_string ("form", "::form", "form", NULL, G_PARAM_STATIC_NAME | G_PARAM_STATIC_NICK | G_PARAM_STATIC_BLURB | G_PARAM_READABLE | G_PARAM_WRITABLE));
	/**
	   * (nonNegativeInteger | unbounded)  : 1
	   */
	g_object_class_install_property (G_OBJECT_CLASS (klass), GXML_GOM_XSD_ELEMENT_MAX_OCCURS, g_param_spec_string ("max-occurs", "::maxOccurs", "max-occurs", NULL, G_PARAM_STATIC_NAME | G_PARAM_STATIC_NICK | G_PARAM_STATIC_BLURB | G_PARAM_READABLE | G_PARAM_WRITABLE));
	/**
	   * nonNegativeInteger : 1
	   */
	g_object_class_install_property (G_OBJECT_CLASS (klass), GXML_GOM_XSD_ELEMENT_MIN_OCCURS, g_param_spec_string ("min-occurs", "::minOccurs", "min-occurs", NULL, G_PARAM_STATIC_NAME | G_PARAM_STATIC_NICK | G_PARAM_STATIC_BLURB | G_PARAM_READABLE | G_PARAM_WRITABLE));
	g_object_class_install_property (G_OBJECT_CLASS (klass), GXML_GOM_XSD_ELEMENT_NAME, g_param_spec_string ("name", "::name", "name", NULL, G_PARAM_STATIC_NAME | G_PARAM_STATIC_NICK | G_PARAM_STATIC_BLURB | G_PARAM_READABLE | G_PARAM_WRITABLE));
	g_object_class_install_property (G_OBJECT_CLASS (klass), GXML_GOM_XSD_ELEMENT_NILLABLE, g_param_spec_boolean ("nillable", "::nillable", "nillable", FALSE, G_PARAM_STATIC_NAME | G_PARAM_STATIC_NICK | G_PARAM_STATIC_BLURB | G_PARAM_READABLE | G_PARAM_WRITABLE));
	g_object_class_install_property (G_OBJECT_CLASS (klass), GXML_GOM_XSD_ELEMENT_REF, g_param_spec_string ("ref", "::ref", "ref", NULL, G_PARAM_STATIC_NAME | G_PARAM_STATIC_NICK | G_PARAM_STATIC_BLURB | G_PARAM_READABLE | G_PARAM_WRITABLE));
	/**
	   * substitutionGroup
	   */
	g_object_class_install_property (G_OBJECT_CLASS (klass), GXML_GOM_XSD_ELEMENT_SUBSTITUTION_GROUP, g_param_spec_object ("substitution-group", "::substitutionGroup", "substitution-group", GXML_TYPE_DOM_TOKEN_LIST, G_PARAM_STATIC_NAME | G_PARAM_STATIC_NICK | G_PARAM_STATIC_BLURB | G_PARAM_READABLE | G_PARAM_WRITABLE));
	/**
	   * targetNamespace
	   */
	g_object_class_install_property (G_OBJECT_CLASS (klass), GXML_GOM_XSD_ELEMENT_TARGET_NAMESPACE, g_param_spec_string ("target-namespace", "::targetNamespace", "target-namespace", NULL, G_PARAM_STATIC_NAME | G_PARAM_STATIC_NICK | G_PARAM_STATIC_BLURB | G_PARAM_READABLE | G_PARAM_WRITABLE));
	/**
	   * attribute name = 'type'
	   */
	g_object_class_install_property (G_OBJECT_CLASS (klass), GXML_GOM_XSD_ELEMENT_OBJECT_TYPE, g_param_spec_string ("object-type", "::type", "object-type", NULL, G_PARAM_STATIC_NAME | G_PARAM_STATIC_NICK | G_PARAM_STATIC_BLURB | G_PARAM_READABLE | G_PARAM_WRITABLE));
	g_object_class_install_property (G_OBJECT_CLASS (klass), GXML_GOM_XSD_ELEMENT_ANOTATION, g_param_spec_object ("anotation", "::annotation", "anotation", GXML_TYPE_GOM_XSD_ANNOTATION, G_PARAM_STATIC_NAME | G_PARAM_STATIC_NICK | G_PARAM_STATIC_BLURB | G_PARAM_READABLE | G_PARAM_WRITABLE));
	g_object_class_install_property (G_OBJECT_CLASS (klass), GXML_GOM_XSD_ELEMENT_SIMPLE_TYPE, g_param_spec_object ("simple-type", "::SimpleType", "simple-type", GXML_TYPE_GOM_XSD_SIMPLE_TYPE, G_PARAM_STATIC_NAME | G_PARAM_STATIC_NICK | G_PARAM_STATIC_BLURB | G_PARAM_READABLE | G_PARAM_WRITABLE));
	g_object_class_install_property (G_OBJECT_CLASS (klass), GXML_GOM_XSD_ELEMENT_COMPLEX_TYPE, g_param_spec_object ("complex-type", "::ComplexType", "complex-type", GXML_TYPE_GOM_XSD_COMPLEX_TYPE, G_PARAM_STATIC_NAME | G_PARAM_STATIC_NICK | G_PARAM_STATIC_BLURB | G_PARAM_READABLE | G_PARAM_WRITABLE));
}


static void gxml_gom_xsd_element_instance_init (GXmlGomXsdElement * self) {
	self->priv = GXML_GOM_XSD_ELEMENT_GET_PRIVATE (self);
	self->priv->_nillable = FALSE;
}


static void gxml_gom_xsd_element_finalize (GObject* obj) {
	GXmlGomXsdElement * self;
	self = G_TYPE_CHECK_INSTANCE_CAST (obj, GXML_TYPE_GOM_XSD_ELEMENT, GXmlGomXsdElement);
	_g_free0 (self->priv->_block);
	_g_free0 (self->priv->_default);
	_g_free0 (self->priv->_final);
	_g_free0 (self->priv->_fixed);
	_g_free0 (self->priv->_form);
	_g_free0 (self->priv->_max_occurs);
	_g_free0 (self->priv->_min_occurs);
	_g_free0 (self->priv->_name);
	_g_free0 (self->priv->_ref);
	_g_object_unref0 (self->priv->_substitution_group);
	_g_free0 (self->priv->_target_namespace);
	_g_free0 (self->priv->_object_type);
	_g_object_unref0 (self->priv->_anotation);
	_g_object_unref0 (self->priv->_simple_type);
	_g_object_unref0 (self->priv->_complex_type);
	G_OBJECT_CLASS (gxml_gom_xsd_element_parent_class)->finalize (obj);
}


GType gxml_gom_xsd_element_get_type (void) {
	static volatile gsize gxml_gom_xsd_element_type_id__volatile = 0;
	if (g_once_init_enter (&gxml_gom_xsd_element_type_id__volatile)) {
		static const GTypeInfo g_define_type_info = { sizeof (GXmlGomXsdElementClass), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) gxml_gom_xsd_element_class_init, (GClassFinalizeFunc) NULL, NULL, sizeof (GXmlGomXsdElement), 0, (GInstanceInitFunc) gxml_gom_xsd_element_instance_init, NULL };
		GType gxml_gom_xsd_element_type_id;
		gxml_gom_xsd_element_type_id = g_type_register_static (GXML_TYPE_GOM_ELEMENT, "GXmlGomXsdElement", &g_define_type_info, 0);
		g_once_init_leave (&gxml_gom_xsd_element_type_id__volatile, gxml_gom_xsd_element_type_id);
	}
	return gxml_gom_xsd_element_type_id__volatile;
}


static void _vala_gxml_gom_xsd_element_get_property (GObject * object, guint property_id, GValue * value, GParamSpec * pspec) {
	GXmlGomXsdElement * self;
	self = G_TYPE_CHECK_INSTANCE_CAST (object, GXML_TYPE_GOM_XSD_ELEMENT, GXmlGomXsdElement);
	switch (property_id) {
		case GXML_GOM_XSD_ELEMENT_ABSTRACT:
		g_value_set_boolean (value, gxml_gom_xsd_element_get_abstract (self));
		break;
		case GXML_GOM_XSD_ELEMENT_BLOCK:
		g_value_set_string (value, gxml_gom_xsd_element_get_block (self));
		break;
		case GXML_GOM_XSD_ELEMENT_DEFAULT:
		g_value_set_string (value, gxml_gom_xsd_element_get_default (self));
		break;
		case GXML_GOM_XSD_ELEMENT_FINAL:
		g_value_set_string (value, gxml_gom_xsd_element_get_final (self));
		break;
		case GXML_GOM_XSD_ELEMENT_FIXED:
		g_value_set_string (value, gxml_gom_xsd_element_get_fixed (self));
		break;
		case GXML_GOM_XSD_ELEMENT_FORM:
		g_value_set_string (value, gxml_gom_xsd_element_get_form (self));
		break;
		case GXML_GOM_XSD_ELEMENT_MAX_OCCURS:
		g_value_set_string (value, gxml_gom_xsd_element_get_max_occurs (self));
		break;
		case GXML_GOM_XSD_ELEMENT_MIN_OCCURS:
		g_value_set_string (value, gxml_gom_xsd_element_get_min_occurs (self));
		break;
		case GXML_GOM_XSD_ELEMENT_NAME:
		g_value_set_string (value, gxml_gom_xsd_element_get_name (self));
		break;
		case GXML_GOM_XSD_ELEMENT_NILLABLE:
		g_value_set_boolean (value, gxml_gom_xsd_element_get_nillable (self));
		break;
		case GXML_GOM_XSD_ELEMENT_REF:
		g_value_set_string (value, gxml_gom_xsd_element_get_ref (self));
		break;
		case GXML_GOM_XSD_ELEMENT_SUBSTITUTION_GROUP:
		g_value_set_object (value, gxml_gom_xsd_element_get_substitution_group (self));
		break;
		case GXML_GOM_XSD_ELEMENT_TARGET_NAMESPACE:
		g_value_set_string (value, gxml_gom_xsd_element_get_target_namespace (self));
		break;
		case GXML_GOM_XSD_ELEMENT_OBJECT_TYPE:
		g_value_set_string (value, gxml_gom_xsd_element_get_object_type (self));
		break;
		case GXML_GOM_XSD_ELEMENT_ANOTATION:
		g_value_set_object (value, gxml_gom_xsd_element_get_anotation (self));
		break;
		case GXML_GOM_XSD_ELEMENT_SIMPLE_TYPE:
		g_value_set_object (value, gxml_gom_xsd_element_get_simple_type (self));
		break;
		case GXML_GOM_XSD_ELEMENT_COMPLEX_TYPE:
		g_value_set_object (value, gxml_gom_xsd_element_get_complex_type (self));
		break;
		default:
		G_OBJECT_WARN_INVALID_PROPERTY_ID (object, property_id, pspec);
		break;
	}
}


static void _vala_gxml_gom_xsd_element_set_property (GObject * object, guint property_id, const GValue * value, GParamSpec * pspec) {
	GXmlGomXsdElement * self;
	self = G_TYPE_CHECK_INSTANCE_CAST (object, GXML_TYPE_GOM_XSD_ELEMENT, GXmlGomXsdElement);
	switch (property_id) {
		case GXML_GOM_XSD_ELEMENT_ABSTRACT:
		gxml_gom_xsd_element_set_abstract (self, g_value_get_boolean (value));
		break;
		case GXML_GOM_XSD_ELEMENT_BLOCK:
		gxml_gom_xsd_element_set_block (self, g_value_get_string (value));
		break;
		case GXML_GOM_XSD_ELEMENT_DEFAULT:
		gxml_gom_xsd_element_set_default (self, g_value_get_string (value));
		break;
		case GXML_GOM_XSD_ELEMENT_FINAL:
		gxml_gom_xsd_element_set_final (self, g_value_get_string (value));
		break;
		case GXML_GOM_XSD_ELEMENT_FIXED:
		gxml_gom_xsd_element_set_fixed (self, g_value_get_string (value));
		break;
		case GXML_GOM_XSD_ELEMENT_FORM:
		gxml_gom_xsd_element_set_form (self, g_value_get_string (value));
		break;
		case GXML_GOM_XSD_ELEMENT_MAX_OCCURS:
		gxml_gom_xsd_element_set_max_occurs (self, g_value_get_string (value));
		break;
		case GXML_GOM_XSD_ELEMENT_MIN_OCCURS:
		gxml_gom_xsd_element_set_min_occurs (self, g_value_get_string (value));
		break;
		case GXML_GOM_XSD_ELEMENT_NAME:
		gxml_gom_xsd_element_set_name (self, g_value_get_string (value));
		break;
		case GXML_GOM_XSD_ELEMENT_NILLABLE:
		gxml_gom_xsd_element_set_nillable (self, g_value_get_boolean (value));
		break;
		case GXML_GOM_XSD_ELEMENT_REF:
		gxml_gom_xsd_element_set_ref (self, g_value_get_string (value));
		break;
		case GXML_GOM_XSD_ELEMENT_SUBSTITUTION_GROUP:
		gxml_gom_xsd_element_set_substitution_group (self, g_value_get_object (value));
		break;
		case GXML_GOM_XSD_ELEMENT_TARGET_NAMESPACE:
		gxml_gom_xsd_element_set_target_namespace (self, g_value_get_string (value));
		break;
		case GXML_GOM_XSD_ELEMENT_OBJECT_TYPE:
		gxml_gom_xsd_element_set_object_type (self, g_value_get_string (value));
		break;
		case GXML_GOM_XSD_ELEMENT_ANOTATION:
		gxml_gom_xsd_element_set_anotation (self, g_value_get_object (value));
		break;
		case GXML_GOM_XSD_ELEMENT_SIMPLE_TYPE:
		gxml_gom_xsd_element_set_simple_type (self, g_value_get_object (value));
		break;
		case GXML_GOM_XSD_ELEMENT_COMPLEX_TYPE:
		gxml_gom_xsd_element_set_complex_type (self, g_value_get_object (value));
		break;
		default:
		G_OBJECT_WARN_INVALID_PROPERTY_ID (object, property_id, pspec);
		break;
	}
}


GXmlGomXsdAnnotation* gxml_gom_xsd_annotation_construct (GType object_type) {
	GXmlGomXsdAnnotation * self = NULL;
	self = (GXmlGomXsdAnnotation*) gxml_gom_element_construct (object_type);
	return self;
}


GXmlGomXsdAnnotation* gxml_gom_xsd_annotation_new (void) {
	return gxml_gom_xsd_annotation_construct (GXML_TYPE_GOM_XSD_ANNOTATION);
}


static void gxml_gom_xsd_annotation_class_init (GXmlGomXsdAnnotationClass * klass) {
	gxml_gom_xsd_annotation_parent_class = g_type_class_peek_parent (klass);
}


static void gxml_gom_xsd_annotation_instance_init (GXmlGomXsdAnnotation * self) {
}


GType gxml_gom_xsd_annotation_get_type (void) {
	static volatile gsize gxml_gom_xsd_annotation_type_id__volatile = 0;
	if (g_once_init_enter (&gxml_gom_xsd_annotation_type_id__volatile)) {
		static const GTypeInfo g_define_type_info = { sizeof (GXmlGomXsdAnnotationClass), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) gxml_gom_xsd_annotation_class_init, (GClassFinalizeFunc) NULL, NULL, sizeof (GXmlGomXsdAnnotation), 0, (GInstanceInitFunc) gxml_gom_xsd_annotation_instance_init, NULL };
		GType gxml_gom_xsd_annotation_type_id;
		gxml_gom_xsd_annotation_type_id = g_type_register_static (GXML_TYPE_GOM_ELEMENT, "GXmlGomXsdAnnotation", &g_define_type_info, 0);
		g_once_init_leave (&gxml_gom_xsd_annotation_type_id__volatile, gxml_gom_xsd_annotation_type_id);
	}
	return gxml_gom_xsd_annotation_type_id__volatile;
}


GXmlGomXsdBaseType* gxml_gom_xsd_base_type_construct (GType object_type) {
	GXmlGomXsdBaseType * self = NULL;
	self = (GXmlGomXsdBaseType*) gxml_gom_element_construct (object_type);
	return self;
}


GXmlGomXsdBaseType* gxml_gom_xsd_base_type_new (void) {
	return gxml_gom_xsd_base_type_construct (GXML_TYPE_GOM_XSD_BASE_TYPE);
}


GXmlGomXsdAnnotation* gxml_gom_xsd_base_type_get_anotation (GXmlGomXsdBaseType* self) {
	GXmlGomXsdAnnotation* result;
	GXmlGomXsdAnnotation* _tmp0_ = NULL;
	g_return_val_if_fail (self != NULL, NULL);
	_tmp0_ = self->priv->_anotation;
	result = _tmp0_;
	return result;
}


void gxml_gom_xsd_base_type_set_anotation (GXmlGomXsdBaseType* self, GXmlGomXsdAnnotation* value) {
	GXmlGomXsdAnnotation* _tmp0_ = NULL;
	GXmlGomXsdAnnotation* _tmp1_ = NULL;
	g_return_if_fail (self != NULL);
	_tmp0_ = value;
	_tmp1_ = _g_object_ref0 (_tmp0_);
	_g_object_unref0 (self->priv->_anotation);
	self->priv->_anotation = _tmp1_;
	g_object_notify ((GObject *) self, "anotation");
}


static void gxml_gom_xsd_base_type_class_init (GXmlGomXsdBaseTypeClass * klass) {
	gxml_gom_xsd_base_type_parent_class = g_type_class_peek_parent (klass);
	g_type_class_add_private (klass, sizeof (GXmlGomXsdBaseTypePrivate));
	G_OBJECT_CLASS (klass)->get_property = _vala_gxml_gom_xsd_base_type_get_property;
	G_OBJECT_CLASS (klass)->set_property = _vala_gxml_gom_xsd_base_type_set_property;
	G_OBJECT_CLASS (klass)->finalize = gxml_gom_xsd_base_type_finalize;
	g_object_class_install_property (G_OBJECT_CLASS (klass), GXML_GOM_XSD_BASE_TYPE_ANOTATION, g_param_spec_object ("anotation", "anotation", "anotation", GXML_TYPE_GOM_XSD_ANNOTATION, G_PARAM_STATIC_NAME | G_PARAM_STATIC_NICK | G_PARAM_STATIC_BLURB | G_PARAM_READABLE | G_PARAM_WRITABLE));
}


static void gxml_gom_xsd_base_type_instance_init (GXmlGomXsdBaseType * self) {
	self->priv = GXML_GOM_XSD_BASE_TYPE_GET_PRIVATE (self);
}


static void gxml_gom_xsd_base_type_finalize (GObject* obj) {
	GXmlGomXsdBaseType * self;
	self = G_TYPE_CHECK_INSTANCE_CAST (obj, GXML_TYPE_GOM_XSD_BASE_TYPE, GXmlGomXsdBaseType);
	_g_object_unref0 (self->priv->_anotation);
	G_OBJECT_CLASS (gxml_gom_xsd_base_type_parent_class)->finalize (obj);
}


GType gxml_gom_xsd_base_type_get_type (void) {
	static volatile gsize gxml_gom_xsd_base_type_type_id__volatile = 0;
	if (g_once_init_enter (&gxml_gom_xsd_base_type_type_id__volatile)) {
		static const GTypeInfo g_define_type_info = { sizeof (GXmlGomXsdBaseTypeClass), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) gxml_gom_xsd_base_type_class_init, (GClassFinalizeFunc) NULL, NULL, sizeof (GXmlGomXsdBaseType), 0, (GInstanceInitFunc) gxml_gom_xsd_base_type_instance_init, NULL };
		GType gxml_gom_xsd_base_type_type_id;
		gxml_gom_xsd_base_type_type_id = g_type_register_static (GXML_TYPE_GOM_ELEMENT, "GXmlGomXsdBaseType", &g_define_type_info, 0);
		g_once_init_leave (&gxml_gom_xsd_base_type_type_id__volatile, gxml_gom_xsd_base_type_type_id);
	}
	return gxml_gom_xsd_base_type_type_id__volatile;
}


static void _vala_gxml_gom_xsd_base_type_get_property (GObject * object, guint property_id, GValue * value, GParamSpec * pspec) {
	GXmlGomXsdBaseType * self;
	self = G_TYPE_CHECK_INSTANCE_CAST (object, GXML_TYPE_GOM_XSD_BASE_TYPE, GXmlGomXsdBaseType);
	switch (property_id) {
		case GXML_GOM_XSD_BASE_TYPE_ANOTATION:
		g_value_set_object (value, gxml_gom_xsd_base_type_get_anotation (self));
		break;
		default:
		G_OBJECT_WARN_INVALID_PROPERTY_ID (object, property_id, pspec);
		break;
	}
}


static void _vala_gxml_gom_xsd_base_type_set_property (GObject * object, guint property_id, const GValue * value, GParamSpec * pspec) {
	GXmlGomXsdBaseType * self;
	self = G_TYPE_CHECK_INSTANCE_CAST (object, GXML_TYPE_GOM_XSD_BASE_TYPE, GXmlGomXsdBaseType);
	switch (property_id) {
		case GXML_GOM_XSD_BASE_TYPE_ANOTATION:
		gxml_gom_xsd_base_type_set_anotation (self, g_value_get_object (value));
		break;
		default:
		G_OBJECT_WARN_INVALID_PROPERTY_ID (object, property_id, pspec);
		break;
	}
}


GXmlGomXsdBaseContent* gxml_gom_xsd_base_content_construct (GType object_type) {
	GXmlGomXsdBaseContent * self = NULL;
	self = (GXmlGomXsdBaseContent*) gxml_gom_element_construct (object_type);
	return self;
}


GXmlGomXsdBaseContent* gxml_gom_xsd_base_content_new (void) {
	return gxml_gom_xsd_base_content_construct (GXML_TYPE_GOM_XSD_BASE_CONTENT);
}


GXmlGomXsdAnnotation* gxml_gom_xsd_base_content_get_anotation (GXmlGomXsdBaseContent* self) {
	GXmlGomXsdAnnotation* result;
	GXmlGomXsdAnnotation* _tmp0_ = NULL;
	g_return_val_if_fail (self != NULL, NULL);
	_tmp0_ = self->priv->_anotation;
	result = _tmp0_;
	return result;
}


void gxml_gom_xsd_base_content_set_anotation (GXmlGomXsdBaseContent* self, GXmlGomXsdAnnotation* value) {
	GXmlGomXsdAnnotation* _tmp0_ = NULL;
	GXmlGomXsdAnnotation* _tmp1_ = NULL;
	g_return_if_fail (self != NULL);
	_tmp0_ = value;
	_tmp1_ = _g_object_ref0 (_tmp0_);
	_g_object_unref0 (self->priv->_anotation);
	self->priv->_anotation = _tmp1_;
	g_object_notify ((GObject *) self, "anotation");
}


static void gxml_gom_xsd_base_content_class_init (GXmlGomXsdBaseContentClass * klass) {
	gxml_gom_xsd_base_content_parent_class = g_type_class_peek_parent (klass);
	g_type_class_add_private (klass, sizeof (GXmlGomXsdBaseContentPrivate));
	G_OBJECT_CLASS (klass)->get_property = _vala_gxml_gom_xsd_base_content_get_property;
	G_OBJECT_CLASS (klass)->set_property = _vala_gxml_gom_xsd_base_content_set_property;
	G_OBJECT_CLASS (klass)->finalize = gxml_gom_xsd_base_content_finalize;
	g_object_class_install_property (G_OBJECT_CLASS (klass), GXML_GOM_XSD_BASE_CONTENT_ANOTATION, g_param_spec_object ("anotation", "anotation", "anotation", GXML_TYPE_GOM_XSD_ANNOTATION, G_PARAM_STATIC_NAME | G_PARAM_STATIC_NICK | G_PARAM_STATIC_BLURB | G_PARAM_READABLE | G_PARAM_WRITABLE));
}


static void gxml_gom_xsd_base_content_instance_init (GXmlGomXsdBaseContent * self) {
	self->priv = GXML_GOM_XSD_BASE_CONTENT_GET_PRIVATE (self);
}


static void gxml_gom_xsd_base_content_finalize (GObject* obj) {
	GXmlGomXsdBaseContent * self;
	self = G_TYPE_CHECK_INSTANCE_CAST (obj, GXML_TYPE_GOM_XSD_BASE_CONTENT, GXmlGomXsdBaseContent);
	_g_object_unref0 (self->priv->_anotation);
	G_OBJECT_CLASS (gxml_gom_xsd_base_content_parent_class)->finalize (obj);
}


GType gxml_gom_xsd_base_content_get_type (void) {
	static volatile gsize gxml_gom_xsd_base_content_type_id__volatile = 0;
	if (g_once_init_enter (&gxml_gom_xsd_base_content_type_id__volatile)) {
		static const GTypeInfo g_define_type_info = { sizeof (GXmlGomXsdBaseContentClass), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) gxml_gom_xsd_base_content_class_init, (GClassFinalizeFunc) NULL, NULL, sizeof (GXmlGomXsdBaseContent), 0, (GInstanceInitFunc) gxml_gom_xsd_base_content_instance_init, NULL };
		GType gxml_gom_xsd_base_content_type_id;
		gxml_gom_xsd_base_content_type_id = g_type_register_static (GXML_TYPE_GOM_ELEMENT, "GXmlGomXsdBaseContent", &g_define_type_info, 0);
		g_once_init_leave (&gxml_gom_xsd_base_content_type_id__volatile, gxml_gom_xsd_base_content_type_id);
	}
	return gxml_gom_xsd_base_content_type_id__volatile;
}


static void _vala_gxml_gom_xsd_base_content_get_property (GObject * object, guint property_id, GValue * value, GParamSpec * pspec) {
	GXmlGomXsdBaseContent * self;
	self = G_TYPE_CHECK_INSTANCE_CAST (object, GXML_TYPE_GOM_XSD_BASE_CONTENT, GXmlGomXsdBaseContent);
	switch (property_id) {
		case GXML_GOM_XSD_BASE_CONTENT_ANOTATION:
		g_value_set_object (value, gxml_gom_xsd_base_content_get_anotation (self));
		break;
		default:
		G_OBJECT_WARN_INVALID_PROPERTY_ID (object, property_id, pspec);
		break;
	}
}


static void _vala_gxml_gom_xsd_base_content_set_property (GObject * object, guint property_id, const GValue * value, GParamSpec * pspec) {
	GXmlGomXsdBaseContent * self;
	self = G_TYPE_CHECK_INSTANCE_CAST (object, GXML_TYPE_GOM_XSD_BASE_CONTENT, GXmlGomXsdBaseContent);
	switch (property_id) {
		case GXML_GOM_XSD_BASE_CONTENT_ANOTATION:
		gxml_gom_xsd_base_content_set_anotation (self, g_value_get_object (value));
		break;
		default:
		G_OBJECT_WARN_INVALID_PROPERTY_ID (object, property_id, pspec);
		break;
	}
}


GXmlGomXsdSimpleContent* gxml_gom_xsd_simple_content_construct (GType object_type) {
	GXmlGomXsdSimpleContent * self = NULL;
	self = (GXmlGomXsdSimpleContent*) gxml_gom_xsd_base_content_construct (object_type);
	return self;
}


GXmlGomXsdSimpleContent* gxml_gom_xsd_simple_content_new (void) {
	return gxml_gom_xsd_simple_content_construct (GXML_TYPE_GOM_XSD_SIMPLE_CONTENT);
}


static GObject * gxml_gom_xsd_simple_content_constructor (GType type, guint n_construct_properties, GObjectConstructParam * construct_properties) {
	GObject * obj;
	GObjectClass * parent_class;
	GXmlGomXsdSimpleContent * self;
	parent_class = G_OBJECT_CLASS (gxml_gom_xsd_simple_content_parent_class);
	obj = parent_class->constructor (type, n_construct_properties, construct_properties);
	self = G_TYPE_CHECK_INSTANCE_CAST (obj, GXML_TYPE_GOM_XSD_SIMPLE_CONTENT, GXmlGomXsdSimpleContent);
	gxml_gom_element_initialize ((GXmlGomElement*) self, GXML_IXSD_SIMPLE_CONTENT_SCHEMA_NODE_NAME);
	return obj;
}


static void gxml_gom_xsd_simple_content_class_init (GXmlGomXsdSimpleContentClass * klass) {
	gxml_gom_xsd_simple_content_parent_class = g_type_class_peek_parent (klass);
	G_OBJECT_CLASS (klass)->constructor = gxml_gom_xsd_simple_content_constructor;
}


static void gxml_gom_xsd_simple_content_instance_init (GXmlGomXsdSimpleContent * self) {
}


GType gxml_gom_xsd_simple_content_get_type (void) {
	static volatile gsize gxml_gom_xsd_simple_content_type_id__volatile = 0;
	if (g_once_init_enter (&gxml_gom_xsd_simple_content_type_id__volatile)) {
		static const GTypeInfo g_define_type_info = { sizeof (GXmlGomXsdSimpleContentClass), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) gxml_gom_xsd_simple_content_class_init, (GClassFinalizeFunc) NULL, NULL, sizeof (GXmlGomXsdSimpleContent), 0, (GInstanceInitFunc) gxml_gom_xsd_simple_content_instance_init, NULL };
		GType gxml_gom_xsd_simple_content_type_id;
		gxml_gom_xsd_simple_content_type_id = g_type_register_static (GXML_TYPE_GOM_XSD_BASE_CONTENT, "GXmlGomXsdSimpleContent", &g_define_type_info, 0);
		g_once_init_leave (&gxml_gom_xsd_simple_content_type_id__volatile, gxml_gom_xsd_simple_content_type_id);
	}
	return gxml_gom_xsd_simple_content_type_id__volatile;
}


GXmlGomXsdComplexContent* gxml_gom_xsd_complex_content_construct (GType object_type) {
	GXmlGomXsdComplexContent * self = NULL;
	self = (GXmlGomXsdComplexContent*) gxml_gom_xsd_base_content_construct (object_type);
	return self;
}


GXmlGomXsdComplexContent* gxml_gom_xsd_complex_content_new (void) {
	return gxml_gom_xsd_complex_content_construct (GXML_TYPE_GOM_XSD_COMPLEX_CONTENT);
}


static GObject * gxml_gom_xsd_complex_content_constructor (GType type, guint n_construct_properties, GObjectConstructParam * construct_properties) {
	GObject * obj;
	GObjectClass * parent_class;
	GXmlGomXsdComplexContent * self;
	parent_class = G_OBJECT_CLASS (gxml_gom_xsd_complex_content_parent_class);
	obj = parent_class->constructor (type, n_construct_properties, construct_properties);
	self = G_TYPE_CHECK_INSTANCE_CAST (obj, GXML_TYPE_GOM_XSD_COMPLEX_CONTENT, GXmlGomXsdComplexContent);
	gxml_gom_element_initialize ((GXmlGomElement*) self, GXML_IXSD_COMPLEX_CONTENT_SCHEMA_NODE_NAME);
	return obj;
}


static void gxml_gom_xsd_complex_content_class_init (GXmlGomXsdComplexContentClass * klass) {
	gxml_gom_xsd_complex_content_parent_class = g_type_class_peek_parent (klass);
	G_OBJECT_CLASS (klass)->constructor = gxml_gom_xsd_complex_content_constructor;
}


static void gxml_gom_xsd_complex_content_instance_init (GXmlGomXsdComplexContent * self) {
}


GType gxml_gom_xsd_complex_content_get_type (void) {
	static volatile gsize gxml_gom_xsd_complex_content_type_id__volatile = 0;
	if (g_once_init_enter (&gxml_gom_xsd_complex_content_type_id__volatile)) {
		static const GTypeInfo g_define_type_info = { sizeof (GXmlGomXsdComplexContentClass), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) gxml_gom_xsd_complex_content_class_init, (GClassFinalizeFunc) NULL, NULL, sizeof (GXmlGomXsdComplexContent), 0, (GInstanceInitFunc) gxml_gom_xsd_complex_content_instance_init, NULL };
		GType gxml_gom_xsd_complex_content_type_id;
		gxml_gom_xsd_complex_content_type_id = g_type_register_static (GXML_TYPE_GOM_XSD_BASE_CONTENT, "GXmlGomXsdComplexContent", &g_define_type_info, 0);
		g_once_init_leave (&gxml_gom_xsd_complex_content_type_id__volatile, gxml_gom_xsd_complex_content_type_id);
	}
	return gxml_gom_xsd_complex_content_type_id__volatile;
}


GXmlGomXsdOpenContent* gxml_gom_xsd_open_content_construct (GType object_type) {
	GXmlGomXsdOpenContent * self = NULL;
	self = (GXmlGomXsdOpenContent*) gxml_gom_xsd_base_content_construct (object_type);
	return self;
}


GXmlGomXsdOpenContent* gxml_gom_xsd_open_content_new (void) {
	return gxml_gom_xsd_open_content_construct (GXML_TYPE_GOM_XSD_OPEN_CONTENT);
}


static void gxml_gom_xsd_open_content_class_init (GXmlGomXsdOpenContentClass * klass) {
	gxml_gom_xsd_open_content_parent_class = g_type_class_peek_parent (klass);
}


static void gxml_gom_xsd_open_content_instance_init (GXmlGomXsdOpenContent * self) {
}


GType gxml_gom_xsd_open_content_get_type (void) {
	static volatile gsize gxml_gom_xsd_open_content_type_id__volatile = 0;
	if (g_once_init_enter (&gxml_gom_xsd_open_content_type_id__volatile)) {
		static const GTypeInfo g_define_type_info = { sizeof (GXmlGomXsdOpenContentClass), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) gxml_gom_xsd_open_content_class_init, (GClassFinalizeFunc) NULL, NULL, sizeof (GXmlGomXsdOpenContent), 0, (GInstanceInitFunc) gxml_gom_xsd_open_content_instance_init, NULL };
		GType gxml_gom_xsd_open_content_type_id;
		gxml_gom_xsd_open_content_type_id = g_type_register_static (GXML_TYPE_GOM_XSD_BASE_CONTENT, "GXmlGomXsdOpenContent", &g_define_type_info, 0);
		g_once_init_leave (&gxml_gom_xsd_open_content_type_id__volatile, gxml_gom_xsd_open_content_type_id);
	}
	return gxml_gom_xsd_open_content_type_id__volatile;
}


GXmlGomXsdBaseAttribute* gxml_gom_xsd_base_attribute_construct (GType object_type) {
	GXmlGomXsdBaseAttribute * self = NULL;
	self = (GXmlGomXsdBaseAttribute*) gxml_gom_element_construct (object_type);
	return self;
}


GXmlGomXsdBaseAttribute* gxml_gom_xsd_base_attribute_new (void) {
	return gxml_gom_xsd_base_attribute_construct (GXML_TYPE_GOM_XSD_BASE_ATTRIBUTE);
}


GXmlGomXsdAnnotation* gxml_gom_xsd_base_attribute_get_anotation (GXmlGomXsdBaseAttribute* self) {
	GXmlGomXsdAnnotation* result;
	GXmlGomXsdAnnotation* _tmp0_ = NULL;
	g_return_val_if_fail (self != NULL, NULL);
	_tmp0_ = self->priv->_anotation;
	result = _tmp0_;
	return result;
}


void gxml_gom_xsd_base_attribute_set_anotation (GXmlGomXsdBaseAttribute* self, GXmlGomXsdAnnotation* value) {
	GXmlGomXsdAnnotation* _tmp0_ = NULL;
	GXmlGomXsdAnnotation* _tmp1_ = NULL;
	g_return_if_fail (self != NULL);
	_tmp0_ = value;
	_tmp1_ = _g_object_ref0 (_tmp0_);
	_g_object_unref0 (self->priv->_anotation);
	self->priv->_anotation = _tmp1_;
	g_object_notify ((GObject *) self, "anotation");
}


static void gxml_gom_xsd_base_attribute_class_init (GXmlGomXsdBaseAttributeClass * klass) {
	gxml_gom_xsd_base_attribute_parent_class = g_type_class_peek_parent (klass);
	g_type_class_add_private (klass, sizeof (GXmlGomXsdBaseAttributePrivate));
	G_OBJECT_CLASS (klass)->get_property = _vala_gxml_gom_xsd_base_attribute_get_property;
	G_OBJECT_CLASS (klass)->set_property = _vala_gxml_gom_xsd_base_attribute_set_property;
	G_OBJECT_CLASS (klass)->finalize = gxml_gom_xsd_base_attribute_finalize;
	g_object_class_install_property (G_OBJECT_CLASS (klass), GXML_GOM_XSD_BASE_ATTRIBUTE_ANOTATION, g_param_spec_object ("anotation", "anotation", "anotation", GXML_TYPE_GOM_XSD_ANNOTATION, G_PARAM_STATIC_NAME | G_PARAM_STATIC_NICK | G_PARAM_STATIC_BLURB | G_PARAM_READABLE | G_PARAM_WRITABLE));
}


static void gxml_gom_xsd_base_attribute_instance_init (GXmlGomXsdBaseAttribute * self) {
	self->priv = GXML_GOM_XSD_BASE_ATTRIBUTE_GET_PRIVATE (self);
}


static void gxml_gom_xsd_base_attribute_finalize (GObject* obj) {
	GXmlGomXsdBaseAttribute * self;
	self = G_TYPE_CHECK_INSTANCE_CAST (obj, GXML_TYPE_GOM_XSD_BASE_ATTRIBUTE, GXmlGomXsdBaseAttribute);
	_g_object_unref0 (self->priv->_anotation);
	G_OBJECT_CLASS (gxml_gom_xsd_base_attribute_parent_class)->finalize (obj);
}


GType gxml_gom_xsd_base_attribute_get_type (void) {
	static volatile gsize gxml_gom_xsd_base_attribute_type_id__volatile = 0;
	if (g_once_init_enter (&gxml_gom_xsd_base_attribute_type_id__volatile)) {
		static const GTypeInfo g_define_type_info = { sizeof (GXmlGomXsdBaseAttributeClass), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) gxml_gom_xsd_base_attribute_class_init, (GClassFinalizeFunc) NULL, NULL, sizeof (GXmlGomXsdBaseAttribute), 0, (GInstanceInitFunc) gxml_gom_xsd_base_attribute_instance_init, NULL };
		GType gxml_gom_xsd_base_attribute_type_id;
		gxml_gom_xsd_base_attribute_type_id = g_type_register_static (GXML_TYPE_GOM_ELEMENT, "GXmlGomXsdBaseAttribute", &g_define_type_info, 0);
		g_once_init_leave (&gxml_gom_xsd_base_attribute_type_id__volatile, gxml_gom_xsd_base_attribute_type_id);
	}
	return gxml_gom_xsd_base_attribute_type_id__volatile;
}


static void _vala_gxml_gom_xsd_base_attribute_get_property (GObject * object, guint property_id, GValue * value, GParamSpec * pspec) {
	GXmlGomXsdBaseAttribute * self;
	self = G_TYPE_CHECK_INSTANCE_CAST (object, GXML_TYPE_GOM_XSD_BASE_ATTRIBUTE, GXmlGomXsdBaseAttribute);
	switch (property_id) {
		case GXML_GOM_XSD_BASE_ATTRIBUTE_ANOTATION:
		g_value_set_object (value, gxml_gom_xsd_base_attribute_get_anotation (self));
		break;
		default:
		G_OBJECT_WARN_INVALID_PROPERTY_ID (object, property_id, pspec);
		break;
	}
}


static void _vala_gxml_gom_xsd_base_attribute_set_property (GObject * object, guint property_id, const GValue * value, GParamSpec * pspec) {
	GXmlGomXsdBaseAttribute * self;
	self = G_TYPE_CHECK_INSTANCE_CAST (object, GXML_TYPE_GOM_XSD_BASE_ATTRIBUTE, GXmlGomXsdBaseAttribute);
	switch (property_id) {
		case GXML_GOM_XSD_BASE_ATTRIBUTE_ANOTATION:
		gxml_gom_xsd_base_attribute_set_anotation (self, g_value_get_object (value));
		break;
		default:
		G_OBJECT_WARN_INVALID_PROPERTY_ID (object, property_id, pspec);
		break;
	}
}


GXmlGomXsdAttribute* gxml_gom_xsd_attribute_construct (GType object_type) {
	GXmlGomXsdAttribute * self = NULL;
	self = (GXmlGomXsdAttribute*) gxml_gom_xsd_base_attribute_construct (object_type);
	return self;
}


GXmlGomXsdAttribute* gxml_gom_xsd_attribute_new (void) {
	return gxml_gom_xsd_attribute_construct (GXML_TYPE_GOM_XSD_ATTRIBUTE);
}


static void gxml_gom_xsd_attribute_class_init (GXmlGomXsdAttributeClass * klass) {
	gxml_gom_xsd_attribute_parent_class = g_type_class_peek_parent (klass);
}


static void gxml_gom_xsd_attribute_instance_init (GXmlGomXsdAttribute * self) {
}


GType gxml_gom_xsd_attribute_get_type (void) {
	static volatile gsize gxml_gom_xsd_attribute_type_id__volatile = 0;
	if (g_once_init_enter (&gxml_gom_xsd_attribute_type_id__volatile)) {
		static const GTypeInfo g_define_type_info = { sizeof (GXmlGomXsdAttributeClass), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) gxml_gom_xsd_attribute_class_init, (GClassFinalizeFunc) NULL, NULL, sizeof (GXmlGomXsdAttribute), 0, (GInstanceInitFunc) gxml_gom_xsd_attribute_instance_init, NULL };
		GType gxml_gom_xsd_attribute_type_id;
		gxml_gom_xsd_attribute_type_id = g_type_register_static (GXML_TYPE_GOM_XSD_BASE_ATTRIBUTE, "GXmlGomXsdAttribute", &g_define_type_info, 0);
		g_once_init_leave (&gxml_gom_xsd_attribute_type_id__volatile, gxml_gom_xsd_attribute_type_id);
	}
	return gxml_gom_xsd_attribute_type_id__volatile;
}


GXmlGomXsdAttributeGroup* gxml_gom_xsd_attribute_group_construct (GType object_type) {
	GXmlGomXsdAttributeGroup * self = NULL;
	self = (GXmlGomXsdAttributeGroup*) gxml_gom_xsd_base_attribute_construct (object_type);
	return self;
}


GXmlGomXsdAttributeGroup* gxml_gom_xsd_attribute_group_new (void) {
	return gxml_gom_xsd_attribute_group_construct (GXML_TYPE_GOM_XSD_ATTRIBUTE_GROUP);
}


static void gxml_gom_xsd_attribute_group_class_init (GXmlGomXsdAttributeGroupClass * klass) {
	gxml_gom_xsd_attribute_group_parent_class = g_type_class_peek_parent (klass);
}


static void gxml_gom_xsd_attribute_group_instance_init (GXmlGomXsdAttributeGroup * self) {
}


GType gxml_gom_xsd_attribute_group_get_type (void) {
	static volatile gsize gxml_gom_xsd_attribute_group_type_id__volatile = 0;
	if (g_once_init_enter (&gxml_gom_xsd_attribute_group_type_id__volatile)) {
		static const GTypeInfo g_define_type_info = { sizeof (GXmlGomXsdAttributeGroupClass), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) gxml_gom_xsd_attribute_group_class_init, (GClassFinalizeFunc) NULL, NULL, sizeof (GXmlGomXsdAttributeGroup), 0, (GInstanceInitFunc) gxml_gom_xsd_attribute_group_instance_init, NULL };
		GType gxml_gom_xsd_attribute_group_type_id;
		gxml_gom_xsd_attribute_group_type_id = g_type_register_static (GXML_TYPE_GOM_XSD_BASE_ATTRIBUTE, "GXmlGomXsdAttributeGroup", &g_define_type_info, 0);
		g_once_init_leave (&gxml_gom_xsd_attribute_group_type_id__volatile, gxml_gom_xsd_attribute_group_type_id);
	}
	return gxml_gom_xsd_attribute_group_type_id__volatile;
}


void gxml_gom_xsd_list_remove (GXmlGomXsdList* self, gint index) {
	GError * _inner_error_ = NULL;
	g_return_if_fail (self != NULL);
	{
		GXmlGomElement* _tmp0_ = NULL;
		GXmlGomElement* _tmp1_ = NULL;
		GXmlGomElement* _tmp2_ = NULL;
		GXmlGomElement* _tmp3_ = NULL;
		GXmlDomNodeList* _tmp4_ = NULL;
		GXmlDomNodeList* _tmp5_ = NULL;
		GXmlDomNodeList* _tmp6_ = NULL;
		gint _tmp7_ = 0;
		GXmlDomNode* _tmp8_ = NULL;
		GXmlDomNode* _tmp9_ = NULL;
		GXmlDomNode* _tmp10_ = NULL;
		GXmlDomNode* _tmp11_ = NULL;
		_tmp0_ = gxml_gom_collection_get_element ((GXmlGomCollection*) self);
		_tmp1_ = _tmp0_;
		_tmp2_ = gxml_gom_collection_get_element ((GXmlGomCollection*) self);
		_tmp3_ = _tmp2_;
		_tmp4_ = gxml_dom_node_get_child_nodes ((GXmlDomNode*) _tmp3_);
		_tmp5_ = _tmp4_;
		_tmp6_ = _tmp5_;
		_tmp7_ = index;
		_tmp8_ = gxml_dom_node_list_item (_tmp6_, _tmp7_);
		_tmp9_ = _tmp8_;
		_tmp10_ = gxml_dom_node_remove_child ((GXmlDomNode*) _tmp1_, _tmp9_, &_inner_error_);
		_tmp11_ = _tmp10_;
		_g_object_unref0 (_tmp11_);
		_g_object_unref0 (_tmp9_);
		_g_object_unref0 (_tmp6_);
		if (G_UNLIKELY (_inner_error_ != NULL)) {
			goto __catch27_g_error;
		}
	}
	goto __finally27;
	__catch27_g_error:
	{
		GError* e = NULL;
		const gchar* _tmp12_ = NULL;
		GError* _tmp13_ = NULL;
		const gchar* _tmp14_ = NULL;
		gchar* _tmp15_ = NULL;
		gchar* _tmp16_ = NULL;
		e = _inner_error_;
		_inner_error_ = NULL;
		_tmp12_ = _ ("Error removing Collection's element: %s");
		_tmp13_ = e;
		_tmp14_ = _tmp13_->message;
		_tmp15_ = g_strdup_printf (_tmp12_, _tmp14_);
		_tmp16_ = _tmp15_;
		g_warning ("GomSchema.vala:266: %s", _tmp16_);
		_g_free0 (_tmp16_);
		_g_error_free0 (e);
	}
	__finally27:
	if (G_UNLIKELY (_inner_error_ != NULL)) {
		g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code);
		g_clear_error (&_inner_error_);
		return;
	}
}


gint gxml_gom_xsd_list_index_of (GXmlGomXsdList* self, GXmlDomElement* element) {
	gint result = 0;
	GXmlDomElement* _tmp0_ = NULL;
	GXmlDomNode* _tmp1_ = NULL;
	GXmlDomNode* _tmp2_ = NULL;
	GXmlDomNode* _tmp3_ = NULL;
	GXmlGomElement* _tmp4_ = NULL;
	GXmlGomElement* _tmp5_ = NULL;
	gboolean _tmp6_ = FALSE;
	GError * _inner_error_ = NULL;
	g_return_val_if_fail (self != NULL, 0);
	g_return_val_if_fail (element != NULL, 0);
	_tmp0_ = element;
	_tmp1_ = gxml_dom_node_get_parent_node ((GXmlDomNode*) _tmp0_);
	_tmp2_ = _tmp1_;
	_tmp3_ = _tmp2_;
	_tmp4_ = gxml_gom_collection_get_element ((GXmlGomCollection*) self);
	_tmp5_ = _tmp4_;
	_tmp6_ = _tmp3_ != _tmp5_;
	_g_object_unref0 (_tmp3_);
	if (_tmp6_) {
		result = -1;
		return result;
	}
	{
		gint i = 0;
		i = 0;
		{
			gboolean _tmp7_ = FALSE;
			_tmp7_ = TRUE;
			while (TRUE) {
				gint _tmp9_ = 0;
				gint _tmp10_ = 0;
				gint _tmp11_ = 0;
				if (!_tmp7_) {
					gint _tmp8_ = 0;
					_tmp8_ = i;
					i = _tmp8_ + 1;
				}
				_tmp7_ = FALSE;
				_tmp9_ = i;
				_tmp10_ = gxml_gom_xsd_list_get_length (self);
				_tmp11_ = _tmp10_;
				if (!(_tmp9_ < _tmp11_)) {
					break;
				}
				{
					GXmlDomElement* _tmp12_ = NULL;
					gint _tmp13_ = 0;
					GXmlDomElement* _tmp14_ = NULL;
					GXmlDomElement* _tmp15_ = NULL;
					GXmlDomElement* _tmp16_ = NULL;
					GXmlDomElement* _tmp17_ = NULL;
					gboolean _tmp18_ = FALSE;
					_tmp13_ = i;
					_tmp14_ = gxml_gom_collection_get_item ((GXmlGomCollection*) self, _tmp13_, &_inner_error_);
					_tmp12_ = _tmp14_;
					if (G_UNLIKELY (_inner_error_ != NULL)) {
						goto __catch28_g_error;
					}
					_tmp15_ = _tmp12_;
					_tmp12_ = NULL;
					_tmp16_ = _tmp15_;
					_tmp17_ = element;
					_tmp18_ = _tmp16_ == _tmp17_;
					_g_object_unref0 (_tmp16_);
					if (_tmp18_) {
						result = i;
						_g_object_unref0 (_tmp12_);
						return result;
					}
					_g_object_unref0 (_tmp12_);
				}
				goto __finally28;
				__catch28_g_error:
				{
					GError* e = NULL;
					const gchar* _tmp19_ = NULL;
					gint _tmp20_ = 0;
					GError* _tmp21_ = NULL;
					const gchar* _tmp22_ = NULL;
					gchar* _tmp23_ = NULL;
					gchar* _tmp24_ = NULL;
					e = _inner_error_;
					_inner_error_ = NULL;
					_tmp19_ = _ ("Can't find element at position: %i : %s");
					_tmp20_ = i;
					_tmp21_ = e;
					_tmp22_ = _tmp21_->message;
					_tmp23_ = g_strdup_printf (_tmp19_, _tmp20_, _tmp22_);
					_tmp24_ = _tmp23_;
					g_warning ("GomSchema.vala:275: %s", _tmp24_);
					_g_free0 (_tmp24_);
					_g_error_free0 (e);
				}
				__finally28:
				if (G_UNLIKELY (_inner_error_ != NULL)) {
					gint _tmp25_ = 0;
					g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code);
					g_clear_error (&_inner_error_);
					return _tmp25_;
				}
			}
		}
	}
	result = -1;
	return result;
}


GXmlGomXsdList* gxml_gom_xsd_list_construct (GType object_type) {
	GXmlGomXsdList * self = NULL;
	self = (GXmlGomXsdList*) gxml_gom_array_list_construct (object_type);
	return self;
}


GXmlGomXsdList* gxml_gom_xsd_list_new (void) {
	return gxml_gom_xsd_list_construct (GXML_TYPE_GOM_XSD_LIST);
}


gint gxml_gom_xsd_list_get_length (GXmlGomXsdList* self) {
	gint result;
	gint _tmp0_ = 0;
	gint _tmp1_ = 0;
	g_return_val_if_fail (self != NULL, 0);
	_tmp0_ = gxml_gom_collection_get_length ((GXmlGomCollection*) (G_TYPE_CHECK_INSTANCE_TYPE (self, GXML_TYPE_GOM_ARRAY_LIST) ? ((GXmlGomArrayList*) self) : NULL));
	_tmp1_ = _tmp0_;
	result = _tmp1_;
	return result;
}


static void gxml_gom_xsd_list_class_init (GXmlGomXsdListClass * klass) {
	gxml_gom_xsd_list_parent_class = g_type_class_peek_parent (klass);
	G_OBJECT_CLASS (klass)->get_property = _vala_gxml_gom_xsd_list_get_property;
	g_object_class_install_property (G_OBJECT_CLASS (klass), GXML_GOM_XSD_LIST_LENGTH, g_param_spec_int ("length", "length", "length", G_MININT, G_MAXINT, 0, G_PARAM_STATIC_NAME | G_PARAM_STATIC_NICK | G_PARAM_STATIC_BLURB | G_PARAM_READABLE));
}


static void gxml_gom_xsd_list_instance_init (GXmlGomXsdList * self) {
}


GType gxml_gom_xsd_list_get_type (void) {
	static volatile gsize gxml_gom_xsd_list_type_id__volatile = 0;
	if (g_once_init_enter (&gxml_gom_xsd_list_type_id__volatile)) {
		static const GTypeInfo g_define_type_info = { sizeof (GXmlGomXsdListClass), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) gxml_gom_xsd_list_class_init, (GClassFinalizeFunc) NULL, NULL, sizeof (GXmlGomXsdList), 0, (GInstanceInitFunc) gxml_gom_xsd_list_instance_init, NULL };
		GType gxml_gom_xsd_list_type_id;
		gxml_gom_xsd_list_type_id = g_type_register_static (GXML_TYPE_GOM_ARRAY_LIST, "GXmlGomXsdList", &g_define_type_info, 0);
		g_once_init_leave (&gxml_gom_xsd_list_type_id__volatile, gxml_gom_xsd_list_type_id);
	}
	return gxml_gom_xsd_list_type_id__volatile;
}


static void _vala_gxml_gom_xsd_list_get_property (GObject * object, guint property_id, GValue * value, GParamSpec * pspec) {
	GXmlGomXsdList * self;
	self = G_TYPE_CHECK_INSTANCE_CAST (object, GXML_TYPE_GOM_XSD_LIST, GXmlGomXsdList);
	switch (property_id) {
		case GXML_GOM_XSD_LIST_LENGTH:
		g_value_set_int (value, gxml_gom_xsd_list_get_length (self));
		break;
		default:
		G_OBJECT_WARN_INVALID_PROPERTY_ID (object, property_id, pspec);
		break;
	}
}


GXmlGomXsdListElements* gxml_gom_xsd_list_elements_construct (GType object_type) {
	GXmlGomXsdListElements * self = NULL;
	self = (GXmlGomXsdListElements*) gxml_gom_xsd_list_construct (object_type);
	return self;
}


GXmlGomXsdListElements* gxml_gom_xsd_list_elements_new (void) {
	return gxml_gom_xsd_list_elements_construct (GXML_TYPE_GOM_XSD_LIST_ELEMENTS);
}


static GObject * gxml_gom_xsd_list_elements_constructor (GType type, guint n_construct_properties, GObjectConstructParam * construct_properties) {
	GObject * obj;
	GObjectClass * parent_class;
	GXmlGomXsdListElements * self;
	GError * _inner_error_ = NULL;
	parent_class = G_OBJECT_CLASS (gxml_gom_xsd_list_elements_parent_class);
	obj = parent_class->constructor (type, n_construct_properties, construct_properties);
	self = G_TYPE_CHECK_INSTANCE_CAST (obj, GXML_TYPE_GOM_XSD_LIST_ELEMENTS, GXmlGomXsdListElements);
	{
		gxml_gom_collection_initialize ((GXmlGomCollection*) self, GXML_TYPE_GOM_XSD_ELEMENT, &_inner_error_);
		if (G_UNLIKELY (_inner_error_ != NULL)) {
			goto __catch29_g_error;
		}
	}
	goto __finally29;
	__catch29_g_error:
	{
		GError* e = NULL;
		const gchar* _tmp0_ = NULL;
		GType _tmp1_ = 0UL;
		const gchar* _tmp2_ = NULL;
		GError* _tmp3_ = NULL;
		const gchar* _tmp4_ = NULL;
		gchar* _tmp5_ = NULL;
		gchar* _tmp6_ = NULL;
		e = _inner_error_;
		_inner_error_ = NULL;
		_tmp0_ = _ ("Collection type %s, initialization error: %s");
		_tmp1_ = G_TYPE_FROM_INSTANCE ((GObject*) self);
		_tmp2_ = g_type_name (_tmp1_);
		_tmp3_ = e;
		_tmp4_ = _tmp3_->message;
		_tmp5_ = g_strdup_printf (_tmp0_, _tmp2_, _tmp4_);
		_tmp6_ = _tmp5_;
		g_warning ("GomSchema.vala:289: %s", _tmp6_);
		_g_free0 (_tmp6_);
		_g_error_free0 (e);
	}
	__finally29:
	if (G_UNLIKELY (_inner_error_ != NULL)) {
		g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code);
		g_clear_error (&_inner_error_);
	}
	return obj;
}


static void gxml_gom_xsd_list_elements_class_init (GXmlGomXsdListElementsClass * klass) {
	gxml_gom_xsd_list_elements_parent_class = g_type_class_peek_parent (klass);
	G_OBJECT_CLASS (klass)->constructor = gxml_gom_xsd_list_elements_constructor;
}


static void gxml_gom_xsd_list_elements_instance_init (GXmlGomXsdListElements * self) {
}


GType gxml_gom_xsd_list_elements_get_type (void) {
	static volatile gsize gxml_gom_xsd_list_elements_type_id__volatile = 0;
	if (g_once_init_enter (&gxml_gom_xsd_list_elements_type_id__volatile)) {
		static const GTypeInfo g_define_type_info = { sizeof (GXmlGomXsdListElementsClass), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) gxml_gom_xsd_list_elements_class_init, (GClassFinalizeFunc) NULL, NULL, sizeof (GXmlGomXsdListElements), 0, (GInstanceInitFunc) gxml_gom_xsd_list_elements_instance_init, NULL };
		GType gxml_gom_xsd_list_elements_type_id;
		gxml_gom_xsd_list_elements_type_id = g_type_register_static (GXML_TYPE_GOM_XSD_LIST, "GXmlGomXsdListElements", &g_define_type_info, 0);
		g_once_init_leave (&gxml_gom_xsd_list_elements_type_id__volatile, gxml_gom_xsd_list_elements_type_id);
	}
	return gxml_gom_xsd_list_elements_type_id__volatile;
}


GXmlGomXsdListSimpleTypes* gxml_gom_xsd_list_simple_types_construct (GType object_type) {
	GXmlGomXsdListSimpleTypes * self = NULL;
	self = (GXmlGomXsdListSimpleTypes*) gxml_gom_xsd_list_construct (object_type);
	return self;
}


GXmlGomXsdListSimpleTypes* gxml_gom_xsd_list_simple_types_new (void) {
	return gxml_gom_xsd_list_simple_types_construct (GXML_TYPE_GOM_XSD_LIST_SIMPLE_TYPES);
}


static GObject * gxml_gom_xsd_list_simple_types_constructor (GType type, guint n_construct_properties, GObjectConstructParam * construct_properties) {
	GObject * obj;
	GObjectClass * parent_class;
	GXmlGomXsdListSimpleTypes * self;
	GError * _inner_error_ = NULL;
	parent_class = G_OBJECT_CLASS (gxml_gom_xsd_list_simple_types_parent_class);
	obj = parent_class->constructor (type, n_construct_properties, construct_properties);
	self = G_TYPE_CHECK_INSTANCE_CAST (obj, GXML_TYPE_GOM_XSD_LIST_SIMPLE_TYPES, GXmlGomXsdListSimpleTypes);
	{
		gxml_gom_collection_initialize ((GXmlGomCollection*) self, GXML_TYPE_GOM_XSD_SIMPLE_TYPE, &_inner_error_);
		if (G_UNLIKELY (_inner_error_ != NULL)) {
			goto __catch30_g_error;
		}
	}
	goto __finally30;
	__catch30_g_error:
	{
		GError* e = NULL;
		const gchar* _tmp0_ = NULL;
		GType _tmp1_ = 0UL;
		const gchar* _tmp2_ = NULL;
		GError* _tmp3_ = NULL;
		const gchar* _tmp4_ = NULL;
		gchar* _tmp5_ = NULL;
		gchar* _tmp6_ = NULL;
		e = _inner_error_;
		_inner_error_ = NULL;
		_tmp0_ = _ ("Collection type %s, initialization error: %s");
		_tmp1_ = G_TYPE_FROM_INSTANCE ((GObject*) self);
		_tmp2_ = g_type_name (_tmp1_);
		_tmp3_ = e;
		_tmp4_ = _tmp3_->message;
		_tmp5_ = g_strdup_printf (_tmp0_, _tmp2_, _tmp4_);
		_tmp6_ = _tmp5_;
		g_warning ("GomSchema.vala:297: %s", _tmp6_);
		_g_free0 (_tmp6_);
		_g_error_free0 (e);
	}
	__finally30:
	if (G_UNLIKELY (_inner_error_ != NULL)) {
		g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code);
		g_clear_error (&_inner_error_);
	}
	return obj;
}


static void gxml_gom_xsd_list_simple_types_class_init (GXmlGomXsdListSimpleTypesClass * klass) {
	gxml_gom_xsd_list_simple_types_parent_class = g_type_class_peek_parent (klass);
	G_OBJECT_CLASS (klass)->constructor = gxml_gom_xsd_list_simple_types_constructor;
}


static void gxml_gom_xsd_list_simple_types_instance_init (GXmlGomXsdListSimpleTypes * self) {
}


GType gxml_gom_xsd_list_simple_types_get_type (void) {
	static volatile gsize gxml_gom_xsd_list_simple_types_type_id__volatile = 0;
	if (g_once_init_enter (&gxml_gom_xsd_list_simple_types_type_id__volatile)) {
		static const GTypeInfo g_define_type_info = { sizeof (GXmlGomXsdListSimpleTypesClass), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) gxml_gom_xsd_list_simple_types_class_init, (GClassFinalizeFunc) NULL, NULL, sizeof (GXmlGomXsdListSimpleTypes), 0, (GInstanceInitFunc) gxml_gom_xsd_list_simple_types_instance_init, NULL };
		GType gxml_gom_xsd_list_simple_types_type_id;
		gxml_gom_xsd_list_simple_types_type_id = g_type_register_static (GXML_TYPE_GOM_XSD_LIST, "GXmlGomXsdListSimpleTypes", &g_define_type_info, 0);
		g_once_init_leave (&gxml_gom_xsd_list_simple_types_type_id__volatile, gxml_gom_xsd_list_simple_types_type_id);
	}
	return gxml_gom_xsd_list_simple_types_type_id__volatile;
}


GXmlGomXsdListComplexTypes* gxml_gom_xsd_list_complex_types_construct (GType object_type) {
	GXmlGomXsdListComplexTypes * self = NULL;
	self = (GXmlGomXsdListComplexTypes*) gxml_gom_xsd_list_construct (object_type);
	return self;
}


GXmlGomXsdListComplexTypes* gxml_gom_xsd_list_complex_types_new (void) {
	return gxml_gom_xsd_list_complex_types_construct (GXML_TYPE_GOM_XSD_LIST_COMPLEX_TYPES);
}


static GObject * gxml_gom_xsd_list_complex_types_constructor (GType type, guint n_construct_properties, GObjectConstructParam * construct_properties) {
	GObject * obj;
	GObjectClass * parent_class;
	GXmlGomXsdListComplexTypes * self;
	GError * _inner_error_ = NULL;
	parent_class = G_OBJECT_CLASS (gxml_gom_xsd_list_complex_types_parent_class);
	obj = parent_class->constructor (type, n_construct_properties, construct_properties);
	self = G_TYPE_CHECK_INSTANCE_CAST (obj, GXML_TYPE_GOM_XSD_LIST_COMPLEX_TYPES, GXmlGomXsdListComplexTypes);
	{
		gxml_gom_collection_initialize ((GXmlGomCollection*) self, GXML_TYPE_GOM_XSD_COMPLEX_TYPE, &_inner_error_);
		if (G_UNLIKELY (_inner_error_ != NULL)) {
			goto __catch31_g_error;
		}
	}
	goto __finally31;
	__catch31_g_error:
	{
		GError* e = NULL;
		const gchar* _tmp0_ = NULL;
		GType _tmp1_ = 0UL;
		const gchar* _tmp2_ = NULL;
		GError* _tmp3_ = NULL;
		const gchar* _tmp4_ = NULL;
		gchar* _tmp5_ = NULL;
		gchar* _tmp6_ = NULL;
		e = _inner_error_;
		_inner_error_ = NULL;
		_tmp0_ = _ ("Collection type %s, initialization error: %s");
		_tmp1_ = G_TYPE_FROM_INSTANCE ((GObject*) self);
		_tmp2_ = g_type_name (_tmp1_);
		_tmp3_ = e;
		_tmp4_ = _tmp3_->message;
		_tmp5_ = g_strdup_printf (_tmp0_, _tmp2_, _tmp4_);
		_tmp6_ = _tmp5_;
		g_warning ("GomSchema.vala:305: %s", _tmp6_);
		_g_free0 (_tmp6_);
		_g_error_free0 (e);
	}
	__finally31:
	if (G_UNLIKELY (_inner_error_ != NULL)) {
		g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code);
		g_clear_error (&_inner_error_);
	}
	return obj;
}


static void gxml_gom_xsd_list_complex_types_class_init (GXmlGomXsdListComplexTypesClass * klass) {
	gxml_gom_xsd_list_complex_types_parent_class = g_type_class_peek_parent (klass);
	G_OBJECT_CLASS (klass)->constructor = gxml_gom_xsd_list_complex_types_constructor;
}


static void gxml_gom_xsd_list_complex_types_instance_init (GXmlGomXsdListComplexTypes * self) {
}


GType gxml_gom_xsd_list_complex_types_get_type (void) {
	static volatile gsize gxml_gom_xsd_list_complex_types_type_id__volatile = 0;
	if (g_once_init_enter (&gxml_gom_xsd_list_complex_types_type_id__volatile)) {
		static const GTypeInfo g_define_type_info = { sizeof (GXmlGomXsdListComplexTypesClass), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) gxml_gom_xsd_list_complex_types_class_init, (GClassFinalizeFunc) NULL, NULL, sizeof (GXmlGomXsdListComplexTypes), 0, (GInstanceInitFunc) gxml_gom_xsd_list_complex_types_instance_init, NULL };
		GType gxml_gom_xsd_list_complex_types_type_id;
		gxml_gom_xsd_list_complex_types_type_id = g_type_register_static (GXML_TYPE_GOM_XSD_LIST, "GXmlGomXsdListComplexTypes", &g_define_type_info, 0);
		g_once_init_leave (&gxml_gom_xsd_list_complex_types_type_id__volatile, gxml_gom_xsd_list_complex_types_type_id);
	}
	return gxml_gom_xsd_list_complex_types_type_id__volatile;
}


GXmlGomXsdListTypeRestrictionEnumerations* gxml_gom_xsd_list_type_restriction_enumerations_construct (GType object_type) {
	GXmlGomXsdListTypeRestrictionEnumerations * self = NULL;
	self = (GXmlGomXsdListTypeRestrictionEnumerations*) gxml_gom_xsd_list_construct (object_type);
	return self;
}


GXmlGomXsdListTypeRestrictionEnumerations* gxml_gom_xsd_list_type_restriction_enumerations_new (void) {
	return gxml_gom_xsd_list_type_restriction_enumerations_construct (GXML_TYPE_GOM_XSD_LIST_TYPE_RESTRICTION_ENUMERATIONS);
}


static GObject * gxml_gom_xsd_list_type_restriction_enumerations_constructor (GType type, guint n_construct_properties, GObjectConstructParam * construct_properties) {
	GObject * obj;
	GObjectClass * parent_class;
	GXmlGomXsdListTypeRestrictionEnumerations * self;
	GError * _inner_error_ = NULL;
	parent_class = G_OBJECT_CLASS (gxml_gom_xsd_list_type_restriction_enumerations_parent_class);
	obj = parent_class->constructor (type, n_construct_properties, construct_properties);
	self = G_TYPE_CHECK_INSTANCE_CAST (obj, GXML_TYPE_GOM_XSD_LIST_TYPE_RESTRICTION_ENUMERATIONS, GXmlGomXsdListTypeRestrictionEnumerations);
	{
		gxml_gom_collection_initialize ((GXmlGomCollection*) self, GXML_TYPE_GOM_XSD_TYPE_RESTRICTION_ENUMERATION, &_inner_error_);
		if (G_UNLIKELY (_inner_error_ != NULL)) {
			goto __catch32_g_error;
		}
	}
	goto __finally32;
	__catch32_g_error:
	{
		GError* e = NULL;
		const gchar* _tmp0_ = NULL;
		GType _tmp1_ = 0UL;
		const gchar* _tmp2_ = NULL;
		GError* _tmp3_ = NULL;
		const gchar* _tmp4_ = NULL;
		gchar* _tmp5_ = NULL;
		gchar* _tmp6_ = NULL;
		e = _inner_error_;
		_inner_error_ = NULL;
		_tmp0_ = _ ("Collection type %s, initialization error: %s");
		_tmp1_ = G_TYPE_FROM_INSTANCE ((GObject*) self);
		_tmp2_ = g_type_name (_tmp1_);
		_tmp3_ = e;
		_tmp4_ = _tmp3_->message;
		_tmp5_ = g_strdup_printf (_tmp0_, _tmp2_, _tmp4_);
		_tmp6_ = _tmp5_;
		g_warning ("GomSchema.vala:313: %s", _tmp6_);
		_g_free0 (_tmp6_);
		_g_error_free0 (e);
	}
	__finally32:
	if (G_UNLIKELY (_inner_error_ != NULL)) {
		g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code);
		g_clear_error (&_inner_error_);
	}
	return obj;
}


static void gxml_gom_xsd_list_type_restriction_enumerations_class_init (GXmlGomXsdListTypeRestrictionEnumerationsClass * klass) {
	gxml_gom_xsd_list_type_restriction_enumerations_parent_class = g_type_class_peek_parent (klass);
	G_OBJECT_CLASS (klass)->constructor = gxml_gom_xsd_list_type_restriction_enumerations_constructor;
}


static void gxml_gom_xsd_list_type_restriction_enumerations_instance_init (GXmlGomXsdListTypeRestrictionEnumerations * self) {
}


GType gxml_gom_xsd_list_type_restriction_enumerations_get_type (void) {
	static volatile gsize gxml_gom_xsd_list_type_restriction_enumerations_type_id__volatile = 0;
	if (g_once_init_enter (&gxml_gom_xsd_list_type_restriction_enumerations_type_id__volatile)) {
		static const GTypeInfo g_define_type_info = { sizeof (GXmlGomXsdListTypeRestrictionEnumerationsClass), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) gxml_gom_xsd_list_type_restriction_enumerations_class_init, (GClassFinalizeFunc) NULL, NULL, sizeof (GXmlGomXsdListTypeRestrictionEnumerations), 0, (GInstanceInitFunc) gxml_gom_xsd_list_type_restriction_enumerations_instance_init, NULL };
		GType gxml_gom_xsd_list_type_restriction_enumerations_type_id;
		gxml_gom_xsd_list_type_restriction_enumerations_type_id = g_type_register_static (GXML_TYPE_GOM_XSD_LIST, "GXmlGomXsdListTypeRestrictionEnumerations", &g_define_type_info, 0);
		g_once_init_leave (&gxml_gom_xsd_list_type_restriction_enumerations_type_id__volatile, gxml_gom_xsd_list_type_restriction_enumerations_type_id);
	}
	return gxml_gom_xsd_list_type_restriction_enumerations_type_id__volatile;
}


GXmlGomXsdListTypeRestrictionWhiteSpaces* gxml_gom_xsd_list_type_restriction_white_spaces_construct (GType object_type) {
	GXmlGomXsdListTypeRestrictionWhiteSpaces * self = NULL;
	self = (GXmlGomXsdListTypeRestrictionWhiteSpaces*) gxml_gom_xsd_list_construct (object_type);
	return self;
}


GXmlGomXsdListTypeRestrictionWhiteSpaces* gxml_gom_xsd_list_type_restriction_white_spaces_new (void) {
	return gxml_gom_xsd_list_type_restriction_white_spaces_construct (GXML_TYPE_GOM_XSD_LIST_TYPE_RESTRICTION_WHITE_SPACES);
}


static GObject * gxml_gom_xsd_list_type_restriction_white_spaces_constructor (GType type, guint n_construct_properties, GObjectConstructParam * construct_properties) {
	GObject * obj;
	GObjectClass * parent_class;
	GXmlGomXsdListTypeRestrictionWhiteSpaces * self;
	GError * _inner_error_ = NULL;
	parent_class = G_OBJECT_CLASS (gxml_gom_xsd_list_type_restriction_white_spaces_parent_class);
	obj = parent_class->constructor (type, n_construct_properties, construct_properties);
	self = G_TYPE_CHECK_INSTANCE_CAST (obj, GXML_TYPE_GOM_XSD_LIST_TYPE_RESTRICTION_WHITE_SPACES, GXmlGomXsdListTypeRestrictionWhiteSpaces);
	{
		gxml_gom_collection_initialize ((GXmlGomCollection*) self, GXML_TYPE_GOM_XSD_TYPE_RESTRICTION_WHITE_SPACE, &_inner_error_);
		if (G_UNLIKELY (_inner_error_ != NULL)) {
			goto __catch33_g_error;
		}
	}
	goto __finally33;
	__catch33_g_error:
	{
		GError* e = NULL;
		const gchar* _tmp0_ = NULL;
		GType _tmp1_ = 0UL;
		const gchar* _tmp2_ = NULL;
		GError* _tmp3_ = NULL;
		const gchar* _tmp4_ = NULL;
		gchar* _tmp5_ = NULL;
		gchar* _tmp6_ = NULL;
		e = _inner_error_;
		_inner_error_ = NULL;
		_tmp0_ = _ ("Collection type %s, initialization error: %s");
		_tmp1_ = G_TYPE_FROM_INSTANCE ((GObject*) self);
		_tmp2_ = g_type_name (_tmp1_);
		_tmp3_ = e;
		_tmp4_ = _tmp3_->message;
		_tmp5_ = g_strdup_printf (_tmp0_, _tmp2_, _tmp4_);
		_tmp6_ = _tmp5_;
		g_warning ("GomSchema.vala:321: %s", _tmp6_);
		_g_free0 (_tmp6_);
		_g_error_free0 (e);
	}
	__finally33:
	if (G_UNLIKELY (_inner_error_ != NULL)) {
		g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code);
		g_clear_error (&_inner_error_);
	}
	return obj;
}


static void gxml_gom_xsd_list_type_restriction_white_spaces_class_init (GXmlGomXsdListTypeRestrictionWhiteSpacesClass * klass) {
	gxml_gom_xsd_list_type_restriction_white_spaces_parent_class = g_type_class_peek_parent (klass);
	G_OBJECT_CLASS (klass)->constructor = gxml_gom_xsd_list_type_restriction_white_spaces_constructor;
}


static void gxml_gom_xsd_list_type_restriction_white_spaces_instance_init (GXmlGomXsdListTypeRestrictionWhiteSpaces * self) {
}


GType gxml_gom_xsd_list_type_restriction_white_spaces_get_type (void) {
	static volatile gsize gxml_gom_xsd_list_type_restriction_white_spaces_type_id__volatile = 0;
	if (g_once_init_enter (&gxml_gom_xsd_list_type_restriction_white_spaces_type_id__volatile)) {
		static const GTypeInfo g_define_type_info = { sizeof (GXmlGomXsdListTypeRestrictionWhiteSpacesClass), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) gxml_gom_xsd_list_type_restriction_white_spaces_class_init, (GClassFinalizeFunc) NULL, NULL, sizeof (GXmlGomXsdListTypeRestrictionWhiteSpaces), 0, (GInstanceInitFunc) gxml_gom_xsd_list_type_restriction_white_spaces_instance_init, NULL };
		GType gxml_gom_xsd_list_type_restriction_white_spaces_type_id;
		gxml_gom_xsd_list_type_restriction_white_spaces_type_id = g_type_register_static (GXML_TYPE_GOM_XSD_LIST, "GXmlGomXsdListTypeRestrictionWhiteSpaces", &g_define_type_info, 0);
		g_once_init_leave (&gxml_gom_xsd_list_type_restriction_white_spaces_type_id__volatile, gxml_gom_xsd_list_type_restriction_white_spaces_type_id);
	}
	return gxml_gom_xsd_list_type_restriction_white_spaces_type_id__volatile;
}



