Silmes DTD parser is somehow ignoring SYSTEM entities like: <!ENTITY % brandDTD SYSTEM "chrome://branding/locale/brand.dtd"> %brandDTD; but it shouldn't.
well, that's one of the things that I'm currently working on as a part of processing coverage. External DTD is often used to add variables inside entities which requires processing support in Silme. There are exactly two targets for the whole processing concept - DTD (described above) and L20n. I should have it ready by the end of August.