I used Delphi 2006 data binding wizard to create a interface for an XML configuration file. Later on I realized that some repeated parts of the XML can be separated from the main file and referenced where needed. The resulting XML looks something like this:
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE module [
<!ENTITY Schema65 SYSTEM "schemas/65.xml">
]>
<module>
<schema>&Schema65;</schema>
</module>
If I open this file using Internet Explorer the contents of the placeholder “&Schema65;” is correctly replaced with the contents of the external file. The Delphi parser however doesn’t seem to recognize this feature and doesn’t replace the text. Any idea how to solve this issue?
Internet Explorer is surely using the MSXML library. Set the
TXmlDocument.DomVendorproperty toMSXML_DOM(found in themsxmldomunit), and you should get the same behavior. You can also change theDefaultDOMVendorglobal variable toSMSXMLto make all newTXmlDocumentobjects use that vendor.