Probably worth pointing out that in order to be immediately useful to
users, the conditional inclusion [1] feature would need to be supported in
XML Schema 1.0 processors as well.

[1] http://www.w3.org/TR/2007/WD-xmlschema11-1-20070830/#cip

Michael Glavassevich
XML Parser Development
IBM Toronto Lab
E-mail: [EMAIL PROTECTED]
E-mail: [EMAIL PROTECTED]

Prashant Reddy <[EMAIL PROTECTED]> wrote on 11/12/2007 03:16:38 AM:

> Hello:
>
> 1. Conditional Inclusion
> 2. Assertions
>
> These features are what we are most interested in.
>
> Scenarios :
>
> 1. Conditional Inclusion : The example XML snippet which employs the
> "condition inclusion" along with XMLSchema-versioning is a very
> compelling use case for us.
>
> 2. Assertions : Similar validation code currently exists in factory
> methods that create the data objects from an XML instance document.
> Putting these in Schema with help of Assertion is makes it more
> portable.
>
> Appreciate the effort of collecting feedback while the specification is
> evolving. Thank you.
>
> -Prashant
>
>
> On Fri, 2007-11-09 at 17:01 -0500, 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 <all> groups. XML Schema
> > 1.1 has relaxed several of those constraints:
> >       * <all> groups can now be extended by adding more members to
> >         them.
> >       * Wildcards are now allowed.
> >       * Particles in <all> groups can now have the value of maxOccurs
> >         be greater than 1.
> >
> > <xs:complexType name="applianceType">
> >  <xs:all>
> >   <xs:element name="item" type="xs:string"/>
> >   <xs:element name="description" type="xs:string"/>
> >  </xs:all>
> > </xs:complexType>
> >
> > <xs:complexType name="heaterType">
> >  <xs:complexContent>
> >   <xs:extension base="applianceType">
> >    <xs:all>
> >     <xs:element name="power_in_watt" type="xs:integer"/>
> >     <xs:any processContents="lax"/>
> >    </xs:all>
> >   </xs:extension>
> >  </xs:complexContent>
> > </xs:complexType>
> >
> > 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.
> >
> > <xs:complexType name="intRange">
> >  <xs:attribute name="min" type="xs:int"/>
> >  <xs:attribute name="max" type="xs:int"/>
> >  <xs:assert test="@min le @max"/>
> > </xs:complexType>
> >
> > The value of the ?min? attribute must be less than the value of the
> > ?max? attribute.
> >
> > <xs:complexType name="arrayType">
> >  <xs:sequence>
> >   <xs:element name="entry" minOccurs="0" maxOccurs="unbounded"/>
> >  </xs:sequence>
> >  <xs:attribute name="length" type="xs:int"/>
> >  <xs:assert test="@length eq fn:count(./entry)"/>
> > </xs:complexType>
> >
> > 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.
> >
> > <xs:complexType name="name">
> >   <xs:openContent mode="suffix">
> >     <xs:any namespace="##other" processContents="skip"/>
> >   </xs:openContent>
> >   <xs:sequence>
> >     <xs:element name="given" type="xs:string"/>
> >     <xs:element name="middle" type="xs:string" minOccurs="0"/>
> >     <xs:element name="family" type="xs:string"/>
> >   </xs:sequence>
> > </xs:complexType>
> >
> > 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.
> >
> > <xs:schema
> >     xmlns:xs="http://www.w3.org/2001/XMLSchema";
> >     targetNamespace="http://www.example.com/example";>
> >   . . .
> >   <xs:defaultOpenContent mode="interleave">
> >     <xs:any processContents="lax"/>
> >   </xs:defaultOpenContent>
> >   . . .
> > </xs:schema>
> >
> > 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]
> >
> > <xs:any namespace="http://www.w3.org/1999/XSL/Transform";
> >         xmlns:xsl="http://www.w3.org/1999/XSL/Transform";
> >         notQName="xsl:comment xsl:fallback"/>
> >
> > <xs:anyAttribute xmlns:ns1="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).
> >
> > <xs:complexType name="valueType">
> >  <xs:simpleContent>
> >   <xs:extenstion base="xs:long">
> >    <xs:attribute name="kind" type="xs:string"/>
> >   </xs:extension>
> >  </xs:simpleContent>
> > </xs:complexType>
> >
> > <xs:element name="value" type="valueType">
> >  <xs:alternative test="@kind='int'" type="xs:int"/>
> >  <xs:alternative test="@kind='short'" type="xs:short"/>
> >  <xs:alternative test="@kind='byte'" type="xs:byte"/>
> > </xs:element>
> >
> > 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.
> >
> > <xs:schema
> >     xmlns:xs="http://www.w3.org/2001/XMLSchema";
> >     targetNamespace="http://www.example.com/example";
> >     defaultAttributes="defaultAttrGroup">
> >   . . .
> > </xs:schema>
> >
> > 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.
> >
> > <xsd:schema
> >   xmlns:xsd="http://www.w3.org/2001/XMLSchema";
> >   xmlns:vc="http://www.w3.org/2007/XMLSchema-versioning";>
> >
> >   <xsd:element name="e" vc:minVersion="3.2">
> >     <!--* declaration suitable for 3.2  
>         * and later
> processors *-->
> >   </xsd:element>
> >   <xsd:element name="e"
> >     vc:minVersion="1.1"
> >     vc:maxVersion="3.1">
> >     <!--* declaration suitable for processors 
>         *
> supporting versions 1.1 through 3.1 
>         *-->
> >   </xsd:element>
> >   ...
> > </xsd:schema>
> >
> >
> > We would appreciate your feedback.
> >
> > Regards,
> > Khaled
>
>
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: [EMAIL PROTECTED]
> For additional commands, e-mail: [EMAIL PROTECTED]


---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to