Подкину идейку. А не пробовали создавать временный XML-файл, прописывая в доктайпе нужный вам DTD и затем валидируя? validate(), похоже, только со встроенным DTD в XML работает.
MinamotoSoft нет, загляните в стим, там много игр, имеющих нативную версию Linux. И на рутрекер загляните в соответствующий раздел. А игры на Unity3D легко можно "спортировать" под Linux — на том же рутрекере есть мануал