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] When maxOccurs=1 means an unbounded number ofoccurrences is valid

Hi Roger,

I would disagree only with your initial interpretation: I think minOccurs=1 - I think 'exactly' trumps 'MAY'.

Interested to see if the list thinks differently!


On Mon, 20 Nov 2017 at 15:29 Costello, Roger L. <costello@mitre.org> wrote:

Hi Folks,

I am reading a Request for Comments (RFC).

The RFC says that Name must occur *1 times, where *1 is defined as “Exactly one instance MAY be present.” I interpret that to mean minOccurs=0 and maxOccurs=1.

So, this is valid because there is only one occurrence:


This is invalid because there is more than one occurrence:


However, things aren’t so simple……

In fact, this is valid:

<Name altid=”1” lang=”en”>Boss</Name>
<Name altid=”1” lang=”fr”>Patron</Name>

Those two occurrences represent the same logical thing -- they are both expressing the same name in English and French. In effect, there is just one occurrence!

Per the RFC: Two elements are considered alternative representations of the same logical thing if the value of their altid attributes are identical.

How to declare Name in an XML Schema?

Answer: Set maxOccurs="unbounded" like so:

<xs:element name="Name" minOccurs="0" maxOccurs="unbounded" type="Name-Type"/>


Then supplement with a Schematron rule which expresses this constraint: The Name element may occur more than once only if all occurrences have an altid attribute and their values are identical.




[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