From balakumaran.b at thalesgroup.com Tue Oct 14 06:58:23 2025 From: balakumaran.b at thalesgroup.com (B Balakumaran) Date: Tue Oct 14 10:30:19 2025 Subject: [xsde-users] XSDE Compilation error : longlong and nolonglong option in the XSDE build Message-ID: Classified as: {THALES GROUP LIMITED DISTRIBUTION} Hello, I am from Trixell project, Thales India PVT LTD. We are using xsde to generate source code from xml files in our software. I am currently working with multiple XSD schemas that are being processed using different XSDE generation options. Specifically, one schema (Rev32_SIF.xsd) is generated with the --no-long-long flag, while another schema (Rev00_IMG.xsd) requires full long long type support as below " set xsde_options=cxx-hybrid --generate-parser --generate-aggregate --no-long-long --show-sloc --proprietary-license --prologue-file *=trixell-license.txt set xsde_options_storage_date=cxx-hybrid --generate-parser --generate-aggregate --show-sloc --proprietary-license --prologue-file *=trixell-license.txt bin\xsde.exe %xsde_options% --generate-serializer --namespace-map =Rev32_SIF Rev32_SIF.xsd bin\xsde.exe %xsde_options_storage_date% --generate-serializer --namespace-map =Rev00_IMG Rev00_IMG.xsd " During compilation, I am encountering conflicting typedef declarations originating from txl_types.hxx, such as: ./ComponentApp/Gen3_coreapps/CommonLibs/GEN3_CMLIB/Misc/XmlParser/txl_types.hxx:69:25: error: conflicting declaration 'typedef long unsigned int xml_schema::unsigned_long' 69 | typedef unsigned long unsigned_long; | ^~~~~~~~~~~~~ In file included from ../ComponentApp/Gen3_coreapps/CommonLibs/GEN3_CMLIB/Misc/XmlParser/Rev00_IMG-sskel.hxx:85, from ../ComponentApp/Gen3_coreapps/CommonLibs/GEN3_CMLIB/Misc/XmlParser/Rev00_IMG-sskel.cxx:16: ../ComponentApp/Gen3_coreapps/CommonLibs/GEN3_CMLIB/Misc/XmlParser/Rev00_IMG.hxx:69:30: note: previous declaration as 'typedef long long unsigned int xml_schema::unsigned_long' 69 | typedef unsigned long long unsigned_long; | ^~~~~~~~~~~~~ In file included from ../ComponentApp/Gen3_coreapps/CommonLibs/GEN3_CMLIB/Misc/XmlParser/Rev00_IMG.hxx:154, from ../ComponentApp/Gen3_coreapps/CommonLibs/GEN3_CMLIB/Misc/XmlParser/Rev00_IMG.cxx:18: ../ComponentApp/Gen3_coreapps/CommonLibs/GEN3_CMLIB/Misc/XmlParser/txl_types.hxx:66:16: error: conflicting declaration 'typedef long int xml_schema::long_' 66 | typedef long long_; | ^~~~~ In file included from ../ComponentApp/Gen3_coreapps/CommonLibs/GEN3_CMLIB/Misc/XmlParser/Rev00_IMG.cxx:18: ../ComponentApp/Gen3_coreapps/CommonLibs/GEN3_CMLIB/Misc/XmlParser/Rev00_IMG.hxx:66:21: note: previous declaration as 'typedef long long int xml_schema::long_' 66 | typedef long long long_; | ^~~~~ I would like to confirm whether this is a known limitation with mixed XSDE runtimes and whether using --namespace-regex to isolate the XML Schema runtime (e.g. --namespace-regex xml_schema=xml_schema_img) is the recommended solution. Could you please advise on the following: 1. Is namespace separation the preferred method to prevent such typedef collisions? 2. Are there any best practices or examples available for handling multiple XSDE-generated schemas with different integer type configurations? Regards, Balakumaran.B {THALES GROUP LIMITED DISTRIBUTION} From boris at codesynthesis.com Wed Oct 15 09:48:02 2025 From: boris at codesynthesis.com (Boris Kolpackov) Date: Wed Oct 15 09:48:14 2025 Subject: [xsde-users] XSDE Compilation error : longlong and nolonglong option in the XSDE build In-Reply-To: References: Message-ID: B Balakumaran writes: > I would like to confirm whether this is a known limitation with mixed > XSDE runtimes and whether using --namespace-regex to isolate the XML > Schema runtime (e.g. --namespace-regex xml_schema=xml_schema_img) is > the recommended solution. While you can resolve this issue in the generated code by using different namespaces, this option (XSDE_LONGLONG) is also present in the XSD/e runtime library (libxsde). This will be a lot harder to resolve if you need both configurations of the runtime in the same binary. Generally, the ability to disable long long support is not meant as a mechanism to customize the generated code for different schemas. Rather, it is for dealing with platforms that don't have support for long long. If your platform supports it, there is no benefit in disabling it. So I would suggest that you simply compile all your schemas with the long long support.