From 29a3514aff0f46bff60a31727d065a873115108d 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 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 (cherry picked from commit e389939092dff27b65b2f3c51d7c18e08a73d8f1) --- src/serializers/schema_dependent/XmlSerializer.cpp | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/serializers/schema_dependent/XmlSerializer.cpp b/src/serializers/schema_dependent/XmlSerializer.cpp index c5ce884af3..78834825b6 100644 --- a/src/serializers/schema_dependent/XmlSerializer.cpp +++ b/src/serializers/schema_dependent/XmlSerializer.cpp @@ -294,8 +294,8 @@ ptree* descend(::logger& log, ifcopenshell::geometry::abstract_mapping* mapping, (log, object, &IfcSchema::IfcObject::IsDefinedBy, &IfcSchema::IfcRelDefinesByProperties::RelatingPropertyDefinition); -#ifdef SCHEMAS_HAS_IfcPropertySetDefinitionSet - auto property_set_sets = get_related +#ifdef SCHEMA_HAS_IfcPropertySetDefinitionSet + aggregate_of::ptr property_set_sets = get_related (log, object, &IfcSchema::IfcObject::IsDefinedBy, &IfcSchema::IfcRelDefinesByProperties::RelatingPropertyDefinition);