5#include <QtCore/QStringList>
29 ValidationResult
validate(
const QDomDocument &doc)
const;
32 ValidationResult
validateFile(
const QString &kmlFile)
const;
35 bool isValidEnumValue(
const QString &enumTypeName,
const QString &value)
const;
49 void parseSchemaDocument(
const QDomDocument &schemaDoc);
50 void extractEnumTypes(
const QDomElement &root);
51 void extractElements(
const QDomElement &root);
53 void validateElement(
const QDomElement &element, ValidationResult &result)
const;
54 void validateCoordinates(
const QString &coordString, ValidationResult &result)
const;
56 QHash<QString, QStringList> _enumTypes;
57 QSet<QString> _validElements;
Validates KML documents against rules extracted from the OGC KML 2.2 XSD schema.
static KMLSchemaValidator * instance()
ValidationResult validate(const QDomDocument &doc) const
Validate a KML document.
ValidationResult validateFile(const QString &kmlFile) const
Validate a KML file.
bool isValidElement(const QString &elementName) const
Check if an element name is defined in the schema.
QStringList validEnumValues(const QString &enumTypeName) const
Get all valid values for an enum type.
bool isValidEnumValue(const QString &enumTypeName, const QString &value) const
Check if a value is valid for a given XSD enum type (e.g., "altitudeModeEnumType")
QStringList validElements() const
Get all valid KML element names.
void addError(const QString &msg)
void addWarning(const QString &msg)