choice
requires exactly one of a group
of specified items to appear
Can be enclosed in optional
, oneOrMore
, or zeroOrMore
A song must have at least one of ARTIST
, COMPOSER
, or PRODUCER
:
start =
element SONG {
element TITLE { text },
(element COMPOSER { personContent }
| element PRODUCER { personContent }
| element ARTIST { text })+,
element PUBLISHER { text }?,
element LENGTH { text }?,
element YEAR { text }?
}
personContent =
element NAME {
element GIVEN { text }
& element FAMILY { text }
}