W3C home > Mailing lists > Public > xmlschema-dev@w3.org > May 2002

RE: Inconsistent Validation - mixed content and group

From: Biron,Paul V <Paul.V.Biron@kp.org>
Date: Wed, 29 May 2002 16:26:39 -0700
Message-Id: <8904C60CACA7D51191BC00805FEAAF4358ECE9@crdc-exch-7.crdc.kp.org>
To: "'Eric van der Vlist'" <vdv@dyomedea.com>, ijs@decisionsoft.com
Cc: xmlschema-dev@w3.org

> -----Original Message-----
> From:	Eric van der Vlist [SMTP:vdv@dyomedea.com]
> Sent:	Wednesday, May 29, 2002 4:43 AM
> To:	ijs@decisionsoft.com
> Cc:	vdv@dyomedea.com; xmlschema-dev@w3.org
> Subject:	Re: Inconsistent Validation - mixed content and group
> 
> Ian Stokes-Rees said:
> 
> > I meant this only in the sense that a many data types will have
> > difficulty being interpretted meaningfully on mixed content.  For
> > example, imagine
> >
> > <A>start<B>middle</B>end</A>
> >
> > If the data type for A is any numeric data type, a date, or some
> > pattern, it will be very difficult to meaningfully apply.
> 
> This is also what I meant :-) ... with Relax NG you can define what
> "start", "middle" and "end" look like. And this is so simple that it's
> surprising that other schema languages may stumble on this issue:
> <element name="A">
>  <data type="TypeOfStart"/>
>  <element name="B">
>    <data type="TypeOfMiddle"/>
>  </element>
>  <data type="TypeOfEnd"/>
> </element>
> 
Are you sure that the above is a legal RNG schema?  Jing complains with the
error message:

	group of "string" or "data" element

I can't tell from reading the RNG spec itself whether this should be allowed
or not.  However, in reading the Turorial that accompanies RNG [1], I find
the following in Section 5. Datayping:

	If the children of an element or an attribute match
	a data pattern, then complete content of the element
	or attribute must match that data pattern. It is not
	permitted to have a pattern which allows part of the
	content to match a data pattern, and another part
	to match another pattern. For example, the following
	pattern is not allowed:

      <element name="bad">
        <data type="int"/>
        <element name="note">
          <text/>
        </element>
      </element>

Which suggests very strongly that your RNG schema above is not
correct...but, I'm not positive.

> What you can't do with Relax NG alone is to say for instance that the
> string value of "A" is a date, but this will be made possible by the DSDL
> interoperabily framework (which BTW, should enable W3C XML Schema to do so
> as well).
> 
This is precisely that problem that kept us from typing mixed content in XML
Schema.  Imagine a slight modification to your RNG schema above (I'm
relatively sure that this schema is not a legal RNG schema):

<element name="A">
 <data type="TypeOfStart"/>
 <optional>
  <element name="B">
    <data type="TypeOfMiddle"/>
  </element>
 </optional>
 <data type="TypeOfEnd"/>
</element>

How should the following document be interpreted?

<A>startend</B>

Can you give more info on how the DSDL framework is going to handle this?

pvb

References
[1] http://www.oasis-open.org/committees/relax-ng/tutorial.html#IDA5UYR
Received on Wednesday, 29 May 2002 19:43:41 UTC

This archive was generated by hypermail 2.3.1 : Wednesday, 7 January 2015 14:55:56 UTC