> This WXS is accepting <bar/>
> as an instance document while the RNG one was requiring a "foo" element
> as a document element.
Right. WXS doesn't have a way to specify the root elements. I think this
is just something that WXS users have to live with.
> This may make a big difference to some users.
It is a strange omission from WXS indeed.
> A way to define elements which cannot be document elements with WXS is
> to embed them in groups:
That's not, in my view, a good idea. The global/local element distinction
isn't designed to be a root element/non-root element distinction. For
example, you can only use substitution groups on global elements. If you
restrict yourself to using global elements only for root elements, lots of
things become significantly more inconvenient (eg multi-namespace schemas);
this is just not how WXS is designed to be used.
> <xs:group name="isolatedBar">
> <xs:element name="bar">
> <xs:complexType>
> <xs:sequence minOccurs="0" maxOccurs="unbounded">
> ?????
> </xs:sequence>
> </xs:complexType>
> </xs:element>
> </xs:group>
>
> but here, you can't replace the "?????" by a reference to "isolatedBar"
> since recursive groups are forbidden.
That's not how I interpret the spec. Which schema processors disallow this?
James