comp.lang.ada
 help / color / mirror / Atom feed
* XML/HTML DOM in Ada
@ 2001-03-04  1:20 Peter Hend�n
  2001-03-07 20:28 ` Stephen Leake
  0 siblings, 1 reply; 7+ messages in thread
From: Peter Hend�n @ 2001-03-04  1:20 UTC (permalink / raw)


[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #1: Type: text/plain, Size: 1165 bytes --]

I have been thinking about implementing the DOM in Ada. The
with'ing problem makes separating the type definitions difficult.
Of course one could make everything a Node (as is indeed
allowed according to the DOM rec.), but this makes information
and implementation hiding just as "jumbled" as declaring all
node types in one package.

My current method is that I make all node types (derived from
base type Node (is new Controlled with private)) have primitive
operations that take an in out DerivedFromNode, and use
Volan's generic package Forward (described in
http://home.bluemarble.net/~jvolan/WithingProblem/FAQ.html)
to construct forwarding references to other Node types.

While this solution is straight forward:-) and relatively easy to
implement, I don't really like the fact that the user needs to
know about two access types for each node type as well as
nowing to use the conversion operator (+) at the proper times.

Has anyone else given this any thought? Am I over the top here?
Is there a better way?

Regards,
Peter
--
Peter Hend�n           http://www.algonet.se/~phenden
ICQ: 14672398
Teknisk Dokumentation AB          http://www.tdab.com





^ permalink raw reply	[flat|nested] 7+ messages in thread

end of thread, other threads:[~2001-03-13 19:09 UTC | newest]

Thread overview: 7+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2001-03-04  1:20 XML/HTML DOM in Ada Peter Hend�n
2001-03-07 20:28 ` Stephen Leake
2001-03-10 15:24   ` Peter Hend�n
2001-03-12 18:05     ` Stephen Leake
2001-03-12 23:19       ` Erik Sigra
2001-03-13 18:38       ` Tucker Taft
2001-03-13 19:09       ` Randy Brukardt

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox