XML.orgXML.org
FOCUS AREAS |XML-DEV |XML.org DAILY NEWSLINK |REGISTRY |RESOURCES |ABOUT
OASIS Mailing List ArchivesView the OASIS mailing list archive below
or browse/search using MarkMail.

 


Help: OASIS Mailing Lists Help | MarkMail Help

[Date Prev] | [Thread Prev] | [Thread Next] | [Date Next] -- [Date Index] | [Thread Index]
Re: [xml-dev] XML Schema complex type restriction

> Requiring the assertion to be true ONLY for content that satisfies the grammar would be a ridiculous burden on schema authors.

In fact, it has been proven untractable for XML Schema [1], but not
for DTDs [2]:

[1]: http://www.cs.toronto.edu/tox/papers/xsc.pdf
    "What's Hard about XML Schema Constraints?"

[2]: https://courses.cs.washington.edu/courses/cse591d/01sp/xml_integ.pdf
    "On XML Integrity Constraints in the Presence of DTDs"

Marcus Reichardt
sgmljs.net

On Fri, Sep 29, 2017 at 10:39 AM, Michael Kay <mike@saxonica.com> wrote:
> More realistically, imagine you have a complex type whose content model is
> <element name="para" minOccurs="0" maxOccurs="unbounded"/>, and the
> assertion says test="exists(para)", then the assertion on its own would
> allow
>
> <para/>
> <fig/>
> <fig/>
>
> which the complex type's grammar does not allow.
>
> Requiring the assertion to be true ONLY for content that satisfies the
> grammar would be a ridiculous burden on schema authors.
>
> Michael Kay
> Saxonica
>
>
> On 29 Sep 2017, at 07:39, Rick Jelliffe <rjelliffe@allette.com.au> wrote:
>
> Oops, my example made no sense. Here is a better stab:
>
> For example, if you have an element of XSD type Integer and the assertion
> constrains the element to be either the text "MentalSpasm" or the number 32
> (XSD assertion tests are on the typed document), the type is constrained to
> be the number 32.  The constraint of having text "MentalSpasm" would never
> be exercised.
>
> Rick
>
> On Fri, Sep 29, 2017 at 3:48 PM, Mukul Gandhi <gandhi.mukul@gmail.com>
> wrote:
>>
>> On 28 September 2017 at 21:07, Rick Jelliffe <rjelliffe@allette.com.au>
>> wrote:
>>>
>>> I think assertions are always subsumptive in your terminology.  Even if
>>> they appear to allow otherwise.
>>>
>>> For example, if you have an element of type Integer and the assertion
>>> constrains the element to be either the text "54" or the number 32, the type
>>> is constrained to be the number 32.  The constraint of having text "54"
>>> would never be exercised.
>>>
>>> This is because an assertion is essentially ANDed with the grammar or
>>> datatype or keyref etc constraints. Like a Bloom filter.
>>>
>>
>> Thanks for your perspective. Its nice to think like this.
>>
>>
>>
>> --
>> Regards,
>> Mukul Gandhi
>
>
>


[Date Prev] | [Thread Prev] | [Thread Next] | [Date Next] -- [Date Index] | [Thread Index]


News | XML in Industry | Calendar | XML Registry
Marketplace | Resources | MyXML.org | Sponsors | Privacy Statement

Copyright 1993-2007 XML.org. This site is hosted by OASIS