OASIS Mailing List ArchivesView the OASIS mailing list archive below
or browse/search using MarkMail.


Help: OASIS Mailing Lists Help | MarkMail Help



   Re: [xml-dev] Help with an XSD problem

[ Lists Home | Date Index | Thread Index ]

Hi Helen,

> I have a stock element. This element has several child elements eg
> Currency, number and name. My problem is that I want (if possible to
> allow a choice re the type_of_stock. I want to limit it to either
> Equity or Bond - I have found two ways of doing this - either using
> enumeration or patterns. I have no preference as to which.

You should prefer enumeration. Schema editors/processors can't inspect
a pattern to work out what the possible values are, but they *can*
inspect an enumeration to do so. If you have a choice between using a
pattern and using one of the other facets to express a constraint, you
should always the other facet.

> However if they select BOND I want to force the user to input
> further elements eg the Interest_rate.

I *think* that what you might be trying to do is make the Bond element
be present if the type_of_equity element has the value of 'BOND' and
the Equity element be present if the type_of_equity element has the
value 'EQUITY'. If so, then you can't do that in W3C XML Schema unless
you supplement it with Schematron; or you can use RELAX NG of course.

If you just want to say that the type_of_stock element can either
contain an Equity element or a Bond element, then, as Andrew said, use
<xs:choice> to give a choice between Bond or Equity elements.



Jeni Tennison


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

Copyright 2001 XML.org. This site is hosted by OASIS