@@ -152,5 +152,193 @@ set @xml= '<?xml version="1.0"?>
152152
153153select XMLISVALID(@xml, @schema);
154154
155+ set @xs= '<?xml version="1.0" encoding="UTF-8"?>
156+ <xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema"
157+ elementFormDefault="qualified">
158+ <!-- <xs:attribute name="commonAttr" type="xs:string"/> -->
159+
160+ <xs:element name="employee">
161+ <xs:complexType>
162+ <xs:sequence>
163+ <xs:element name="dt1" type="xs:dateTime" />
164+ <xs:element name="dt2" type="xs:dateTime" />
165+ <xs:element name="dt3" type="xs:dateTime" />
166+ <xs:element name="dt4" type="xs:dateTime" />
167+ </xs:sequence>
168+ </xs:complexType>
169+ </xs:element>
170+ </xs:schema>';
171+
172+ set @xml= '<?xml version="1.0"?>
173+ <employee>
174+ <dt1>2026-04-12T10:11:20.33+01:00</dt1>
175+ <dt2>-2026-04-12T10:11:20+01:00</dt2>
176+ <dt3>2026-04-12T10:11:20Z</dt3>
177+ <dt4>22026-04-12T10:11:20.33Z</dt4>
178+ </employee>';
179+
180+ select XMLISVALID(@xml, @xs);
181+
182+ set @xs= '<?xml version="1.0" encoding="UTF-8"?>
183+ <xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema"
184+ elementFormDefault="qualified">
185+ <!-- <xs:attribute name="commonAttr" type="xs:string"/> -->
186+
187+ <xs:element name="employee">
188+ <xs:complexType>
189+ <xs:sequence>
190+ <xs:element name="dt1" type="xs:date" />
191+ <xs:element name="dt2" type="xs:date" />
192+ <xs:element name="dt3" type="xs:date" />
193+ <xs:element name="dt4" type="xs:date" />
194+ </xs:sequence>
195+ </xs:complexType>
196+ </xs:element>
197+ </xs:schema>';
198+
199+ set @xml= '<?xml version="1.0"?>
200+ <employee>
201+ <dt1>2026-04-12</dt1>
202+ <dt2>-2026-04-12+01:00</dt2>
203+ <dt3>2026-04-12Z</dt3>
204+ <dt4>22026-04-12Z</dt4>
205+ </employee>';
206+
207+ select XMLISVALID(@xml, @xs);
208+
209+ set @xs= '<?xml version="1.0" encoding="UTF-8"?>
210+ <xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema"
211+ elementFormDefault="qualified">
212+ <!-- <xs:attribute name="commonAttr" type="xs:string"/> -->
213+
214+ <xs:element name="employee">
215+ <xs:complexType>
216+ <xs:sequence>
217+ <xs:element name="dt1" type="xs:time" />
218+ <xs:element name="dt2" type="xs:time" />
219+ <xs:element name="dt3" type="xs:time" />
220+ <xs:element name="dt4" type="xs:time" />
221+ </xs:sequence>
222+ </xs:complexType>
223+ </xs:element>
224+ </xs:schema>';
225+
226+ set @xml= '<?xml version="1.0"?>
227+ <employee>
228+ <dt1>10:11:20.33+01:00</dt1>
229+ <dt2>10:11:20+01:00</dt2>
230+ <dt3>10:11:20Z</dt3>
231+ <dt4>10:11:20.33Z</dt4>
232+ </employee>';
233+
234+ select XMLISVALID(@xml, @xs);
235+
236+ set @xs= '<?xml version="1.0" encoding="UTF-8"?>
237+ <xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema"
238+ elementFormDefault="qualified">
239+ <!-- <xs:attribute name="commonAttr" type="xs:string"/> -->
240+
241+ <xs:element name="employee">
242+ <xs:complexType>
243+ <xs:sequence>
244+ <xs:element name="dt1" type="xs:gYear" />
245+ <xs:element name="dt2" type="xs:gYear" />
246+ <xs:element name="dt3" type="xs:gYear" />
247+ <xs:element name="dt4" type="xs:gYear" />
248+ </xs:sequence>
249+ </xs:complexType>
250+ </xs:element>
251+ </xs:schema>';
252+
253+ set @xml= '<?xml version="1.0"?>
254+ <employee>
255+ <dt1>2026+01:00</dt1>
256+ <dt2>-2026+01:00</dt2>
257+ <dt3>2026</dt3>
258+ <dt4>2226Z</dt4>
259+ </employee>';
260+
261+ select XMLISVALID(@xml, @xs);
262+
263+ set @xs= '<?xml version="1.0" encoding="UTF-8"?>
264+ <xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema"
265+ elementFormDefault="qualified">
266+ <!-- <xs:attribute name="commonAttr" type="xs:string"/> -->
267+
268+ <xs:element name="employee">
269+ <xs:complexType>
270+ <xs:sequence>
271+ <xs:element name="dt1" type="xs:gMonth" />
272+ <xs:element name="dt2" type="xs:gMonth" />
273+ <xs:element name="dt3" type="xs:gMonth" />
274+ <xs:element name="dt4" type="xs:gMonth" />
275+ </xs:sequence>
276+ </xs:complexType>
277+ </xs:element>
278+ </xs:schema>';
279+
280+ set @xml= '<?xml version="1.0"?>
281+ <employee>
282+ <dt1>-01+01:00</dt1>
283+ <dt2>-12+01:00</dt2>
284+ <dt3>-02</dt3>
285+ <dt4>-03Z</dt4>
286+ </employee>';
287+
288+ select XMLISVALID(@xml, @xs);
289+
290+ set @xs= '<?xml version="1.0" encoding="UTF-8"?>
291+ <xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema"
292+ elementFormDefault="qualified">
293+ <!-- <xs:attribute name="commonAttr" type="xs:string"/> -->
294+
295+ <xs:element name="employee">
296+ <xs:complexType>
297+ <xs:sequence>
298+ <xs:element name="dt1" type="xs:gDay" />
299+ <xs:element name="dt2" type="xs:gDay" />
300+ <xs:element name="dt3" type="xs:gDay" />
301+ <xs:element name="dt4" type="xs:gDay" />
302+ </xs:sequence>
303+ </xs:complexType>
304+ </xs:element>
305+ </xs:schema>';
306+
307+ set @xml= '<?xml version="1.0"?>
308+ <employee>
309+ <dt1>--01+01:00</dt1>
310+ <dt2>--12+01:00</dt2>
311+ <dt3>--02</dt3>
312+ <dt4>--03Z</dt4>
313+ </employee>';
314+
315+ select XMLISVALID(@xml, @xs);
316+
317+ set @xs= '<?xml version="1.0" encoding="UTF-8"?>
318+ <xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema"
319+ elementFormDefault="qualified">
320+ <!-- <xs:attribute name="commonAttr" type="xs:string"/> -->
321+
322+ <xs:element name="employee">
323+ <xs:complexType>
324+ <xs:sequence>
325+ <xs:element name="dt1" type="xs:gMonthDay" />
326+ <xs:element name="dt2" type="xs:gMonthDay" />
327+ <xs:element name="dt3" type="xs:gMonthDay" />
328+ <xs:element name="dt4" type="xs:gMonthDay" />
329+ </xs:sequence>
330+ </xs:complexType>
331+ </xs:element>
332+ </xs:schema>';
333+
334+ set @xml= '<?xml version="1.0"?>
335+ <employee>
336+ <dt1>-01-01+01:00</dt1>
337+ <dt2>-12-12+01:00</dt2>
338+ <dt3>-11-02</dt3>
339+ <dt4>-01-03Z</dt4>
340+ </employee>';
341+
342+ select XMLISVALID(@xml, @xs);
155343--echo # End of 11.8 tests
156344
0 commit comments