From mboxrd@z Thu Jan 1 00:00:00 1970 X-Spam-Checker-Version: SpamAssassin 3.4.4 (2020-01-24) on polar.synack.me X-Spam-Level: X-Spam-Status: No, score=-1.1 required=5.0 tests=BAYES_00, PP_MIME_FAKE_ASCII_TEXT,XPRIO autolearn=no autolearn_force=no version=3.4.4 X-Google-Language: ENGLISH,ASCII X-Google-Thread: 103376,74b67a912cd10a8c,start X-Google-Attributes: gid103376,public X-Google-ArrivalTime: 2001-03-03 17:22:10 PST Path: supernews.google.com!sn-xit-03!supernews.com!newsfeed.wirehub.nl!news.maxwell.syr.edu!uninett.no!news.ost.eltele.no!newsfeed1.enitel.no!masternews.telia.net!newsb.telia.net.POSTED!not-for-mail From: "Peter Hend�n" Newsgroups: comp.lang.ada Subject: XML/HTML DOM in Ada X-Priority: 3 X-MSMail-Priority: Normal X-Newsreader: Microsoft Outlook Express 5.50.4522.1200 X-Mimeole: Produced By Microsoft MimeOLE V5.50.4522.1200 Message-ID: Date: Sun, 04 Mar 2001 01:20:44 GMT NNTP-Posting-Host: 213.64.235.46 X-Complaints-To: abuse@telia.com X-Trace: newsb.telia.net 983668844 213.64.235.46 (Sun, 04 Mar 2001 02:20:44 CET) NNTP-Posting-Date: Sun, 04 Mar 2001 02:20:44 CET Organization: Telia Internet Xref: supernews.google.com comp.lang.ada:5398 Date: 2001-03-04T01:20:44+00:00 List-Id: 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