From: Stefan B. <bo...@ap...> - 2007-05-21 04:31:06
|
On Fri, 18 May 2007, David Carver <dc...@st...> wrote: > Stefan Bodewig wrote: >> Hi, >> >> I've committed changes that treat xsi:schemaLocation and >> xsi:noNamespaceSchemaLocation as attributes of a special kind. >> Just as we do for DOCTYPE declarations with different SYSTEM ids, >> trunk now flags differences in them as a special kind (well two >> kinds) of Difference which is recoverable. >> >> > One thing to be careful of if you are doing this for differences, is > that an implementation is free to ignore the xsi:schemaLocation and > xsi:noNamespaceSchemaLocation attributes, and supply it's own schema > for use in validation. Prior to my change a difference in schemaLocation would have rendered the two documents different, now they are similar. I think schemaLocation and a DOCTYPE's SYSTEM identifier are pretty similar semantically, the processor is free to ignore either. XMLUnit now treats them the same way, documents that differ in schemaLocation are now still similar just like they'd be if they differed in SYSTEM id. >> I haven't made uo my mind on xsi:type and xsi:nil. In particular >> for nil I first need to understand the semantics more deeply before >> I can decide whether the current handling (it is an attribute like >> any other attribute) makes sense or not. >> >> > I would definitely not treat these as special attributes. Yes, I've come to this conclusion myself as well. >> These changes probably warrant a second beta before the final >> release. > > Any possibility of setting it so that how these are treated is > configurable? This would certainly be possible, though maybe not necessary. Are you thinking about schemaLocation/noNamespaceSchemaLocation only or abou type/nil as well? Stefan |