Hi, According to Microsoft (http://msdn.microsoft.com/en-us/library/ms764692(VS.85).aspx) it should be possible to add the schema for schemas to the schema cache. However, when i try to do this, i get an error "DTD is prohibited". This is what i do (in Delphi): var XMLDOMSchemaCache: IXMLDOMSchemaCollection2; begin XMLDOMSchemaCache := CoXMLSchemaCache60.Create(); XMLDOMSchemaCache.add('http://www.w3.org/2001/XMLSchema', 'http://www.w3.org/2001/XMLSchema.xsd'); Calling add() raises an EOleException with error message "DTD is prohibited". But IXMLDOMSchemaCollection2 has no properties so i can allow DTDs. How can i solve this? thank you, - Gerben Abbink
Gerben Abbink wrote: > Hi, > > According to Microsoft > (http://msdn.microsoft.com/en-us/library/ms764692(VS.85).aspx) it should be > possible to add the schema for schemas to the schema cache. However, when i > try to do this, i get an error "DTD is prohibited". > > This is what i do (in Delphi): > > var > XMLDOMSchemaCache: IXMLDOMSchemaCollection2; > begin > XMLDOMSchemaCache := CoXMLSchemaCache60.Create(); > XMLDOMSchemaCache.add('http://www.w3.org/2001/XMLSchema', > 'http://www.w3.org/2001/XMLSchema.xsd'); > > Calling add() raises an EOleException with error message "DTD is > prohibited". But IXMLDOMSchemaCollection2 has no properties so i can allow > DTDs. How can i solve this? It should be possible to add a DOM document with the schema, where you set the property ProhibitDTD http://msdn.microsoft.com/en-us/library/ms762632(VS.85).aspx first before you load the schema. So pseudo code would be var schemaDoc = new ActiveXObject('Msxml2.DOMDocument.6.0'); schemaDoc.async = false; schemaDoc.resolveExternals = true; schemaDoc.validateOnParse = false; schemaDoc.setProperty("ProhibitDTD", false); schemaDoc.load('http://www.w3.org/2001/XMLSchema.xsd'); schemaCache.add('http://www.w3.org/2001/XMLSchema', schemaDoc); -- Martin Honnen --- MVP XML http://JavaScript.FAQTs.com/