[XML-DEV Mailing List Archive Home] [By Thread] [By Date] [Recent Entries] [Reply To This Message]

Re: XML Schema complex type restriction

  • From: u123724 <u123724@gmail.com>
  • To: Michael Kay <mike@saxonica.com>
  • Date: Mon, 2 Oct 2017 20:18:05 +0200

Re:  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]


PURCHASE STYLUS STUDIO ONLINE TODAY!

Purchasing Stylus Studio from our online shop is Easy, Secure and Value Priced!

Buy Stylus Studio Now

Download The World's Best XML IDE!

Accelerate XML development with our award-winning XML IDE - Download a free trial today!

Don't miss another message! Subscribe to this list today.
Email
First Name
Last Name
Company
Subscribe in XML format
RSS 2.0
Atom 0.3
 

Stylus Studio has published XML-DEV in RSS and ATOM formats, enabling users to easily subcribe to the list from their preferred news reader application.


Stylus Studio Sponsored Links are added links designed to provide related and additional information to the visitors of this website. they were not included by the author in the initial post. To view the content without the Sponsor Links please click here.

Site Map | Privacy Policy | Terms of Use | Trademarks
Free Stylus Studio XML Training:
W3C Member
Stylus Studio® and DataDirect XQuery ™are products from DataDirect Technologies, is a registered trademark of Progress Software Corporation, in the U.S. and other countries. © 2004-2013 All Rights Reserved.