diff --git a/src/libs/ifc/schema.qrc b/src/libs/ifc/schema.qrc
index 93866bf60..2037ec8b5 100644
--- a/src/libs/ifc/schema.qrc
+++ b/src/libs/ifc/schema.qrc
@@ -2,6 +2,7 @@
schema/individual_measurements.xsd
schema/standard_measurements.xsd
+ schema/pattern/v0.1.0.xsd
schema/pattern/v0.1.1.xsd
schema/pattern/v0.1.2.xsd
diff --git a/src/libs/ifc/schema/pattern/v0.1.0.xsd b/src/libs/ifc/schema/pattern/v0.1.0.xsd
new file mode 100644
index 000000000..7f0a5f96a
--- /dev/null
+++ b/src/libs/ifc/schema/pattern/v0.1.0.xsd
@@ -0,0 +1,290 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/src/libs/ifc/xml/vpatternconverter.cpp b/src/libs/ifc/xml/vpatternconverter.cpp
index aac3d0184..af47c64ed 100644
--- a/src/libs/ifc/xml/vpatternconverter.cpp
+++ b/src/libs/ifc/xml/vpatternconverter.cpp
@@ -39,7 +39,7 @@
* 4. patch - little change.
*/
-const QString VPatternConverter::PatternMinVerStr = QStringLiteral("0.1.1");
+const QString VPatternConverter::PatternMinVerStr = QStringLiteral("0.1.0");
const QString VPatternConverter::PatternMaxVerStr = QStringLiteral("0.1.2");
const QString VPatternConverter::CurrentSchema = QStringLiteral("://schema/pattern/v0.1.2.xsd");
@@ -86,6 +86,8 @@ QString VPatternConverter::XSDSchema(int ver) const
switch(ver)
{
+ case (0x000100):
+ return QStringLiteral("://schema/pattern/v0.1.0.xsd");
case (0x000101):
return QStringLiteral("://schema/pattern/v0.1.1.xsd");
case (0x000102):
@@ -105,6 +107,13 @@ void VPatternConverter::ApplyPatches()
{
switch(ver)
{
+ case (0x000100):
+ {
+ ToV0_1_1();
+ const QString schema = XSDSchema(0x000101);
+ ValidateXML(schema, fileName);
+ // continue conversion
+ }
case (0x000101):
{
ToV0_1_2();
@@ -138,8 +147,15 @@ void VPatternConverter::ApplyPatches()
}
//---------------------------------------------------------------------------------------------------------------------
-void VPatternConverter::ToV0_1_2()
+void VPatternConverter::ToV0_1_1()
{
- SetVersion("0.1.2");
+ SetVersion(QStringLiteral("0.1.1"));
+ Save();
+}
+
+//---------------------------------------------------------------------------------------------------------------------
+void VPatternConverter::ToV0_1_2()
+{
+ SetVersion(QStringLiteral("0.1.2"));
Save();
}
diff --git a/src/libs/ifc/xml/vpatternconverter.h b/src/libs/ifc/xml/vpatternconverter.h
index 118176eea..0c33f8507 100644
--- a/src/libs/ifc/xml/vpatternconverter.h
+++ b/src/libs/ifc/xml/vpatternconverter.h
@@ -54,6 +54,7 @@ private:
Q_DISABLE_COPY(VPatternConverter)
static const QString PatternMinVerStr;
+ void ToV0_1_1();
void ToV0_1_2();
};