Hmmm, the subject line got changed.  I'm not exactly sure how that
happened.  The subject should read "Re: Xerces1,2 proposals: one w/
potential incompatible change".  Sorry about that.

-Edwin
--- Begin Message ---
[EMAIL PROTECTED] wrote:
> 
> Hi Edwin,
> 
> I'm still not convinced that a change in behaviour which would break
> backward compatibility is appropriate in a bugfix release.  So I would tend
> to think this change shouldn't even be made in the JAXP implementation.

Well in some sense the JAXP change I am proposing is a bugfix and fixes
a JAXP backward compatibility problem.  Here is what I mean.  Before, if
you had a document that you wanted to just perform DTD validation, App1
would turn on validation via JAXP and then parse the document.  Later,
this behavior changed so that App1 would also perform XMLSchema
validation.  App1 would have to be changed to explicitly turn off
XMLSchema validation if it just wanted to perform DTD validation.  So in
effect the JAXP API is not backward compatible and fixing this would be
a JAXP bugfix.

Now lets look at App2 which wants to perform XMLSchema validation so it
turns on validation via JAXP but b/c of this JAXP bug that is in current
versions of Xerces1 it does not have to do anything else.  App2
validates w/ XMLSchema as expected.  Here App2 relys on the JAXP bug to
work.

So between these two kinds of apps, I agree that currently the App2 kind
is probably more common even though App2 is relying on the JAXP
implementation bug.  The question is when should App2 be fixed.  Is it
better to get users to fix it now or later.  I think you are saying that
you want them to wait until Xerces2 or Xerces 1.5 and I am proposing an
earlier-is-better approach which also insures that no new applications
will be written based on the broken behavior.

In any case, I think this is a difficult call.  It would also be useful
to hear other people's comments on this issue.

BTW, I don't believe changing the future JAXP 1.2 spec so that turning
on validation automatically selects XMLSchema validation is a good
answer b/c it creates other problems.  For example, if you had an XML
doc that used RelaxNG, then what should happen.  One possible answer is
to turn on RelaxNG validation if the XML doc has a pointer to an rng
schema.  Then you would need to ask what should happen if an XML doc has
a pointer to both an rng and XMLSchema schemas.

> 
> I think Xerces2 is young enough--it's still in beta after all--that changes
> like this are fine.  But then Xerces2's pipeline design, and the fact that
> schema validation only gets prrformed if there's actually a schemaValidator
> component in the pipeline to do it, makes this situation a bit different.

OK, I definitely think at least the JAXP part needs to be fixed in
Xerces2, so I will work on this.

-Edwin

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

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

Reply via email to