XSD with "required" attribute option related query
Rajneesh Shukla <[email protected]> Fri, 21 Feb 2020 18:32:10 +0530
| Newsgroups | gmane.text.xml.schema.devel |
|---|---|
| Message-ID | <CAFAat3-1fsxnQo7-yqc1J0hoEm_=0X+f_Hr9h4XJay-J9d9+Dg@mail.gmail.com> |
--000000000000c34894059f15a1a3
Content-Type: multipart/alternative; boundary="000000000000c34892059f15a1a1"
--000000000000c34892059f15a1a1
Content-Type: text/plain; charset="UTF-8"
Hello All,
I am new to XSD and XML and need to explore if there is option to make sure
that any one attribute in a set of attributes within same element is
required.
Example:
<xs:element name="where" maxOccurs="1" minOccurs="0">
<xs:complexType>
<xs:sequence>
<xs:element name="condition" maxOccurs="unbounded"
minOccurs="1">
<xs:complexType>
<xs:simpleContent>
<xs:extension base="xs:string">
<xs:attribute type="xs:string" name="alias1"
use="required"/>
<xs:attribute type="xs:string" name="col1"
use="required"/>
<xs:attribute type="xs:string" name="operator"
use="required"/>
<xs:attribute type="xs:string" name="string"
use="optional"/>
<xs:attribute type="xs:string" name="number"
use="optional"/>
<xs:attribute type="xs:string" name="date"
use="optional"/>
</xs:extension>
</xs:simpleContent>
</xs:complexType>
</xs:element>
</xs:sequence>
</xs:complexType>
</xs:element>
Here I want to ensure that minimum one attribute in a set of 3 attributes
(mentioned as optional in above) are required. All can not be optional ,
however any one (can be more than one also) is required.
Thanking you in anticipation !!!
Attachment:
Complete XSD file.
Thanks,
Rajneesh
--000000000000c34892059f15a1a1
Content-Type: text/html; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable
<div dir=3D"ltr">Hello All,<br><br>I am new to XSD and XML and need to expl=
ore if there is option to make sure that any one attribute in a set of attr=
ibutes within same element is required.<br><br>Example:<br><br>=C2=A0 <x=
s:element name=3D"where" maxOccurs=3D"1" minOccurs=3D&q=
uot;0"><br>=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 <xs:complexType>=
;<br>=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 <xs:sequence><br>=C2=
=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 <xs:element name=3D"c=
ondition" maxOccurs=3D"unbounded" minOccurs=3D"1"&=
gt;<br>=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 <xs:compl=
exType><br>=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=
=A0 <xs:simpleContent><br>=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =
=C2=A0 =C2=A0 =C2=A0 =C2=A0 <xs:extension base=3D"xs:string"&g=
t;<br>=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0=
=C2=A0 <xs:attribute type=3D"xs:string" name=3D"alias1&q=
uot; use=3D"required"/><br>=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =
=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 <xs:attribute type=3D"xs:=
string" name=3D"col1" use=3D"required"/><br>=C2=
=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 &=
lt;xs:attribute type=3D"xs:string" name=3D"operator" us=
e=3D"required"/><br>=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =
=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 <xs:attribute type=3D"xs:string&=
quot; name=3D"string" use=3D"optional"/><br>=C2=A0 =
=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 <x=
s:attribute type=3D"xs:string" name=3D"number" use=3D&q=
uot;optional"/><br>=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0=
=C2=A0 =C2=A0 =C2=A0 =C2=A0 <xs:attribute type=3D"xs:string" =
name=3D"date" use=3D"optional"/><br>=C2=A0 =C2=A0 =
=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 </xs:extension&g=
t;<br>=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 </x=
s:simpleContent><br>=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=
=A0 </xs:complexType><br>=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =
=C2=A0 </xs:element><br>=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 <=
;/xs:sequence><br>=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 </xs:complexType=
><br>=C2=A0 =C2=A0 =C2=A0 =C2=A0 </xs:element><br><br><div>Here I =
want to ensure that minimum one =C2=A0attribute =C2=A0in a set of 3 attribu=
tes (mentioned as optional in above) are required. All can not be optional =
, however any one (can be more than one also) is required.</div><div><br></=
div><div>Thanking you in anticipation !!!<br></div><div><br></div><div>Atta=
chment:</div><div>Complete XSD file.<br></div><br>Thanks,<br>Rajneesh</div>
--000000000000c34892059f15a1a1--
--000000000000c34894059f15a1a3
Content-Type: application/octet-stream; name=xsd design chosen
Content-Disposition: attachment; filename=xsd design chosen
Content-Transfer-Encoding: base64
Content-ID: <f_k6w6nq3u0>
X-Attachment-Id: f_k6w6nq3u0
PHhzOnNjaGVtYSBhdHRyaWJ1dGVGb3JtRGVmYXVsdD0idW5xdWFsaWZpZWQiIGVsZW1lbnRGb3Jt
RGVmYXVsdD0icXVhbGlmaWVkIiB4bWxuczp4cz0iaHR0cDovL3d3dy53My5vcmcvMjAwMS9YTUxT
Y2hlbWEiPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJmdW5jdGlvbmFsVmlldyIgbWF4T2NjdXJzPSIx
IiBtaW5PY2N1cnM9IjEiPg0KICAgIDx4czpjb21wbGV4VHlwZT4NCiAgICAgIDx4czpzZXF1ZW5j
ZT4NCiAgICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iY29sdW1ucyI+DQogICAgICAgICAgPHhzOmNv
bXBsZXhUeXBlPg0KICAgICAgICAgICAgPHhzOnNlcXVlbmNlPg0KICAgICAgICAgICAgICA8eHM6
ZWxlbWVudCBuYW1lPSJjb2x1bW4iIG1heE9jY3Vycz0idW5ib3VuZGVkIiBtaW5PY2N1cnM9IjEi
Pg0KICAgICAgICAgICAgICAgIDx4czpjb21wbGV4VHlwZT4NCiAgICAgICAgICAgICAgICAgIDx4
czpzaW1wbGVDb250ZW50Pg0KICAgICAgICAgICAgICAgICAgICA8eHM6ZXh0ZW5zaW9uIGJhc2U9
InhzOnN0cmluZyI+DQogICAgICAgICAgICAgICAgICAgICAgPHhzOmF0dHJpYnV0ZSB0eXBlPSJ4
czpzdHJpbmciIG5hbWU9Im5hbWUiIHVzZT0icmVxdWlyZWQiLz4NCiAgICAgICAgICAgICAgICAg
ICAgICA8eHM6YXR0cmlidXRlIHR5cGU9InhzOnN0cmluZyIgbmFtZT0iY29sdW1uQWxpYXMiIHVz
ZT0icmVxdWlyZWQiLz4NCiAgICAgICAgICAgICAgICAgICAgICA8eHM6YXR0cmlidXRlIHR5cGU9
InhzOnN0cmluZyIgbmFtZT0iZGVzY3JpcHRpb24iIHVzZT0icmVxdWlyZWQiLz4NCiAgICAgICAg
ICAgICAgICAgICAgPC94czpleHRlbnNpb24+DQogICAgICAgICAgICAgICAgICA8L3hzOnNpbXBs
ZUNvbnRlbnQ+DQogICAgICAgICAgICAgICAgPC94czpjb21wbGV4VHlwZT4NCiAgICAgICAgICAg
ICAgPC94czplbGVtZW50Pg0KICAgICAgICAgICAgPC94czpzZXF1ZW5jZT4NCiAgICAgICAgICA8
L3hzOmNvbXBsZXhUeXBlPg0KICAgICAgICA8L3hzOmVsZW1lbnQ+DQogICAgICAgIDx4czplbGVt
ZW50IG5hbWU9ImZyb212aWV3cyIgbWF4T2NjdXJzPSIxIiBtaW5PY2N1cnM9IjEiPg0KICAgICAg
ICAgIDx4czpjb21wbGV4VHlwZT4NCiAgICAgICAgICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgICAg
ICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iZnJvbXZpZXciIG1heE9jY3Vycz0idW5ib3VuZGVkIiBt
aW5PY2N1cnM9IjIiPg0KICAgICAgICAgICAgICAgIDx4czpjb21wbGV4VHlwZT4NCiAgICAgICAg
ICAgICAgICAgIDx4czpzaW1wbGVDb250ZW50Pg0KICAgICAgICAgICAgICAgICAgICA8eHM6ZXh0
ZW5zaW9uIGJhc2U9InhzOnN0cmluZyI+DQogICAgICAgICAgICAgICAgICAgICAgPHhzOmF0dHJp
YnV0ZSB0eXBlPSJ4czpzdHJpbmciIG5hbWU9Im5hbWUiIHVzZT0icmVxdWlyZWQiLz4NCiAgICAg
ICAgICAgICAgICAgICAgICA8eHM6YXR0cmlidXRlIHR5cGU9InhzOnN0cmluZyIgbmFtZT0iYWxp
YXMiIHVzZT0icmVxdWlyZWQiLz4NCiAgICAgICAgICAgICAgICAgICAgPC94czpleHRlbnNpb24+
DQogICAgICAgICAgICAgICAgICA8L3hzOnNpbXBsZUNvbnRlbnQ+DQogICAgICAgICAgICAgICAg
PC94czpjb21wbGV4VHlwZT4NCiAgICAgICAgICAgICAgPC94czplbGVtZW50Pg0KICAgICAgICAg
ICAgPC94czpzZXF1ZW5jZT4NCiAgICAgICAgICA8L3hzOmNvbXBsZXhUeXBlPg0KICAgICAgICA8
L3hzOmVsZW1lbnQ+DQogICAgICAgIDx4czplbGVtZW50IG5hbWU9ImpvaW5zIiBtYXhPY2N1cnM9
IjEiIG1pbk9jY3Vycz0iMSI+DQogICAgICAgICAgPHhzOmNvbXBsZXhUeXBlPg0KICAgICAgICAg
ICAgPHhzOmNob2ljZSBtYXhPY2N1cnM9InVuYm91bmRlZCIgbWluT2NjdXJzPSIxIj4NCiAgICAg
ICAgICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iam9pbiIgbWF4T2NjdXJzPSJ1bmJvdW5kZWQiIG1p
bk9jY3Vycz0iMCI+DQogICAgICAgICAgICAgICAgPHhzOmNvbXBsZXhUeXBlPg0KICAgICAgICAg
ICAgICAgICAgPHhzOnNpbXBsZUNvbnRlbnQ+DQogICAgICAgICAgICAgICAgICAgIDx4czpleHRl
bnNpb24gYmFzZT0ieHM6c3RyaW5nIj4NCiAgICAgICAgICAgICAgICAgICAgICA8eHM6YXR0cmli
dXRlIHR5cGU9InhzOnN0cmluZyIgbmFtZT0iYWxpYXMxIiB1c2U9InJlcXVpcmVkIi8+DQogICAg
ICAgICAgICAgICAgICAgICAgPHhzOmF0dHJpYnV0ZSB0eXBlPSJ4czpzdHJpbmciIG5hbWU9ImNv
bDEiIHVzZT0icmVxdWlyZWQiLz4NCiAgICAgICAgICAgICAgICAgICAgICA8eHM6YXR0cmlidXRl
IHR5cGU9InhzOnN0cmluZyIgbmFtZT0iY29uZGl0aW9uIiB1c2U9InJlcXVpcmVkIi8+DQogICAg
ICAgICAgICAgICAgICAgICAgPHhzOmF0dHJpYnV0ZSB0eXBlPSJ4czpzdHJpbmciIG5hbWU9ImFs
aWFzMiIgdXNlPSJyZXF1aXJlZCIvPg0KICAgICAgICAgICAgICAgICAgICAgIDx4czphdHRyaWJ1
dGUgdHlwZT0ieHM6c3RyaW5nIiBuYW1lPSJjb2wyIiB1c2U9InJlcXVpcmVkIi8+DQogICAgICAg
ICAgICAgICAgICAgIDwveHM6ZXh0ZW5zaW9uPg0KICAgICAgICAgICAgICAgICAgPC94czpzaW1w
bGVDb250ZW50Pg0KICAgICAgICAgICAgICAgIDwveHM6Y29tcGxleFR5cGU+DQogICAgICAgICAg
ICAgIDwveHM6ZWxlbWVudD4NCiAgICAgICAgICAgICAgPHhzOmVsZW1lbnQgbmFtZT0ibGVmdG91
dGVyam9pbiIgbWF4T2NjdXJzPSJ1bmJvdW5kZWQiIG1pbk9jY3Vycz0iMCI+DQogICAgICAgICAg
ICAgICAgPHhzOmNvbXBsZXhUeXBlPg0KICAgICAgICAgICAgICAgICAgPHhzOnNpbXBsZUNvbnRl
bnQ+DQogICAgICAgICAgICAgICAgICAgIDx4czpleHRlbnNpb24gYmFzZT0ieHM6c3RyaW5nIj4N
CiAgICAgICAgICAgICAgICAgICAgICA8eHM6YXR0cmlidXRlIHR5cGU9InhzOnN0cmluZyIgbmFt
ZT0iYWxpYXMxIiB1c2U9InJlcXVpcmVkIi8+DQogICAgICAgICAgICAgICAgICAgICAgPHhzOmF0
dHJpYnV0ZSB0eXBlPSJ4czpzdHJpbmciIG5hbWU9ImNvbDEiIHVzZT0icmVxdWlyZWQiLz4NCiAg
ICAgICAgICAgICAgICAgICAgICA8eHM6YXR0cmlidXRlIHR5cGU9InhzOnN0cmluZyIgbmFtZT0i
Y29uZGl0aW9uIiB1c2U9InJlcXVpcmVkIi8+DQogICAgICAgICAgICAgICAgICAgICAgPHhzOmF0
dHJpYnV0ZSB0eXBlPSJ4czpzdHJpbmciIG5hbWU9ImFsaWFzMiIgdXNlPSJyZXF1aXJlZCIvPg0K
ICAgICAgICAgICAgICAgICAgICAgIDx4czphdHRyaWJ1dGUgdHlwZT0ieHM6c3RyaW5nIiBuYW1l
PSJjb2wyIiB1c2U9InJlcXVpcmVkIi8+DQogICAgICAgICAgICAgICAgICAgIDwveHM6ZXh0ZW5z
aW9uPg0KICAgICAgICAgICAgICAgICAgPC94czpzaW1wbGVDb250ZW50Pg0KICAgICAgICAgICAg
ICAgIDwveHM6Y29tcGxleFR5cGU+DQogICAgICAgICAgICAgIDwveHM6ZWxlbWVudD4NCiAgICAg
ICAgICAgIDwveHM6Y2hvaWNlPg0KICAgICAgICAgIDwveHM6Y29tcGxleFR5cGU+DQogICAgICAg
IDwveHM6ZWxlbWVudD4NCiAgICAgICAgPHhzOmVsZW1lbnQgbmFtZT0id2hlcmUiIG1heE9jY3Vy
cz0iMSIgbWluT2NjdXJzPSIwIj4NCiAgICAgICAgICA8eHM6Y29tcGxleFR5cGU+DQogICAgICAg
ICAgICA8eHM6c2VxdWVuY2U+DQogICAgICAgICAgICAgIDx4czplbGVtZW50IG5hbWU9ImNvbmRp
dGlvbiIgbWF4T2NjdXJzPSJ1bmJvdW5kZWQiIG1pbk9jY3Vycz0iMSI+DQogICAgICAgICAgICAg
ICAgPHhzOmNvbXBsZXhUeXBlPg0KICAgICAgICAgICAgICAgICAgPHhzOnNpbXBsZUNvbnRlbnQ+
DQogICAgICAgICAgICAgICAgICAgIDx4czpleHRlbnNpb24gYmFzZT0ieHM6c3RyaW5nIj4NCiAg
ICAgICAgICAgICAgICAgICAgICA8eHM6YXR0cmlidXRlIHR5cGU9InhzOnN0cmluZyIgbmFtZT0i
YWxpYXMxIiB1c2U9InJlcXVpcmVkIi8+DQogICAgICAgICAgICAgICAgICAgICAgPHhzOmF0dHJp
YnV0ZSB0eXBlPSJ4czpzdHJpbmciIG5hbWU9ImNvbDEiIHVzZT0icmVxdWlyZWQiLz4NCiAgICAg
ICAgICAgICAgICAgICAgICA8eHM6YXR0cmlidXRlIHR5cGU9InhzOnN0cmluZyIgbmFtZT0ib3Bl
cmF0b3IiIHVzZT0icmVxdWlyZWQiLz4NCiAgICAgICAgICAgICAgICAgICAgICA8eHM6YXR0cmli
dXRlIHR5cGU9InhzOnN0cmluZyIgbmFtZT0ic3RyaW5nIiB1c2U9Im9wdGlvbmFsIi8+DQogICAg
ICAgICAgICAgICAgICAgICAgPHhzOmF0dHJpYnV0ZSB0eXBlPSJ4czpzdHJpbmciIG5hbWU9Im51
bWJlciIgdXNlPSJvcHRpb25hbCIvPg0KICAgICAgICAgICAgICAgICAgICAgIDx4czphdHRyaWJ1
dGUgdHlwZT0ieHM6c3RyaW5nIiBuYW1lPSJkYXRlIiB1c2U9Im9wdGlvbmFsIi8+DQogICAgICAg
ICAgICAgICAgICAgIDwveHM6ZXh0ZW5zaW9uPg0KICAgICAgICAgICAgICAgICAgPC94czpzaW1w
bGVDb250ZW50Pg0KICAgICAgICAgICAgICAgIDwveHM6Y29tcGxleFR5cGU+DQogICAgICAgICAg
ICAgIDwveHM6ZWxlbWVudD4NCiAgICAgICAgICAgIDwveHM6c2VxdWVuY2U+DQogICAgICAgICAg
PC94czpjb21wbGV4VHlwZT4NCiAgICAgICAgPC94czplbGVtZW50Pg0KICAgICAgPC94czpzZXF1
ZW5jZT4NCiAgICAgIDx4czphdHRyaWJ1dGUgdHlwZT0ieHM6c3RyaW5nIiBuYW1lPSJuYW1lIi8+
DQogICAgICA8eHM6YXR0cmlidXRlIHR5cGU9InhzOnN0cmluZyIgbmFtZT0iZGVzY3JpcHRpb24i
Lz4NCiAgICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8L3hzOmVsZW1lbnQ+DQo8L3hzOnNjaGVtYT4N
Cg0K
--000000000000c34894059f15a1a3--