[XML-DEV Mailing List Archive Home] [By Thread] [By Date] [Recent Entries] [Reply To This Message]

Re: Java class != XML entity

  • From: Dean Roddey <roddey@u...>
  • To: <xml-dev@i...>
  • Date: Thu, 13 Aug 1998 13:59:37 -0400

xml declare entity

>I was writing about Java source files, the relevant scoping region for
>package declarations. A Java file is a _compilation_ unit, not a class,
>since it is possible (if not favored practice) to put several classes into
>one source file. I agree that entities and include files are somewhat
>similar, and that explains some of the problems with entities: potential
>name clashes or namespace prefix capture by the entity referencing context.

>Part of my point is in direct agreement with your point; all such
>analogies are hazardous and should be treated like radiactive material
>-- potentially useful, and potentially deadly.

I think though that drawing from the existing body of experience is still
important, right? When I was
polled about the namespace draft by our folks, I said I thought it should go
forward because the
issues of scoping were well proven in existing programming languages. However,
I (being still kind
of new to the XML world) did not fully understand the new spec. If I had
understood that it was not
suggesting the use of namespaces in a way anything like that of the languages I
had experience
with, I probably would have said the opposite.

Back to the C++ example... As someone rightly pointed out, its model is that of
the "declare them all
up front" genre. Scoping is not used to nest invocations of namespaces, but to
nest the use of
instances of types. And, it did not sink into my tiny reptilian brain that
namespaces would be
named by every individual user of them as apposed to being given a name and
being used that
way forever more by everyone.

So the existing spec would be like this (in unreal pseudo code):

using namespace Hubba as Bubba;

Bubba::SomeType foo()
{
    if (blah blah blah)
    {
        using namespace Jean as Bubba;
        return Bubba::SomeType(0);
    }
}

So is this 'legal' or not? It would depend upon the particular namespace mapped
to Bubba at
the time where the foo() method was prototyped I guess. But visually, I would
be hard pressed
to figure it out myself according to how convoluted a path I got foo() into my
program by.

I wouldn't want a progrmaming language that worked that way particularly, nor
would I use it that
way if it did provide those services. It would present all of the same problems
that everyone else
has brought up. I (and my compiler) could never know what Bubba::SomeType
really meant
without a lot of effort that isn't worth what you get out of it.

It seems to me, if you were to follow the previous experience forward, you
would have to go
back to the "declare'em all up front" mechanism, and apply scoping only to
those things that
previous experience has shown it useful for, which would be 'variables'

PURCHASE STYLUS STUDIO ONLINE TODAY!

Purchasing Stylus Studio from our online shop is Easy, Secure and Value Priced!

Buy Stylus Studio Now

Download The World's Best XML IDE!

Accelerate XML development with our award-winning XML IDE - Download a free trial today!

Don't miss another message! Subscribe to this list today.
Email
First Name
Last Name
Company
Subscribe in XML format
RSS 2.0
Atom 0.3
 

Stylus Studio has published XML-DEV in RSS and ATOM formats, enabling users to easily subcribe to the list from their preferred news reader application.


Stylus Studio Sponsored Links are added links designed to provide related and additional information to the visitors of this website. they were not included by the author in the initial post. To view the content without the Sponsor Links please click here.

Site Map | Privacy Policy | Terms of Use | Trademarks
Free Stylus Studio XML Training:
W3C Member
Stylus Studio® and DataDirect XQuery ™are products from DataDirect Technologies, is a registered trademark of Progress Software Corporation, in the U.S. and other countries. © 2004-2013 All Rights Reserved.