Where to begin...
If the schema is not there you are in the same position as with receiving some json or yaml: a bad one. Is 20230806 and integer or someones idea of sending a day?
Parsing the data into a memory structure is a one liner in any language. Assigning meaning however..
Object graph between languages as you subscribe works only in a very small number of cases. Sent your data to a mainframe and see it disappear faster than you can sent it.
Extensions is where xml shines: use an extension namespace. Hell use a namespace per plugin. Unknown namespaces are normally ignored during deserialization if you use a schema, so no line of code needed at al.
All the issues you describe boil doen in my book as: i don't know how to do this properly with xml so xml is bad.