Path to file version sxd schema.

--HG--
branch : feature
This commit is contained in:
dismine 2014-12-11 22:16:03 +02:00
parent 1c4af06343
commit 941b43b5b5
5 changed files with 34 additions and 13 deletions

View File

@ -2351,7 +2351,7 @@ void MainWindow::LoadPattern(const QString &fileName)
qApp->setOpeningPattern();//Begin opening file qApp->setOpeningPattern();//Begin opening file
try try
{ {
VDomDocument::ValidateXML(VPatternConverter::CurrentSchema(), fileName); VDomDocument::ValidateXML(VPatternConverter::CurrentSchema, fileName);
doc->setXMLContent(fileName); doc->setXMLContent(fileName);
qApp->setPatternUnit(doc->MUnit()); qApp->setPatternUnit(doc->MUnit());

View File

@ -31,12 +31,11 @@
//--------------------------------------------------------------------------------------------------------------------- //---------------------------------------------------------------------------------------------------------------------
VAbstractConverter::VAbstractConverter(const QString &fileName) VAbstractConverter::VAbstractConverter(const QString &fileName)
:VDomDocument(), fileName(fileName) :VDomDocument(), ver(0x0), fileName(fileName)
{ {
this->setXMLContent(fileName); this->setXMLContent(fileName);
const QString version = GetVersionStr(); const QString version = GetVersionStr();
int ver = GetVersion(version); ver = GetVersion(version);
CheckVersion(ver);
} }
//--------------------------------------------------------------------------------------------------------------------- //---------------------------------------------------------------------------------------------------------------------

View File

@ -39,7 +39,10 @@ public:
virtual ~VAbstractConverter(); virtual ~VAbstractConverter();
protected: protected:
int ver;
int GetVersion(const QString &version) const; int GetVersion(const QString &version) const;
void CheckVersion(int ver) const;
virtual int MinVer() const =0; virtual int MinVer() const =0;
virtual int MaxVer() const =0; virtual int MaxVer() const =0;
@ -47,6 +50,8 @@ protected:
virtual QString MinVerStr() const =0; virtual QString MinVerStr() const =0;
virtual QString MaxVerStr() const =0; virtual QString MaxVerStr() const =0;
virtual QString XSDSchema(int ver) const =0;
private: private:
Q_DISABLE_COPY(VAbstractConverter) Q_DISABLE_COPY(VAbstractConverter)
QString fileName; QString fileName;
@ -54,7 +59,6 @@ private:
QString GetVersionStr() const; QString GetVersionStr() const;
void ValidateVersion(const QString &version) const; void ValidateVersion(const QString &version) const;
void CheckVersion(int ver) const;
}; };
#endif // VABSTRACTCONVERTER_H #endif // VABSTRACTCONVERTER_H

View File

@ -27,26 +27,23 @@
*************************************************************************/ *************************************************************************/
#include "vpatternconverter.h" #include "vpatternconverter.h"
#include "exception/vexception.h"
const QString VPatternConverter::PatternMinVerStr = QStringLiteral("0.1.1"); const QString VPatternConverter::PatternMinVerStr = QStringLiteral("0.1.1");
const QString VPatternConverter::PatternMaxVerStr = QStringLiteral("0.1.1"); const QString VPatternConverter::PatternMaxVerStr = QStringLiteral("0.1.1");
const QString VPatternConverter::CurrentSchema = QStringLiteral("://schema/pattern/v0.1.1.xsd");
//--------------------------------------------------------------------------------------------------------------------- //---------------------------------------------------------------------------------------------------------------------
VPatternConverter::VPatternConverter(const QString &fileName) VPatternConverter::VPatternConverter(const QString &fileName)
:VAbstractConverter(fileName) :VAbstractConverter(fileName)
{ {
QString schema = XSDSchema(ver);
} }
//--------------------------------------------------------------------------------------------------------------------- //---------------------------------------------------------------------------------------------------------------------
VPatternConverter::~VPatternConverter() VPatternConverter::~VPatternConverter()
{} {}
//---------------------------------------------------------------------------------------------------------------------
QString VPatternConverter::CurrentSchema()
{
return QStringLiteral("://schema/pattern/v0.1.1.xsd");
}
//--------------------------------------------------------------------------------------------------------------------- //---------------------------------------------------------------------------------------------------------------------
int VPatternConverter::MinVer() const int VPatternConverter::MinVer() const
{ {
@ -70,3 +67,21 @@ QString VPatternConverter::MaxVerStr() const
{ {
return PatternMaxVerStr; return PatternMaxVerStr;
} }
//---------------------------------------------------------------------------------------------------------------------
QString VPatternConverter::XSDSchema(int ver) const
{
CheckVersion(ver);
switch(ver)
{
case (0x000101):
return CurrentSchema;
default:
{
const QString errorMsg(tr("Unexpected version \"%1\".").arg(ver, 0, 16));
throw VException(errorMsg);
break;
}
}
}

View File

@ -37,8 +37,8 @@ public:
VPatternConverter(const QString &fileName); VPatternConverter(const QString &fileName);
virtual ~VPatternConverter(); virtual ~VPatternConverter();
static QString CurrentSchema();
static const QString PatternMaxVerStr; static const QString PatternMaxVerStr;
static const QString CurrentSchema;
protected: protected:
virtual int MinVer() const; virtual int MinVer() const;
@ -46,6 +46,9 @@ protected:
virtual QString MinVerStr() const; virtual QString MinVerStr() const;
virtual QString MaxVerStr() const; virtual QString MaxVerStr() const;
QString XSDSchema(int ver) const;
private: private:
Q_DISABLE_COPY(VPatternConverter) Q_DISABLE_COPY(VPatternConverter)
static const QString PatternMinVerStr; static const QString PatternMinVerStr;