[prev in list] [next in list] [prev in thread] [next in thread]
List: kde-commits
Subject: koffice/kexi/webforms/view/extjs
From: Lorenzo Villani <lvillani () binaryhelix ! net>
Date: 2008-08-05 10:27:48
Message-ID: 1217932068.544583.3702.nullmailer () svn ! kde ! org
[Download RAW message or body]
SVN commit 842443 by villani:
* fixed XML output of XMLTable
M +19 -12 XMLTable.cpp
--- trunk/koffice/kexi/webforms/view/extjs/XMLTable.cpp #842442:842443
@@ -46,24 +46,29 @@
KexiDB::QuerySchema querySchema(*tableSchema);
KexiDB::Cursor* cursor = gConnection->executeQuery(querySchema);
+ // XML Preamble and Content Type
+ writer->getResponse().setContentType("text/xml");
+ writer->write("<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n");
+ writer->write("<table>");
+
// Metadata
KexiWebForms::Model::Database db;
QMap< QPair<QString, QString>, QPair<QString, KexiDB::Field::Type> > \
data(db.getSchema(requestedTable)); QList< QPair<QString, QString> > \
dataKeys(data.keys()); typedef QPair<QString, QString> QCaptionNamePair;
- writer->write("<metadata>\n");
+ writer->write("\t<metadata>\n");
foreach(const QCaptionNamePair& captionNamePair, data.keys()) {
- writer->write("\t<field>\n");
+ writer->write("\t\t<field>\n");
QPair<QString, KexiDB::Field::Type> \
valueTypePair(data[captionNamePair]);
- writer->write("\t\t<name>");
+ writer->write("\t\t\t<name>");
writer->write(captionNamePair.second.toUtf8().constData());
writer->write("</name>\n");
- writer->write("\t\t<caption>");
+ writer->write("\t\t\t<caption>");
writer->write(captionNamePair.first.toUtf8().constData());
writer->write("</caption>\n");
- writer->write("\t\t<type>");
+ writer->write("\t\t\t<type>");
if (valueTypePair.second == KexiDB::Field::BLOB) {
writer->write("blob");
} else if (valueTypePair.second == KexiDB::Field::Boolean) {
@@ -71,12 +76,12 @@
}
writer->write("</type>\n");
- writer->write("\t</field>\n");
+ writer->write("\t\t</field>\n");
}
- writer->write("</metadata>\n\n");
+ writer->write("\t</metadata>\n\n");
// Data
- writer->write("<data>\n");
+ writer->write("\t<data>\n");
if (!cursor) {
//setValue("ERROR", "Unable to execute the query (" __FILE__ ")");
} else if (tableSchema->primaryKey()->fields()->isEmpty()) {
@@ -85,12 +90,12 @@
KexiDB::Field* primaryKey = tableSchema->primaryKey()->field(0);
while (cursor->moveNext()) {
QString \
pkeyVal(cursor->value(tableSchema->indexOf(primaryKey)).toString());
- writer->write("\t<record>\n");
+ writer->write("\t\t<record>\n");
for (uint i = 0; i < cursor->fieldCount(); i++) {
KexiDB::Field* field = querySchema.field(i);
const KexiDB::Field::Type type = field->type();
- writer->write("\t\t<"); \
writer->write(field->name().toUtf8().constData()); writer->write(">"); + \
writer->write("\t\t\t<"); writer->write(field->name().toUtf8().constData()); \
writer->write(">"); if (type == KexiDB::Field::BLOB) {
/*valueString = QString("<img src=\"/blob/%1/%2/%3/%4\" \
alt=\"Image\"/>")
\
.arg(requestedTable).arg(field->name()).arg(primaryKey->name()) @@ -100,11 +105,13 @@
}
writer->write("</"); \
writer->write(field->name().toUtf8().constData()); writer->write(">\n"); }
- writer->write("\t</record>\n");
+ writer->write("\t\t</record>\n");
}
gConnection->deleteCursor(cursor);
}
- writer->write("</data>");
+ writer->write("\t</data>");
+
+ writer->write("</table>");
}
[prev in list] [next in list] [prev in thread] [next in thread]
Configure |
About |
News |
Add a list |
Sponsored by KoreLogic