Fix group delimiter resolution for nested components in XSL template #1097
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
The XSL template for generating group constructors failed to resolve the delimiter when a group's first element was a nested component (component containing component). This produced invalid Java code:
Changes
MessageSubclass.xsl: Changed component template match pattern from
group//componenttocomponentingroup-delimetermode. The restrictive pattern prevented recursion into component definitions resolved from the global components tree, as they were no longer descendants of a group node. The generalized pattern matches the existing patterns forfieldandgrouptemplates in the same mode.Test fixtures: Added minimal FIX spec (NestedComponentsTest.xml) and regression test (NestedComponentDelimiterTest.java) that exercises a three-level component hierarchy:
NoEntries group → Level1 component → Level2 component → Text field(58). Test validates the generated constructor contains the correct delimiter from the deeply nested field.Warning
Firewall rules blocked me from connecting to one or more addresses (expand for details)
I tried to connect to the following addresses, but was blocked by firewall rules:
www.w3.orgCo-authored-by: chrjohn <6644028+chrjohn@users.noreply.github.com>` (dns block)
Original prompt
This pull request was created as a result of the following prompt from Copilot chat.
💡 You can make Copilot smarter by setting up custom instructions, customizing its development environment and configuring Model Context Protocol (MCP) servers. Learn more Copilot coding agent tips in the docs.