ElasticSearch is really finicky with different structures and id's. There area  few youtube id's that will make it complain, but hashes ensure all of the characters will be valid. Also since non-XML transcripts have more reasonable hashes (hashing the entire id) elasticsearch would do something strange (I think it puts a random value in empty fields) if the XML courses didn't have the same.