XSD 1.0 §3.9.6 Particle Valid (Restriction) defines a case for an element restricting a base group (RecurseAsIfGroup) but none for the reverse, so a derived sequence/choice/all that can contribute a child never validly restricts a single base element. The oracle had a deliberate non-spec 'mirror' extension that bounded the derived group by the element's effective occurrence range and accepted it; that masked a real violation inside a choice-to-choice restriction, where a derived sequence branch was allowed to map onto a base element branch it cannot legally restrict. The (.group, .element) case now returns invalid; a content-free derived group is still a valid restriction of any emptiable base (handled before this case). Catches particlesHb011. XSTS invalid-schemas- accepted 17 to 16, valid-schemas-rejected held at 0 (differential agree-valid unchanged). |
||
|---|---|---|
| .. | ||
| Canonical | ||
| Catalog | ||
| Emitting | ||
| HTML | ||
| Model | ||
| Parsing | ||
| Pattern | ||
| Regex | ||
| Schema | ||
| Stream | ||
| Validation | ||
| XInclude | ||
| XPath | ||
| XPointer | ||
| XSLT | ||
| API.swift | ||
| Lint.swift | ||
| PureXML.swift | ||
| QuickFix.swift | ||