/*
 * Module code.
 *
 * Generated by SIP 6.6.2
 *
 * Copyright (c) 2022 Riverbank Computing Limited <info@riverbankcomputing.com>
 * 
 * This file is part of PyQt5.
 * 
 * This file may be used under the terms of the GNU General Public License
 * version 3.0 as published by the Free Software Foundation and appearing in
 * the file LICENSE included in the packaging of this file.  Please review the
 * following information to ensure the GNU General Public License version 3.0
 * requirements will be met: http://www.gnu.org/copyleft/gpl.html.
 * 
 * If you do not wish to use this file under the terms of the GPL version 3.0
 * then you may purchase a commercial license.  For more information contact
 * info@riverbankcomputing.com.
 * 
 * This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE
 * WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.
 */

#include "sipAPIQtXmlPatterns.h"

#line 28 "/build/pyqt5/src/PyQt5-5.15.7/sip/QtCore/qobject.sip"
#include <qobject.h>
#line 29 "/build/pyqt5/src/PyQt5-5.15.7/build/QtXmlPatterns/sipQtXmlPatternscmodule.cpp"
#line 26 "/build/pyqt5/src/PyQt5-5.15.7/sip/QtCore/qmetaobject.sip"
#include <qmetaobject.h>
#line 32 "/build/pyqt5/src/PyQt5-5.15.7/build/QtXmlPatterns/sipQtXmlPatternscmodule.cpp"
#line 26 "/build/pyqt5/src/PyQt5-5.15.7/sip/QtCore/qcoreevent.sip"
#include <qcoreevent.h>
#line 35 "/build/pyqt5/src/PyQt5-5.15.7/build/QtXmlPatterns/sipQtXmlPatternscmodule.cpp"
#line 247 "/build/pyqt5/src/PyQt5-5.15.7/sip/QtCore/qcoreevent.sip"
#include <qcoreevent.h>
#line 38 "/build/pyqt5/src/PyQt5-5.15.7/build/QtXmlPatterns/sipQtXmlPatternscmodule.cpp"
#line 235 "/build/pyqt5/src/PyQt5-5.15.7/sip/QtCore/qcoreevent.sip"
#include <qcoreevent.h>
#line 41 "/build/pyqt5/src/PyQt5-5.15.7/build/QtXmlPatterns/sipQtXmlPatternscmodule.cpp"
#line 27 "/build/pyqt5/src/PyQt5-5.15.7/sip/QtCore/qstring.sip"
#include <qstring.h>
#line 44 "/build/pyqt5/src/PyQt5-5.15.7/build/QtXmlPatterns/sipQtXmlPatternscmodule.cpp"
#line 109 "/build/pyqt5/src/PyQt5-5.15.7/sip/QtCore/qurl.sip"
#include <qurl.h>
#line 47 "/build/pyqt5/src/PyQt5-5.15.7/build/QtXmlPatterns/sipQtXmlPatternscmodule.cpp"
#line 26 "/build/pyqt5/src/PyQt5-5.15.7/sip/QtXmlPatterns/qsourcelocation.sip"
#include <qsourcelocation.h>
#line 50 "/build/pyqt5/src/PyQt5-5.15.7/build/QtXmlPatterns/sipQtXmlPatternscmodule.cpp"
#line 26 "/build/pyqt5/src/PyQt5-5.15.7/sip/QtXmlPatterns/qabstractxmlnodemodel.sip"
#include <qabstractxmlnodemodel.h>
#line 53 "/build/pyqt5/src/PyQt5-5.15.7/build/QtXmlPatterns/sipQtXmlPatternscmodule.cpp"
#line 26 "/build/pyqt5/src/PyQt5-5.15.7/sip/QtXmlPatterns/qxmlname.sip"
#include <qxmlname.h>
#line 56 "/build/pyqt5/src/PyQt5-5.15.7/build/QtXmlPatterns/sipQtXmlPatternscmodule.cpp"
#line 26 "/build/pyqt5/src/PyQt5-5.15.7/sip/QtCore/qvariant.sip"
#include <qvariant.h>
#line 59 "/build/pyqt5/src/PyQt5-5.15.7/build/QtXmlPatterns/sipQtXmlPatternscmodule.cpp"
#line 28 "/build/pyqt5/src/PyQt5-5.15.7/sip/QtCore/qpycore_qvector.sip"
#include <qvector.h>
#line 62 "/build/pyqt5/src/PyQt5-5.15.7/build/QtXmlPatterns/sipQtXmlPatternscmodule.cpp"
#line 28 "/build/pyqt5/src/PyQt5-5.15.7/sip/QtCore/qpycore_qvector.sip"
#include <qvector.h>
#line 65 "/build/pyqt5/src/PyQt5-5.15.7/build/QtXmlPatterns/sipQtXmlPatternscmodule.cpp"
#line 76 "/build/pyqt5/src/PyQt5-5.15.7/sip/QtXmlPatterns/qabstractxmlnodemodel.sip"
#include <qabstractxmlnodemodel.h>
#line 68 "/build/pyqt5/src/PyQt5-5.15.7/build/QtXmlPatterns/sipQtXmlPatternscmodule.cpp"
#line 59 "/build/pyqt5/src/PyQt5-5.15.7/sip/QtCore/qstring.sip"
#include <qstring.h>
#line 71 "/build/pyqt5/src/PyQt5-5.15.7/build/QtXmlPatterns/sipQtXmlPatternscmodule.cpp"
#line 117 "/build/pyqt5/src/PyQt5-5.15.7/sip/QtXmlPatterns/qabstractxmlnodemodel.sip"
#include <qabstractxmlnodemodel.h>
#line 74 "/build/pyqt5/src/PyQt5-5.15.7/build/QtXmlPatterns/sipQtXmlPatternscmodule.cpp"
#line 26 "/build/pyqt5/src/PyQt5-5.15.7/sip/QtXmlPatterns/qxmlnamepool.sip"
#include <qxmlnamepool.h>
#line 77 "/build/pyqt5/src/PyQt5-5.15.7/build/QtXmlPatterns/sipQtXmlPatternscmodule.cpp"
#line 26 "/build/pyqt5/src/PyQt5-5.15.7/sip/QtXmlPatterns/qxmlquery.sip"
#include <qxmlquery.h>
#line 80 "/build/pyqt5/src/PyQt5-5.15.7/build/QtXmlPatterns/sipQtXmlPatternscmodule.cpp"
#line 26 "/build/pyqt5/src/PyQt5-5.15.7/sip/QtXmlPatterns/qxmlresultitems.sip"
#include <qxmlresultitems.h>
#line 83 "/build/pyqt5/src/PyQt5-5.15.7/build/QtXmlPatterns/sipQtXmlPatternscmodule.cpp"
#line 26 "/build/pyqt5/src/PyQt5-5.15.7/sip/QtXmlPatterns/qxmlschemavalidator.sip"
#include <qxmlschemavalidator.h>
#line 86 "/build/pyqt5/src/PyQt5-5.15.7/build/QtXmlPatterns/sipQtXmlPatternscmodule.cpp"

