Following this discussion
, where I tried to explain the benefits of using FreeCAD XML files for programmatic CAD instead of Python API, I did some research. Marc Jeanmougin, one of the Inkscape developers, suggested
using the XSLT to extend XMLs. So I'm no expert by any means but using XSL/XSLT to extend FreeCAD's native XMLs seems like a great idea. Basically, you can have document transclusion, variables, procedures, generative design... it seems to be a full-fledged programing language.
I know Lei Zheng (aka RealThunder) has already added Link
to FreeCAD 19* but using XSLT one can transclude one XML into another even changing their internal parameters (as I have requested here
). One can create templates and use them as classes inside other designs, Kind of like OOP but with XMLs. There are already Python libraries (e.g., lxml.etree) to pars XML+XSLT, so it shouldn't be impossible to implement.