From 9f2a9aba3aff73e31ea15eb4a7a04b0e50f4ee4e Mon Sep 17 00:00:00 2001 From: Friedemann Kleint Date: Fri, 5 Jan 2018 15:58:35 +0100 Subject: Move examples from submodule to pyside-setup Move PySide2 examples that are owned by the Qt Company to a new examples directory. Done-with: Venugopal Shivashankar Task-number: PYSIDE-363 Change-Id: I14099764d9eef2bc35e067086121427955862e3a Reviewed-by: Alexandru Croitor --- examples/xmlpatterns/schema/files/contact.xsd | 25 + .../xmlpatterns/schema/files/invalid_contact.xml | 11 + .../xmlpatterns/schema/files/invalid_order.xml | 13 + .../xmlpatterns/schema/files/invalid_recipe.xml | 14 + examples/xmlpatterns/schema/files/order.xsd | 23 + examples/xmlpatterns/schema/files/recipe.xsd | 40 ++ .../xmlpatterns/schema/files/valid_contact.xml | 11 + examples/xmlpatterns/schema/files/valid_order.xml | 18 + examples/xmlpatterns/schema/files/valid_recipe.xml | 13 + examples/xmlpatterns/schema/schema.py | 278 ++++++++++++ examples/xmlpatterns/schema/schema.qrc | 13 + examples/xmlpatterns/schema/schema.ui | 71 +++ examples/xmlpatterns/schema/schema_rc.py | 501 +++++++++++++++++++++ examples/xmlpatterns/schema/ui_schema.py | 62 +++ 14 files changed, 1093 insertions(+) create mode 100644 examples/xmlpatterns/schema/files/contact.xsd create mode 100644 examples/xmlpatterns/schema/files/invalid_contact.xml create mode 100644 examples/xmlpatterns/schema/files/invalid_order.xml create mode 100644 examples/xmlpatterns/schema/files/invalid_recipe.xml create mode 100644 examples/xmlpatterns/schema/files/order.xsd create mode 100644 examples/xmlpatterns/schema/files/recipe.xsd create mode 100644 examples/xmlpatterns/schema/files/valid_contact.xml create mode 100644 examples/xmlpatterns/schema/files/valid_order.xml create mode 100644 examples/xmlpatterns/schema/files/valid_recipe.xml create mode 100755 examples/xmlpatterns/schema/schema.py create mode 100644 examples/xmlpatterns/schema/schema.qrc create mode 100644 examples/xmlpatterns/schema/schema.ui create mode 100644 examples/xmlpatterns/schema/schema_rc.py create mode 100644 examples/xmlpatterns/schema/ui_schema.py (limited to 'examples/xmlpatterns/schema') diff --git a/examples/xmlpatterns/schema/files/contact.xsd b/examples/xmlpatterns/schema/files/contact.xsd new file mode 100644 index 000000000..3e1b5704c --- /dev/null +++ b/examples/xmlpatterns/schema/files/contact.xsd @@ -0,0 +1,25 @@ + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/examples/xmlpatterns/schema/files/invalid_contact.xml b/examples/xmlpatterns/schema/files/invalid_contact.xml new file mode 100644 index 000000000..42f1edd67 --- /dev/null +++ b/examples/xmlpatterns/schema/files/invalid_contact.xml @@ -0,0 +1,11 @@ + + John + Doe + Prof. + + Sandakerveien 116 + N-0550 + Oslo + Norway + + diff --git a/examples/xmlpatterns/schema/files/invalid_order.xml b/examples/xmlpatterns/schema/files/invalid_order.xml new file mode 100644 index 000000000..8ffc5fda4 --- /dev/null +++ b/examples/xmlpatterns/schema/files/invalid_order.xml @@ -0,0 +1,13 @@ + + 234219 +
+ 21692 + 3 +
+
+ 24749 + 9 +
+ 2009-01-23 + yes +
diff --git a/examples/xmlpatterns/schema/files/invalid_recipe.xml b/examples/xmlpatterns/schema/files/invalid_recipe.xml new file mode 100644 index 000000000..4d75af6a1 --- /dev/null +++ b/examples/xmlpatterns/schema/files/invalid_recipe.xml @@ -0,0 +1,14 @@ + + Cheese on Toast + + + diff --git a/examples/xmlpatterns/schema/files/order.xsd b/examples/xmlpatterns/schema/files/order.xsd new file mode 100644 index 000000000..405cafe43 --- /dev/null +++ b/examples/xmlpatterns/schema/files/order.xsd @@ -0,0 +1,23 @@ + + + + + + + + + + + + + + + + + + + + + + + diff --git a/examples/xmlpatterns/schema/files/recipe.xsd b/examples/xmlpatterns/schema/files/recipe.xsd new file mode 100644 index 000000000..bbbafd9a3 --- /dev/null +++ b/examples/xmlpatterns/schema/files/recipe.xsd @@ -0,0 +1,40 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/examples/xmlpatterns/schema/files/valid_contact.xml b/examples/xmlpatterns/schema/files/valid_contact.xml new file mode 100644 index 000000000..53c04d4b5 --- /dev/null +++ b/examples/xmlpatterns/schema/files/valid_contact.xml @@ -0,0 +1,11 @@ + + John + Doe + 1977-12-25 + + Sandakerveien 116 + N-0550 + Oslo + Norway + + diff --git a/examples/xmlpatterns/schema/files/valid_order.xml b/examples/xmlpatterns/schema/files/valid_order.xml new file mode 100644 index 000000000..f83c36cb1 --- /dev/null +++ b/examples/xmlpatterns/schema/files/valid_order.xml @@ -0,0 +1,18 @@ + + 194223 +
+ 22242 + 5 +
+
+ 32372 + 12 + without stripes +
+
+ 23649 + 2 +
+ 2009-01-23 + true +
diff --git a/examples/xmlpatterns/schema/files/valid_recipe.xml b/examples/xmlpatterns/schema/files/valid_recipe.xml new file mode 100644 index 000000000..f6499ba21 --- /dev/null +++ b/examples/xmlpatterns/schema/files/valid_recipe.xml @@ -0,0 +1,13 @@ + + Cheese on Toast + + + diff --git a/examples/xmlpatterns/schema/schema.py b/examples/xmlpatterns/schema/schema.py new file mode 100755 index 000000000..1a3c51e69 --- /dev/null +++ b/examples/xmlpatterns/schema/schema.py @@ -0,0 +1,278 @@ +#!/usr/bin/env python + +############################################################################# +## +## Copyright (C) 2013 Riverbank Computing Limited. +## Copyright (C) 2016 The Qt Company Ltd. +## Contact: http://www.qt.io/licensing/ +## +## This file is part of the PySide examples of the Qt Toolkit. +## +## $QT_BEGIN_LICENSE:BSD$ +## You may use this file under the terms of the BSD license as follows: +## +## "Redistribution and use in source and binary forms, with or without +## modification, are permitted provided that the following conditions are +## met: +## * Redistributions of source code must retain the above copyright +## notice, this list of conditions and the following disclaimer. +## * Redistributions in binary form must reproduce the above copyright +## notice, this list of conditions and the following disclaimer in +## the documentation and/or other materials provided with the +## distribution. +## * Neither the name of The Qt Company Ltd nor the names of its +## contributors may be used to endorse or promote products derived +## from this software without specific prior written permission. +## +## +## THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +## "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +## LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +## A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +## OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +## SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +## LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +## DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +## THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +## (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +## OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE." +## +## $QT_END_LICENSE$ +## +############################################################################# + +from PySide2 import QtCore, QtGui, QtWidgets, QtXmlPatterns + +import schema_rc +from ui_schema import Ui_SchemaMainWindow + + +try: + # Python v2. + unicode + + def encode_utf8(ba): + return unicode(ba, encoding='utf8') + + def decode_utf8(qs): + return QtCore.QByteArray(str(qs)) + +except NameError: + # Python v3. + + def encode_utf8(ba): + return str(ba, encoding='utf8') + + def decode_utf8(qs): + return QtCore.QByteArray(bytes(qs, encoding='utf8')) + + +class XmlSyntaxHighlighter(QtGui.QSyntaxHighlighter): + + def __init__(self, parent=None): + super(XmlSyntaxHighlighter, self).__init__(parent) + + self.highlightingRules = [] + + # Tag format. + format = QtGui.QTextCharFormat() + format.setForeground(QtCore.Qt.darkBlue) + format.setFontWeight(QtGui.QFont.Bold) + pattern = QtCore.QRegExp("(<[a-zA-Z:]+\\b|<\\?[a-zA-Z:]+\\b|\\?>|>|/>|)") + self.highlightingRules.append((pattern, format)) + + # Attribute format. + format = QtGui.QTextCharFormat() + format.setForeground(QtCore.Qt.darkGreen) + pattern = QtCore.QRegExp("[a-zA-Z:]+=") + self.highlightingRules.append((pattern, format)) + + # Attribute content format. + format = QtGui.QTextCharFormat() + format.setForeground(QtCore.Qt.red) + pattern = QtCore.QRegExp("(\"[^\"]*\"|'[^']*')") + self.highlightingRules.append((pattern, format)) + + # Comment format. + self.commentFormat = QtGui.QTextCharFormat() + self.commentFormat.setForeground(QtCore.Qt.lightGray) + self.commentFormat.setFontItalic(True) + + self.commentStartExpression = QtCore.QRegExp("") + + def highlightBlock(self, text): + for pattern, format in self.highlightingRules: + expression = QtCore.QRegExp(pattern) + index = expression.indexIn(text) + while index >= 0: + length = expression.matchedLength() + self.setFormat(index, length, format) + index = expression.indexIn(text, index + length) + + self.setCurrentBlockState(0) + + startIndex = 0 + if self.previousBlockState() != 1: + startIndex = self.commentStartExpression.indexIn(text) + + while startIndex >= 0: + endIndex = self.commentEndExpression.indexIn(text, startIndex) + if endIndex == -1: + self.setCurrentBlockState(1) + commentLength = text.length() - startIndex + else: + commentLength = endIndex - startIndex + self.commentEndExpression.matchedLength() + + self.setFormat(startIndex, commentLength, self.commentFormat) + startIndex = self.commentStartExpression.indexIn(text, + startIndex + commentLength) + + +class MessageHandler(QtXmlPatterns.QAbstractMessageHandler): + + def __init__(self): + super(MessageHandler, self).__init__() + + self.m_description = "" + self.m_sourceLocation = QtXmlPatterns.QSourceLocation() + + def statusMessage(self): + return self.m_description + + def line(self): + return self.m_sourceLocation.line() + + def column(self): + return self.m_sourceLocation.column() + + def handleMessage(self, type, description, identifier, sourceLocation): + self.m_description = description + self.m_sourceLocation = sourceLocation + + +class MainWindow(QtWidgets.QMainWindow, Ui_SchemaMainWindow): + + def __init__(self): + QtWidgets.QMainWindow.__init__(self) + + self.setupUi(self) + + XmlSyntaxHighlighter(self.schemaView.document()) + XmlSyntaxHighlighter(self.instanceEdit.document()) + + self.schemaSelection.addItem("Contact Schema") + self.schemaSelection.addItem("Recipe Schema") + self.schemaSelection.addItem("Order Schema") + + self.instanceSelection.addItem("Valid Contact Instance") + self.instanceSelection.addItem("Invalid Contact Instance") + + self.schemaSelection.currentIndexChanged[int].connect(self.schemaSelected) + self.instanceSelection.currentIndexChanged[int].connect(self.instanceSelected) + self.validateButton.clicked.connect(self.validate) + self.instanceEdit.textChanged.connect(self.textChanged) + + self.validationStatus.setAlignment(QtCore.Qt.AlignCenter | QtCore.Qt.AlignVCenter) + + self.schemaSelected(0) + self.instanceSelected(0) + + def schemaSelected(self, index): + self.instanceSelection.clear() + + if index == 0: + self.instanceSelection.addItem("Valid Contact Instance") + self.instanceSelection.addItem("Invalid Contact Instance") + elif index == 1: + self.instanceSelection.addItem("Valid Recipe Instance") + self.instanceSelection.addItem("Invalid Recipe Instance") + elif index == 2: + self.instanceSelection.addItem("Valid Order Instance") + self.instanceSelection.addItem("Invalid Order Instance") + + self.textChanged() + + schemaFile = QtCore.QFile(':/schema_%d.xsd' % index) + schemaFile.open(QtCore.QIODevice.ReadOnly) + schemaData = schemaFile.readAll() + self.schemaView.setPlainText(encode_utf8(schemaData)) + + self.validate() + + def instanceSelected(self, index): + if index is -1: + return + + index += 2 * self.schemaSelection.currentIndex() + instanceFile = QtCore.QFile(':/instance_%d.xml' % index) + instanceFile.open(QtCore.QIODevice.ReadOnly) + instanceData = instanceFile.readAll() + self.instanceEdit.setPlainText(encode_utf8(instanceData)) + + self.validate() + + def validate(self): + schemaData = decode_utf8(self.schemaView.toPlainText()) + instanceData = decode_utf8(self.instanceEdit.toPlainText()) + + messageHandler = MessageHandler() + + schema = QtXmlPatterns.QXmlSchema() + schema.setMessageHandler(messageHandler) + schema.load(schemaData, QtCore.QUrl()) + + errorOccurred = False + if not schema.isValid(): + errorOccurred = True + else: + validator = QtXmlPatterns.QXmlSchemaValidator(schema) + if not validator.validate(instanceData): + errorOccurred = True + + if errorOccurred: + self.validationStatus.setText(messageHandler.statusMessage()) + self.moveCursor(messageHandler.line(), messageHandler.column()) + background = QtCore.Qt.red + else: + self.validationStatus.setText("validation successful") + background = QtCore.Qt.green + + styleSheet = 'QLabel {background: %s; padding: 3px}' % QtGui.QColor(background).lighter(160).name() + self.validationStatus.setStyleSheet(styleSheet) + + def textChanged(self): + self.instanceEdit.setExtraSelections([]) + + def moveCursor(self, line, column): + self.instanceEdit.moveCursor(QtGui.QTextCursor.Start) + + for i in range(1, line): + self.instanceEdit.moveCursor(QtGui.QTextCursor.Down) + + for i in range(1, column): + self.instanceEdit.moveCursor(QtGui.QTextCursor.Right) + + extraSelections = [] + selection = QtWidgets.QTextEdit.ExtraSelection() + + lineColor = QtGui.QColor(QtCore.Qt.red).lighter(160) + selection.format.setBackground(lineColor) + selection.format.setProperty(QtGui.QTextFormat.FullWidthSelection, True) + selection.cursor = self.instanceEdit.textCursor() + selection.cursor.clearSelection() + extraSelections.append(selection) + + self.instanceEdit.setExtraSelections(extraSelections) + + self.instanceEdit.setFocus() + + +if __name__ == '__main__': + + import sys + + app = QtWidgets.QApplication(sys.argv) + window = MainWindow() + window.show() + sys.exit(app.exec_()) diff --git a/examples/xmlpatterns/schema/schema.qrc b/examples/xmlpatterns/schema/schema.qrc new file mode 100644 index 000000000..eb7ddfd7c --- /dev/null +++ b/examples/xmlpatterns/schema/schema.qrc @@ -0,0 +1,13 @@ + + + files/contact.xsd + files/recipe.xsd + files/order.xsd + files/valid_contact.xml + files/invalid_contact.xml + files/valid_recipe.xml + files/invalid_recipe.xml + files/valid_order.xml + files/invalid_order.xml + + diff --git a/examples/xmlpatterns/schema/schema.ui b/examples/xmlpatterns/schema/schema.ui new file mode 100644 index 000000000..b67f444d2 --- /dev/null +++ b/examples/xmlpatterns/schema/schema.ui @@ -0,0 +1,71 @@ + + + SchemaMainWindow + + + + 0 + 0 + 417 + 594 + + + + XML Schema Validation + + + + + + + XML Schema Document: + + + + + + + + + + + + + XML Instance Document: + + + + + + + + + + + + + Status: + + + + + + + not validated + + + + + + + Validate + + + + + + + + + + diff --git a/examples/xmlpatterns/schema/schema_rc.py b/examples/xmlpatterns/schema/schema_rc.py new file mode 100644 index 000000000..c4df53030 --- /dev/null +++ b/examples/xmlpatterns/schema/schema_rc.py @@ -0,0 +1,501 @@ +# -*- coding: utf-8 -*- + +############################################################################# +## +## Copyright (C) 2013 Riverbank Computing Limited. +## Copyright (C) 2016 The Qt Company Ltd. +## Contact: http://www.qt.io/licensing/ +## +## This file is part of the PySide examples of the Qt Toolkit. +## +## $QT_BEGIN_LICENSE:BSD$ +## You may use this file under the terms of the BSD license as follows: +## +## "Redistribution and use in source and binary forms, with or without +## modification, are permitted provided that the following conditions are +## met: +## * Redistributions of source code must retain the above copyright +## notice, this list of conditions and the following disclaimer. +## * Redistributions in binary form must reproduce the above copyright +## notice, this list of conditions and the following disclaimer in +## the documentation and/or other materials provided with the +## distribution. +## * Neither the name of The Qt Company Ltd nor the names of its +## contributors may be used to endorse or promote products derived +## from this software without specific prior written permission. +## +## +## THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +## "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +## LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +## A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +## OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +## SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +## LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +## DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +## THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +## (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +## OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE." +## +## $QT_END_LICENSE$ +## +############################################################################# + +# Resource object code +# +# Created: Tue Jul 27 10:50:50 2010 +# by: The Resource Compiler for PySide (Qt v4.6.2) +# +# WARNING! All changes made in this file will be lost! + +from PySide2 import QtCore + +qt_resource_data = b"\ +\x00\x00\x03\x67\ +\x3c\ +\x3f\x78\x6d\x6c\x20\x76\x65\x72\x73\x69\x6f\x6e\x3d\x22\x31\x2e\ +\x30\x22\x3f\x3e\x0a\x3c\x78\x73\x64\x3a\x73\x63\x68\x65\x6d\x61\ +\x20\x78\x6d\x6c\x6e\x73\x3a\x78\x73\x64\x3d\x22\x68\x74\x74\x70\ +\x3a\x2f\x2f\x77\x77\x77\x2e\x77\x33\x2e\x6f\x72\x67\x2f\x32\x30\ +\x30\x31\x2f\x58\x4d\x4c\x53\x63\x68\x65\x6d\x61\x22\x3e\x0a\x0a\ +\x20\x20\x20\x20\x3c\x78\x73\x64\x3a\x65\x6c\x65\x6d\x65\x6e\x74\ +\x20\x6e\x61\x6d\x65\x3d\x22\x6f\x72\x64\x65\x72\x22\x3e\x0a\x20\ +\x20\x20\x20\x20\x20\x20\x20\x3c\x78\x73\x64\x3a\x63\x6f\x6d\x70\ +\x6c\x65\x78\x54\x79\x70\x65\x3e\x0a\x20\x20\x20\x20\x20\x20\x20\ +\x20\x20\x20\x20\x20\x3c\x78\x73\x64\x3a\x73\x65\x71\x75\x65\x6e\ +\x63\x65\x3e\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\ +\x20\x20\x20\x20\x3c\x78\x73\x64\x3a\x65\x6c\x65\x6d\x65\x6e\x74\ +\x20\x6e\x61\x6d\x65\x3d\x22\x63\x75\x73\x74\x6f\x6d\x65\x72\x49\ +\x64\x22\x20\x74\x79\x70\x65\x3d\x22\x78\x73\x64\x3a\x70\x6f\x73\ +\x69\x74\x69\x76\x65\x49\x6e\x74\x65\x67\x65\x72\x22\x2f\x3e\x0a\ +\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\ +\x3c\x78\x73\x64\x3a\x65\x6c\x65\x6d\x65\x6e\x74\x20\x6e\x61\x6d\ +\x65\x3d\x22\x61\x72\x74\x69\x63\x6c\x65\x22\x20\x74\x79\x70\x65\ +\x3d\x22\x61\x72\x74\x69\x63\x6c\x65\x54\x79\x70\x65\x22\x20\x6d\ +\x61\x78\x4f\x63\x63\x75\x72\x73\x3d\x22\x75\x6e\x62\x6f\x75\x6e\ +\x64\x65\x64\x22\x2f\x3e\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\ +\x20\x20\x20\x20\x20\x20\x20\x3c\x78\x73\x64\x3a\x65\x6c\x65\x6d\ +\x65\x6e\x74\x20\x6e\x61\x6d\x65\x3d\x22\x64\x65\x6c\x69\x76\x65\ +\x72\x79\x44\x61\x74\x65\x22\x20\x74\x79\x70\x65\x3d\x22\x78\x73\ +\x64\x3a\x64\x61\x74\x65\x22\x2f\x3e\x0a\x20\x20\x20\x20\x20\x20\ +\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x3c\x78\x73\x64\x3a\x65\ +\x6c\x65\x6d\x65\x6e\x74\x20\x6e\x61\x6d\x65\x3d\x22\x70\x61\x79\ +\x65\x64\x22\x20\x74\x79\x70\x65\x3d\x22\x78\x73\x64\x3a\x62\x6f\ +\x6f\x6c\x65\x61\x6e\x22\x2f\x3e\x0a\x20\x20\x20\x20\x20\x20\x20\ +\x20\x20\x20\x20\x20\x3c\x2f\x78\x73\x64\x3a\x73\x65\x71\x75\x65\ +\x6e\x63\x65\x3e\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x3c\x2f\x78\ +\x73\x64\x3a\x63\x6f\x6d\x70\x6c\x65\x78\x54\x79\x70\x65\x3e\x0a\ +\x20\x20\x20\x20\x3c\x2f\x78\x73\x64\x3a\x65\x6c\x65\x6d\x65\x6e\ +\x74\x3e\x0a\x0a\x20\x20\x20\x20\x3c\x78\x73\x64\x3a\x63\x6f\x6d\ +\x70\x6c\x65\x78\x54\x79\x70\x65\x20\x6e\x61\x6d\x65\x3d\x22\x61\ +\x72\x74\x69\x63\x6c\x65\x54\x79\x70\x65\x22\x3e\x0a\x20\x20\x20\ +\x20\x20\x20\x20\x20\x3c\x78\x73\x64\x3a\x73\x65\x71\x75\x65\x6e\ +\x63\x65\x3e\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\ +\x3c\x78\x73\x64\x3a\x65\x6c\x65\x6d\x65\x6e\x74\x20\x6e\x61\x6d\ +\x65\x3d\x22\x61\x72\x74\x69\x63\x6c\x65\x49\x64\x22\x20\x74\x79\ +\x70\x65\x3d\x22\x78\x73\x64\x3a\x70\x6f\x73\x69\x74\x69\x76\x65\ +\x49\x6e\x74\x65\x67\x65\x72\x22\x2f\x3e\x0a\x20\x20\x20\x20\x20\ +\x20\x20\x20\x20\x20\x20\x20\x3c\x78\x73\x64\x3a\x65\x6c\x65\x6d\ +\x65\x6e\x74\x20\x6e\x61\x6d\x65\x3d\x22\x63\x6f\x75\x6e\x74\x22\ +\x20\x74\x79\x70\x65\x3d\x22\x78\x73\x64\x3a\x70\x6f\x73\x69\x74\ +\x69\x76\x65\x49\x6e\x74\x65\x67\x65\x72\x22\x2f\x3e\x0a\x20\x20\ +\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x3c\x78\x73\x64\x3a\x65\ +\x6c\x65\x6d\x65\x6e\x74\x20\x6e\x61\x6d\x65\x3d\x22\x63\x6f\x6d\ +\x6d\x65\x6e\x74\x22\x20\x74\x79\x70\x65\x3d\x22\x78\x73\x64\x3a\ +\x73\x74\x72\x69\x6e\x67\x22\x20\x6d\x69\x6e\x4f\x63\x63\x75\x72\ +\x73\x3d\x22\x30\x22\x2f\x3e\x0a\x20\x20\x20\x20\x20\x20\x20\x20\ +\x3c\x2f\x78\x73\x64\x3a\x73\x65\x71\x75\x65\x6e\x63\x65\x3e\x0a\ +\x20\x20\x20\x20\x3c\x2f\x78\x73\x64\x3a\x63\x6f\x6d\x70\x6c\x65\ +\x78\x54\x79\x70\x65\x3e\x0a\x0a\x3c\x2f\x78\x73\x64\x3a\x73\x63\ +\x68\x65\x6d\x61\x3e\x0a\ +\x00\x00\x01\x1d\ +\x3c\ +\x63\x6f\x6e\x74\x61\x63\x74\x3e\x0a\x20\x20\x20\x20\x3c\x67\x69\ +\x76\x65\x6e\x4e\x61\x6d\x65\x3e\x4a\x6f\x68\x6e\x3c\x2f\x67\x69\ +\x76\x65\x6e\x4e\x61\x6d\x65\x3e\x0a\x20\x20\x20\x20\x3c\x66\x61\ +\x6d\x69\x6c\x79\x4e\x61\x6d\x65\x3e\x44\x6f\x65\x3c\x2f\x66\x61\ +\x6d\x69\x6c\x79\x4e\x61\x6d\x65\x3e\x0a\x20\x20\x20\x20\x3c\x74\ +\x69\x74\x6c\x65\x3e\x50\x72\x6f\x66\x2e\x3c\x2f\x74\x69\x74\x6c\ +\x65\x3e\x0a\x20\x20\x20\x20\x3c\x77\x6f\x72\x6b\x41\x64\x64\x72\ +\x65\x73\x73\x3e\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x3c\x73\x74\ +\x72\x65\x65\x74\x3e\x53\x61\x6e\x64\x61\x6b\x65\x72\x76\x65\x69\ +\x65\x6e\x20\x31\x31\x36\x3c\x2f\x73\x74\x72\x65\x65\x74\x3e\x0a\ +\x20\x20\x20\x20\x20\x20\x20\x20\x3c\x7a\x69\x70\x43\x6f\x64\x65\ +\x3e\x4e\x2d\x30\x35\x35\x30\x3c\x2f\x7a\x69\x70\x43\x6f\x64\x65\ +\x3e\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x3c\x63\x69\x74\x79\x3e\ +\x4f\x73\x6c\x6f\x3c\x2f\x63\x69\x74\x79\x3e\x0a\x20\x20\x20\x20\ +\x20\x20\x20\x20\x3c\x63\x6f\x75\x6e\x74\x72\x79\x3e\x4e\x6f\x72\ +\x77\x61\x79\x3c\x2f\x63\x6f\x75\x6e\x74\x72\x79\x3e\x0a\x20\x20\ +\x20\x20\x3c\x2f\x77\x6f\x72\x6b\x41\x64\x64\x72\x65\x73\x73\x3e\ +\x0a\x3c\x2f\x63\x6f\x6e\x74\x61\x63\x74\x3e\x0a\ +\x00\x00\x02\x25\ +\x3c\ +\x72\x65\x63\x69\x70\x65\x3e\x0a\x20\x20\x20\x20\x3c\x74\x69\x74\ +\x6c\x65\x3e\x43\x68\x65\x65\x73\x65\x20\x6f\x6e\x20\x54\x6f\x61\ +\x73\x74\x3c\x2f\x74\x69\x74\x6c\x65\x3e\x0a\x20\x20\x20\x20\x3c\ +\x69\x6e\x67\x72\x65\x64\x69\x65\x6e\x74\x20\x6e\x61\x6d\x65\x3d\ +\x22\x42\x72\x65\x61\x64\x22\x20\x71\x75\x61\x6e\x74\x69\x74\x79\ +\x3d\x22\x32\x22\x20\x75\x6e\x69\x74\x3d\x22\x73\x6c\x69\x63\x65\ +\x73\x22\x2f\x3e\x0a\x20\x20\x20\x20\x3c\x69\x6e\x67\x72\x65\x64\ +\x69\x65\x6e\x74\x20\x6e\x61\x6d\x65\x3d\x22\x43\x68\x65\x65\x73\ +\x65\x22\x20\x71\x75\x61\x6e\x74\x69\x74\x79\x3d\x22\x32\x22\x20\ +\x75\x6e\x69\x74\x3d\x22\x73\x6c\x69\x63\x65\x73\x22\x2f\x3e\x0a\ +\x20\x20\x20\x20\x3c\x74\x69\x6d\x65\x20\x71\x75\x61\x6e\x74\x69\ +\x74\x79\x3d\x22\x33\x22\x20\x75\x6e\x69\x74\x3d\x22\x6d\x69\x6e\ +\x75\x74\x65\x73\x22\x2f\x3e\x0a\x20\x20\x20\x20\x3c\x6d\x65\x74\ +\x68\x6f\x64\x3e\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x3c\x73\x74\ +\x65\x70\x3e\x31\x2e\x20\x53\x6c\x69\x63\x65\x20\x74\x68\x65\x20\ +\x62\x72\x65\x61\x64\x20\x61\x6e\x64\x20\x63\x68\x65\x65\x73\x65\ +\x2e\x3c\x2f\x73\x74\x65\x70\x3e\x0a\x20\x20\x20\x20\x20\x20\x20\ +\x20\x3c\x73\x74\x65\x70\x3e\x32\x2e\x20\x47\x72\x69\x6c\x6c\x20\ +\x6f\x6e\x65\x20\x73\x69\x64\x65\x20\x6f\x66\x20\x65\x61\x63\x68\ +\x20\x73\x6c\x69\x63\x65\x20\x6f\x66\x20\x62\x72\x65\x61\x64\x2e\ +\x3c\x2f\x73\x74\x65\x70\x3e\x0a\x20\x20\x20\x20\x20\x20\x20\x20\ +\x3c\x73\x74\x65\x70\x3e\x33\x2e\x20\x54\x75\x72\x6e\x20\x6f\x76\ +\x65\x72\x20\x74\x68\x65\x20\x62\x72\x65\x61\x64\x20\x61\x6e\x64\ +\x20\x70\x6c\x61\x63\x65\x20\x61\x20\x73\x6c\x69\x63\x65\x20\x6f\ +\x66\x20\x63\x68\x65\x65\x73\x65\x20\x6f\x6e\x20\x65\x61\x63\x68\ +\x20\x70\x69\x65\x63\x65\x2e\x3c\x2f\x73\x74\x65\x70\x3e\x0a\x20\ +\x20\x20\x20\x20\x20\x20\x20\x3c\x73\x74\x65\x70\x3e\x34\x2e\x20\ +\x47\x72\x69\x6c\x6c\x20\x75\x6e\x74\x69\x6c\x20\x74\x68\x65\x20\ +\x63\x68\x65\x65\x73\x65\x20\x68\x61\x73\x20\x73\x74\x61\x72\x74\ +\x65\x64\x20\x74\x6f\x20\x6d\x65\x6c\x74\x2e\x3c\x2f\x73\x74\x65\ +\x70\x3e\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x3c\x73\x74\x65\x70\ +\x3e\x35\x2e\x20\x53\x65\x72\x76\x65\x20\x61\x6e\x64\x20\x65\x6e\ +\x6a\x6f\x79\x21\x3c\x2f\x73\x74\x65\x70\x3e\x0a\x20\x20\x20\x20\ +\x3c\x2f\x6d\x65\x74\x68\x6f\x64\x3e\x0a\x3c\x2f\x72\x65\x63\x69\ +\x70\x65\x3e\x0a\ +\x00\x00\x03\xbb\ +\x3c\ +\x3f\x78\x6d\x6c\x20\x76\x65\x72\x73\x69\x6f\x6e\x3d\x22\x31\x2e\ +\x30\x22\x3f\x3e\x0a\x3c\x78\x73\x64\x3a\x73\x63\x68\x65\x6d\x61\ +\x20\x78\x6d\x6c\x6e\x73\x3a\x78\x73\x64\x3d\x22\x68\x74\x74\x70\ +\x3a\x2f\x2f\x77\x77\x77\x2e\x77\x33\x2e\x6f\x72\x67\x2f\x32\x30\ +\x30\x31\x2f\x58\x4d\x4c\x53\x63\x68\x65\x6d\x61\x22\x3e\x0a\x0a\ +\x20\x20\x20\x20\x3c\x78\x73\x64\x3a\x65\x6c\x65\x6d\x65\x6e\x74\ +\x20\x6e\x61\x6d\x65\x3d\x22\x63\x6f\x6e\x74\x61\x63\x74\x22\x3e\ +\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x3c\x78\x73\x64\x3a\x63\x6f\ +\x6d\x70\x6c\x65\x78\x54\x79\x70\x65\x3e\x0a\x20\x20\x20\x20\x20\ +\x20\x20\x20\x20\x20\x20\x20\x3c\x78\x73\x64\x3a\x73\x65\x71\x75\ +\x65\x6e\x63\x65\x3e\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\ +\x20\x20\x20\x20\x20\x20\x3c\x78\x73\x64\x3a\x65\x6c\x65\x6d\x65\ +\x6e\x74\x20\x6e\x61\x6d\x65\x3d\x22\x67\x69\x76\x65\x6e\x4e\x61\ +\x6d\x65\x22\x20\x74\x79\x70\x65\x3d\x22\x78\x73\x64\x3a\x73\x74\ +\x72\x69\x6e\x67\x22\x2f\x3e\x0a\x20\x20\x20\x20\x20\x20\x20\x20\ +\x20\x20\x20\x20\x20\x20\x20\x20\x3c\x78\x73\x64\x3a\x65\x6c\x65\ +\x6d\x65\x6e\x74\x20\x6e\x61\x6d\x65\x3d\x22\x66\x61\x6d\x69\x6c\ +\x79\x4e\x61\x6d\x65\x22\x20\x74\x79\x70\x65\x3d\x22\x78\x73\x64\ +\x3a\x73\x74\x72\x69\x6e\x67\x22\x2f\x3e\x0a\x20\x20\x20\x20\x20\ +\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x3c\x78\x73\x64\x3a\ +\x65\x6c\x65\x6d\x65\x6e\x74\x20\x6e\x61\x6d\x65\x3d\x22\x62\x69\ +\x72\x74\x68\x64\x61\x74\x65\x22\x20\x74\x79\x70\x65\x3d\x22\x78\ +\x73\x64\x3a\x64\x61\x74\x65\x22\x20\x6d\x69\x6e\x4f\x63\x63\x75\ +\x72\x73\x3d\x22\x30\x22\x2f\x3e\x0a\x20\x20\x20\x20\x20\x20\x20\ +\x20\x20\x20\x20\x20\x20\x20\x20\x20\x3c\x78\x73\x64\x3a\x65\x6c\ +\x65\x6d\x65\x6e\x74\x20\x6e\x61\x6d\x65\x3d\x22\x68\x6f\x6d\x65\ +\x41\x64\x64\x72\x65\x73\x73\x22\x20\x74\x79\x70\x65\x3d\x22\x61\ +\x64\x64\x72\x65\x73\x73\x22\x2f\x3e\x0a\x20\x20\x20\x20\x20\x20\ +\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x3c\x78\x73\x64\x3a\x65\ +\x6c\x65\x6d\x65\x6e\x74\x20\x6e\x61\x6d\x65\x3d\x22\x77\x6f\x72\ +\x6b\x41\x64\x64\x72\x65\x73\x73\x22\x20\x74\x79\x70\x65\x3d\x22\ +\x61\x64\x64\x72\x65\x73\x73\x22\x20\x6d\x69\x6e\x4f\x63\x63\x75\ +\x72\x73\x3d\x22\x30\x22\x2f\x3e\x0a\x20\x20\x20\x20\x20\x20\x20\ +\x20\x20\x20\x20\x20\x3c\x2f\x78\x73\x64\x3a\x73\x65\x71\x75\x65\ +\x6e\x63\x65\x3e\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x3c\x2f\x78\ +\x73\x64\x3a\x63\x6f\x6d\x70\x6c\x65\x78\x54\x79\x70\x65\x3e\x0a\ +\x20\x20\x20\x20\x3c\x2f\x78\x73\x64\x3a\x65\x6c\x65\x6d\x65\x6e\ +\x74\x3e\x0a\x0a\x20\x20\x20\x20\x3c\x78\x73\x64\x3a\x63\x6f\x6d\ +\x70\x6c\x65\x78\x54\x79\x70\x65\x20\x6e\x61\x6d\x65\x3d\x22\x61\ +\x64\x64\x72\x65\x73\x73\x22\x3e\x0a\x20\x20\x20\x20\x20\x20\x20\ +\x20\x3c\x78\x73\x64\x3a\x73\x65\x71\x75\x65\x6e\x63\x65\x3e\x0a\ +\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x3c\x78\x73\x64\ +\x3a\x65\x6c\x65\x6d\x65\x6e\x74\x20\x6e\x61\x6d\x65\x3d\x22\x73\ +\x74\x72\x65\x65\x74\x22\x20\x74\x79\x70\x65\x3d\x22\x78\x73\x64\ +\x3a\x73\x74\x72\x69\x6e\x67\x22\x2f\x3e\x0a\x20\x20\x20\x20\x20\ +\x20\x20\x20\x20\x20\x20\x20\x3c\x78\x73\x64\x3a\x65\x6c\x65\x6d\ +\x65\x6e\x74\x20\x6e\x61\x6d\x65\x3d\x22\x7a\x69\x70\x43\x6f\x64\ +\x65\x22\x20\x74\x79\x70\x65\x3d\x22\x78\x73\x64\x3a\x73\x74\x72\ +\x69\x6e\x67\x22\x2f\x3e\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\ +\x20\x20\x20\x3c\x78\x73\x64\x3a\x65\x6c\x65\x6d\x65\x6e\x74\x20\ +\x6e\x61\x6d\x65\x3d\x22\x63\x69\x74\x79\x22\x20\x74\x79\x70\x65\ +\x3d\x22\x78\x73\x64\x3a\x73\x74\x72\x69\x6e\x67\x22\x2f\x3e\x0a\ +\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x3c\x78\x73\x64\ +\x3a\x65\x6c\x65\x6d\x65\x6e\x74\x20\x6e\x61\x6d\x65\x3d\x22\x63\ +\x6f\x75\x6e\x74\x72\x79\x22\x20\x74\x79\x70\x65\x3d\x22\x78\x73\ +\x64\x3a\x73\x74\x72\x69\x6e\x67\x22\x2f\x3e\x0a\x20\x20\x20\x20\ +\x20\x20\x20\x20\x3c\x2f\x78\x73\x64\x3a\x73\x65\x71\x75\x65\x6e\ +\x63\x65\x3e\x0a\x20\x20\x20\x20\x3c\x2f\x78\x73\x64\x3a\x63\x6f\ +\x6d\x70\x6c\x65\x78\x54\x79\x70\x65\x3e\x0a\x0a\x3c\x2f\x78\x73\ +\x64\x3a\x73\x63\x68\x65\x6d\x61\x3e\x0a\ +\x00\x00\x01\xb6\ +\x3c\ +\x6f\x72\x64\x65\x72\x3e\x0a\x20\x20\x20\x20\x3c\x63\x75\x73\x74\ +\x6f\x6d\x65\x72\x49\x64\x3e\x31\x39\x34\x32\x32\x33\x3c\x2f\x63\ +\x75\x73\x74\x6f\x6d\x65\x72\x49\x64\x3e\x0a\x20\x20\x20\x20\x3c\ +\x61\x72\x74\x69\x63\x6c\x65\x3e\x0a\x20\x20\x20\x20\x20\x20\x20\ +\x20\x3c\x61\x72\x74\x69\x63\x6c\x65\x49\x64\x3e\x32\x32\x32\x34\ +\x32\x3c\x2f\x61\x72\x74\x69\x63\x6c\x65\x49\x64\x3e\x0a\x20\x20\ +\x20\x20\x20\x20\x20\x20\x3c\x63\x6f\x75\x6e\x74\x3e\x35\x3c\x2f\ +\x63\x6f\x75\x6e\x74\x3e\x0a\x20\x20\x20\x20\x3c\x2f\x61\x72\x74\ +\x69\x63\x6c\x65\x3e\x0a\x20\x20\x20\x20\x3c\x61\x72\x74\x69\x63\ +\x6c\x65\x3e\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x3c\x61\x72\x74\ +\x69\x63\x6c\x65\x49\x64\x3e\x33\x32\x33\x37\x32\x3c\x2f\x61\x72\ +\x74\x69\x63\x6c\x65\x49\x64\x3e\x0a\x20\x20\x20\x20\x20\x20\x20\ +\x20\x3c\x63\x6f\x75\x6e\x74\x3e\x31\x32\x3c\x2f\x63\x6f\x75\x6e\ +\x74\x3e\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x3c\x63\x6f\x6d\x6d\ +\x65\x6e\x74\x3e\x77\x69\x74\x68\x6f\x75\x74\x20\x73\x74\x72\x69\ +\x70\x65\x73\x3c\x2f\x63\x6f\x6d\x6d\x65\x6e\x74\x3e\x0a\x20\x20\ +\x20\x20\x3c\x2f\x61\x72\x74\x69\x63\x6c\x65\x3e\x0a\x20\x20\x20\ +\x20\x3c\x61\x72\x74\x69\x63\x6c\x65\x3e\x0a\x20\x20\x20\x20\x20\ +\x20\x20\x20\x3c\x61\x72\x74\x69\x63\x6c\x65\x49\x64\x3e\x32\x33\ +\x36\x34\x39\x3c\x2f\x61\x72\x74\x69\x63\x6c\x65\x49\x64\x3e\x0a\ +\x20\x20\x20\x20\x20\x20\x20\x20\x3c\x63\x6f\x75\x6e\x74\x3e\x32\ +\x3c\x2f\x63\x6f\x75\x6e\x74\x3e\x0a\x20\x20\x20\x20\x3c\x2f\x61\ +\x72\x74\x69\x63\x6c\x65\x3e\x0a\x20\x20\x20\x20\x3c\x64\x65\x6c\ +\x69\x76\x65\x72\x79\x44\x61\x74\x65\x3e\x32\x30\x30\x39\x2d\x30\ +\x31\x2d\x32\x33\x3c\x2f\x64\x65\x6c\x69\x76\x65\x72\x79\x44\x61\ +\x74\x65\x3e\x0a\x20\x20\x20\x20\x3c\x70\x61\x79\x65\x64\x3e\x74\ +\x72\x75\x65\x3c\x2f\x70\x61\x79\x65\x64\x3e\x0a\x3c\x2f\x6f\x72\ +\x64\x65\x72\x3e\x0a\ +\x00\x00\x02\x55\ +\x3c\ +\x72\x65\x63\x69\x70\x65\x3e\x0a\x20\x20\x20\x20\x3c\x74\x69\x74\ +\x6c\x65\x3e\x43\x68\x65\x65\x73\x65\x20\x6f\x6e\x20\x54\x6f\x61\ +\x73\x74\x3c\x2f\x74\x69\x74\x6c\x65\x3e\x0a\x20\x20\x20\x20\x3c\ +\x69\x6e\x67\x72\x65\x64\x69\x65\x6e\x74\x20\x6e\x61\x6d\x65\x3d\ +\x22\x42\x72\x65\x61\x64\x22\x20\x71\x75\x61\x6e\x74\x69\x74\x79\ +\x3d\x22\x32\x22\x20\x75\x6e\x69\x74\x3d\x22\x73\x6c\x69\x63\x65\ +\x73\x22\x2f\x3e\x0a\x20\x20\x20\x20\x3c\x69\x6e\x67\x72\x65\x64\ +\x69\x65\x6e\x74\x20\x6e\x61\x6d\x65\x3d\x22\x43\x68\x65\x65\x73\ +\x65\x22\x20\x71\x75\x61\x6e\x74\x69\x74\x79\x3d\x22\x32\x22\x20\ +\x75\x6e\x69\x74\x3d\x22\x73\x6c\x69\x63\x65\x73\x22\x2f\x3e\x0a\ +\x20\x20\x20\x20\x3c\x74\x69\x6d\x65\x20\x71\x75\x61\x6e\x74\x69\ +\x74\x79\x3d\x22\x33\x22\x20\x75\x6e\x69\x74\x3d\x22\x64\x61\x79\ +\x73\x22\x2f\x3e\x0a\x20\x20\x20\x20\x3c\x6d\x65\x74\x68\x6f\x64\ +\x3e\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x3c\x73\x74\x65\x70\x3e\ +\x31\x2e\x20\x53\x6c\x69\x63\x65\x20\x74\x68\x65\x20\x62\x72\x65\ +\x61\x64\x20\x61\x6e\x64\x20\x63\x68\x65\x65\x73\x65\x2e\x3c\x2f\ +\x73\x74\x65\x70\x3e\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x3c\x73\ +\x74\x65\x70\x3e\x32\x2e\x20\x47\x72\x69\x6c\x6c\x20\x6f\x6e\x65\ +\x20\x73\x69\x64\x65\x20\x6f\x66\x20\x65\x61\x63\x68\x20\x73\x6c\ +\x69\x63\x65\x20\x6f\x66\x20\x62\x72\x65\x61\x64\x2e\x3c\x2f\x73\ +\x74\x65\x70\x3e\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x3c\x73\x74\ +\x65\x70\x3e\x33\x2e\x20\x54\x75\x72\x6e\x20\x6f\x76\x65\x72\x20\ +\x74\x68\x65\x20\x62\x72\x65\x61\x64\x20\x61\x6e\x64\x20\x70\x6c\ +\x61\x63\x65\x20\x61\x20\x73\x6c\x69\x63\x65\x20\x6f\x66\x20\x63\ +\x68\x65\x65\x73\x65\x20\x6f\x6e\x20\x65\x61\x63\x68\x20\x70\x69\ +\x65\x63\x65\x2e\x3c\x2f\x73\x74\x65\x70\x3e\x0a\x20\x20\x20\x20\ +\x20\x20\x20\x20\x3c\x73\x74\x65\x70\x3e\x34\x2e\x20\x47\x72\x69\ +\x6c\x6c\x20\x75\x6e\x74\x69\x6c\x20\x74\x68\x65\x20\x63\x68\x65\ +\x65\x73\x65\x20\x68\x61\x73\x20\x73\x74\x61\x72\x74\x65\x64\x20\ +\x74\x6f\x20\x6d\x65\x6c\x74\x2e\x3c\x2f\x73\x74\x65\x70\x3e\x0a\ +\x20\x20\x20\x20\x20\x20\x20\x20\x3c\x73\x74\x65\x70\x3e\x35\x2e\ +\x20\x53\x65\x72\x76\x65\x20\x61\x6e\x64\x20\x65\x6e\x6a\x6f\x79\ +\x21\x3c\x2f\x73\x74\x65\x70\x3e\x0a\x20\x20\x20\x20\x3c\x2f\x6d\ +\x65\x74\x68\x6f\x64\x3e\x0a\x20\x20\x20\x20\x3c\x63\x6f\x6d\x6d\ +\x65\x6e\x74\x3e\x54\x65\x6c\x6c\x20\x79\x6f\x75\x72\x20\x66\x72\ +\x69\x65\x6e\x64\x73\x20\x61\x62\x6f\x75\x74\x20\x69\x74\x21\x3c\ +\x2f\x63\x6f\x6d\x6d\x65\x6e\x74\x3e\x0a\x3c\x2f\x72\x65\x63\x69\ +\x70\x65\x3e\x0a\ +\x00\x00\x06\x05\ +\x3c\ +\x3f\x78\x6d\x6c\x20\x76\x65\x72\x73\x69\x6f\x6e\x3d\x22\x31\x2e\ +\x30\x22\x3f\x3e\x0a\x3c\x78\x73\x64\x3a\x73\x63\x68\x65\x6d\x61\ +\x20\x78\x6d\x6c\x6e\x73\x3a\x78\x73\x64\x3d\x22\x68\x74\x74\x70\ +\x3a\x2f\x2f\x77\x77\x77\x2e\x77\x33\x2e\x6f\x72\x67\x2f\x32\x30\ +\x30\x31\x2f\x58\x4d\x4c\x53\x63\x68\x65\x6d\x61\x22\x3e\x0a\x0a\ +\x20\x20\x20\x20\x3c\x78\x73\x64\x3a\x65\x6c\x65\x6d\x65\x6e\x74\ +\x20\x6e\x61\x6d\x65\x3d\x22\x72\x65\x63\x69\x70\x65\x22\x3e\x0a\ +\x20\x20\x20\x20\x20\x20\x20\x20\x3c\x78\x73\x64\x3a\x63\x6f\x6d\ +\x70\x6c\x65\x78\x54\x79\x70\x65\x3e\x0a\x20\x20\x20\x20\x20\x20\ +\x20\x20\x20\x20\x20\x20\x3c\x78\x73\x64\x3a\x73\x65\x71\x75\x65\ +\x6e\x63\x65\x3e\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\ +\x20\x20\x20\x20\x20\x3c\x78\x73\x64\x3a\x65\x6c\x65\x6d\x65\x6e\ +\x74\x20\x6e\x61\x6d\x65\x3d\x22\x74\x69\x74\x6c\x65\x22\x20\x74\ +\x79\x70\x65\x3d\x22\x78\x73\x64\x3a\x73\x74\x72\x69\x6e\x67\x22\ +\x2f\x3e\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\ +\x20\x20\x20\x3c\x78\x73\x64\x3a\x65\x6c\x65\x6d\x65\x6e\x74\x20\ +\x6e\x61\x6d\x65\x3d\x22\x69\x6e\x67\x72\x65\x64\x69\x65\x6e\x74\ +\x22\x20\x74\x79\x70\x65\x3d\x22\x69\x6e\x67\x72\x65\x64\x69\x65\ +\x6e\x74\x54\x79\x70\x65\x22\x20\x6d\x61\x78\x4f\x63\x63\x75\x72\ +\x73\x3d\x22\x75\x6e\x62\x6f\x75\x6e\x64\x65\x64\x22\x2f\x3e\x0a\ +\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\ +\x3c\x78\x73\x64\x3a\x65\x6c\x65\x6d\x65\x6e\x74\x20\x6e\x61\x6d\ +\x65\x3d\x22\x74\x69\x6d\x65\x22\x20\x74\x79\x70\x65\x3d\x22\x74\ +\x69\x6d\x65\x54\x79\x70\x65\x22\x2f\x3e\x0a\x20\x20\x20\x20\x20\ +\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x3c\x78\x73\x64\x3a\ +\x65\x6c\x65\x6d\x65\x6e\x74\x20\x6e\x61\x6d\x65\x3d\x22\x6d\x65\ +\x74\x68\x6f\x64\x22\x3e\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\ +\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x3c\x78\x73\x64\x3a\ +\x63\x6f\x6d\x70\x6c\x65\x78\x54\x79\x70\x65\x3e\x0a\x20\x20\x20\ +\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\ +\x20\x20\x20\x20\x20\x3c\x78\x73\x64\x3a\x73\x65\x71\x75\x65\x6e\ +\x63\x65\x3e\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\ +\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\ +\x3c\x78\x73\x64\x3a\x65\x6c\x65\x6d\x65\x6e\x74\x20\x6e\x61\x6d\ +\x65\x3d\x22\x73\x74\x65\x70\x22\x20\x74\x79\x70\x65\x3d\x22\x78\ +\x73\x64\x3a\x73\x74\x72\x69\x6e\x67\x22\x20\x6d\x61\x78\x4f\x63\ +\x63\x75\x72\x73\x3d\x22\x75\x6e\x62\x6f\x75\x6e\x64\x65\x64\x22\ +\x2f\x3e\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\ +\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x3c\x2f\x78\x73\x64\ +\x3a\x73\x65\x71\x75\x65\x6e\x63\x65\x3e\x0a\x20\x20\x20\x20\x20\ +\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x3c\ +\x2f\x78\x73\x64\x3a\x63\x6f\x6d\x70\x6c\x65\x78\x54\x79\x70\x65\ +\x3e\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\ +\x20\x20\x3c\x2f\x78\x73\x64\x3a\x65\x6c\x65\x6d\x65\x6e\x74\x3e\ +\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x3c\x2f\x78\ +\x73\x64\x3a\x73\x65\x71\x75\x65\x6e\x63\x65\x3e\x0a\x20\x20\x20\ +\x20\x20\x20\x20\x20\x3c\x2f\x78\x73\x64\x3a\x63\x6f\x6d\x70\x6c\ +\x65\x78\x54\x79\x70\x65\x3e\x0a\x20\x20\x20\x20\x3c\x2f\x78\x73\ +\x64\x3a\x65\x6c\x65\x6d\x65\x6e\x74\x3e\x0a\x0a\x20\x20\x20\x20\ +\x3c\x78\x73\x64\x3a\x63\x6f\x6d\x70\x6c\x65\x78\x54\x79\x70\x65\ +\x20\x6e\x61\x6d\x65\x3d\x22\x69\x6e\x67\x72\x65\x64\x69\x65\x6e\ +\x74\x54\x79\x70\x65\x22\x3e\x0a\x20\x20\x20\x20\x20\x20\x20\x20\ +\x3c\x78\x73\x64\x3a\x61\x74\x74\x72\x69\x62\x75\x74\x65\x20\x6e\ +\x61\x6d\x65\x3d\x22\x6e\x61\x6d\x65\x22\x20\x74\x79\x70\x65\x3d\ +\x22\x78\x73\x64\x3a\x73\x74\x72\x69\x6e\x67\x22\x2f\x3e\x0a\x20\ +\x20\x20\x20\x20\x20\x20\x20\x3c\x78\x73\x64\x3a\x61\x74\x74\x72\ +\x69\x62\x75\x74\x65\x20\x6e\x61\x6d\x65\x3d\x22\x71\x75\x61\x6e\ +\x74\x69\x74\x79\x22\x20\x74\x79\x70\x65\x3d\x22\x78\x73\x64\x3a\ +\x70\x6f\x73\x69\x74\x69\x76\x65\x49\x6e\x74\x65\x67\x65\x72\x22\ +\x2f\x3e\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x3c\x78\x73\x64\x3a\ +\x61\x74\x74\x72\x69\x62\x75\x74\x65\x20\x6e\x61\x6d\x65\x3d\x22\ +\x75\x6e\x69\x74\x22\x20\x74\x79\x70\x65\x3d\x22\x78\x73\x64\x3a\ +\x73\x74\x72\x69\x6e\x67\x22\x2f\x3e\x0a\x20\x20\x20\x20\x3c\x2f\ +\x78\x73\x64\x3a\x63\x6f\x6d\x70\x6c\x65\x78\x54\x79\x70\x65\x3e\ +\x0a\x0a\x20\x20\x20\x20\x3c\x78\x73\x64\x3a\x63\x6f\x6d\x70\x6c\ +\x65\x78\x54\x79\x70\x65\x20\x6e\x61\x6d\x65\x3d\x22\x74\x69\x6d\ +\x65\x54\x79\x70\x65\x22\x3e\x0a\x20\x20\x20\x20\x20\x20\x20\x20\ +\x3c\x78\x73\x64\x3a\x61\x74\x74\x72\x69\x62\x75\x74\x65\x20\x6e\ +\x61\x6d\x65\x3d\x22\x71\x75\x61\x6e\x74\x69\x74\x79\x22\x20\x74\ +\x79\x70\x65\x3d\x22\x78\x73\x64\x3a\x70\x6f\x73\x69\x74\x69\x76\ +\x65\x49\x6e\x74\x65\x67\x65\x72\x22\x2f\x3e\x0a\x20\x20\x20\x20\ +\x20\x20\x20\x20\x3c\x78\x73\x64\x3a\x61\x74\x74\x72\x69\x62\x75\ +\x74\x65\x20\x6e\x61\x6d\x65\x3d\x22\x75\x6e\x69\x74\x22\x3e\x0a\ +\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x3c\x78\x73\x64\ +\x3a\x73\x69\x6d\x70\x6c\x65\x54\x79\x70\x65\x3e\x0a\x20\x20\x20\ +\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x3c\x78\x73\ +\x64\x3a\x72\x65\x73\x74\x72\x69\x63\x74\x69\x6f\x6e\x20\x62\x61\ +\x73\x65\x3d\x22\x78\x73\x64\x3a\x73\x74\x72\x69\x6e\x67\x22\x3e\ +\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\ +\x20\x20\x20\x20\x20\x3c\x78\x73\x64\x3a\x65\x6e\x75\x6d\x65\x72\ +\x61\x74\x69\x6f\x6e\x20\x76\x61\x6c\x75\x65\x3d\x22\x73\x65\x63\ +\x6f\x6e\x64\x73\x22\x2f\x3e\x0a\x20\x20\x20\x20\x20\x20\x20\x20\ +\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x3c\x78\x73\x64\ +\x3a\x65\x6e\x75\x6d\x65\x72\x61\x74\x69\x6f\x6e\x20\x76\x61\x6c\ +\x75\x65\x3d\x22\x6d\x69\x6e\x75\x74\x65\x73\x22\x2f\x3e\x0a\x20\ +\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\ +\x20\x20\x20\x3c\x78\x73\x64\x3a\x65\x6e\x75\x6d\x65\x72\x61\x74\ +\x69\x6f\x6e\x20\x76\x61\x6c\x75\x65\x3d\x22\x68\x6f\x75\x72\x73\ +\x22\x2f\x3e\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\ +\x20\x20\x20\x20\x3c\x2f\x78\x73\x64\x3a\x72\x65\x73\x74\x72\x69\ +\x63\x74\x69\x6f\x6e\x3e\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\ +\x20\x20\x20\x3c\x2f\x78\x73\x64\x3a\x73\x69\x6d\x70\x6c\x65\x54\ +\x79\x70\x65\x3e\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x3c\x2f\x78\ +\x73\x64\x3a\x61\x74\x74\x72\x69\x62\x75\x74\x65\x3e\x0a\x20\x20\ +\x20\x20\x3c\x2f\x78\x73\x64\x3a\x63\x6f\x6d\x70\x6c\x65\x78\x54\ +\x79\x70\x65\x3e\x0a\x0a\x3c\x2f\x78\x73\x64\x3a\x73\x63\x68\x65\ +\x6d\x61\x3e\x0a\ +\x00\x00\x01\x2e\ +\x3c\ +\x6f\x72\x64\x65\x72\x3e\x0a\x20\x20\x20\x20\x3c\x63\x75\x73\x74\ +\x6f\x6d\x65\x72\x49\x64\x3e\x32\x33\x34\x32\x31\x39\x3c\x2f\x63\ +\x75\x73\x74\x6f\x6d\x65\x72\x49\x64\x3e\x0a\x20\x20\x20\x20\x3c\ +\x61\x72\x74\x69\x63\x6c\x65\x3e\x0a\x20\x20\x20\x20\x20\x20\x20\ +\x20\x3c\x61\x72\x74\x69\x63\x6c\x65\x49\x64\x3e\x32\x31\x36\x39\ +\x32\x3c\x2f\x61\x72\x74\x69\x63\x6c\x65\x49\x64\x3e\x0a\x20\x20\ +\x20\x20\x20\x20\x20\x20\x3c\x63\x6f\x75\x6e\x74\x3e\x33\x3c\x2f\ +\x63\x6f\x75\x6e\x74\x3e\x0a\x20\x20\x20\x20\x3c\x2f\x61\x72\x74\ +\x69\x63\x6c\x65\x3e\x0a\x20\x20\x20\x20\x3c\x61\x72\x74\x69\x63\ +\x6c\x65\x3e\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x3c\x61\x72\x74\ +\x69\x63\x6c\x65\x49\x64\x3e\x32\x34\x37\x34\x39\x3c\x2f\x61\x72\ +\x74\x69\x63\x6c\x65\x49\x64\x3e\x0a\x20\x20\x20\x20\x20\x20\x20\ +\x20\x3c\x63\x6f\x75\x6e\x74\x3e\x39\x3c\x2f\x63\x6f\x75\x6e\x74\ +\x3e\x0a\x20\x20\x20\x20\x3c\x2f\x61\x72\x74\x69\x63\x6c\x65\x3e\ +\x0a\x20\x20\x20\x20\x3c\x64\x65\x6c\x69\x76\x65\x72\x79\x44\x61\ +\x74\x65\x3e\x32\x30\x30\x39\x2d\x30\x31\x2d\x32\x33\x3c\x2f\x64\ +\x65\x6c\x69\x76\x65\x72\x79\x44\x61\x74\x65\x3e\x0a\x20\x20\x20\ +\x20\x3c\x70\x61\x79\x65\x64\x3e\x79\x65\x73\x3c\x2f\x70\x61\x79\ +\x65\x64\x3e\x0a\x3c\x2f\x6f\x72\x64\x65\x72\x3e\x0a\ +\x00\x00\x01\x2a\ +\x3c\ +\x63\x6f\x6e\x74\x61\x63\x74\x3e\x0a\x20\x20\x20\x20\x3c\x67\x69\ +\x76\x65\x6e\x4e\x61\x6d\x65\x3e\x4a\x6f\x68\x6e\x3c\x2f\x67\x69\ +\x76\x65\x6e\x4e\x61\x6d\x65\x3e\x0a\x20\x20\x20\x20\x3c\x66\x61\ +\x6d\x69\x6c\x79\x4e\x61\x6d\x65\x3e\x44\x6f\x65\x3c\x2f\x66\x61\ +\x6d\x69\x6c\x79\x4e\x61\x6d\x65\x3e\x0a\x20\x20\x20\x20\x3c\x62\ +\x69\x72\x74\x68\x64\x61\x74\x65\x3e\x31\x39\x37\x37\x2d\x31\x32\ +\x2d\x32\x35\x3c\x2f\x62\x69\x72\x74\x68\x64\x61\x74\x65\x3e\x0a\ +\x20\x20\x20\x20\x3c\x68\x6f\x6d\x65\x41\x64\x64\x72\x65\x73\x73\ +\x3e\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x3c\x73\x74\x72\x65\x65\ +\x74\x3e\x53\x61\x6e\x64\x61\x6b\x65\x72\x76\x65\x69\x65\x6e\x20\ +\x31\x31\x36\x3c\x2f\x73\x74\x72\x65\x65\x74\x3e\x0a\x20\x20\x20\ +\x20\x20\x20\x20\x20\x3c\x7a\x69\x70\x43\x6f\x64\x65\x3e\x4e\x2d\ +\x30\x35\x35\x30\x3c\x2f\x7a\x69\x70\x43\x6f\x64\x65\x3e\x0a\x20\ +\x20\x20\x20\x20\x20\x20\x20\x3c\x63\x69\x74\x79\x3e\x4f\x73\x6c\ +\x6f\x3c\x2f\x63\x69\x74\x79\x3e\x0a\x20\x20\x20\x20\x20\x20\x20\ +\x20\x3c\x63\x6f\x75\x6e\x74\x72\x79\x3e\x4e\x6f\x72\x77\x61\x79\ +\x3c\x2f\x63\x6f\x75\x6e\x74\x72\x79\x3e\x0a\x20\x20\x20\x20\x3c\ +\x2f\x68\x6f\x6d\x65\x41\x64\x64\x72\x65\x73\x73\x3e\x0a\x3c\x2f\ +\x63\x6f\x6e\x74\x61\x63\x74\x3e\x0a\ +" + +qt_resource_name = b"\ +\x00\x0c\ +\x08\x16\x87\xf4\ +\x00\x73\ +\x00\x63\x00\x68\x00\x65\x00\x6d\x00\x61\x00\x5f\x00\x32\x00\x2e\x00\x78\x00\x73\x00\x64\ +\x00\x0e\ +\x00\x79\x4a\x1c\ +\x00\x69\ +\x00\x6e\x00\x73\x00\x74\x00\x61\x00\x6e\x00\x63\x00\x65\x00\x5f\x00\x31\x00\x2e\x00\x78\x00\x6d\x00\x6c\ +\x00\x0e\ +\x00\x70\x4a\x1c\ +\x00\x69\ +\x00\x6e\x00\x73\x00\x74\x00\x61\x00\x6e\x00\x63\x00\x65\x00\x5f\x00\x32\x00\x2e\x00\x78\x00\x6d\x00\x6c\ +\x00\x0c\ +\x08\x10\x87\xf4\ +\x00\x73\ +\x00\x63\x00\x68\x00\x65\x00\x6d\x00\x61\x00\x5f\x00\x30\x00\x2e\x00\x78\x00\x73\x00\x64\ +\x00\x0e\ +\x00\x72\x4a\x1c\ +\x00\x69\ +\x00\x6e\x00\x73\x00\x74\x00\x61\x00\x6e\x00\x63\x00\x65\x00\x5f\x00\x34\x00\x2e\x00\x78\x00\x6d\x00\x6c\ +\x00\x0e\ +\x00\x73\x4a\x1c\ +\x00\x69\ +\x00\x6e\x00\x73\x00\x74\x00\x61\x00\x6e\x00\x63\x00\x65\x00\x5f\x00\x33\x00\x2e\x00\x78\x00\x6d\x00\x6c\ +\x00\x0c\ +\x08\x13\x87\xf4\ +\x00\x73\ +\x00\x63\x00\x68\x00\x65\x00\x6d\x00\x61\x00\x5f\x00\x31\x00\x2e\x00\x78\x00\x73\x00\x64\ +\x00\x0e\ +\x00\x75\x4a\x1c\ +\x00\x69\ +\x00\x6e\x00\x73\x00\x74\x00\x61\x00\x6e\x00\x63\x00\x65\x00\x5f\x00\x35\x00\x2e\x00\x78\x00\x6d\x00\x6c\ +\x00\x0e\ +\x00\x76\x4a\x1c\ +\x00\x69\ +\x00\x6e\x00\x73\x00\x74\x00\x61\x00\x6e\x00\x63\x00\x65\x00\x5f\x00\x30\x00\x2e\x00\x78\x00\x6d\x00\x6c\ +" + +qt_resource_struct = b"\ +\x00\x00\x00\x00\x00\x02\x00\x00\x00\x09\x00\x00\x00\x01\ +\x00\x00\x00\x40\x00\x00\x00\x00\x00\x01\x00\x00\x04\x8c\ +\x00\x00\x00\x80\x00\x00\x00\x00\x00\x01\x00\x00\x0a\x74\ +\x00\x00\x00\xa2\x00\x00\x00\x00\x00\x01\x00\x00\x0c\x2e\ +\x00\x00\x00\xe2\x00\x00\x00\x00\x00\x01\x00\x00\x14\x90\ +\x00\x00\x01\x04\x00\x00\x00\x00\x00\x01\x00\x00\x15\xc2\ +\x00\x00\x00\x1e\x00\x00\x00\x00\x00\x01\x00\x00\x03\x6b\ +\x00\x00\x00\x62\x00\x00\x00\x00\x00\x01\x00\x00\x06\xb5\ +\x00\x00\x00\xc4\x00\x00\x00\x00\x00\x01\x00\x00\x0e\x87\ +\x00\x00\x00\x00\x00\x00\x00\x00\x00\x01\x00\x00\x00\x00\ +" + +def qInitResources(): + QtCore.qRegisterResourceData(0x01, qt_resource_struct, qt_resource_name, qt_resource_data) + +def qCleanupResources(): + QtCore.qUnregisterResourceData(0x01, qt_resource_struct, qt_resource_name, qt_resource_data) + +qInitResources() diff --git a/examples/xmlpatterns/schema/ui_schema.py b/examples/xmlpatterns/schema/ui_schema.py new file mode 100644 index 000000000..a5690c28d --- /dev/null +++ b/examples/xmlpatterns/schema/ui_schema.py @@ -0,0 +1,62 @@ +# -*- coding: utf-8 -*- + +# Form implementation generated from reading ui file 'schema.ui' +# +# Created: Fri Feb 5 15:27:54 2010 +# by: PyQt4 UI code generator snapshot-4.7.1-c39e85a8e2ec +# +# WARNING! All changes made in this file will be lost! + +from PySide2 import QtCore, QtGui, QtWidgets + +class Ui_SchemaMainWindow(object): + def setupUi(self, SchemaMainWindow): + SchemaMainWindow.setObjectName("SchemaMainWindow") + SchemaMainWindow.resize(417, 594) + self.centralwidget = QtWidgets.QWidget(SchemaMainWindow) + self.centralwidget.setObjectName("centralwidget") + self.gridLayout = QtWidgets.QGridLayout(self.centralwidget) + self.gridLayout.setObjectName("gridLayout") + self.schemaLabel = QtWidgets.QLabel(self.centralwidget) + self.schemaLabel.setObjectName("schemaLabel") + self.gridLayout.addWidget(self.schemaLabel, 0, 0, 1, 2) + self.schemaSelection = QtWidgets.QComboBox(self.centralwidget) + self.schemaSelection.setObjectName("schemaSelection") + self.gridLayout.addWidget(self.schemaSelection, 0, 2, 1, 2) + self.schemaView = QtWidgets.QTextBrowser(self.centralwidget) + self.schemaView.setObjectName("schemaView") + self.gridLayout.addWidget(self.schemaView, 1, 0, 1, 4) + self.instanceLabel = QtWidgets.QLabel(self.centralwidget) + self.instanceLabel.setObjectName("instanceLabel") + self.gridLayout.addWidget(self.instanceLabel, 2, 0, 1, 2) + self.instanceSelection = QtWidgets.QComboBox(self.centralwidget) + self.instanceSelection.setObjectName("instanceSelection") + self.gridLayout.addWidget(self.instanceSelection, 2, 2, 1, 2) + self.instanceEdit = QtWidgets.QTextEdit(self.centralwidget) + self.instanceEdit.setObjectName("instanceEdit") + self.gridLayout.addWidget(self.instanceEdit, 3, 0, 1, 4) + self.label = QtWidgets.QLabel(self.centralwidget) + self.label.setObjectName("label") + self.gridLayout.addWidget(self.label, 4, 0, 1, 1) + self.validationStatus = QtWidgets.QLabel(self.centralwidget) + self.validationStatus.setObjectName("validationStatus") + self.gridLayout.addWidget(self.validationStatus, 4, 1, 1, 2) + self.validateButton = QtWidgets.QPushButton(self.centralwidget) + self.validateButton.setObjectName("validateButton") + self.gridLayout.addWidget(self.validateButton, 4, 3, 1, 1) + SchemaMainWindow.setCentralWidget(self.centralwidget) + self.statusbar = QtWidgets.QStatusBar(SchemaMainWindow) + self.statusbar.setObjectName("statusbar") + SchemaMainWindow.setStatusBar(self.statusbar) + + self.retranslateUi(SchemaMainWindow) + QtCore.QMetaObject.connectSlotsByName(SchemaMainWindow) + + def retranslateUi(self, SchemaMainWindow): + SchemaMainWindow.setWindowTitle(QtWidgets.QApplication.translate("SchemaMainWindow", "XML Schema Validation", None)) + self.schemaLabel.setText(QtWidgets.QApplication.translate("SchemaMainWindow", "XML Schema Document:", None)) + self.instanceLabel.setText(QtWidgets.QApplication.translate("SchemaMainWindow", "XML Instance Document:", None)) + self.label.setText(QtWidgets.QApplication.translate("SchemaMainWindow", "Status:", None)) + self.validationStatus.setText(QtWidgets.QApplication.translate("SchemaMainWindow", "not validated", None)) + self.validateButton.setText(QtWidgets.QApplication.translate("SchemaMainWindow", "Validate", None)) + -- cgit v1.2.3