/* Define the strings used by this module. */
const char sipStrings_QtXmlPatterns[] = {
    'Q', 'A', 'b', 's', 't', 'r', 'a', 'c', 't', 'X', 'm', 'l', 'N', 'o', 'd', 'e', 'M', 'o', 'd', 'e', 'l', ':', ':', 'S', 'i', 'm', 'p', 'l', 'e', 'A', 'x', 'i', 's', 0,
    'Q', 'X', 'm', 'l', 'N', 'o', 'd', 'e', 'M', 'o', 'd', 'e', 'l', 'I', 'n', 'd', 'e', 'x', ':', ':', 'D', 'o', 'c', 'u', 'm', 'e', 'n', 't', 'O', 'r', 'd', 'e', 'r', 0,
    'Q', 'X', 'm', 'l', 'N', 'o', 'd', 'e', 'M', 'o', 'd', 'e', 'l', 'I', 'n', 'd', 'e', 'x', ':', ':', 'N', 'o', 'd', 'e', 'K', 'i', 'n', 'd', 0,
    'Q', 'V', 'e', 'c', 't', 'o', 'r', '<', 'Q', 'X', 'm', 'l', 'N', 'o', 'd', 'e', 'M', 'o', 'd', 'e', 'l', 'I', 'n', 'd', 'e', 'x', '>', 0,
    'Q', 'X', 'm', 'l', 'Q', 'u', 'e', 'r', 'y', ':', ':', 'Q', 'u', 'e', 'r', 'y', 'L', 'a', 'n', 'g', 'u', 'a', 'g', 'e', 0,
    'Q', 'A', 'b', 's', 't', 'r', 'a', 'c', 't', 'M', 'e', 's', 's', 'a', 'g', 'e', 'H', 'a', 'n', 'd', 'l', 'e', 'r', 0,
    's', 'e', 't', 'N', 'e', 't', 'w', 'o', 'r', 'k', 'A', 'c', 'c', 'e', 's', 's', 'M', 'a', 'n', 'a', 'g', 'e', 'r', 0,
    's', 'e', 't', 'I', 'n', 'i', 't', 'i', 'a', 'l', 'T', 'e', 'm', 'p', 'l', 'a', 't', 'e', 'N', 'a', 'm', 'e', 0,
    'P', 'r', 'o', 'c', 'e', 's', 's', 'i', 'n', 'g', 'I', 'n', 's', 't', 'r', 'u', 'c', 't', 'i', 'o', 'n', 0,
    'Q', 'A', 'b', 's', 't', 'r', 'a', 'c', 't', 'X', 'm', 'l', 'N', 'o', 'd', 'e', 'M', 'o', 'd', 'e', 'l', 0,
    'p', 'r', 'o', 'c', 'e', 's', 's', 'i', 'n', 'g', 'I', 'n', 's', 't', 'r', 'u', 'c', 't', 'i', 'o', 'n', 0,
    'Q', 'A', 'b', 's', 't', 'r', 'a', 'c', 't', 'U', 'r', 'i', 'R', 'e', 's', 'o', 'l', 'v', 'e', 'r', 0,
    'Q', 'A', 'b', 's', 't', 'r', 'a', 'c', 't', 'X', 'm', 'l', 'R', 'e', 'c', 'e', 'i', 'v', 'e', 'r', 0,
    'e', 'v', 'a', 'l', 'u', 'a', 't', 'e', 'T', 'o', 'S', 't', 'r', 'i', 'n', 'g', 'L', 'i', 's', 't', 0,
    'n', 'e', 't', 'w', 'o', 'r', 'k', 'A', 'c', 'c', 'e', 's', 's', 'M', 'a', 'n', 'a', 'g', 'e', 'r', 0,
    'P', 'y', 'Q', 't', '5', '.', 'Q', 't', 'X', 'm', 'l', 'P', 'a', 't', 't', 'e', 'r', 'n', 's', 0,
    'Q', 'S', 'i', 'm', 'p', 'l', 'e', 'X', 'm', 'l', 'N', 'o', 'd', 'e', 'M', 'o', 'd', 'e', 'l', 0,
    'Q', 'X', 'm', 'l', 'S', 'c', 'h', 'e', 'm', 'a', 'V', 'a', 'l', 'i', 'd', 'a', 't', 'o', 'r', 0,
    'i', 'n', 'i', 't', 'i', 'a', 'l', 'T', 'e', 'm', 'p', 'l', 'a', 't', 'e', 'N', 'a', 'm', 'e', 0,
    's', 'e', 't', 'I', 'n', 'd', 'e', 'n', 't', 'a', 't', 'i', 'o', 'n', 'D', 'e', 'p', 't', 'h', 0,
    'Q', 'X', 'm', 'l', 'N', 'o', 'd', 'e', 'M', 'o', 'd', 'e', 'l', 'I', 'n', 'd', 'e', 'x', 0,
    'n', 'e', 'x', 't', 'F', 'r', 'o', 'm', 'S', 'i', 'm', 'p', 'l', 'e', 'A', 'x', 'i', 's', 0,
    'Q', 'V', 'e', 'c', 't', 'o', 'r', '<', 'Q', 'X', 'm', 'l', 'N', 'a', 'm', 'e', '>', 0,
    'n', 'a', 'm', 'e', 's', 'p', 'a', 'c', 'e', 'B', 'i', 'n', 'd', 'i', 'n', 'g', 's', 0,
    's', 'e', 't', 'M', 'e', 's', 's', 'a', 'g', 'e', 'H', 'a', 'n', 'd', 'l', 'e', 'r', 0,
    's', 'i', 'p', '.', 's', 'i', 'm', 'p', 'l', 'e', 'w', 'r', 'a', 'p', 'p', 'e', 'r', 0,
    'd', 'i', 's', 'c', 'o', 'n', 'n', 'e', 'c', 't', 'N', 'o', 't', 'i', 'f', 'y', 0,
    'e', 'v', 'a', 'l', 'u', 'a', 't', 'e', 'T', 'o', 'S', 't', 'r', 'i', 'n', 'g', 0,
    'i', 'n', 'd', 'e', 'n', 't', 'a', 't', 'i', 'o', 'n', 'D', 'e', 'p', 't', 'h', 0,
    'n', 'a', 'm', 'e', 's', 'p', 'a', 'c', 'e', 'B', 'i', 'n', 'd', 'i', 'n', 'g', 0,
    't', 'o', 'N', 'o', 'd', 'e', 'M', 'o', 'd', 'e', 'l', 'I', 'n', 'd', 'e', 'x', 0,
    'P', 'r', 'e', 'v', 'i', 'o', 'u', 's', 'S', 'i', 'b', 'l', 'i', 'n', 'g', 0,
    'Q', 'S', 'o', 'u', 'r', 'c', 'e', 'L', 'o', 'c', 'a', 't', 'i', 'o', 'n', 0,
    'Q', 'X', 'm', 'l', 'R', 'e', 's', 'u', 'l', 't', 'I', 't', 'e', 'm', 's', 0,
    'i', 'n', 't', 'e', 'r', 'n', 'a', 'l', 'P', 'o', 'i', 'n', 't', 'e', 'r', 0,
    's', 't', 'a', 'r', 't', 'O', 'f', 'S', 'e', 'q', 'u', 'e', 'n', 'c', 'e', 0,
    'Q', 'X', 'm', 'l', 'S', 'e', 'r', 'i', 'a', 'l', 'i', 'z', 'e', 'r', 0,
    'a', 'd', 'd', 'i', 't', 'i', 'o', 'n', 'a', 'l', 'D', 'a', 't', 'a', 0,
    'm', 'e', 's', 's', 'a', 'g', 'e', 'H', 'a', 'n', 'd', 'l', 'e', 'r', 0,
    's', 'e', 't', 'U', 'r', 'i', 'R', 'e', 's', 'o', 'l', 'v', 'e', 'r', 0,
    's', 'o', 'u', 'r', 'c', 'e', 'L', 'o', 'c', 'a', 't', 'i', 'o', 'n', 0,
    'Q', 'X', 'm', 'l', 'F', 'o', 'r', 'm', 'a', 't', 't', 'e', 'r', 0,
    'e', 'n', 'd', 'O', 'f', 'S', 'e', 'q', 'u', 'e', 'n', 'c', 'e', 0,
    'f', 'r', 'o', 'm', 'C', 'l', 'a', 'r', 'k', 'N', 'a', 'm', 'e', 0,
    'h', 'a', 'n', 'd', 'l', 'e', 'M', 'e', 's', 's', 'a', 'g', 'e', 0,
    'i', 's', 'A', 't', 'o', 'm', 'i', 'c', 'V', 'a', 'l', 'u', 'e', 0,
    'q', 'u', 'e', 'r', 'y', 'L', 'a', 'n', 'g', 'u', 'a', 'g', 'e', 0,
    's', 't', 'a', 'r', 't', 'D', 'o', 'c', 'u', 'm', 'e', 'n', 't', 0,
    't', 'o', 'A', 't', 'o', 'm', 'i', 'c', 'V', 'a', 'l', 'u', 'e', 0,
    'Q', 'X', 'm', 'l', 'N', 'a', 'm', 'e', 'P', 'o', 'o', 'l', 0,
    'b', 'i', 'n', 'd', 'V', 'a', 'r', 'i', 'a', 'b', 'l', 'e', 0,
    'c', 'o', 'm', 'p', 'a', 'r', 'e', 'O', 'r', 'd', 'e', 'r', 0,
    'n', 'a', 'm', 'e', 's', 'p', 'a', 'c', 'e', 'U', 'r', 'i', 0,
    'n', 'o', 'd', 'e', 's', 'B', 'y', 'I', 'd', 'r', 'e', 'f', 0,
    'o', 'u', 't', 'p', 'u', 't', 'D', 'e', 'v', 'i', 'c', 'e', 0,
    's', 't', 'a', 'r', 't', 'E', 'l', 'e', 'm', 'e', 'n', 't', 0,
    'N', 'e', 'x', 't', 'S', 'i', 'b', 'l', 'i', 'n', 'g', 0,
    'a', 't', 'o', 'm', 'i', 'c', 'V', 'a', 'l', 'u', 'e', 0,
    'c', 'r', 'e', 'a', 't', 'e', 'I', 'n', 'd', 'e', 'x', 0,
    'c', 'u', 's', 't', 'o', 'm', 'E', 'v', 'e', 'n', 't', 0,
    'd', 'o', 'c', 'u', 'm', 'e', 'n', 't', 'U', 'r', 'i', 0,
    'e', 'l', 'e', 'm', 'e', 'n', 't', 'B', 'y', 'I', 'd', 0,
    'e', 'n', 'd', 'D', 'o', 'c', 'u', 'm', 'e', 'n', 't', 0,
    'e', 'v', 'e', 'n', 't', 'F', 'i', 'l', 't', 'e', 'r', 0,
    's', 't', 'r', 'i', 'n', 'g', 'V', 'a', 'l', 'u', 'e', 0,
    't', 'o', 'C', 'l', 'a', 'r', 'k', 'N', 'a', 'm', 'e', 0,
    'u', 'r', 'i', 'R', 'e', 's', 'o', 'l', 'v', 'e', 'r', 0,
    'F', 'i', 'r', 's', 't', 'C', 'h', 'i', 'l', 'd', 0,
    'Q', 'X', 'm', 'l', 'S', 'c', 'h', 'e', 'm', 'a', 0,
    'a', 't', 't', 'r', 'i', 'b', 'u', 't', 'e', 's', 0,
    'c', 'h', 'a', 'r', 'a', 'c', 't', 'e', 'r', 's', 0,
    'c', 'h', 'i', 'l', 'd', 'E', 'v', 'e', 'n', 't', 0,
    'e', 'n', 'd', 'E', 'l', 'e', 'm', 'e', 'n', 't', 0,
    'e', 'v', 'a', 'l', 'u', 'a', 't', 'e', 'T', 'o', 0,
    'i', 'd', 'e', 'n', 't', 'i', 'f', 'i', 'e', 'r', 0,
    't', 'i', 'm', 'e', 'r', 'E', 'v', 'e', 'n', 't', 0,
    't', 'y', 'p', 'e', 'd', 'V', 'a', 'l', 'u', 'e', 0,
    'A', 't', 't', 'r', 'i', 'b', 'u', 't', 'e', 0,
    'N', 'a', 'm', 'e', 's', 'p', 'a', 'c', 'e', 0,
    'Q', 'X', 'm', 'l', 'Q', 'u', 'e', 'r', 'y', 0,
    'a', 't', 't', 'r', 'i', 'b', 'u', 't', 'e', 0,
    'l', 'o', 'c', 'a', 'l', 'N', 'a', 'm', 'e', 0,
    's', 'e', 't', 'C', 'o', 'l', 'u', 'm', 'n', 0,
    's', 'e', 't', 'S', 'c', 'h', 'e', 'm', 'a', 0,
    'P', 'r', 'e', 'c', 'e', 'd', 'e', 's', 0,
    'Q', 'X', 'm', 'l', 'I', 't', 'e', 'm', 0,
    'Q', 'X', 'm', 'l', 'N', 'a', 'm', 'e', 0,
    'X', 'Q', 'u', 'e', 'r', 'y', '1', '0', 0,
    '_', '_', 'h', 'a', 's', 'h', '_', '_', 0,
    'h', 'a', 's', 'E', 'r', 'r', 'o', 'r', 0,
    'i', 's', 'N', 'C', 'N', 'a', 'm', 'e', 0,
    'n', 'a', 'm', 'e', 'P', 'o', 'o', 'l', 0,
    's', 'e', 't', 'C', 'o', 'd', 'e', 'c', 0,
    's', 'e', 't', 'F', 'o', 'c', 'u', 's', 0,
    's', 'e', 't', 'Q', 'u', 'e', 'r', 'y', 0,
    'v', 'a', 'l', 'i', 'd', 'a', 't', 'e', 0,
    'C', 'o', 'm', 'm', 'e', 'n', 't', 0,
    'F', 'o', 'l', 'l', 'o', 'w', 's', 0,
    'b', 'a', 's', 'e', 'U', 'r', 'i', 0,
    'c', 'o', 'm', 'm', 'e', 'n', 't', 0,
    'c', 'u', 'r', 'r', 'e', 'n', 't', 0,
    'i', 's', 'V', 'a', 'l', 'i', 'd', 0,
    'm', 'e', 's', 's', 'a', 'g', 'e', 0,
    'r', 'e', 's', 'o', 'l', 'v', 'e', 0,
    's', 'e', 't', 'L', 'i', 'n', 'e', 0,
    'P', 'a', 'r', 'e', 'n', 't', 0,
    'X', 'S', 'L', 'T', '2', '0', 0,
    '_', '_', 'e', 'q', '_', '_', 0,
    '_', '_', 'n', 'e', '_', '_', 0,
    'c', 'o', 'l', 'u', 'm', 'n', 0,
    'i', 's', 'N', 'o', 'd', 'e', 0,
    'i', 's', 'N', 'u', 'l', 'l', 0,
    'p', 'a', 'r', 'e', 'n', 't', 0,
    'p', 'r', 'e', 'f', 'i', 'x', 0,
    's', 'c', 'h', 'e', 'm', 'a', 0,
    's', 'e', 't', 'U', 'r', 'i', 0,
    'c', 'o', 'd', 'e', 'c', 0,
    'e', 'v', 'e', 'n', 't', 0,
    'm', 'o', 'd', 'e', 'l', 0,
    'T', 'e', 'x', 't', 0,
    'd', 'a', 't', 'a', 0,
    'k', 'i', 'n', 'd', 0,
    'l', 'i', 'n', 'e', 0,
    'l', 'o', 'a', 'd', 0,
    'n', 'a', 'm', 'e', 0,
    'n', 'e', 'x', 't', 0,
    'p', 'o', 'o', 'l', 0,
    'r', 'o', 'o', 't', 0,
    'u', 'r', 'i', 0,
    'I', 's', 0,
};

