From 35ead49575e59fdd611ebe020c589142579f4cdf Mon Sep 17 00:00:00 2001
From: "copilot-swe-agent[bot]" <198982749+Copilot@users.noreply.github.com>
Date: Thu, 30 Apr 2026 21:03:22 +0000
Subject: [PATCH 1/3] Fix XPath limit: add Saxon to xml-maven-plugin and use
XSLT 2.0 sequence syntax
Agent-Logs-Url: https://github.com/quickfix-j/quickfixj/sessions/203709eb-5c47-4dbf-8054-3ae4f49d029c
Co-authored-by: chrjohn <6644028+chrjohn@users.noreply.github.com>
---
pom.xml | 8 ++
.../src/main/xsl/extractRequiredFields.xsl | 61 ++------
.../src/main/xsl/minimiseOrchestra.xsl | 131 +++---------------
.../src/main/xsl/extractSessionLayer.xsl | 77 ++--------
4 files changed, 43 insertions(+), 234 deletions(-)
diff --git a/pom.xml b/pom.xml
index 1b2cf02720..d57a0f745b 100644
--- a/pom.xml
+++ b/pom.xml
@@ -400,6 +400,14 @@
org.codehaus.mojo
xml-maven-plugin
${xml-maven-plugin-version}
+
+
+
+ net.sf.saxon
+ Saxon-HE
+ 12.9
+
+
org.codehaus.mojo
diff --git a/quickfixj-base/src/main/xsl/extractRequiredFields.xsl b/quickfixj-base/src/main/xsl/extractRequiredFields.xsl
index be7aa86e48..3d34fe4294 100644
--- a/quickfixj-base/src/main/xsl/extractRequiredFields.xsl
+++ b/quickfixj-base/src/main/xsl/extractRequiredFields.xsl
@@ -15,59 +15,14 @@
-
+
diff --git a/quickfixj-messages/quickfixj-messages-all/src/main/xsl/minimiseOrchestra.xsl b/quickfixj-messages/quickfixj-messages-all/src/main/xsl/minimiseOrchestra.xsl
index 57df4d4d16..931eaecd4b 100644
--- a/quickfixj-messages/quickfixj-messages-all/src/main/xsl/minimiseOrchestra.xsl
+++ b/quickfixj-messages/quickfixj-messages-all/src/main/xsl/minimiseOrchestra.xsl
@@ -15,122 +15,23 @@
-
+
+ match="fixr:fields/fixr:field[not(@id = (
+ '6', '8', '9', '10', '11', '19', '21', '22', '33',
+ '34', '35', '38', '40', '43', '44', '45', '48', '49',
+ '50', '52', '54', '55', '56', '57', '58', '59', '60',
+ '89', '90', '91', '93', '95', '96', '97', '110', '115',
+ '116', '122', '128', '129', '131', '134', '135', '142',
+ '143', '144', '145', '146', '149', '152', '155', '167',
+ '193', '212', '213', '268', '269', '270', '271', '277',
+ '278', '279', '320', '322', '323', '336', '347', '369',
+ '372', '380', '393', '447', '448', '452', '453', '460',
+ '548', '549', '550', '552', '553', '554', '555', '560',
+ '600', '627', '628', '629', '630', '918', '923', '924',
+ '925', '1128', '1129', '1262', '1268', '1269', '1270',
+ '1271', '1272', '1156', '1400', '1401', '1402', '1403',
+ '1404', '1483', '1484', '1491', '1492', '1779', '321007'))]"/>
-
+
From dc7f48817e66d5c179cc559dab09ebd835bf60d0 Mon Sep 17 00:00:00 2001
From: "copilot-swe-agent[bot]" <198982749+Copilot@users.noreply.github.com>
Date: Thu, 30 Apr 2026 21:08:50 +0000
Subject: [PATCH 2/3] Extract Saxon version into property saxon.version
Agent-Logs-Url: https://github.com/quickfix-j/quickfixj/sessions/2191af66-7a53-4ce1-9909-c1e125bda0d6
Co-authored-by: chrjohn <6644028+chrjohn@users.noreply.github.com>
---
pom.xml | 3 ++-
quickfixj-codegenerator/pom.xml | 2 +-
2 files changed, 3 insertions(+), 2 deletions(-)
diff --git a/pom.xml b/pom.xml
index d57a0f745b..b821e7576e 100644
--- a/pom.xml
+++ b/pom.xml
@@ -103,6 +103,7 @@
OrchestraFIXLatest.xml
1.0.3
2.0.1
+ 12.9
1.37
0.16
1.8.0.10
@@ -405,7 +406,7 @@
net.sf.saxon
Saxon-HE
- 12.9
+ ${saxon.version}
diff --git a/quickfixj-codegenerator/pom.xml b/quickfixj-codegenerator/pom.xml
index 82a311faad..670028b6af 100644
--- a/quickfixj-codegenerator/pom.xml
+++ b/quickfixj-codegenerator/pom.xml
@@ -40,7 +40,7 @@
net.sf.saxon
Saxon-HE
- 12.9
+ ${saxon.version}
org.junit.vintage
From 48a9882a5b58c3c427c96817acaa5541f1d29c5c Mon Sep 17 00:00:00 2001
From: "copilot-swe-agent[bot]" <198982749+Copilot@users.noreply.github.com>
Date: Thu, 30 Apr 2026 21:22:35 +0000
Subject: [PATCH 3/3] Remove increased XPath limits now that Saxon is used for
XSLT processing
Agent-Logs-Url: https://github.com/quickfix-j/quickfixj/sessions/1146c8e1-6bf7-47f2-8f4d-c18ccfa6f1e3
Co-authored-by: chrjohn <6644028+chrjohn@users.noreply.github.com>
---
.junie/guidelines.md | 2 +-
.mvn/jvm.config | 2 +-
2 files changed, 2 insertions(+), 2 deletions(-)
diff --git a/.junie/guidelines.md b/.junie/guidelines.md
index 5479657fad..1e9ae3bdaf 100644
--- a/.junie/guidelines.md
+++ b/.junie/guidelines.md
@@ -23,7 +23,7 @@ QuickFIX/J is a full-featured messaging engine for the FIX protocol. It is a 100
2. Build the project:
Junie, please make sure to only use JDK 8 for the build and use the following Java options:
```
- ./mvnw package -Dmaven.javadoc.skip=true -PskipBundlePlugin,minimal-fix-latest -Xms3g -Xmx6g -Djdk.xml.xpathExprGrpLimit=500 -Djdk.xml.xpathExprOpLimit=500
+ ./mvnw package -Dmaven.javadoc.skip=true -PskipBundlePlugin,minimal-fix-latest -Xms3g -Xmx6g
```
## Coding Standards
diff --git a/.mvn/jvm.config b/.mvn/jvm.config
index 011b5a43c3..1248e2f8b8 100644
--- a/.mvn/jvm.config
+++ b/.mvn/jvm.config
@@ -1 +1 @@
--Xms3g -Xmx6g -Djdk.xml.xpathExprGrpLimit=500 -Djdk.xml.xpathExprOpLimit=500
+-Xms3g -Xmx6g