From e389939092dff27b65b2f3c51d7c18e08a73d8f1 Mon Sep 17 00:00:00 2001 From: Petru Conduraru Date: Fri, 10 Jul 2026 15:41:58 +0300 Subject: [PATCH] serializers: expand IfcPropertySetDefinitionSet in XML output (#6330) Property sets contained in an IfcPropertySetDefinitionSet were exported as an empty element in XML. The XmlSerializer already had a block to expand such a set into its member property sets, but it was gated behind #ifdef SCHEMAS_HAS_IfcPropertySetDefinitionSet while the schema generator emits SCHEMA_HAS_IfcPropertySetDefinitionSet (singular). The plural spelling is defined nowhere, so the block was dead code and a RelatingPropertyDefinition holding a set produced nothing. Correct the macro name so the set is expanded and its property sets are serialized. The parse layer already reads these nested sets (they are reachable from util.element), so this only completes the XML path. Co-Authored-By: Claude Opus 4.8 --- src/serializers/schema_dependent/XmlSerializer.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/serializers/schema_dependent/XmlSerializer.cpp b/src/serializers/schema_dependent/XmlSerializer.cpp index e97e8bfb74..38fb8ce5b3 100644 --- a/src/serializers/schema_dependent/XmlSerializer.cpp +++ b/src/serializers/schema_dependent/XmlSerializer.cpp @@ -305,7 +305,7 @@ ptree* descend(Logger& logger, ifcopenshell::geometry::abstract_mapping* mapping (logger, object, &IfcSchema::IfcObject::IsDefinedBy, &IfcSchema::IfcRelDefinesByProperties::RelatingPropertyDefinition); -#ifdef SCHEMAS_HAS_IfcPropertySetDefinitionSet +#ifdef SCHEMA_HAS_IfcPropertySetDefinitionSet aggregate_of::ptr property_set_sets = get_related (logger, object, &IfcSchema::IfcObject::IsDefinedBy, &IfcSchema::IfcRelDefinesByProperties::RelatingPropertyDefinition);