Extend NameAndTypeOK: restricting a concrete-typed element to an ur-type (xs:anyType / xs:anySimpleType / xs:anyAtomicType) is widening, hence an invalid restriction. The element-vs-element check now rejects it before the atomic derivation check. The ur-type is recognised by a type reference whose key is anyType / anySimpleType / anyAtomicType AND which is absent from the named-type table, so a user type that merely shares the local name (in another namespace) is not mistaken for the ur-type. The reverse (an ur-type base narrowed by the restriction) stays valid. XSTS: invalid schemas accepted 620 to 616, valid schemas rejected held at 72, instance buckets unchanged. |
||
|---|---|---|
| .. | ||
| Canonical | ||
| Catalog | ||
| Emitting | ||
| HTML | ||
| Model | ||
| Parsing | ||
| Pattern | ||
| Regex | ||
| Schema | ||
| Stream | ||
| Validation | ||
| XInclude | ||
| XPath | ||
| XPointer | ||
| XSLT | ||
| API.swift | ||
| Lint.swift | ||
| PureXML.swift | ||
| QuickFix.swift | ||