void sipVH_QtXmlPatterns_26(sip_gilstate_t sipGILState, sipVirtErrorHandlerFunc sipErrorHandler, sipSimpleWrapper *sipPySelf, PyObject *sipMethod, const  ::QVariant& a0)
{
    sipCallProcedureMethod(sipGILState, sipErrorHandler, sipPySelf, sipMethod, "N", new  ::QVariant(a0), sipType_QVariant, SIP_NULLPTR);
}

void sipVH_QtXmlPatterns_25(sip_gilstate_t sipGILState, sipVirtErrorHandlerFunc sipErrorHandler, sipSimpleWrapper *sipPySelf, PyObject *sipMethod, const  ::QXmlName& a0,const  ::QString& a1)
{
    sipCallProcedureMethod(sipGILState, sipErrorHandler, sipPySelf, sipMethod, "NN", new  ::QXmlName(a0), sipType_QXmlName, SIP_NULLPTR, new  ::QString(a1), sipType_QString, SIP_NULLPTR);
}

void sipVH_QtXmlPatterns_24(sip_gilstate_t sipGILState, sipVirtErrorHandlerFunc sipErrorHandler, sipSimpleWrapper *sipPySelf, PyObject *sipMethod, const  ::QStringRef& a0)
{
    sipCallProcedureMethod(sipGILState, sipErrorHandler, sipPySelf, sipMethod, "N", new  ::QStringRef(a0), sipType_QStringRef, SIP_NULLPTR);
}

