<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
</head>
<body text="#000000" bgcolor="#FFFFFF">
<div class="moz-cite-prefix">Hi Charlie<br>
<br>
Aha! I now understand why we are discussing this at
cross-purposes!<br>
<br>
Consider the element schemeClr, which is the subject of your DRs.
<br>
<br>
The element schemeClr is defined within the element group
EG_ColorChoice, in line 673 of Annex A.4.1 on page 3999 of
29500-1:2016. This element group is itself a choice group and, to
my mind, the use of minOccurs and maxOccurs in this group is
correct but misleading. The whole point is that each time the
choice is made, one and only one element may be chosen, but if the
choice is itself repeatable any number of times, any number of
elements within the group may occur in any order. That is true of
EG_ColorChoice (see, for example, CT_CustomColor) and also for
EG_ColorTransform. This level of indirection is unhelpful to the
casual reader, but avoids unnecessary repetition in the schema,
and therefore makes it easier to maintain the schema (once you
know how it works!). <br>
<br>
Let me demonstrate this for the element schemeClr<br>
<br>
Line 673 on page 3999 states:<br>
<br>
<tt> ...</tt><tt><br>
</tt><tt> <xsd:element name="schemeClr"
type="CT_SchemeColor" minOccurs="1" maxOccurs="1"/></tt><tt><br>
</tt><tt> ...</tt><tt><br>
</tt><br>
The complex type CT_SchemeClr is defined in lines 391 to 396 of
the same clause on page 3993:<br>
<br>
<tt><xsd:complexType name="CT_SchemeColor"></tt><tt><br>
</tt><tt> <xsd:sequence></tt><tt><br>
</tt><tt> <xsd:group ref="EG_ColorTransform" <font
color="#ff0000">minOccurs="0" maxOccurs="unbounded"</font>/></tt><tt><br>
</tt><tt> </xsd:sequence></tt><tt><br>
</tt><tt> <xsd:attribute name="val" type="ST_SchemeColorVal"
use="required"/></tt><tt><br>
</tt><tt></xsd:complexType></tt><tt><br>
</tt><br>
The element group EG_ColorTransform is specified in lines 275 to
306 of the same clause on pages 3991-2:<br>
<br>
<tt><xsd:group name="EG_ColorTransform"></tt><tt><br>
</tt><tt> <xsd:choice></tt><tt><br>
</tt><tt> <xsd:element name="tint"
type="CT_PositiveFixedPercentage" minOccurs="1"
maxOccurs="1"/></tt><tt><br>
</tt><tt> <xsd:element name="shade"
type="CT_PositiveFixedPercentage" minOccurs="1"
maxOccurs="1"/></tt><tt><br>
</tt><tt> ...</tt><tt><br>
</tt><tt> <xsd:element name="invGamma"
type="CT_InverseGammaTransform" minOccurs="1" maxOccurs="1"/></tt><tt><br>
</tt><tt> </xsd:choice></tt><tt><br>
</tt><tt></xsd:group></tt><tt><br>
</tt><tt><br>
</tt>The part <font color="#ff0000">highlighted in red </font>makes
it clear that the choice of a single element from
EG_ColorTransform can be made any number of times.<br>
<br>
We can produce a single in-line definition of the element
schemeClr that eliminates all this indirection, to see better what
is going on:<br>
<br>
<tt> ...</tt><tt><br>
</tt><tt> <xsd:element name="schemeClr" minOccurs="1"
maxOccurs="1"><br>
<xsd:complexType><br>
</tt><tt><tt> <xsd:sequence></tt><tt><br>
</tt><tt> <xsd:choice minOccurs="0"
maxOccurs="unbounded"><br>
</tt></tt><tt><tt><tt><xsd:element
name="tint" type="CT_PositiveFixedPercentage" minOccurs="1"
maxOccurs="1"/><br>
</tt></tt></tt><tt><tt><tt><tt><xsd:element
name="shade" type="CT_PositiveFixedPercentage"
minOccurs="1" maxOccurs="1"/><br>
</tt> ...<br>
</tt></tt></tt><tt><tt><tt><tt><xsd:element
name="invGamma" type="CT_InverseGammaTransform"
minOccurs="1" maxOccurs="1"/></tt><tt><br>
</tt></tt> </xsd:choice><br>
</tt><tt>
</tt><tt> </xsd:sequence></tt><tt><br>
</tt><tt> <xsd:attribute name="val"
type="ST_SchemeColorVal" use="required"/></tt><tt><br>
</tt> </xsd:complexContent><br>
</xsd:element<br>
</tt><tt>
</tt><tt> ...</tt><tt><br>
</tt><br>
I hope you will agree that the minOccurs='"1" maxOccurs="1"
applies to schemeClr and not to the elements in EG_ColorTransform.
In which case the choice of color transform elements can indeed be
made repeatedly, allowing any combination, including repetitions
of the same transform element.<br>
<br>
Kind regards,<br>
<br>
Francis<br>
<br>
<br>
<br>
On 14/11/2017 17:59, Charlie Clark wrote:<br>
</div>
<blockquote type="cite"
cite="mid:op.y9pf92uh5mynk9@fuchsia.fritz.box">Am .11.2017, 18:16
Uhr, schrieb MURATA Makoto <a class="moz-txt-link-rfc2396E" href="mailto:eb2m-mrt@asahi-net.or.jp"><eb2m-mrt@asahi-net.or.jp></a>:
<br>
<br>
<blockquote type="cite">I still do not understand your remarks on
schemas. Do you
<br>
think that
<br>
- a schema having (a|b)* , and
<br>
- another schema having (a?,b?)*
<br>
imply different semantics of documents?
<br>
To me, they are identical.
<br>
</blockquote>
<br>
I must be explaining myself poorly. My apologies. Elements in the
EG_ColorTransform group can must occur once and once only. So
neither (a|b)* nor (a?,b?)* is relevant, because they can produce
arbitrary combinations such as ababbba.
<br>
<br>
What is relevant is the order (lumMod, lumOff) and not (lumOff,
lumMod). Or am I misinterpreting the group?
<br>
<br>
Charlie
<br>
</blockquote>
<p><br>
</p>
</body>
</html>