diff --git a/src/libs/ifc/schema.qrc b/src/libs/ifc/schema.qrc
index f8b8fe11e..d1285d947 100644
--- a/src/libs/ifc/schema.qrc
+++ b/src/libs/ifc/schema.qrc
@@ -6,5 +6,6 @@
schema/pattern/v0.1.1.xsd
schema/pattern/v0.1.2.xsd
schema/pattern/v0.1.3.xsd
+ schema/pattern/v0.1.4.xsd
diff --git a/src/libs/ifc/schema/pattern/v0.1.4.xsd b/src/libs/ifc/schema/pattern/v0.1.4.xsd
new file mode 100644
index 000000000..059a82091
--- /dev/null
+++ b/src/libs/ifc/schema/pattern/v0.1.4.xsd
@@ -0,0 +1,312 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/src/libs/ifc/xml/vpatternconverter.cpp b/src/libs/ifc/xml/vpatternconverter.cpp
index f3f834ea8..028b1ae8a 100644
--- a/src/libs/ifc/xml/vpatternconverter.cpp
+++ b/src/libs/ifc/xml/vpatternconverter.cpp
@@ -40,8 +40,8 @@
*/
const QString VPatternConverter::PatternMinVerStr = QStringLiteral("0.1.0");
-const QString VPatternConverter::PatternMaxVerStr = QStringLiteral("0.1.3");
-const QString VPatternConverter::CurrentSchema = QStringLiteral("://schema/pattern/v0.1.3.xsd");
+const QString VPatternConverter::PatternMaxVerStr = QStringLiteral("0.1.4");
+const QString VPatternConverter::CurrentSchema = QStringLiteral("://schema/pattern/v0.1.4.xsd");
//---------------------------------------------------------------------------------------------------------------------
VPatternConverter::VPatternConverter(const QString &fileName)
@@ -93,6 +93,8 @@ QString VPatternConverter::XSDSchema(int ver) const
case (0x000102):
return QStringLiteral("://schema/pattern/v0.1.2.xsd");
case (0x000103):
+ return QStringLiteral("://schema/pattern/v0.1.3.xsd");
+ case (0x000104):
return CurrentSchema;
default:
{
@@ -140,6 +142,16 @@ void VPatternConverter::ApplyPatches()
#endif
}
case (0x000103):
+ {
+ ToV0_1_4();
+ const QString schema = XSDSchema(0x000104);
+ ValidateXML(schema, fileName);
+ // continue conversion
+ #ifdef Q_CC_CLANG
+ [[clang::fallthrough]];
+ #endif
+ }
+ case (0x000104):
break;
default:
break;
@@ -184,3 +196,10 @@ void VPatternConverter::ToV0_1_3()
SetVersion(QStringLiteral("0.1.3"));
Save();
}
+
+//---------------------------------------------------------------------------------------------------------------------
+void VPatternConverter::ToV0_1_4()
+{
+ SetVersion(QStringLiteral("0.1.4"));
+ Save();
+}
diff --git a/src/libs/ifc/xml/vpatternconverter.h b/src/libs/ifc/xml/vpatternconverter.h
index c9075318d..5df5443cd 100644
--- a/src/libs/ifc/xml/vpatternconverter.h
+++ b/src/libs/ifc/xml/vpatternconverter.h
@@ -58,6 +58,7 @@ private:
void ToV0_1_1();
void ToV0_1_2();
void ToV0_1_3();
+ void ToV0_1_4();
};
#endif // VPATTERNCONVERTER_H