OASIS Mailing List ArchivesView the OASIS mailing list archive below
or browse/search using MarkMail.

 


Help: OASIS Mailing Lists Help | MarkMail Help

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [xml-dev] Java, DTD locally



> How can we validate the received XML text against a DTD
> which resides on the local file system.

Give an appropriately configured EntityResolver to your parser.
It can be as simple as this:

    public class MyResolver implements EntityResolver
    {
        public InputSource resolveEntity (String publicId, string SystemId)
        {
            if ("-//OurMessage//EN".equals (publicId))
                return new InputSource ( -- put file://...URI here -- );
            return null;
        }
    }

Or more generically, consult some sort of table (Hashtable etc) to do
the mapping.  Generically, such mechanisms are called catalogs.
The OASIS catalog mentioned by Leigh Dodds is also addresses
the problem of how to maintain such mappings (using what is IMO
an overly complex XML structure).

> <!DOCTYPE our-message PUBLIC "-//OurMessage//EN" "http://somehost/URI/some.dtd">

- Dave