30 , m_typeNamespace(typeNameSpace)
31 , m_typeName(typeName)
45 QXmlStreamNamespaceDeclarations m_environmentNamespaceDeclarations;
46 QXmlStreamNamespaceDeclarations m_localNamespaceDeclarations;
60 : d(new Private(n, v, typeNameSpace, typeName))
65 : d(new Private(n,
QVariant(), typeNameSpace, typeName))
67 d->m_childValues = children;
81 return d->m_name.isEmpty() &&
isNil();
86 return d->m_value.isNull() && d->m_childValues.isEmpty() && d->m_childValues.attributes().isEmpty();
91 d->m_nillable = nillable;
116 return d->m_qualified;
121 d->m_qualified = qualified;
131 d->m_localNamespaceDeclarations.append(namespaceDeclaration);
136 return d->m_localNamespaceDeclarations;
146 return d->m_environmentNamespaceDeclarations;
213 qDebug() <<
"ERROR: Got invalid QVariant in a KDSoapValue";
220 if (value.
userType() == qMetaTypeId<float>()) {
225 "KDSoap, see the documentation")
264 if (value.
userType() == qMetaTypeId<float>()) {
273 qDebug() <<
QString::fromLatin1(
"variantToXmlType: QVariants of type %1 are not supported in "
274 "KDSoap, see the documentation")
281 const QString &messageNamespace,
bool forceQualified)
const
283 Q_ASSERT(!
name().isEmpty());
284 if (!d->m_nameNamespace.isEmpty() && d->m_nameNamespace != messageNamespace) {
285 forceQualified =
true;
288 if (d->m_qualified || forceQualified) {
289 const QString ns = d->m_nameNamespace.isEmpty() ? messageNamespace : d->m_nameNamespace;
298 writeElementContents(namespacePrefixes, writer, use, messageNamespace);
303 const QString &messageNamespace)
const
308 writer.
writeNamespace(decl.namespaceUri().toString(), decl.prefix().toString());
311 if (
isNil() && d->m_nillable) {
318 if (!this->
type().isEmpty()) {
336 writeChildren(namespacePrefixes, writer, use, messageNamespace,
false);
347 const QString &messageNamespace,
bool forceQualified)
const
354 const QString attributeNamespace = attr.namespaceUri();
355 if (attr.isQualified() || forceQualified) {
362 while (it.hasNext()) {
364 element.writeElement(namespacePrefixes, writer, use, messageNamespace, forceQualified);
380 dbg <<
"</children>";
383 dbg <<
"<attributes>";
389 dbg <<
"</attributes>";
396 d->m_typeNamespace = nameSpace;
397 d->m_typeName =
type;
402 return d->m_typeNamespace;
407 return d->m_typeName;
413#if QT_VERSION >= QT_VERSION_CHECK(5, 14, 0)
419 for (
const QString &part : qAsConst(list)) {
430 if (val.name() == name) {
439 m_arrayType = qMakePair(nameSpace, type);
444 return m_arrayType.first;
449 return m_arrayType.second;
459 return d->m_nameNamespace;
464 d->m_nameNamespace = ns;
476 writeElement(namespacePrefixes, writer, use, messageNamespace,
false);
static QString variantToTextValue(const QVariant &value, const QString &typeNs, const QString &type)
static QString variantToXMLType(const QVariant &value)
QDebug operator<<(QDebug dbg, const KDSoapValue &value)
uint qHash(const KDSoapValue &value)
QString toDateString() const
static QString soapEncoding()
static QString xmlSchema1999()
static QString xmlSchemaInstance2001()
static QString xmlSchema2001()
void writeStandardNamespaces(QXmlStreamWriter &writer, KDSoap::SoapVersion version=KDSoap::SOAP1_1, bool messageAddressingEnabled=false, KDSoapMessageAddressingProperties::KDSoapAddressingNamespace messageAddressingNamespace=KDSoapMessageAddressingProperties::Addressing200508)
QString resolve(const QString &ns, const QString &localName) const
QString arrayTypeNs() const
KDSoapValue child(const QString &name) const
QList< KDSoapValue > & attributes()
QString arrayType() const
void addArgument(const QString &argumentName, const QVariant &argumentValue, const QString &typeNameSpace=QString(), const QString &typeName=QString())
void setArrayType(const QString &nameSpace, const QString &type)
KDSoapValueList & childValues() const
@ EncodedUse
each message part references an abstract type using the xsi:type attribute
QXmlStreamNamespaceDeclarations environmentNamespaceDeclarations() const
void addNamespaceDeclaration(const QXmlStreamNamespaceDeclaration &namespaceDeclaration)
QXmlStreamNamespaceDeclarations namespaceDeclarations() const
void setNamespaceUri(const QString &ns)
void setName(const QString &name)
QString namespaceUri() const
void setNillable(bool nillable)
void setType(const QString &nameSpace, const QString &type)
void setNamespaceDeclarations(const QXmlStreamNamespaceDeclarations &namespaceDeclarations)
bool operator==(const KDSoapValue &other) const
void setValue(const QVariant &value)
void setEnvironmentNamespaceDeclarations(const QXmlStreamNamespaceDeclarations &environmentNamespaceDeclarations)
QByteArray toXml(Use use=LiteralUse, const QString &messageNamespace=QString()) const
KDSoapValueList split() const
bool operator!=(const KDSoapValue &other) const
void setQualified(bool qualified)
const char * constData() const const
QByteArray toBase64(QByteArray::Base64Options options) const const
QByteArray toHex() const const
QString toString(Qt::DateFormat format) const const
void append(const T &value)
int count(const T &value) const const
bool isEmpty() const const
bool hasNext() const const
QStringList split(const QString &sep, QString::SplitBehavior behavior, Qt::CaseSensitivity cs) const const
QString arg(qlonglong a, int fieldWidth, int base, QChar fillChar) const const
QString fromLatin1(const char *str, int size)
bool isEmpty() const const
QString number(int n, int base)
QString toString(Qt::DateFormat format) const const
QString toString(QUrl::FormattingOptions options) const const
bool canConvert(int targetTypeId) const const
bool isNull() const const
void setValue(const T &value)
QByteArray toByteArray() const const
QDate toDate() const const
QDateTime toDateTime() const const
qlonglong toLongLong(bool *ok) const const
QString toString() const const
QTime toTime() const const
qulonglong toULongLong(bool *ok) const const
const char * typeName() const const
int userType() const const
void writeAttribute(const QString &qualifiedName, const QString &value)
void writeCharacters(const QString &text)
void writeNamespace(const QString &namespaceUri, const QString &prefix)
void writeStartDocument()
void writeStartElement(const QString &qualifiedName)