- From: Michael Kay <mike@saxonica.com>
- Date: Wed, 15 Oct 2008 15:21:40 +0100
- To: "'Mukul Gandhi'" <gandhi.mukul@gmail.com>, <www-xml-schema-comments@w3.org>
The problem can be seen in the content model for simpleContent/restriction in 3.4.2.2, which reads Content: (annotation?, (simpleType?, (minExclusive | minInclusive | maxExclusive | maxInclusive | totalDigits | fractionDigits | maxScale | minScale | length | minLength | maxLength | enumeration | whiteSpace | pattern | assert | {any with namespace: ##other})*)?, ((attribute | attributeGroup)*, anyAttribute?), assert*) Note that "assert" appears twice. In the first case it appears in its role as a facet, to restrict the simple content type; this assertion works solely on the atomic value, for example you could restrict a number to be a multiple of 5 using <xs:assert test="$value mod 5 = 0"/>. In the second case it appears as an assertion on the element as a whole, including its attributes, for example you could assert that if @currency="JPY", then the value must be an integer: <xs:assert test="if (@currency='JPY') then $value mod 1 = 0"/>. But syntactically, there is no way of telling which assertion is which. So the simple solution (not a very elegant one, I have to say) is to rename one of them. I think this is actually a consequence of some poor syntax design in 1.0; I have always found the syntax of complex-types-with-simple-content very unnatural. But we have to live with it. Thanks for your interest in the development of the spec! Michael Kay http://www.saxonica.com/ > -----Original Message----- > From: www-xml-schema-comments-request@w3.org > [mailto:www-xml-schema-comments-request@w3.org] On Behalf Of > Mukul Gandhi > Sent: 15 October 2008 14:58 > To: www-xml-schema-comments@w3.org > Subject: Re: [Bug 5906] Problem in definition of > <restriction> in <complexType>::<simpleContent> > > > Hello WG members, > I need to know the details of the fix in this reply. > > I looked at the member only link (cited below), and all other > material about this issue, but unfortunately I have not got > enough clarity about this fix. > > Could you please let me know in more simpler terms, > > What was the original problem, and how does this fix address > that issue? > What are the XSD 1.1 grammar details after this fix? > I would also appreciate any sample XSD 1.1 Schema fragments > about assertions, affected by this issue. > > On Fri, Oct 10, 2008 at 10:35 PM, <bugzilla@wiggum.w3.org> wrote: > > > > http://www.w3.org/Bugs/Public/show_bug.cgi?id=5906 > > > > > > Sandy Gao <sandygao@ca.ibm.com> changed: > > > > What |Removed |Added > > > -------------------------------------------------------------- > -------------- > > Status|ASSIGNED |RESOLVED > > Keywords|needsAgreement, |resolved > > |needsDrafting | > > Resolution| |FIXED > > > > > > > > > > --- Comment #2 from Sandy Gao <sandygao@ca.ibm.com> 2008-10-10 > > 17:05:38 --- On 2008-10-10, the working group adopted a proposal to > > address this issue by changing the facet element name from > "assert" to > > "assertion". (This is mostly a datatypes change.) > > > > The proposal adopted can be found here (member-only): > > http://www.w3.org/XML/Group/2004/06/xmlschema-2/datatypes.b5906.html > > > > There were a couple amendments to the above proposal: > > - An additional <assert> is replaced with <assertion> > > - Added "assert" to the Schema and DTD for schemas where it was > > missing > > > > > > -- > > Configure bugmail: > > http://www.w3.org/Bugs/Public/userprefs.cgi?tab=email > > ------- You are receiving this mail because: ------- You are the QA > > contact for the bug. > > > > > > > -- > Regards, > Mukul Gandhi >
Received on Wednesday, 15 October 2008 14:22:18 UTC