void sipVH_QtXmlPatterns_23(sip_gilstate_t sipGILState, sipVirtErrorHandlerFunc sipErrorHandler, sipSimpleWrapper *sipPySelf, PyObject *sipMethod, const  ::QString& a0)
{
    sipCallProcedureMethod(sipGILState, sipErrorHandler, sipPySelf, sipMethod, "N", new  ::QString(a0), sipType_QString, SIP_NULLPTR);
}

void sipVH_QtXmlPatterns_22(sip_gilstate_t sipGILState, sipVirtErrorHandlerFunc sipErrorHandler, sipSimpleWrapper *sipPySelf, PyObject *sipMethod, const  ::QXmlName& a0,const  ::QStringRef& a1)
{
    sipCallProcedureMethod(sipGILState, sipErrorHandler, sipPySelf, sipMethod, "NN", new  ::QXmlName(a0), sipType_QXmlName, SIP_NULLPTR, new  ::QStringRef(a1), sipType_QStringRef, SIP_NULLPTR);
}

void sipVH_QtXmlPatterns_21(sip_gilstate_t sipGILState, sipVirtErrorHandlerFunc sipErrorHandler, sipSimpleWrapper *sipPySelf, PyObject *sipMethod)
{
    sipCallProcedureMethod(sipGILState, sipErrorHandler, sipPySelf, sipMethod, "");
}

