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


Help: OASIS Mailing Lists Help | MarkMail Help

relax-ng message

[Date Prev] | [Thread Prev] | [Thread Next] | [Date Next] -- [Date Index] | [Thread Index] | [Elist Home]

Subject: Re: Datatype interface extension

There's an interaction with the other methods here.  If the datatype is not
context-dependent, then the context arguments to checkValid, isValid and
createStreamingValidator methods should be allowed to be null.  Otherwise a
null context argument should result in a NullPointerException.  This
interaction makes it tricky to put the methods relating to the compatibility
spec on a separate interface, which would generally be a good thing.

The other thing that would be desirable for supporting the compatibility
spec would be:

  static final int ID_TYPE_NULL = 0;
  static final int ID_TYPE_ID = 1;
  static final int ID_TYPE_IDREF = 2;
  static final int ID_TYPE_IDREFS = 3;
  int getIdType();

This allows the compatibility processor to avoid building in any knowledge
of particular datatype libraries.

While we're changing things, I think you should add

  String getBaseUri()

to ValidationContext, since the spec explicitly includes a base URI in the
validation context.

I would also suggest in the javadoc comments

- Limiting line length to 80 chars
- Capitalizing the first character to a sentence.


----- Original Message -----
From: "Kohsuke KAWAGUCHI" <kohsuke.kawaguchi@eng.sun.com>
To: <relax-ng@lists.oasis-open.org>
Sent: Friday, September 07, 2001 1:38 AM
Subject: Datatype interface extension

> This is a SourceForge related issue.
> Since we've decided that we disallow context-dependend datatypes from
> attribute default values, the Datatype interface is needed to be
> extended to have the following method:
> boolean isContextDependent();
> This method should return false only if the datatype will never, ever need
> to access the context information.
> Since we are introducing the new method, it will break the backward
> compatibility. I assume it's OK at this moment to break backward
> compatibility, but I just want to make sure that nobody has serious
> problem with it.
> Throwing a ContextRequiredException seemed like a good idea but I now
> believe there is a problem with this approach. Namely, if you validate
> "abc" with the QName type without ValidationContext, it probably won't
> throw a ContextRequiredException.
> regards,
> --
> Kohsuke KAWAGUCHI                          +1 650 786 0721
> Sun Microsystems                   kohsuke.kawaguchi@sun.com
> ----------------------------------------------------------------
> To subscribe or unsubscribe from this elist use the subscription
> manager: <http://lists.oasis-open.org/ob/adm.pl>

[Date Prev] | [Thread Prev] | [Thread Next] | [Date Next] -- [Date Index] | [Thread Index] | [Elist Home]

Powered by eList eXpress LLC