[
Lists Home |
Date Index |
Thread Index
]
- To: Mikko Saesmaa <saesmaa@messi.uku.fi>, xml-dev@lists.xml.org
- Subject: Re: [xml-dev] Processing external DTD subset as part of DTD validation
- From: Tatu Saloranta <cowtowncoder@yahoo.com>
- Date: Mon, 10 Apr 2006 11:25:07 -0700 (PDT)
- Domainkey-signature: a=rsa-sha1; q=dns; c=nofws; s=s1024; d=yahoo.com; h=Message-ID:Received:Date:From:Subject:To:In-Reply-To:MIME-Version:Content-Type:Content-Transfer-Encoding; b=PKtnC4V2sVTq+WagZ9AhLps37yEpTlzdYLji9hWhTlIMEmkopig0XcDUoobubK8c8fElF8PbkBgvZTO568cfamk41IrJf6sLVimsSfr5Fu9cj+V0Tx7cRdhF64JgvF9iTAebxY0YuS0HTZ3/VC+R8zYgU6MiTBb82RWiptzlHhQ= ;
- In-reply-to: <Pine.A41.4.63.0604101302580.148506@messi.uku.fi>
--- Mikko Saesmaa <saesmaa@messi.uku.fi> wrote:
> Hi all,
>
> we are fiddling with the idea of implementing a
> syntax-aware DTD
> editor on top of an XML parser, using Java. There
> must be some
> native API methods for, say, Apache Crimson or
> Apache Xerces that
> receive and process an external DTD subset, and
> report any errors
> using SAX Exceptions. Any hints for finding
> and using such methods would be appreciated.
Actually, since these errors generally are non-fatal,
wouldn't they be reported via ErrorHandler.error()
method? You have to attach such a handler, but it
could throw a SAXException if that makes sense.
There are stand-alone DTD parsers too; Wutka's at:
http://www.wutka.com/dtdparser.html
maybe most commonly used. And finally, there are also
non-SAX Java parsers who have dtd parsers (Woodstox
has one, accessed via StAX; error reporting in StAX
being quite similar to SAX).
Of course, whether raw failure information is enough
to help with editor is another question. Most
implementations return row/column of a point at or
near point where they found the problem... but due to
pre-processing caused by entities, it is not very easy
to pinpoint exact point.
Hope this helps,
-+ Tatu +-
__________________________________________________
Do You Yahoo!?
Tired of spam? Yahoo! Mail has the best spam protection around
http://mail.yahoo.com
|