void sipVH_QtXmlPatterns_20(sip_gilstate_t sipGILState, sipVirtErrorHandlerFunc sipErrorHandler, sipSimpleWrapper *sipPySelf, PyObject *sipMethod, const  ::QXmlName& a0)
{
    sipCallProcedureMethod(sipGILState, sipErrorHandler, sipPySelf, sipMethod, "N", new  ::QXmlName(a0), sipType_QXmlName, SIP_NULLPTR);
}

QVector< ::QXmlNodeModelIndex> sipVH_QtXmlPatterns_19(sip_gilstate_t sipGILState, sipVirtErrorHandlerFunc sipErrorHandler, sipSimpleWrapper *sipPySelf, PyObject *sipMethod, const  ::QXmlNodeModelIndex& a0)
{
    QVector< ::QXmlNodeModelIndex> sipRes;
    PyObject *sipResObj = sipCallMethod(SIP_NULLPTR, sipMethod, "N", new  ::QXmlNodeModelIndex(a0), sipType_QXmlNodeModelIndex, SIP_NULLPTR);

    sipParseResultEx(sipGILState, sipErrorHandler, sipPySelf, sipMethod, sipResObj, "H5", sipType_QVector_0100QXmlNodeModelIndex, &sipRes);

    return sipRes;
}

 ::QXmlNodeModelIndex sipVH_QtXmlPatterns_18(sip_gilstate_t sipGILState, sipVirtErrorHandlerFunc sipErrorHandler, sipSimpleWrapper *sipPySelf, PyObject *sipMethod,  ::QAbstractXmlNodeModel::SimpleAxis a0,const  ::QXmlNodeModelIndex& a1)
{
     ::QXmlNodeModelIndex sipRes;
    PyObject *sipResObj = sipCallMethod(SIP_NULLPTR, sipMethod, "FN", a0, sipType_QAbstractXmlNodeModel_SimpleAxis, new  ::QXmlNodeModelIndex(a1), sipType_QXmlNodeModelIndex, SIP_NULLPTR);

    sipParseResultEx(sipGILState, sipErrorHandler, sipPySelf, sipMethod, sipResObj, "H5", sipType_QXmlNodeModelIndex, &sipRes);

    return sipRes;
}

QVector< ::QXmlNodeModelIndex> sipVH_QtXmlPatterns_17(sip_gilstate_t sipGILState, sipVirtErrorHandlerFunc sipErrorHandler, sipSimpleWrapper *sipPySelf, PyObject *sipMethod, const  ::QXmlName& a0)
{
    QVector< ::QXmlNodeModelIndex> sipRes;
    PyObject *sipResObj = sipCallMethod(SIP_NULLPTR, sipMethod, "N", new  ::QXmlName(a0), sipType_QXmlName, SIP_NULLPTR);

    sipParseResultEx(sipGILState, sipErrorHandler, sipPySelf, sipMethod, sipResObj, "H5", sipType_QVector_0100QXmlNodeModelIndex, &sipRes);

    return sipRes;
}

 ::QXmlNodeModelIndex sipVH_QtXmlPatterns_16(sip_gilstate_t sipGILState, sipVirtErrorHandlerFunc sipErrorHandler, sipSimpleWrapper *sipPySelf, PyObject *sipMethod, const  ::QXmlName& a0)
{
     ::QXmlNodeModelIndex sipRes;
    PyObject *sipResObj = sipCallMethod(SIP_NULLPTR, sipMethod, "N", new  ::QXmlName(a0), sipType_QXmlName, SIP_NULLPTR);

    sipParseResultEx(sipGILState, sipErrorHandler, sipPySelf, sipMethod, sipResObj, "H5", sipType_QXmlNodeModelIndex, &sipRes);

    return sipRes;
}

