libxml seems to treat the included external paramter entity as part of the internal subset. I cannot tell, if that's correct, but it look's logical at least. So I suggest you create some 'newsml-nitf.dtd' which includes the two dtd sets (NewsML and NITF) as external entities and reference this dtd as the external subset of the dtd in your document. greetings Morus