90 bool parseXSD(
const QByteArray &xml );
99 bool guessSchema(
const QByteArray &data );
102 QStringList typeNames()
const;
105 QList<QgsField> fields(
const QString &
typeName );
108 QStringList geometryAttributes(
const QString &
typeName );
127 void startElement(
const XML_Char *el,
const XML_Char **attr );
128 void endElement(
const XML_Char *el );
129 void characters(
const XML_Char *chars,
int len );
130 static void start(
void *data,
const XML_Char *el,
const XML_Char **attr )
132 static_cast<QgsGmlSchema *
>( data )->startElement( el, attr );
134 static void end(
void *data,
const XML_Char *el )
138 static void chars(
void *data,
const XML_Char *chars,
int len )
140 static_cast<QgsGmlSchema *
>( data )->characters( chars, len );
143 void addAttribute(
const QString &name,
const QString &value );
151 QString readAttribute(
const QString &attributeName,
const XML_Char **attr )
const;
154 QWidget *findMainWindow()
const;
157 QList<QDomElement> domElements(
const QDomElement &element,
const QString &path );
160 QDomElement domElement(
const QDomElement &element,
const QString &path );
163 QList<QDomElement> domElements( QList<QDomElement> &elements,
const QString &attr,
const QString &attrVal );
166 QDomElement domElement(
const QDomElement &element,
const QString &path,
const QString &attr,
const QString &attrVal );
169 QString stripNS(
const QString &name );
177 QString xsdComplexTypeGmlBaseType(
const QDomElement &element,
const QString &name );
184 ParseMode modeStackTop() {
return mParseModeStack.isEmpty() ?
None : mParseModeStack.top(); }
187 ParseMode modeStackPop() {
return mParseModeStack.isEmpty() ?
None : mParseModeStack.pop(); }
191 QStack<ParseMode> mParseModeStack;
195 QString mCurrentFeatureId;
196 int mFeatureCount = 0;
197 QString mAttributeName;
199 QString mCoordinateSeparator;
201 QString mTupleSeparator;
212 QStringList mParsePathStack;
214 QString mCurrentFeatureName;
217 QStringList mGeometryTypes;
220 QMap<QString, QgsGmlFeatureClass> mFeatureClassMap;