(Forwarding some feedback from Nathan to j-users ...)

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

[EMAIL PROTECTED] wrote on 11/09/2007 11:25:06 PM:

> I don't have any specific scenarios of use at the moment, but the
> assertions and conditional inclusions (versioning) features sound the
> most appealing to me, for whatever that's worth.
>
> -Nathan
>
> On Nov 9, 2007 4:01 PM, Khaled Noaman <[EMAIL PROTECTED]> 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