From 0ea99175b4235e4a6608b95868e597d955121f3b Mon Sep 17 00:00:00 2001 From: Roman Telezhynskyi Date: Tue, 16 Feb 2016 15:38:08 +0200 Subject: [PATCH] New VAL pattern format version that supports attribute 'duplicate'. --HG-- branch : feature --- src/libs/ifc/schema.qrc | 1 + src/libs/ifc/schema/pattern/v0.2.6.xsd | 435 +++++++++++++++++++++++++ src/libs/ifc/xml/vpatternconverter.cpp | 20 +- src/libs/ifc/xml/vpatternconverter.h | 1 + 4 files changed, 455 insertions(+), 2 deletions(-) create mode 100644 src/libs/ifc/schema/pattern/v0.2.6.xsd diff --git a/src/libs/ifc/schema.qrc b/src/libs/ifc/schema.qrc index 73c86c494..24a646a18 100644 --- a/src/libs/ifc/schema.qrc +++ b/src/libs/ifc/schema.qrc @@ -11,6 +11,7 @@ schema/pattern/v0.2.3.xsd schema/pattern/v0.2.4.xsd schema/pattern/v0.2.5.xsd + schema/pattern/v0.2.6.xsd schema/standard_measurements/v0.3.0.xsd schema/standard_measurements/v0.4.0.xsd schema/standard_measurements/v0.4.1.xsd diff --git a/src/libs/ifc/schema/pattern/v0.2.6.xsd b/src/libs/ifc/schema/pattern/v0.2.6.xsd new file mode 100644 index 000000000..5d01f9bb3 --- /dev/null +++ b/src/libs/ifc/schema/pattern/v0.2.6.xsd @@ -0,0 +1,435 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/src/libs/ifc/xml/vpatternconverter.cpp b/src/libs/ifc/xml/vpatternconverter.cpp index 84e02bf87..4814337dd 100644 --- a/src/libs/ifc/xml/vpatternconverter.cpp +++ b/src/libs/ifc/xml/vpatternconverter.cpp @@ -43,8 +43,8 @@ */ const QString VPatternConverter::PatternMinVerStr = QStringLiteral("0.1.0"); -const QString VPatternConverter::PatternMaxVerStr = QStringLiteral("0.2.5"); -const QString VPatternConverter::CurrentSchema = QStringLiteral("://schema/pattern/v0.2.5.xsd"); +const QString VPatternConverter::PatternMaxVerStr = QStringLiteral("0.2.6"); +const QString VPatternConverter::CurrentSchema = QStringLiteral("://schema/pattern/v0.2.6.xsd"); //--------------------------------------------------------------------------------------------------------------------- VPatternConverter::VPatternConverter(const QString &fileName) @@ -107,6 +107,8 @@ QString VPatternConverter::XSDSchema(int ver) const case (0x000204): return QStringLiteral("://schema/pattern/v0.2.4.xsd"); case (0x000205): + return QStringLiteral("://schema/pattern/v0.2.5.xsd"); + case (0x000206): return CurrentSchema; default: InvalidVersion(ver); @@ -192,6 +194,13 @@ void VPatternConverter::ApplyPatches() V_FALLTHROUGH } case (0x000205): + { + ToV0_2_6(); + const QString schema = XSDSchema(0x000206); + ValidateXML(schema, fileName); + V_FALLTHROUGH + } + case (0x000206): break; default: break; @@ -299,6 +308,13 @@ void VPatternConverter::ToV0_2_5() Save(); } +//--------------------------------------------------------------------------------------------------------------------- +void VPatternConverter::ToV0_2_6() +{ + SetVersion(QStringLiteral("0.2.6")); + Save(); +} + //--------------------------------------------------------------------------------------------------------------------- void VPatternConverter::TagUnitToV0_2_0() { diff --git a/src/libs/ifc/xml/vpatternconverter.h b/src/libs/ifc/xml/vpatternconverter.h index e49f04c19..7b6f76bb2 100644 --- a/src/libs/ifc/xml/vpatternconverter.h +++ b/src/libs/ifc/xml/vpatternconverter.h @@ -66,6 +66,7 @@ private: void ToV0_2_3(); void ToV0_2_4(); void ToV0_2_5(); + void ToV0_2_6(); void TagUnitToV0_2_0(); void TagIncrementToV0_2_0();