- From: Eric van der Vlist <vdv@dyomedea.com>
- Date: Tue, 09 Oct 2001 13:30:19 +0200
- To: David Carlisle <davidc@nag.co.uk>
- Cc: xmlschema-dev@w3.org
David,
David Carlisle wrote:
> I'm currently trying to recast the OpenMath DTD into W3C Schema (and
> relax ng and schematron) Many of the extra prose restrictions not
> specified in the dtd can be encapsualted (regexp restrictions, mainly)
>
> but one is alluding me at present (for W3C Schema)
> The "Float" element has two attributes, taking either a hex or decimal
> value. You have to have exactly one of these present.
>
> If it were child elements rather than attributes I'd use xsd:choice
Right.
> and if it were simple types rather than attributes I could use a union
Yes.
> but it seems that both of these constructs are not available here.
> Unless I missed something (which is quite possible) so the question:
>
> Is it possible to change the following so that
> <OMF/> and <OMF dec="2" hex="F"/>
> do not validate?
No, it is impossible with "pure" W3C XML Schema and the best you can do
is to define that those 2 attributes are not required (exactly like you
would to in a DTD).
This is one of the features allowed by RELAX NG (which treats attributes
and elements in a more consistent way than XML Schema) and Schematron
(which can test *almost* anything) that is not supported by W3C XML Schema.
This is also a case where it makes sense to add Schematron rules to a
W3C XML Schema using the xs:annotation/xs:appinfo extension mechanism
provided by XML Schema (this is supported by a couple of tools).
Eric
> thanks,
>
>
> David
>
--
Rendez-vous à Paris pour une visite guidee de la nebuleuse XML.
http://dyomedea.com/formation/
------------------------------------------------------------------------
Eric van der Vlist http://xmlfr.org http://dyomedea.com
http://xsltunit.org http://4xt.org http://examplotron.org
------------------------------------------------------------------------
Received on Tuesday, 9 October 2001 07:30:04 UTC