QVector< ::QXmlName> sipVH_QtXmlPatterns_15(sip_gilstate_t sipGILState, sipVirtErrorHandlerFunc sipErrorHandler, sipSimpleWrapper *sipPySelf, PyObject *sipMethod, const  ::QXmlNodeModelIndex& a0)
{
    QVector< ::QXmlName> sipRes;
    PyObject *sipResObj = sipCallMethod(SIP_NULLPTR, sipMethod, "N", new  ::QXmlNodeModelIndex(a0), sipType_QXmlNodeModelIndex, SIP_NULLPTR);

    sipParseResultEx(sipGILState, sipErrorHandler, sipPySelf, sipMethod, sipResObj, "H5", sipType_QVector_0100QXmlName, &sipRes);

    return sipRes;
}

 ::QVariant sipVH_QtXmlPatterns_14(sip_gilstate_t sipGILState, sipVirtErrorHandlerFunc sipErrorHandler, sipSimpleWrapper *sipPySelf, PyObject *sipMethod, const  ::QXmlNodeModelIndex& a0)
{
     ::QVariant sipRes;
    PyObject *sipResObj = sipCallMethod(SIP_NULLPTR, sipMethod, "N", new  ::QXmlNodeModelIndex(a0), sipType_QXmlNodeModelIndex, SIP_NULLPTR);

    sipParseResultEx(sipGILState, sipErrorHandler, sipPySelf, sipMethod, sipResObj, "H5", sipType_QVariant, &sipRes);

    return sipRes;
}

 ::QString sipVH_QtXmlPatterns_13(sip_gilstate_t sipGILState, sipVirtErrorHandlerFunc sipErrorHandler, sipSimpleWrapper *sipPySelf, PyObject *sipMethod, const  ::QXmlNodeModelIndex& a0)
{
     ::QString sipRes;
    PyObject *sipResObj = sipCallMethod(SIP_NULLPTR, sipMethod, "N", new  ::QXmlNodeModelIndex(a0), sipType_QXmlNodeModelIndex, SIP_NULLPTR);

    sipParseResultEx(sipGILState, sipErrorHandler, sipPySelf, sipMethod, sipResObj, "H5", sipType_QString, &sipRes);

    return sipRes;
}

 ::QXmlName sipVH_QtXmlPatterns_12(sip_gilstate_t sipGILState, sipVirtErrorHandlerFunc sipErrorHandler, sipSimpleWrapper *sipPySelf, PyObject *sipMethod, const  ::QXmlNodeModelIndex& a0)
{
     ::QXmlName sipRes;
    PyObject *sipResObj = sipCallMethod(SIP_NULLPTR, sipMethod, "N", new  ::QXmlNodeModelIndex(a0), sipType_QXmlNodeModelIndex, SIP_NULLPTR);

    sipParseResultEx(sipGILState, sipErrorHandler, sipPySelf, sipMethod, sipResObj, "H5", sipType_QXmlName, &sipRes);

    return sipRes;
}

 ::QXmlNodeModelIndex sipVH_QtXmlPatterns_11(sip_gilstate_t sipGILState, sipVirtErrorHandlerFunc sipErrorHandler, sipSimpleWrapper *sipPySelf, PyObject *sipMethod, const  ::QXmlNodeModelIndex& a0)
{
     ::QXmlNodeModelIndex sipRes;
    PyObject *sipResObj = sipCallMethod(SIP_NULLPTR, sipMethod, "N", new  ::QXmlNodeModelIndex(a0), sipType_QXmlNodeModelIndex, SIP_NULLPTR);

    sipParseResultEx(sipGILState, sipErrorHandler, sipPySelf, sipMethod, sipResObj, "H5", sipType_QXmlNodeModelIndex, &sipRes);

    return sipRes;
}

 ::QXmlNodeModelIndex::DocumentOrder sipVH_QtXmlPatterns_10(sip_gilstate_t sipGILState, sipVirtErrorHandlerFunc sipErrorHandler, sipSimpleWrapper *sipPySelf, PyObject *sipMethod, const  ::QXmlNodeModelIndex& a0,const  ::QXmlNodeModelIndex& a1)
{
     ::QXmlNodeModelIndex::DocumentOrder sipRes =  ::QXmlNodeModelIndex::Precedes;
    PyObject *sipResObj = sipCallMethod(SIP_NULLPTR, sipMethod, "NN", new  ::QXmlNodeModelIndex(a0), sipType_QXmlNodeModelIndex, SIP_NULLPTR, new  ::QXmlNodeModelIndex(a1), sipType_QXmlNodeModelIndex, SIP_NULLPTR);

    sipParseResultEx(sipGILState, sipErrorHandler, sipPySelf, sipMethod, sipResObj, "F", sipType_QXmlNodeModelIndex_DocumentOrder, &sipRes);

    return sipRes;
}

 ::QXmlNodeModelIndex::NodeKind sipVH_QtXmlPatterns_9(sip_gilstate_t sipGILState, sipVirtErrorHandlerFunc sipErrorHandler, sipSimpleWrapper *sipPySelf, PyObject *sipMethod, const  ::QXmlNodeModelIndex& a0)
{
     ::QXmlNodeModelIndex::NodeKind sipRes =  ::QXmlNodeModelIndex::Attribute;
    PyObject *sipResObj = sipCallMethod(SIP_NULLPTR, sipMethod, "N", new  ::QXmlNodeModelIndex(a0), sipType_QXmlNodeModelIndex, SIP_NULLPTR);

    sipParseResultEx(sipGILState, sipErrorHandler, sipPySelf, sipMethod, sipResObj, "F", sipType_QXmlNodeModelIndex_NodeKind, &sipRes);

    return sipRes;
}

 ::QUrl sipVH_QtXmlPatterns_8(sip_gilstate_t sipGILState, sipVirtErrorHandlerFunc sipErrorHandler, sipSimpleWrapper *sipPySelf, PyObject *sipMethod, const  ::QXmlNodeModelIndex& a0)
{
     ::QUrl sipRes;
    PyObject *sipResObj = sipCallMethod(SIP_NULLPTR, sipMethod, "N", new  ::QXmlNodeModelIndex(a0), sipType_QXmlNodeModelIndex, SIP_NULLPTR);

    sipParseResultEx(sipGILState, sipErrorHandler, sipPySelf, sipMethod, sipResObj, "H5", sipType_QUrl, &sipRes);

    return sipRes;
}

 ::QUrl sipVH_QtXmlPatterns_7(sip_gilstate_t sipGILState, sipVirtErrorHandlerFunc sipErrorHandler, sipSimpleWrapper *sipPySelf, PyObject *sipMethod, const  ::QUrl& a0,const  ::QUrl& a1)
{
     ::QUrl sipRes;
    PyObject *sipResObj = sipCallMethod(SIP_NULLPTR, sipMethod, "NN", new  ::QUrl(a0), sipType_QUrl, SIP_NULLPTR, new  ::QUrl(a1), sipType_QUrl, SIP_NULLPTR);

    sipParseResultEx(sipGILState, sipErrorHandler, sipPySelf, sipMethod, sipResObj, "H5", sipType_QUrl, &sipRes);

    return sipRes;
}

void sipVH_QtXmlPatterns_6(sip_gilstate_t sipGILState, sipVirtErrorHandlerFunc sipErrorHandler, sipSimpleWrapper *sipPySelf, PyObject *sipMethod,  ::QtMsgType a0,const  ::QString& a1,const  ::QUrl& a2,const  ::QSourceLocation& a3)
{
    sipCallProcedureMethod(sipGILState, sipErrorHandler, sipPySelf, sipMethod, "FNNN", a0, sipType_QtMsgType, new  ::QString(a1), sipType_QString, SIP_NULLPTR, new  ::QUrl(a2), sipType_QUrl, SIP_NULLPTR, new  ::QSourceLocation(a3), sipType_QSourceLocation, SIP_NULLPTR);
}

bool sipVH_QtXmlPatterns_5(sip_gilstate_t sipGILState, sipVirtErrorHandlerFunc sipErrorHandler, sipSimpleWrapper *sipPySelf, PyObject *sipMethod,  ::QEvent*a0)
{
    bool sipRes = 0;
    PyObject *sipResObj = sipCallMethod(SIP_NULLPTR, sipMethod, "D", a0, sipType_QEvent, SIP_NULLPTR);

    sipParseResultEx(sipGILState, sipErrorHandler, sipPySelf, sipMethod, sipResObj, "b", &sipRes);

    return sipRes;
}

bool sipVH_QtXmlPatterns_4(sip_gilstate_t sipGILState, sipVirtErrorHandlerFunc sipErrorHandler, sipSimpleWrapper *sipPySelf, PyObject *sipMethod,  ::QObject*a0, ::QEvent*a1)
{
    bool sipRes = 0;
    PyObject *sipResObj = sipCallMethod(SIP_NULLPTR, sipMethod, "DD", a0, sipType_QObject, SIP_NULLPTR, a1, sipType_QEvent, SIP_NULLPTR);

    sipParseResultEx(sipGILState, sipErrorHandler, sipPySelf, sipMethod, sipResObj, "b", &sipRes);

    return sipRes;
}

