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

 


Help: OASIS Mailing Lists Help | MarkMail Help

 


 

   Parser2 considered harmful

[ Lists Home | Date Index | Thread Index ]
  • From: John Cowan <cowan@locke.ccil.org>
  • To: XML Dev <xml-dev@ic.ac.uk>
  • Date: Mon, 17 May 1999 16:52:58 -0400

The [insert a certain W3 WG] folks have been deciding what to do about extending their interfaces xxx.Foo and xxx.Bar (not their real names)  while adding a new level of their standard.

They seem to have settled on just adding methods to the existing
interfaces, a form of evolution which Java directly allows, and which
works well in dynamic scripting languages (Javascript, Perl, etc.)

COM implementations (which are not directly prescribed by the
standard) will probably use Foo2, Bar2, and so on,
because of special COM considerations, but that will not affect the
standard, which will merely document at exactly what level (1, 2, etc.)
a given property or method was added to the standard.

I think that the use of Parser2 should be reconsidered in favor of
just extending Parser.  There are several arguments:

1) Either Parser2 inherits from Parser or it doesn't.  If it doesn't
(and underlying objects just implement both interfaces) then much
casting must be done to get the right flavor to call a method on.
This is very expensive in Java.

If they do inherit, then you have the problem
that Parser may be extended in several logically distinct ways,
leading to interfaces Parser2A and Parser2B.  The next generation
will have to specify Parser3A, B, and C all inheriting from Parser2A
*and* Parser2B, which causes a messy diamond-shaped
inheritance graph.

2) Applications written to run against SAX1 Parser can be linked with
SAX2 Parser with no issues.  Applications written to run against SAX2
and linked with SAX1 parsers can run in degraded mode by catching
a NoSuchMethodError or its equivalent when trying to use SAX2
features.  With Parser2, the application would die with
ClassNotFoundError.

-- 
John Cowan	http://www.ccil.org/~cowan		cowan@ccil.org
	You tollerday donsk?  N.  You tolkatiff scowegian?  Nn.
	You spigotty anglease?  Nnn.  You phonio saxo?  Nnnn.
		Clear all so!  'Tis a Jute.... (Finnegans Wake 16.5)

xml-dev: A list for W3C XML Developers. To post, mailto:xml-dev@ic.ac.uk
Archived as: http://www.lists.ic.ac.uk/hypermail/xml-dev/ and on CD-ROM/ISBN 981-02-3594-1
To (un)subscribe, mailto:majordomo@ic.ac.uk the following message;
(un)subscribe xml-dev
To subscribe to the digests, mailto:majordomo@ic.ac.uk the following message;
subscribe xml-dev-digest
List coordinator, Henry Rzepa (mailto:rzepa@ic.ac.uk)





 

News | XML in Industry | Calendar | XML Registry
Marketplace | Resources | MyXML.org | Sponsors | Privacy Statement

Copyright 2001 XML.org. This site is hosted by OASIS