> I think you've already answered by saying that the ParseDTD functionsare only for external subsets.Well that's by definition, if you can parse the DTD independantly of a containing document that means you're loading a DTD file and hence what would be an external subset if referenced.
I need to be more careful with my use of the term "parse", since it is very specific for xml. :-)
I didn't expect xmlIOParseDTD to create the DTD node in the tree (but to develop relatively simple external subsets programmatically). Use xmlNewDTD and move the child nodes of what you obtained by parsing the external subset.
This worked fine, thanks for the help. Stefan Jeglinski