Re: [xml-dev] DTD parser in c#

From
Jeff Rafter <>
To
Michelle Tan <>
Date
2004-03-28T16:44:48Z
ID
<017601c414e3$fc008240$6403a8c0@ARIMATHEA>
Thread
Re: [xml-dev] DTD parser in c#
> I need a DTD parser to parse the element in the DTD and match with the
DAML
> (ontology file). According to your expertise experience, will SAX.NET help
> me in this issue? Thanks for your reply.

Yes and no. What SAX will give you is a standard way to list all of the
declarations in a DTD without having to write your parser-- which is tough.
It will also expand all of the parameter entities for you. Ultimately
though, you will still have a lot of work to do with SAX. You will probably
have to do something like :

(1) Set up a DeclHandler on the SAX XMLReader.

(2) Record all of the items from ElementDecl, AttributeDecl, etc. events
into a Hashtable or Dictionary.

(3) As you encounter a DAML element match it using a lookup in the Hashtable
or Dictionary.

In this respect, you are not saving much over using the DOM-- and still have
at least some amount of work to do. However, in SAX you do have more options
for providing your own DTD for a specific file (e.g., getExternalSubset,
InputSource)

All the best,
Jeff