aapt identifies illegal symbols in res files. What is the authority on which it does this?
It is using XPAT to do the parsing but it runs XPAT in non-validating mode: there is no schema.
Based on a read of the code, I believe that it considers a symbol invalid -- element name or attribute name -- if it can find it in a table that it appears to load from the platform definition jar file (android.jar). I lose the trail at that point.
This question is similar, but the answer is unrewarding:
where does aapt look for resource identifiers
Has anyone chased this down?