diff --git a/setup/itopdesignformat.class.inc.php b/setup/itopdesignformat.class.inc.php index 619083ed9..0954a7645 100644 --- a/setup/itopdesignformat.class.inc.php +++ b/setup/itopdesignformat.class.inc.php @@ -785,6 +785,12 @@ class iTopDesignFormat if ($oFieldsSemanticNodeList->length > 0) { $oSemanticNode = $oFieldsSemanticNodeList->item(0); } else { + if (is_null($oPropertiesNode)) { + // No properties node found, create it + $oClassNode = $oXPath->query("../..", $oNode)->item(0); + $oPropertiesNode = $oClassNode->ownerDocument->createElement("properties"); + $oClassNode->appendChild($oPropertiesNode); + } $oSemanticNode = $oPropertiesNode->ownerDocument->createElement("fields_semantic"); $oPropertiesNode->appendChild($oSemanticNode); } diff --git a/test/setup/iTopDesignFormat/Convert-samples/1.7_to_3.0.expected.xml b/test/setup/iTopDesignFormat/Convert-samples/1.7_to_3.0.expected.xml index 05f5ceb6c..a8d090971 100644 --- a/test/setup/iTopDesignFormat/Convert-samples/1.7_to_3.0.expected.xml +++ b/test/setup/iTopDesignFormat/Convert-samples/1.7_to_3.0.expected.xml @@ -28,6 +28,14 @@ + + + + + foo + + +