I have a twenty year old legacy application and want to connect it to a web front end. I need to pass a rather large deeply nested data structure that is defined in C structs. We are currently planing to do that in XML. The total number of struct definitions is around 150. These all nest into one huge data structure. I would like to find a program that would scan the header files and generate an XML Schema that I could then tailor to my needs. Does anyone know of such a tool?
We have C structures in header files and we want to have an XML schema generated from the header files
1.2k views Asked by J Edward Ellis At
2
There are 2 answers
Related Questions in C
- Invoking the same activity inside a loop in cadence workflow
- "QueryFailedError{Message: workflow must handle at least one decision task before it can be queried}" when trying to run a workflow
- What are some of the big differences in Java Client versus Go Client when implementing Uber Cadence workflow?
- Connection timeout on identification
- How can I pass a complex objects as input when using Cadence HTTP API tool?
- Cannot find workflow definition even though I register it to worker
- How to determine the number of workers I need in Uber Cadence?
- How to make a workflow run for an infinitely long duration when running it using command line?
- Uber Cadence workflow versioning
- Tracking in progress cadence workflow by client
Related Questions in XML
- Invoking the same activity inside a loop in cadence workflow
- "QueryFailedError{Message: workflow must handle at least one decision task before it can be queried}" when trying to run a workflow
- What are some of the big differences in Java Client versus Go Client when implementing Uber Cadence workflow?
- Connection timeout on identification
- How can I pass a complex objects as input when using Cadence HTTP API tool?
- Cannot find workflow definition even though I register it to worker
- How to determine the number of workers I need in Uber Cadence?
- How to make a workflow run for an infinitely long duration when running it using command line?
- Uber Cadence workflow versioning
- Tracking in progress cadence workflow by client
Related Questions in XSD
- Invoking the same activity inside a loop in cadence workflow
- "QueryFailedError{Message: workflow must handle at least one decision task before it can be queried}" when trying to run a workflow
- What are some of the big differences in Java Client versus Go Client when implementing Uber Cadence workflow?
- Connection timeout on identification
- How can I pass a complex objects as input when using Cadence HTTP API tool?
- Cannot find workflow definition even though I register it to worker
- How to determine the number of workers I need in Uber Cadence?
- How to make a workflow run for an infinitely long duration when running it using command line?
- Uber Cadence workflow versioning
- Tracking in progress cadence workflow by client
Related Questions in XML-GENERATION
- Invoking the same activity inside a loop in cadence workflow
- "QueryFailedError{Message: workflow must handle at least one decision task before it can be queried}" when trying to run a workflow
- What are some of the big differences in Java Client versus Go Client when implementing Uber Cadence workflow?
- Connection timeout on identification
- How can I pass a complex objects as input when using Cadence HTTP API tool?
- Cannot find workflow definition even though I register it to worker
- How to determine the number of workers I need in Uber Cadence?
- How to make a workflow run for an infinitely long duration when running it using command line?
- Uber Cadence workflow versioning
- Tracking in progress cadence workflow by client
Popular Questions
- How do I undo the most recent local commits in Git?
- How can I remove a specific item from an array in JavaScript?
- How do I delete a Git branch locally and remotely?
- Find all files containing a specific text (string) on Linux?
- How do I revert a Git repository to a previous commit?
- How do I create an HTML button that acts like a link?
- How do I check out a remote Git branch?
- How do I force "git pull" to overwrite local files?
- How do I list all files of a directory?
- How to check whether a string contains a substring in JavaScript?
- How do I redirect to another webpage?
- How can I iterate over rows in a Pandas DataFrame?
- How do I convert a String to an int in Java?
- Does Python have a string 'contains' substring method?
- How do I check if a string contains a specific word?
Popular Tags
Trending Questions
- UIImageView Frame Doesn't Reflect Constraints
- Is it possible to use adb commands to click on a view by finding its ID?
- How to create a new web character symbol recognizable by html/javascript?
- Why isn't my CSS3 animation smooth in Google Chrome (but very smooth on other browsers)?
- Heap Gives Page Fault
- Connect ffmpeg to Visual Studio 2008
- Both Object- and ValueAnimator jumps when Duration is set above API LvL 24
- How to avoid default initialization of objects in std::vector?
- second argument of the command line arguments in a format other than char** argv or char* argv[]
- How to improve efficiency of algorithm which generates next lexicographic permutation?
- Navigating to the another actvity app getting crash in android
- How to read the particular message format in android and store in sqlite database?
- Resetting inventory status after order is cancelled
- Efficiently compute powers of X in SSE/AVX
- Insert into an external database using ajax and php : POST 500 (Internal Server Error)
There exist a tool called GCC XML which transform the internal representation of a program compiled by GCC into some XML, but it is not maintained any more.
A possibility could be to use GCC 4.6 plugin abilities, that it to code a plugin (in C) for GCC which would process the Tree (that is the internal AST) of the structure declaration. You can also use GCC MELT, a higher-level domain specific language to extend GCC. But in either cases, you'll need to understand the Tree (& Gimple) internal representations of GCC (and it might not worth it if you have just 150 structures). However, if your legacy application is large enough, learning these (and using MELT) might be worthwhile, because such new skills (of extending GCC) can be used for other tasks on that legacy application.
At last, you might also look into the (rather small, by today's standards) tools related to RPC-XDR, they contains a parser of C-like struct declarations.