91 bool parseXSD(
const QByteArray &xml );
100 bool guessSchema(
const QByteArray &data );
103 QStringList typeNames()
const;
106 QList<QgsField> fields(
const QString &
typeName );
109 QStringList geometryAttributes(
const QString &
typeName );
128 void startElement(
const XML_Char *el,
const XML_Char **attr );
129 void endElement(
const XML_Char *el );
130 void characters(
const XML_Char *chars,
int len );
131 static void start(
void *data,
const XML_Char *el,
const XML_Char **attr )
133 static_cast<QgsGmlSchema *
>( data )->startElement( el, attr );
135 static void end(
void *data,
const XML_Char *el )
139 static void chars(
void *data,
const XML_Char *chars,
int len )
141 static_cast<QgsGmlSchema *
>( data )->characters( chars, len );
144 void addAttribute(
const QString &name,
const QString &value );
152 QString readAttribute(
const QString &attributeName,
const XML_Char **attr )
const;
155 QWidget *findMainWindow()
const;
158 QList<QDomElement> domElements(
const QDomElement &element,
const QString &path );
161 QDomElement domElement(
const QDomElement &element,
const QString &path );
164 QList<QDomElement> domElements( QList<QDomElement> &elements,
const QString &attr,
const QString &attrVal );
167 QDomElement domElement(
const QDomElement &element,
const QString &path,
const QString &attr,
const QString &attrVal );
170 QString stripNS(
const QString &name );
178 QString xsdComplexTypeGmlBaseType(
const QDomElement &element,
const QString &name );
185 ParseMode modeStackTop() {
return mParseModeStack.isEmpty() ?
None : mParseModeStack.top(); }
188 ParseMode modeStackPop() {
return mParseModeStack.isEmpty() ?
None : mParseModeStack.pop(); }
192 QStack<ParseMode> mParseModeStack;
196 QString mCurrentFeatureId;
197 int mFeatureCount = 0;
198 QString mAttributeName;
200 QString mCoordinateSeparator;
202 QString mTupleSeparator;
213 QStringList mParsePathStack;
215 QString mCurrentFeatureName;
218 QStringList mGeometryTypes;
221 QMap<QString, QgsGmlFeatureClass> mFeatureClassMap;