Hi all,

As you may have already noticed, Xerces-2 schema
(org.apache.xerces.impl.xs) has been modified to use a new set of simple
type interfaces (org.apache.xerces.impl.dv), and a default implementation
of such interfaces is also provided (org.apache.xerces.impl.dv.xs_new).

The reasons why we want this change are:

1. To provide enough information required by schema

The old simple type implementation (org.apache.xerces.impl.dv.xs) was
evolved from DTD datatypes, so in some cases, it wasn't sufficient for
schema support, especially if we want to provide PSVI. The new design
separates the DTD interfaces from the schema ones, so that the schema
simple type implementation can provide much richer information than the DTD
one.

2. To separate the implementation of simple type from the consumer (xs
package) of it

This makes it possible to switch to another simple type implementation. Now
any application can provide its customized simple type implementation,
which suits its needs the best.

3. To make simple type implementation a separate module

There are folks who are interested in our simple type implementation, and
want to use them directly. Now there is a clean way of doing that: get an
instance of the schema datatype factory, query/create a specific simple
type, then call methods defined in the simple type interface. We're
planning to update Xerces-2 documentation (possibly both API doc and FAQ)
to reflect the new interfaces and how they can be used by applications.


But this is still an on-going work. There are implementation problems, and
issues not clearly defined in the schema spec. We'll continue working on
it, and if you experience any problem regarding the new
interfaces/implementation, please let us know.

One may wonder what will happen to the old implementation (currently under
org.apache.xerces.impl.dv.xs). It's possible that we'll modify it to
conform to the new interfaces. Then we can choose one to be the default
implementation, and ship (only) the default one with the binary
distribution. In any case, "xs_new" will be changed to a more proper name.

BTW, there is a package (org.apache.xerces.impl.v2), which was used for
experimental schema code. We developed and tested the new simple type
design in org.apache.xerces.impl.v2.new_datatypes (which is the only
package remained under v2). Is there anyone, by any chance, relying on this
package? If not, I'll remove v2 package completely.

Cheers,
Sandy Gao
Software Developer, IBM Canada
(1-905) 413-3255
[EMAIL PROTECTED]


---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to