dev@glassfish.java.net

Re: DTD name changes and the DOCTYPE

From: Vince Kraemer <vince.kraemer_at_oracle.com>
Date: Fri, 28 May 2010 16:16:42 -0700

Hi Hong,

I agree that we are agreed on the PUBLIC ID in the various GlassFish
Server 3.1 doctypes having the form

  "-//GlassFish.org//DTD GlassFish Application Server 3.1 FOO X.Y//EN"

I have some more comments in-line below.

vbk


Hong Zhang wrote:
> Hi, Vince
> [snip]

> But even if we name dtd glassfish-web-app_3_0-0.dtd, people could
> still ask where is glassfish-web-app_2_0-0.dtd and
> glassfish-web-app_1_0-0.dtd? I think people will understand the
> connections between the sun-*.dtd and glassfish-*.dtd and know we
> started from there?

OK.

> What do you think about Bill's suggestion: Perhaps the "simply
> renamed" ones should be "-0", and the "new content" ones should be "-1"?

I am not thrilled by the idea.

If we know, for 100% certain, that a dtd is just going to be renamed
between now and the release date, then it would be acceptable to me...
but I do not think we have that level of foreknowledge OR are will to be
constrained to a rule that would require us to:
  a. NOT change the content of a dtd, or
  b. support all the various incarnations of the glassfish-FOO_X.Y-Z.dtd
that appear between 'today' and the release.

Here is my 'for instance'...

Say we have a user (call him Larry) that creates a set of apps (or tests
or whatever) that reference the glassfish-FOO_X.Y-0.dtd as we start to
develop GlassFish Server 3.1.

Later, a developer (lets call her Maureen) on the FOO module determines,
"Uh-oh! I need to add an element/attribute/something to the grammar
defined by the glassfish-FOO_X.Y-0.dtd" before 3.1 is final. No worries
I will just put this new element in a new DTD called
glassfish-FOO_X.Y-1.dtd.

What does Maureen do about glassfish-FOO_X.Y-0.dtd?

What do other teams do when they run into a reference to this 'between
releases' version of the grammar for a glassfish-FOO.xml file?

And what about Larry and his code...

If Larry is developing tests, do we want to force him to do additional
work on tests that are 'done'?

If Larry is one of our early adopters, do we want to have him redo code
that 'worked last week' to align it with a new name of a dtd... when the
'old name' was just as valid.

Also.. what about you and me?

I have code that I will have to change once we determine the final
result of this discussion is, since I have a version of the NB plugin
that allows users to create apps that target GlassFish Server 3.1 and
will allow the user to create 'empty' glassfish-FOO.xml files today.
Those empty file have DOCTYPE info in them and this allows things like
code completion to work.

You have code that depends on the DOCTYPE, too. And making these
changes is likely to require that it be reworked.




> That sounds reasonable to me...
>
> Thanks,
>
> - Hong