void sipVH_QtXmlPatterns_3(sip_gilstate_t sipGILState, sipVirtErrorHandlerFunc sipErrorHandler, sipSimpleWrapper *sipPySelf, PyObject *sipMethod,  ::QTimerEvent*a0)
{
    sipCallProcedureMethod(sipGILState, sipErrorHandler, sipPySelf, sipMethod, "D", a0, sipType_QTimerEvent, SIP_NULLPTR);
}

void sipVH_QtXmlPatterns_2(sip_gilstate_t sipGILState, sipVirtErrorHandlerFunc sipErrorHandler, sipSimpleWrapper *sipPySelf, PyObject *sipMethod,  ::QChildEvent*a0)
{
    sipCallProcedureMethod(sipGILState, sipErrorHandler, sipPySelf, sipMethod, "D", a0, sipType_QChildEvent, SIP_NULLPTR);
}

void sipVH_QtXmlPatterns_1(sip_gilstate_t sipGILState, sipVirtErrorHandlerFunc sipErrorHandler, sipSimpleWrapper *sipPySelf, PyObject *sipMethod,  ::QEvent*a0)
{
    sipCallProcedureMethod(sipGILState, sipErrorHandler, sipPySelf, sipMethod, "D", a0, sipType_QEvent, SIP_NULLPTR);
}

void sipVH_QtXmlPatterns_0(sip_gilstate_t sipGILState, sipVirtErrorHandlerFunc sipErrorHandler, sipSimpleWrapper *sipPySelf, PyObject *sipMethod, const  ::QMetaMethod& a0)
{
    sipCallProcedureMethod(sipGILState, sipErrorHandler, sipPySelf, sipMethod, "N", new  ::QMetaMethod(a0), sipType_QMetaMethod, SIP_NULLPTR);
}


/* Convert to a sub-class if possible. */
extern "C" {static const sipTypeDef *sipSubClass_QAbstractMessageHandler(void **);}
static const sipTypeDef *sipSubClass_QAbstractMessageHandler(void **sipCppRet)
{
     ::QObject *sipCpp = reinterpret_cast< ::QObject *>(*sipCppRet);
    const sipTypeDef *sipType;

#line 30 "/build/pyqt5/src/PyQt5-5.15.7/sip/QtXmlPatterns/qabstractmessagehandler.sip"
    static struct class_graph {
        const char *name;
        sipTypeDef **type;
        int yes, no;
    } graph[] = {
        {sipName_QAbstractUriResolver, &sipType_QAbstractUriResolver, -1, 1},
        {sipName_QAbstractMessageHandler, &sipType_QAbstractMessageHandler, -1, -1},
    };
    
    int i = 0;
    
    sipType = NULL;
    
    do
    {
        struct class_graph *cg = &graph[i];
    
        if (cg->name != NULL && sipCpp->inherits(cg->name))
        {
            sipType = *cg->type;
            i = cg->yes;
        }
        else
            i = cg->no;
    }
    while (i >= 0);
#line 467 "/build/pyqt5/src/PyQt5-5.15.7/build/QtXmlPatterns/sipQtXmlPatternscmodule.cpp"

    return sipType;
}
static sipEnumTypeDef enumTypes[] = {
    {{-1, SIP_NULLPTR, SIP_NULLPTR, SIP_TYPE_ENUM, sipNameNr_QAbstractXmlNodeModel__SimpleAxis, SIP_NULLPTR, 0}, sipNameNr_SimpleAxis, 2, SIP_NULLPTR},
    {{-1, SIP_NULLPTR, SIP_NULLPTR, SIP_TYPE_ENUM, sipNameNr_QXmlNodeModelIndex__DocumentOrder, SIP_NULLPTR, 0}, sipNameNr_DocumentOrder, 13, SIP_NULLPTR},
    {{-1, SIP_NULLPTR, SIP_NULLPTR, SIP_TYPE_ENUM, sipNameNr_QXmlNodeModelIndex__NodeKind, SIP_NULLPTR, 0}, sipNameNr_NodeKind, 13, SIP_NULLPTR},
    {{-1, SIP_NULLPTR, SIP_NULLPTR, SIP_TYPE_ENUM, sipNameNr_QXmlQuery__QueryLanguage, SIP_NULLPTR, 0}, sipNameNr_QueryLanguage, 16, SIP_NULLPTR},
};


/*
 * This defines each type in this module.
 */
sipTypeDef *sipExportedTypes_QtXmlPatterns[] = {
    &sipTypeDef_QtXmlPatterns_QAbstractMessageHandler.ctd_base,
    &sipTypeDef_QtXmlPatterns_QAbstractUriResolver.ctd_base,
    &sipTypeDef_QtXmlPatterns_QAbstractXmlNodeModel.ctd_base,
    &enumTypes[0].etd_base,
    &sipTypeDef_QtXmlPatterns_QAbstractXmlReceiver.ctd_base,
    &sipTypeDef_QtXmlPatterns_QSimpleXmlNodeModel.ctd_base,
    &sipTypeDef_QtXmlPatterns_QSourceLocation.ctd_base,
    &sipTypeDef_QtXmlPatterns_QVector_0100QXmlName.mtd_base,
    &sipTypeDef_QtXmlPatterns_QVector_0100QXmlNodeModelIndex.mtd_base,
    &sipTypeDef_QtXmlPatterns_QXmlFormatter.ctd_base,
    &sipTypeDef_QtXmlPatterns_QXmlItem.ctd_base,
    &sipTypeDef_QtXmlPatterns_QXmlName.ctd_base,
    &sipTypeDef_QtXmlPatterns_QXmlNamePool.ctd_base,
    &sipTypeDef_QtXmlPatterns_QXmlNodeModelIndex.ctd_base,
    &enumTypes[1].etd_base,
    &enumTypes[2].etd_base,
    &sipTypeDef_QtXmlPatterns_QXmlQuery.ctd_base,
    &enumTypes[3].etd_base,
    &sipTypeDef_QtXmlPatterns_QXmlResultItems.ctd_base,
    &sipTypeDef_QtXmlPatterns_QXmlSchema.ctd_base,
    &sipTypeDef_QtXmlPatterns_QXmlSchemaValidator.ctd_base,
    &sipTypeDef_QtXmlPatterns_QXmlSerializer.ctd_base,
};


