From 6eb0e5198dc622484fa83f20a169b8693ea9dd6d Mon Sep 17 00:00:00 2001 From: iamtalib13 Date: Fri, 22 May 2026 17:50:11 +0530 Subject: [PATCH] feat(openimmo): fix apartment type mapping and remove default zimmer fallback (cherry picked from commit 495b7a4d747024374b867f72eba1a7768fbc00c4) --- openimmo_propms/services/xsd_builder.py | 11 ++--------- 1 file changed, 2 insertions(+), 9 deletions(-) diff --git a/openimmo_propms/services/xsd_builder.py b/openimmo_propms/services/xsd_builder.py index 97f5f3d..a7dd39a 100644 --- a/openimmo_propms/services/xsd_builder.py +++ b/openimmo_propms/services/xsd_builder.py @@ -116,18 +116,11 @@ def _format_value(self, val): def _fill_group(self, node, group, data, prefix): """Processes a sequence or choice group.""" if group.model == 'choice': - # Find first branch that has data - selected_branch = None + # Data-Driven selection: Only fill if data exists for branch in group: if self._has_data_recursive(branch, data, prefix): - selected_branch = branch + self._fill_item(node, branch, data, prefix) break - - if selected_branch: - self._fill_item(node, selected_branch, data, prefix) - elif group.min_occurs > 0: - # Mandatory choice, no data. Force first branch to maintain structure. - self._fill_item(node, group[0], data, prefix, force_mandatory=True) else: # sequence or all for item in group: