Since the library's classes don't have references to the original XML elements, how are we supposed to follow the ID and SID references within the data model?
I will also need to be able to follow external references to elements in the Collada document based on the SID reference syntax defined in the Collada spec. Because the connection to the XML hierarchy is kind of lost, the only way I see to find the object that represents the XML element would be a search through the object hierarchy using reflection. Another option would probably be to find the element using a generic XML reader and then only deserialize that part of the document, but it can still contain references to other parts of the Collada document.
Another issue with this library is also that serializing a loaded document with XmlSerializer produces an invalid document because the correct order of elements is not retained due to how XmlSerializer handles class inheritance.
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
Since the library's classes don't have references to the original XML elements, how are we supposed to follow the ID and SID references within the data model?
I will also need to be able to follow external references to elements in the Collada document based on the SID reference syntax defined in the Collada spec. Because the connection to the XML hierarchy is kind of lost, the only way I see to find the object that represents the XML element would be a search through the object hierarchy using reflection. Another option would probably be to find the element using a generic XML reader and then only deserialize that part of the document, but it can still contain references to other parts of the Collada document.
Another issue with this library is also that serializing a loaded document with XmlSerializer produces an invalid document because the correct order of elements is not retained due to how XmlSerializer handles class inheritance.