/* This defines the types that this module needs to import from QtCore. */
sipImportedTypeDef sipImportedTypes_QtXmlPatterns_QtCore[] = {
    {"QByteArray"},
    {"QChildEvent"},
    {"QEvent"},
    {"QIODevice"},
    {"QMetaMethod"},
    {"QObject"},
    {"QString"},
    {"QStringRef"},
    {"QTextCodec"},
    {"QTimerEvent"},
    {"QUrl"},
    {"QVariant"},
    {"QtMsgType"},
    {SIP_NULLPTR}
};


/*
 * This defines the virtual error handlers that this module needs to import
 * from QtCore.
 */
sipImportedVirtErrorHandlerDef sipImportedVirtErrorHandlers_QtXmlPatterns_QtCore[] = {
    {"PyQt5"},
    {SIP_NULLPTR}
};


/* This defines the types that this module needs to import from QtNetwork. */
sipImportedTypeDef sipImportedTypes_QtXmlPatterns_QtNetwork[] = {
    {"QNetworkAccessManager"},
    {SIP_NULLPTR}
};


/* This defines the modules that this module needs to import. */
static sipImportedModuleDef importsTable[] = {
    {"PyQt5.QtCore", sipImportedTypes_QtXmlPatterns_QtCore, sipImportedVirtErrorHandlers_QtXmlPatterns_QtCore, SIP_NULLPTR},
    {"PyQt5.QtNetwork", sipImportedTypes_QtXmlPatterns_QtNetwork, SIP_NULLPTR, SIP_NULLPTR},
    {SIP_NULLPTR, SIP_NULLPTR, SIP_NULLPTR, SIP_NULLPTR}
};


/* This defines the class sub-convertors that this module defines. */
static sipSubClassConvertorDef convertorsTable[] = {
    {sipSubClass_QAbstractMessageHandler, {5, 0, 0}, SIP_NULLPTR},
    {SIP_NULLPTR, {0, 0, 0}, SIP_NULLPTR}
};


/* This defines this module. */
sipExportedModuleDef sipModuleAPI_QtXmlPatterns = {
    SIP_NULLPTR,
    11,
    sipNameNr_PyQt5_QtXmlPatterns,
    0,
    sipStrings_QtXmlPatterns,
    importsTable,
    SIP_NULLPTR,
    22,
    sipExportedTypes_QtXmlPatterns,
    SIP_NULLPTR,
    0,
    SIP_NULLPTR,
    0,
    SIP_NULLPTR,
    SIP_NULLPTR,
    convertorsTable,
    {SIP_NULLPTR, SIP_NULLPTR, SIP_NULLPTR, SIP_NULLPTR, SIP_NULLPTR, SIP_NULLPTR, SIP_NULLPTR, SIP_NULLPTR, SIP_NULLPTR, SIP_NULLPTR},
    SIP_NULLPTR,
    SIP_NULLPTR,
    SIP_NULLPTR,
    SIP_NULLPTR,
    SIP_NULLPTR,
    SIP_NULLPTR,
    SIP_NULLPTR,
    SIP_NULLPTR,
    SIP_NULLPTR,
};


/* The SIP API and the APIs of any imported modules. */
const sipAPIDef *sipAPI_QtXmlPatterns;

sip_qt_metaobject_func sip_QtXmlPatterns_qt_metaobject;
sip_qt_metacall_func sip_QtXmlPatterns_qt_metacall;
sip_qt_metacast_func sip_QtXmlPatterns_qt_metacast;


/* The Python module initialisation function. */
#if defined(SIP_STATIC_MODULE)
extern "C" PyObject *PyInit_QtXmlPatterns()
#else
PyMODINIT_FUNC PyInit_QtXmlPatterns()
#endif
{
    static PyMethodDef sip_methods[] = {
        {SIP_NULLPTR, SIP_NULLPTR, 0, SIP_NULLPTR}
    };

    static PyModuleDef sip_module_def = {
        PyModuleDef_HEAD_INIT,
        "PyQt5.QtXmlPatterns",
        SIP_NULLPTR,
        -1,
        sip_methods,
        SIP_NULLPTR,
        SIP_NULLPTR,
        SIP_NULLPTR,
        SIP_NULLPTR
    };

    PyObject *sipModule, *sipModuleDict;
    PyObject *sip_sipmod, *sip_capiobj;

    /* Initialise the module and get it's dictionary. */
    if ((sipModule = PyModule_Create(&sip_module_def)) == SIP_NULLPTR)
        return SIP_NULLPTR;

    sipModuleDict = PyModule_GetDict(sipModule);

    /* Get the SIP module's API. */
    if ((sip_sipmod = PyImport_ImportModule("PyQt5.sip")) == SIP_NULLPTR)
    {
        Py_DECREF(sipModule);
        return SIP_NULLPTR;
    }

    sip_capiobj = PyDict_GetItemString(PyModule_GetDict(sip_sipmod), "_C_API");
    Py_DECREF(sip_sipmod);

    if (sip_capiobj == SIP_NULLPTR || !PyCapsule_CheckExact(sip_capiobj))
    {
        PyErr_SetString(PyExc_AttributeError, "PyQt5.sip._C_API is missing or has the wrong type");
        Py_DECREF(sipModule);
        return SIP_NULLPTR;
    }

    sipAPI_QtXmlPatterns = reinterpret_cast<const sipAPIDef *>(PyCapsule_GetPointer(sip_capiobj, "PyQt5.sip._C_API"));

    if (sipAPI_QtXmlPatterns == SIP_NULLPTR)
    {
        Py_DECREF(sipModule);
        return SIP_NULLPTR;
    }

    /* Export the module and publish it's API. */
    if (sipExportModule(&sipModuleAPI_QtXmlPatterns, 12, 11, 0) < 0)
    {
        Py_DECREF(sipModule);
        return SIP_NULLPTR;
    }

    sip_QtXmlPatterns_qt_metaobject = (sip_qt_metaobject_func)sipImportSymbol("qtcore_qt_metaobject");
    sip_QtXmlPatterns_qt_metacall = (sip_qt_metacall_func)sipImportSymbol("qtcore_qt_metacall");
    sip_QtXmlPatterns_qt_metacast = (sip_qt_metacast_func)sipImportSymbol("qtcore_qt_metacast");

    if (!sip_QtXmlPatterns_qt_metacast)
        Py_FatalError("Unable to import qtcore_qt_metacast");

    /* Initialise the module now all its dependencies have been set up. */
    if (sipInitModule(&sipModuleAPI_QtXmlPatterns,sipModuleDict) < 0)
    {
        Py_DECREF(sipModule);
        return SIP_NULLPTR;
    }

    return sipModule;
}
