My first vote would be for _Complex Type Restriction_. I've spent
countless hours in the past bashing my head against the spec when trying
to do something with restriction that intuitively made sense (and would
be valid according to subset logic) but which ran afoul of the byzantine
rules that govern it in XML Schema 1.0.
My second vote would be Assertions. I'm sorry I don't have any specific
scenarios at the top of my head, as I haven't been writing schemas much
recently, but cases constantly came up when I've written shemas or
worked with other's schemas where some XPath assertions were just the
needed thing (and often ended up getting implemented in other tools for
checks at other stages of content processing).
Eric Schwarzenbach
Khaled Noaman wrote:
>
> Hi,
>
> The W3C Schema WG has released a last call working draft of XML Schema
> 1.1 Part 1: Structures. We are considering implementing features from
> this draft in Xerces-J. We would like to understand which features
> users are most interested in and what scenarios they plan on using
> them in.
>
> Here's a summary of the major features introduced in the spec:
>
> _All Group _
> XML Schema 1.0 imposed many restrictions on groups. XML Schema
> 1.1 has relaxed several of those constraints:
>
> * groups can now be extended by adding more members to them.
> * Wildcards are now allowed.
> * Particles in groups can now have the value of maxOccurs be
> greater than 1.
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
> _Assertions_
> A form of co-occurrence constraint, using XPath 2.0 expressions, that
> is associated with a complex type to constrain element and attribute
> values. The list of assertions is evaluated when a complex type is
> used to validate an element.
>
>
>
>
>
>
>
> The value of the ‘min’ attribute must be less than the value of the
> ‘max’ attribute.
>
>
>
>
>
>
>
>
>
> The value of the ‘length’ attribute must be equal to the number of
> occurrences of the ‘entry’ sub-elements.
>
> _Open Content Models_
> A new mechanism to allow content models to accept elements other than
> those explicitly defined. The schema author controls the degree of
> openness of the content model. They can specify whether elements
> should be accepted everywhere or at the end of the content model.
>
>
>
>
>
>
>
>
>
>
>
>
> A schema author can also define a default open content at the schema
> document level, thus saving many copy/paste if the open content is the
> same across the complex types.
>
> xmlns:xs="http://www.w3.org/2001/XMLSchema";
> targetNamespace="http://www.example.com/example";>
> . . .
>
>
>
> . . .
>
>
> _Enhanced Wildcards_
> In XML Schema 1.0, a schema author was only allowed to exclude
> elements and attributes from one namespace, the target namespace, by
> using ##other. In XML Schema 1.1, a schema author can define wildcards
> that exclude:
>
> * Elements and attributes from a set of namespaces by using
> [notNamespace]
> * A particular set of qualified elements and attributes by using
> [notQName]
> * “not-in-schema” elements and attributes (those that do not match
> any declaration in the schema) by including the ##defined
> keyword in [notQName]
>
>
> http://www.w3.org/1999/XSL/Transform";
> xmlns:xsl="http://www.w3.org/1999/XSL/Transform";
> notQName="xsl:comment xsl:fallback"/>
>
> http://ns1_";
> notNamespace="ns1 ##targetNamespace"/>
>
> _Complex Type Restriction_
> The rules for checking validity of complex-type restrictions have been
> simplified. The set of elements or attributes accepted by a
> restriction must be a subset of those accepted by its base type.
>
> _Conditional Type Assignment_
> A form of co-occurrence constraint, using XPath 2.0, that allows for a
> type to be assigned to an element instance based on its properties
> (typically attribute values).
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
> _Default Attributes_
> A new mechanism that makes it easier for schema authors to include
> common attributes like xml:base and xml:lang in all their content models.
>
> xmlns:xs="http://www.w3.org/2001/XMLSchema";
> targetNamespace="http://www.example.com/example";
> defaultAttributes="defaultAttrGroup">
> . . .
>
>
> _Conditional Inclusion_
> A mechanism that allows conforming XML Schema 1.1 processors to
> successfully ignore new constructs introduced in future version of the
> spec. It also allows schema authors to define schemas with newer
> constructs and be able to fall back to older versions when the newer
> constructs are not available.
>
>xmlns:xsd="http://www.w3.org/2001/XMLSchema";
> xmlns:vc="http://www.w3.org/2007/XMLSchema-versioning";>
>
>
>
>
>vc:minVersion="1.1"
> vc:maxVersion="3.1">
>
>
> ...
>
>
>
> We would appreciate your feedback.
>
> Regards,