@jdrassa I just encountered a big flaw while using ${system.theme} in an <include> tag.
If it can't find the specific file, e.g. if someone uses an custom collection, it breaks the whole theme for that selection. All theme settings are suddenly ignored.
I had the idea to create some sort of external metadata library for systems that could be simply used by theme makers just by including a single file which further imports the metadata from ${system.theme}.xml files and also provides labels. It also imports a file which is used to theme those text elements.
I integrated that into my Flatline Theme here for testing purposes and noticed that behaviour.
To make the process clear again:
theme.xml includes _assets/mds_include.xml
mds_include.xml includes mds_data/${system.theme}.xml and mds_style.xml
It would be great if you could take a look at it and tell me if I made something wrong or if that is unavoidable for now. I mean I know that ES will fall back to the default theme if it can't find an include file. Maybe there's an way to ignore that error.
Edit: I just had another idea, would it be possible that ${system.theme} returns default if an unknown system is selected? Then we could use files like default.jpg or default.xml.