Main Page | Report this Page
 
   
.NET DotNet Forum Index  »  XML Forum  »  Is this scenario possible?...
Page 1 of 1    
Author Message
B. Chernick...
Posted: Thu Jul 03, 2008 9:33 am
Guest
I've included an xml and a dtd file in my Resources folder (This is a
Winforms VB project in VS2005.) I'm planning on using the xml in Resources
as a 'template', just load it and change values. The beginning code is:

Dim xDoc As New XmlDocument
xDoc.LoadXml(My.Resources.NameOfXMLFile)
... do some stuff to XDoc

Given that, is it possible to use a DTD in Resources to validate the XML?

(I admit I'm having some trouble following the documentation on this point.)
Martin Honnen...
Posted: Thu Jul 03, 2008 9:42 am
Guest
B. Chernick wrote:
Quote:
I've included an xml and a dtd file in my Resources folder (This is a
Winforms VB project in VS2005.) I'm planning on using the xml in Resources
as a 'template', just load it and change values. The beginning code is:

Dim xDoc As New XmlDocument
xDoc.LoadXml(My.Resources.NameOfXMLFile)
... do some stuff to XDoc

Given that, is it possible to use a DTD in Resources to validate the XML?

That should be possible by using a custom implementation of XmlResolver
that ensures that the system identifier is resolved by loading the DTD
from the resource.

--

Martin Honnen --- MVP XML
http://JavaScript.FAQTs.com/
B. Chernick...
Posted: Thu Jul 03, 2008 12:08 pm
Guest
That's just it. The basic ref states that it 'Resolves external XML
resources named by a Uniform Resource Identifier (URI). ' Does this apply to
this situation?

"Martin Honnen" wrote:

Quote:
B. Chernick wrote:
I've included an xml and a dtd file in my Resources folder (This is a
Winforms VB project in VS2005.) I'm planning on using the xml in Resources
as a 'template', just load it and change values. The beginning code is:

Dim xDoc As New XmlDocument
xDoc.LoadXml(My.Resources.NameOfXMLFile)
... do some stuff to XDoc

Given that, is it possible to use a DTD in Resources to validate the XML?

That should be possible by using a custom implementation of XmlResolver
that ensures that the system identifier is resolved by loading the DTD
from the resource.

--

Martin Honnen --- MVP XML
http://JavaScript.FAQTs.com/
Martin Honnen...
Posted: Fri Jul 04, 2008 6:13 am
Guest
B. Chernick wrote:
Quote:
That's just it. The basic ref states that it 'Resolves external XML
resources named by a Uniform Resource Identifier (URI). ' Does this apply to
this situation?


Based on your previous post where you have
<!DOCTYPE BDD SYSTEM "EAI.dtd">
the EAI.dtd is a (relative) URI that needs to be resolved to load the
external DTD. If you put that into a .NET assembly as a resource then
you need to provide a custom implementation of XmlResolver so that the
XML parser finds the DTD in the assembly.
See
http://www.hanselman.com/blog/LoadingXmlSchemaFilesOutOfAssemblyResources.aspx
for an example, it deals with schemas but the mechanism is the same
whether the parser needs to access a referenced DTD or a referenced schema.


--

Martin Honnen --- MVP XML
http://JavaScript.FAQTs.com/
 
Page 1 of 1       All times are GMT - 5 Hours
The time now is Fri Oct 10, 2008 3:26 pm