1 /**************************************************************************** 2 ** 3 ** Copyright (C) 2016 The Qt Company Ltd. 4 ** Contact: https://www.qt.io/licensing/ 5 ** 6 ** This file is part of the QtXmlPatterns module of the Qt Toolkit. 7 ** 8 ** $QT_BEGIN_LICENSE:LGPL$ 9 ** Commercial License Usage 10 ** Licensees holding valid commercial Qt licenses may use this file in 11 ** accordance with the commercial license agreement provided with the 12 ** Software or, alternatively, in accordance with the terms contained in 13 ** a written agreement between you and The Qt Company. For licensing terms 14 ** and conditions see https://www.qt.io/terms-conditions. For further 15 ** information use the contact form at https://www.qt.io/contact-us. 16 ** 17 ** GNU Lesser General Public License Usage 18 ** Alternatively, this file may be used under the terms of the GNU Lesser 19 ** General Public License version 3 as published by the Free Software 20 ** Foundation and appearing in the file LICENSE.LGPL3 included in the 21 ** packaging of this file. Please review the following information to 22 ** ensure the GNU Lesser General Public License version 3 requirements 23 ** will be met: https://www.gnu.org/licenses/lgpl-3.0.html. 24 ** 25 ** GNU General Public License Usage 26 ** Alternatively, this file may be used under the terms of the GNU 27 ** General Public License version 2.0 or (at your option) the GNU General 28 ** Public license version 3 or any later version approved by the KDE Free 29 ** Qt Foundation. The licenses are as published by the Free Software 30 ** Foundation and appearing in the file LICENSE.GPL2 and LICENSE.GPL3 31 ** included in the packaging of this file. Please review the following 32 ** information to ensure the GNU General Public License requirements will 33 ** be met: https://www.gnu.org/licenses/gpl-2.0.html and 34 ** https://www.gnu.org/licenses/gpl-3.0.html. 35 ** 36 ** $QT_END_LICENSE$ 37 ** 38 ****************************************************************************/ 39 40 #include "qxsdelement_p.h" 41 42 QT_BEGIN_NAMESPACE 43 44 using namespace QPatternist; 45 setVariety(Variety variety)46void XsdElement::Scope::setVariety(Variety variety) 47 { 48 m_variety = variety; 49 } 50 variety() const51XsdElement::Scope::Variety XsdElement::Scope::variety() const 52 { 53 return m_variety; 54 } 55 setParent(const NamedSchemaComponent * parent)56void XsdElement::Scope::setParent(const NamedSchemaComponent *parent) 57 { 58 m_parent = parent; 59 } 60 parent() const61const NamedSchemaComponent *XsdElement::Scope::parent() const 62 { 63 return m_parent; 64 } 65 setVariety(Variety variety)66void XsdElement::ValueConstraint::setVariety(Variety variety) 67 { 68 m_variety = variety; 69 } 70 variety() const71XsdElement::ValueConstraint::Variety XsdElement::ValueConstraint::variety() const 72 { 73 return m_variety; 74 } 75 setValue(const QString & value)76void XsdElement::ValueConstraint::setValue(const QString &value) 77 { 78 m_value = value; 79 } 80 value() const81QString XsdElement::ValueConstraint::value() const 82 { 83 return m_value; 84 } 85 setLexicalForm(const QString & form)86void XsdElement::ValueConstraint::setLexicalForm(const QString &form) 87 { 88 m_lexicalForm = form; 89 } 90 lexicalForm() const91QString XsdElement::ValueConstraint::lexicalForm() const 92 { 93 return m_lexicalForm; 94 } 95 addAlternative(const XsdAlternative::Ptr & alternative)96void XsdElement::TypeTable::addAlternative(const XsdAlternative::Ptr &alternative) 97 { 98 m_alternatives.append(alternative); 99 } 100 alternatives() const101XsdAlternative::List XsdElement::TypeTable::alternatives() const 102 { 103 return m_alternatives; 104 } 105 setDefaultTypeDefinition(const XsdAlternative::Ptr & type)106void XsdElement::TypeTable::setDefaultTypeDefinition(const XsdAlternative::Ptr &type) 107 { 108 m_defaultTypeDefinition = type; 109 } 110 defaultTypeDefinition() const111XsdAlternative::Ptr XsdElement::TypeTable::defaultTypeDefinition() const 112 { 113 return m_defaultTypeDefinition; 114 } 115 116 XsdElement()117XsdElement::XsdElement() 118 : m_isAbstract(false), m_isNillable(false) 119 { 120 } 121 isElement() const122bool XsdElement::isElement() const 123 { 124 return true; 125 } 126 setType(const SchemaType::Ptr & type)127void XsdElement::setType(const SchemaType::Ptr &type) 128 { 129 m_type = type; 130 } 131 type() const132SchemaType::Ptr XsdElement::type() const 133 { 134 return m_type; 135 } 136 setScope(const Scope::Ptr & scope)137void XsdElement::setScope(const Scope::Ptr &scope) 138 { 139 m_scope = scope; 140 } 141 scope() const142XsdElement::Scope::Ptr XsdElement::scope() const 143 { 144 return m_scope; 145 } 146 setValueConstraint(const ValueConstraint::Ptr & constraint)147void XsdElement::setValueConstraint(const ValueConstraint::Ptr &constraint) 148 { 149 m_valueConstraint = constraint; 150 } 151 valueConstraint() const152XsdElement::ValueConstraint::Ptr XsdElement::valueConstraint() const 153 { 154 return m_valueConstraint; 155 } 156 setTypeTable(const TypeTable::Ptr & table)157void XsdElement::setTypeTable(const TypeTable::Ptr &table) 158 { 159 m_typeTable = table; 160 } 161 typeTable() const162XsdElement::TypeTable::Ptr XsdElement::typeTable() const 163 { 164 return m_typeTable; 165 } 166 setIsAbstract(bool abstract)167void XsdElement::setIsAbstract(bool abstract) 168 { 169 m_isAbstract = abstract; 170 } 171 isAbstract() const172bool XsdElement::isAbstract() const 173 { 174 return m_isAbstract; 175 } 176 setIsNillable(bool nillable)177void XsdElement::setIsNillable(bool nillable) 178 { 179 m_isNillable = nillable; 180 } 181 isNillable() const182bool XsdElement::isNillable() const 183 { 184 return m_isNillable; 185 } 186 setDisallowedSubstitutions(const BlockingConstraints & substitutions)187void XsdElement::setDisallowedSubstitutions(const BlockingConstraints &substitutions) 188 { 189 m_disallowedSubstitutions = substitutions; 190 } 191 disallowedSubstitutions() const192XsdElement::BlockingConstraints XsdElement::disallowedSubstitutions() const 193 { 194 return m_disallowedSubstitutions; 195 } 196 setSubstitutionGroupExclusions(const SchemaType::DerivationConstraints & exclusions)197void XsdElement::setSubstitutionGroupExclusions(const SchemaType::DerivationConstraints &exclusions) 198 { 199 m_substitutionGroupExclusions = exclusions; 200 } 201 substitutionGroupExclusions() const202SchemaType::DerivationConstraints XsdElement::substitutionGroupExclusions() const 203 { 204 return m_substitutionGroupExclusions; 205 } 206 setIdentityConstraints(const XsdIdentityConstraint::List & constraints)207void XsdElement::setIdentityConstraints(const XsdIdentityConstraint::List &constraints) 208 { 209 m_identityConstraints = constraints; 210 } 211 addIdentityConstraint(const XsdIdentityConstraint::Ptr & constraint)212void XsdElement::addIdentityConstraint(const XsdIdentityConstraint::Ptr &constraint) 213 { 214 m_identityConstraints.append(constraint); 215 } 216 identityConstraints() const217XsdIdentityConstraint::List XsdElement::identityConstraints() const 218 { 219 return m_identityConstraints; 220 } 221 setSubstitutionGroupAffiliations(const XsdElement::List & affiliations)222void XsdElement::setSubstitutionGroupAffiliations(const XsdElement::List &affiliations) 223 { 224 m_substitutionGroupAffiliations = affiliations; 225 } 226 substitutionGroupAffiliations() const227XsdElement::List XsdElement::substitutionGroupAffiliations() const 228 { 229 return m_substitutionGroupAffiliations; 230 } 231 addSubstitutionGroup(const XsdElement::Ptr & element)232void XsdElement::addSubstitutionGroup(const XsdElement::Ptr &element) 233 { 234 m_substitutionGroups.insert(element); 235 } 236 substitutionGroups() const237XsdElement::List XsdElement::substitutionGroups() const 238 { 239 return m_substitutionGroups.values(); 240 } 241 242 QT_END_NAMESPACE 243