lxml 5.2.0__cp310-cp310-win32.whl → 5.2.2__cp310-cp310-win32.whl

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (89) hide show
  1. lxml/ElementInclude.py +244 -244
  2. lxml/__init__.py +22 -22
  3. lxml/_elementpath.cp310-win32.pyd +0 -0
  4. lxml/_elementpath.py +341 -341
  5. lxml/apihelpers.pxi +1793 -1793
  6. lxml/builder.cp310-win32.pyd +0 -0
  7. lxml/builder.py +232 -232
  8. lxml/classlookup.pxi +580 -580
  9. lxml/cleanup.pxi +215 -215
  10. lxml/cssselect.py +101 -101
  11. lxml/debug.pxi +90 -90
  12. lxml/docloader.pxi +178 -178
  13. lxml/doctestcompare.py +488 -488
  14. lxml/dtd.pxi +478 -478
  15. lxml/etree.cp310-win32.pyd +0 -0
  16. lxml/etree.h +6 -6
  17. lxml/etree.pyx +3732 -3711
  18. lxml/extensions.pxi +833 -833
  19. lxml/html/ElementSoup.py +10 -10
  20. lxml/html/__init__.py +1923 -1923
  21. lxml/html/_diffcommand.py +86 -86
  22. lxml/html/_html5builder.py +100 -100
  23. lxml/html/_setmixin.py +56 -56
  24. lxml/html/builder.py +133 -133
  25. lxml/html/clean.py +21 -21
  26. lxml/html/defs.py +135 -135
  27. lxml/html/diff.cp310-win32.pyd +0 -0
  28. lxml/html/diff.py +878 -878
  29. lxml/html/formfill.py +299 -299
  30. lxml/html/html5parser.py +260 -260
  31. lxml/html/soupparser.py +314 -314
  32. lxml/html/usedoctest.py +13 -13
  33. lxml/includes/c14n.pxd +25 -25
  34. lxml/includes/config.pxd +3 -3
  35. lxml/includes/dtdvalid.pxd +18 -18
  36. lxml/includes/etree_defs.h +379 -379
  37. lxml/includes/etreepublic.pxd +237 -237
  38. lxml/includes/htmlparser.pxd +56 -56
  39. lxml/includes/lxml-version.h +1 -1
  40. lxml/includes/relaxng.pxd +64 -64
  41. lxml/includes/schematron.pxd +34 -34
  42. lxml/includes/tree.pxd +494 -494
  43. lxml/includes/uri.pxd +5 -5
  44. lxml/includes/xinclude.pxd +22 -22
  45. lxml/includes/xmlerror.pxd +852 -852
  46. lxml/includes/xmlparser.pxd +265 -265
  47. lxml/includes/xmlschema.pxd +35 -35
  48. lxml/includes/xpath.pxd +136 -136
  49. lxml/includes/xslt.pxd +190 -190
  50. lxml/isoschematron/__init__.py +348 -348
  51. lxml/isoschematron/resources/rng/iso-schematron.rng +709 -709
  52. lxml/isoschematron/resources/xsl/RNG2Schtrn.xsl +75 -75
  53. lxml/isoschematron/resources/xsl/iso-schematron-xslt1/iso_abstract_expand.xsl +312 -312
  54. lxml/isoschematron/resources/xsl/iso-schematron-xslt1/iso_dsdl_include.xsl +1159 -1159
  55. lxml/isoschematron/resources/xsl/iso-schematron-xslt1/iso_schematron_message.xsl +54 -54
  56. lxml/isoschematron/resources/xsl/iso-schematron-xslt1/iso_schematron_skeleton_for_xslt1.xsl +1796 -1796
  57. lxml/isoschematron/resources/xsl/iso-schematron-xslt1/iso_svrl_for_xslt1.xsl +588 -588
  58. lxml/iterparse.pxi +438 -438
  59. lxml/lxml.etree.h +6 -6
  60. lxml/nsclasses.pxi +281 -281
  61. lxml/objectify.cp310-win32.pyd +0 -0
  62. lxml/objectify.pyx +2145 -2145
  63. lxml/objectpath.pxi +332 -332
  64. lxml/parser.pxi +1994 -1994
  65. lxml/parsertarget.pxi +180 -180
  66. lxml/proxy.pxi +619 -619
  67. lxml/public-api.pxi +178 -178
  68. lxml/pyclasslookup.py +3 -3
  69. lxml/readonlytree.pxi +565 -565
  70. lxml/relaxng.pxi +165 -165
  71. lxml/sax.cp310-win32.pyd +0 -0
  72. lxml/sax.py +275 -275
  73. lxml/saxparser.pxi +875 -875
  74. lxml/schematron.pxi +168 -168
  75. lxml/serializer.pxi +1871 -1871
  76. lxml/usedoctest.py +13 -13
  77. lxml/xinclude.pxi +67 -67
  78. lxml/xmlerror.pxi +1654 -1654
  79. lxml/xmlid.pxi +179 -179
  80. lxml/xmlschema.pxi +215 -215
  81. lxml/xpath.pxi +487 -487
  82. lxml/xslt.pxi +950 -950
  83. lxml/xsltext.pxi +242 -242
  84. {lxml-5.2.0.dist-info → lxml-5.2.2.dist-info}/LICENSE.txt +29 -29
  85. {lxml-5.2.0.dist-info → lxml-5.2.2.dist-info}/LICENSES.txt +29 -29
  86. {lxml-5.2.0.dist-info → lxml-5.2.2.dist-info}/METADATA +9 -17
  87. {lxml-5.2.0.dist-info → lxml-5.2.2.dist-info}/RECORD +89 -89
  88. {lxml-5.2.0.dist-info → lxml-5.2.2.dist-info}/WHEEL +0 -0
  89. {lxml-5.2.0.dist-info → lxml-5.2.2.dist-info}/top_level.txt +0 -0
@@ -1,709 +1,709 @@
1
- <?xml version="1.0" encoding="UTF-8"?>
2
- <!-- Copyright © ISO/IEC 2015 -->
3
- <!--
4
- The following permission notice and disclaimer shall be included in all
5
- copies of this XML schema ("the Schema"), and derivations of the Schema:
6
-
7
- Permission is hereby granted, free of charge in perpetuity, to any
8
- person obtaining a copy of the Schema, to use, copy, modify, merge and
9
- distribute free of charge, copies of the Schema for the purposes of
10
- developing, implementing, installing and using software based on the
11
- Schema, and to permit persons to whom the Schema is furnished to do so,
12
- subject to the following conditions:
13
-
14
- THE SCHEMA IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
15
- IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
16
- FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
17
- THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR
18
- OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE,
19
- ARISING FROM, OUT OF OR IN CONNECTION WITH THE SCHEMA OR THE USE OR
20
- OTHER DEALINGS IN THE SCHEMA.
21
-
22
- In addition, any modified copy of the Schema shall include the following
23
- notice:
24
-
25
- "THIS SCHEMA HAS BEEN MODIFIED FROM THE SCHEMA DEFINED IN ISO/IEC 19757-3,
26
- AND SHOULD NOT BE INTERPRETED AS COMPLYING WITH THAT STANDARD".
27
- -->
28
- <grammar ns="http://purl.oclc.org/dsdl/schematron" xmlns="http://relaxng.org/ns/structure/1.0" datatypeLibrary="http://www.w3.org/2001/XMLSchema-datatypes">
29
- <start>
30
- <ref name="schema"/>
31
- </start>
32
- <!-- Element declarations -->
33
- <define name="schema">
34
- <element name="schema">
35
- <optional>
36
- <attribute name="id">
37
- <data type="ID"/>
38
- </attribute>
39
- </optional>
40
- <ref name="rich"/>
41
- <optional>
42
- <attribute name="schemaVersion">
43
- <ref name="non-empty-string"/>
44
- </attribute>
45
- </optional>
46
- <optional>
47
- <attribute name="defaultPhase">
48
- <data type="IDREF"/>
49
- </attribute>
50
- </optional>
51
- <optional>
52
- <attribute name="queryBinding">
53
- <ref name="non-empty-string"/>
54
- </attribute>
55
- </optional>
56
- <interleave>
57
- <ref name="foreign"/>
58
- <zeroOrMore>
59
- <ref name="inclusion"/>
60
- </zeroOrMore>
61
- <group>
62
- <optional>
63
- <ref name="title"/>
64
- </optional>
65
- <zeroOrMore>
66
- <ref name="ns"/>
67
- </zeroOrMore>
68
- <zeroOrMore>
69
- <ref name="p"/>
70
- </zeroOrMore>
71
- <zeroOrMore>
72
- <ref name="let"/>
73
- </zeroOrMore>
74
- <zeroOrMore>
75
- <ref name="phase"/>
76
- </zeroOrMore>
77
- <oneOrMore>
78
- <ref name="pattern"/>
79
- </oneOrMore>
80
- <zeroOrMore>
81
- <ref name="p"/>
82
- </zeroOrMore>
83
- <optional>
84
- <ref name="diagnostics"/>
85
- </optional>
86
- <optional>
87
- <!-- edited (lxml): required in standard, optional here (since it can be empty anyway) -->
88
- <ref name="properties"/>
89
- </optional>
90
- </group>
91
- </interleave>
92
- </element>
93
- </define>
94
- <define name="active">
95
- <element name="active">
96
- <attribute name="pattern">
97
- <data type="IDREF"/>
98
- </attribute>
99
- <interleave>
100
- <ref name="foreign"/>
101
- <zeroOrMore>
102
- <choice>
103
- <text/>
104
- <ref name="dir"/>
105
- <ref name="emph"/>
106
- <ref name="span"/>
107
- </choice>
108
- </zeroOrMore>
109
- </interleave>
110
- </element>
111
- </define>
112
- <define name="assert">
113
- <element name="assert">
114
- <attribute name="test">
115
- <ref name="exprValue"/>
116
- </attribute>
117
- <optional>
118
- <attribute name="flag">
119
- <ref name="flagValue"/>
120
- </attribute>
121
- </optional>
122
- <optional>
123
- <attribute name="id">
124
- <data type="ID"/>
125
- </attribute>
126
- </optional>
127
- <optional>
128
- <attribute name="diagnostics">
129
- <data type="IDREFS"/>
130
- </attribute>
131
- </optional>
132
- <optional>
133
- <attribute name="properties">
134
- <data type="IDREFS"/>
135
- </attribute>
136
- </optional>
137
- <ref name="rich"/>
138
- <ref name="linkable"/>
139
- <interleave>
140
- <ref name="foreign"/>
141
- <zeroOrMore>
142
- <choice>
143
- <text/>
144
- <ref name="name"/>
145
- <ref name="value-of"/>
146
- <ref name="emph"/>
147
- <ref name="dir"/>
148
- <ref name="span"/>
149
- </choice>
150
- </zeroOrMore>
151
- </interleave>
152
- </element>
153
- </define>
154
- <define name="diagnostic">
155
- <element name="diagnostic">
156
- <attribute name="id">
157
- <data type="ID"/>
158
- </attribute>
159
- <ref name="rich"/>
160
- <interleave>
161
- <ref name="foreign"/>
162
- <zeroOrMore>
163
- <choice>
164
- <text/>
165
- <ref name="value-of"/>
166
- <ref name="emph"/>
167
- <ref name="dir"/>
168
- <ref name="span"/>
169
- </choice>
170
- </zeroOrMore>
171
- </interleave>
172
- </element>
173
- </define>
174
- <define name="diagnostics">
175
- <element name="diagnostics">
176
- <interleave>
177
- <ref name="foreign"/>
178
- <zeroOrMore>
179
- <ref name="inclusion"/>
180
- </zeroOrMore>
181
- <zeroOrMore>
182
- <ref name="diagnostic"/>
183
- </zeroOrMore>
184
- </interleave>
185
- </element>
186
- </define>
187
- <define name="dir">
188
- <element name="dir">
189
- <optional>
190
- <attribute name="value">
191
- <choice>
192
- <value>ltr</value>
193
- <value>rtl</value>
194
- </choice>
195
- </attribute>
196
- </optional>
197
- <interleave>
198
- <ref name="foreign"/>
199
- <text/>
200
- </interleave>
201
- </element>
202
- </define>
203
- <define name="emph">
204
- <element name="emph">
205
- <text/>
206
- </element>
207
- </define>
208
- <define name="extends">
209
- <element name="extends">
210
- <choice>
211
- <attribute name="rule">
212
- <data type="IDREF"/>
213
- </attribute>
214
- <attribute name="href">
215
- <ref name="uriValue"/>
216
- </attribute>
217
- </choice>
218
- <ref name="foreign-empty"/>
219
- </element>
220
- </define>
221
- <define name="let">
222
- <element name="let">
223
- <attribute name="name">
224
- <ref name="nameValue"/>
225
- </attribute>
226
- <choice>
227
- <attribute name="value">
228
- <data type="string" datatypeLibrary=""/>
229
- </attribute>
230
- <oneOrMore>
231
- <ref name="foreign-element"/>
232
- </oneOrMore>
233
- </choice>
234
- </element>
235
- </define>
236
- <define name="name">
237
- <element name="name">
238
- <optional>
239
- <attribute name="path">
240
- <ref name="pathValue"/>
241
- </attribute>
242
- </optional>
243
- <ref name="foreign-empty"/>
244
- </element>
245
- </define>
246
- <define name="ns">
247
- <element name="ns">
248
- <attribute name="uri">
249
- <ref name="uriValue"/>
250
- </attribute>
251
- <attribute name="prefix">
252
- <ref name="nameValue"/>
253
- </attribute>
254
- <ref name="foreign-empty"/>
255
- </element>
256
- </define>
257
- <define name="p">
258
- <element name="p">
259
- <optional>
260
- <attribute name="id">
261
- <data type="ID"/>
262
- </attribute>
263
- </optional>
264
- <optional>
265
- <attribute name="class">
266
- <ref name="classValue"/>
267
- </attribute>
268
- </optional>
269
- <optional>
270
- <attribute name="icon">
271
- <ref name="uriValue"/>
272
- </attribute>
273
- </optional>
274
- <interleave>
275
- <ref name="foreign"/>
276
- <zeroOrMore>
277
- <choice>
278
- <text/>
279
- <ref name="dir"/>
280
- <ref name="emph"/>
281
- <ref name="span"/>
282
- </choice>
283
- </zeroOrMore>
284
- </interleave>
285
- </element>
286
- </define>
287
- <define name="param">
288
- <element name="param">
289
- <attribute name="name">
290
- <ref name="nameValue"/>
291
- </attribute>
292
- <attribute name="value">
293
- <ref name="non-empty-string"/>
294
- </attribute>
295
- </element>
296
- </define>
297
- <define name="pattern">
298
- <element name="pattern">
299
- <optional>
300
- <attribute name="documents">
301
- <ref name="pathValue"/>
302
- </attribute>
303
- </optional>
304
- <ref name="rich"/>
305
- <interleave>
306
- <ref name="foreign"/>
307
- <zeroOrMore>
308
- <ref name="inclusion"/>
309
- </zeroOrMore>
310
- <choice>
311
- <group>
312
- <attribute name="abstract">
313
- <value>true</value>
314
- </attribute>
315
- <attribute name="id">
316
- <data type="ID"/>
317
- </attribute>
318
- <optional>
319
- <ref name="title"/>
320
- </optional>
321
- <group>
322
- <zeroOrMore>
323
- <ref name="p"/>
324
- </zeroOrMore>
325
- <zeroOrMore>
326
- <ref name="let"/>
327
- </zeroOrMore>
328
- <zeroOrMore>
329
- <ref name="rule"/>
330
- </zeroOrMore>
331
- </group>
332
- </group>
333
- <group>
334
- <optional>
335
- <attribute name="abstract">
336
- <value>false</value>
337
- </attribute>
338
- </optional>
339
- <optional>
340
- <attribute name="id">
341
- <data type="ID"/>
342
- </attribute>
343
- </optional>
344
- <optional>
345
- <ref name="title"/>
346
- </optional>
347
- <group>
348
- <zeroOrMore>
349
- <ref name="p"/>
350
- </zeroOrMore>
351
- <zeroOrMore>
352
- <ref name="let"/>
353
- </zeroOrMore>
354
- <zeroOrMore>
355
- <ref name="rule"/>
356
- </zeroOrMore>
357
- </group>
358
- </group>
359
- <group>
360
- <optional>
361
- <attribute name="abstract">
362
- <value>false</value>
363
- </attribute>
364
- </optional>
365
- <attribute name="is-a">
366
- <data type="IDREF"/>
367
- </attribute>
368
- <optional>
369
- <attribute name="id">
370
- <data type="ID"/>
371
- </attribute>
372
- </optional>
373
- <optional>
374
- <ref name="title"/>
375
- </optional>
376
- <group>
377
- <zeroOrMore>
378
- <ref name="p"/>
379
- </zeroOrMore>
380
- <zeroOrMore>
381
- <ref name="param"/>
382
- </zeroOrMore>
383
- </group>
384
- </group>
385
- </choice>
386
- </interleave>
387
- </element>
388
- </define>
389
- <define name="phase">
390
- <element name="phase">
391
- <attribute name="id">
392
- <data type="ID"/>
393
- </attribute>
394
- <ref name="rich"/>
395
- <interleave>
396
- <ref name="foreign"/>
397
- <zeroOrMore>
398
- <ref name="inclusion"/>
399
- </zeroOrMore>
400
- <group>
401
- <zeroOrMore>
402
- <ref name="p"/>
403
- </zeroOrMore>
404
- <zeroOrMore>
405
- <ref name="let"/>
406
- </zeroOrMore>
407
- <zeroOrMore>
408
- <ref name="active"/>
409
- </zeroOrMore>
410
- </group>
411
- </interleave>
412
- </element>
413
- </define>
414
- <define name="properties">
415
- <element name="properties">
416
- <zeroOrMore>
417
- <ref name="property"/>
418
- </zeroOrMore>
419
- </element>
420
- </define>
421
- <define name="property">
422
- <element name="property">
423
- <attribute name="id">
424
- <data type="ID"/>
425
- </attribute>
426
- <optional>
427
- <attribute name="role">
428
- <ref name="roleValue"/>
429
- </attribute>
430
- </optional>
431
- <optional>
432
- <attribute name="scheme"/>
433
- </optional>
434
- <interleave>
435
- <ref name="foreign"/>
436
- <zeroOrMore>
437
- <choice>
438
- <text/>
439
- <ref name="name"/>
440
- <ref name="value-of"/>
441
- <ref name="emph"/>
442
- <ref name="dir"/>
443
- <ref name="span"/>
444
- </choice>
445
- </zeroOrMore>
446
- </interleave>
447
- </element>
448
- </define>
449
- <define name="report">
450
- <element name="report">
451
- <attribute name="test">
452
- <ref name="exprValue"/>
453
- </attribute>
454
- <optional>
455
- <attribute name="flag">
456
- <ref name="flagValue"/>
457
- </attribute>
458
- </optional>
459
- <optional>
460
- <attribute name="id">
461
- <data type="ID"/>
462
- </attribute>
463
- </optional>
464
- <optional>
465
- <attribute name="diagnostics">
466
- <data type="IDREFS"/>
467
- </attribute>
468
- </optional>
469
- <optional>
470
- <attribute name="properties">
471
- <data type="IDREFS"/>
472
- </attribute>
473
- </optional>
474
- <ref name="rich"/>
475
- <ref name="linkable"/>
476
- <interleave>
477
- <ref name="foreign"/>
478
- <zeroOrMore>
479
- <choice>
480
- <text/>
481
- <ref name="name"/>
482
- <ref name="value-of"/>
483
- <ref name="emph"/>
484
- <ref name="dir"/>
485
- <ref name="span"/>
486
- </choice>
487
- </zeroOrMore>
488
- </interleave>
489
- </element>
490
- </define>
491
- <define name="rule">
492
- <element name="rule">
493
- <optional>
494
- <attribute name="flag">
495
- <ref name="flagValue"/>
496
- </attribute>
497
- </optional>
498
- <ref name="rich"/>
499
- <ref name="linkable"/>
500
- <interleave>
501
- <ref name="foreign"/>
502
- <zeroOrMore>
503
- <ref name="inclusion"/>
504
- </zeroOrMore>
505
- <choice>
506
- <group>
507
- <attribute name="abstract">
508
- <value>true</value>
509
- </attribute>
510
- <attribute name="id">
511
- <data type="ID"/>
512
- </attribute>
513
- <zeroOrMore>
514
- <ref name="let"/>
515
- </zeroOrMore>
516
- <oneOrMore>
517
- <choice>
518
- <ref name="assert"/>
519
- <ref name="report"/>
520
- <ref name="extends"/>
521
- <ref name="p"/>
522
- </choice>
523
- </oneOrMore>
524
- </group>
525
- <group>
526
- <attribute name="context">
527
- <ref name="pathValue"/>
528
- </attribute>
529
- <optional>
530
- <attribute name="id">
531
- <data type="ID"/>
532
- </attribute>
533
- </optional>
534
- <optional>
535
- <attribute name="abstract">
536
- <value>false</value>
537
- </attribute>
538
- </optional>
539
- <zeroOrMore>
540
- <ref name="let"/>
541
- </zeroOrMore>
542
- <oneOrMore>
543
- <choice>
544
- <ref name="assert"/>
545
- <ref name="report"/>
546
- <ref name="extends"/>
547
- <ref name="p"/>
548
- </choice>
549
- </oneOrMore>
550
- </group>
551
- </choice>
552
- </interleave>
553
- </element>
554
- </define>
555
- <define name="span">
556
- <element name="span">
557
- <attribute name="class">
558
- <ref name="classValue"/>
559
- </attribute>
560
- <interleave>
561
- <ref name="foreign"/>
562
- <text/>
563
- </interleave>
564
- </element>
565
- </define>
566
- <define name="title">
567
- <element name="title">
568
- <zeroOrMore>
569
- <choice>
570
- <text/>
571
- <ref name="dir"/>
572
- </choice>
573
- </zeroOrMore>
574
- </element>
575
- </define>
576
- <define name="value-of">
577
- <element name="value-of">
578
- <attribute name="select">
579
- <ref name="pathValue"/>
580
- </attribute>
581
- <ref name="foreign-empty"/>
582
- </element>
583
- </define>
584
- <!-- common declarations -->
585
- <define name="inclusion">
586
- <element name="include">
587
- <attribute name="href">
588
- <ref name="uriValue"/>
589
- </attribute>
590
- <ref name="foreign-empty"/>
591
- </element>
592
- </define>
593
- <define name="rich">
594
- <optional>
595
- <attribute name="icon">
596
- <ref name="uriValue"/>
597
- </attribute>
598
- </optional>
599
- <optional>
600
- <attribute name="see">
601
- <ref name="uriValue"/>
602
- </attribute>
603
- </optional>
604
- <optional>
605
- <attribute name="fpi">
606
- <ref name="fpiValue"/>
607
- </attribute>
608
- </optional>
609
- <optional>
610
- <attribute name="xml:lang">
611
- <ref name="langValue"/>
612
- </attribute>
613
- </optional>
614
- <optional>
615
- <attribute name="xml:space">
616
- <choice>
617
- <value>preserve</value>
618
- <value>default</value>
619
- </choice>
620
- </attribute>
621
- </optional>
622
- </define>
623
- <define name="linkable">
624
- <optional>
625
- <attribute name="role">
626
- <ref name="roleValue"/>
627
- </attribute>
628
- </optional>
629
- <optional>
630
- <attribute name="subject">
631
- <ref name="pathValue"/>
632
- </attribute>
633
- </optional>
634
- </define>
635
- <define name="foreign">
636
- <ref name="foreign-attributes"/>
637
- <zeroOrMore>
638
- <ref name="foreign-element"/>
639
- </zeroOrMore>
640
- </define>
641
- <define name="foreign-empty">
642
- <ref name="foreign-attributes"/>
643
- </define>
644
- <define name="foreign-attributes">
645
- <zeroOrMore>
646
- <attribute>
647
- <anyName>
648
- <except>
649
- <nsName ns=""/>
650
- <nsName ns="http://www.w3.org/XML/1998/namespace"/>
651
- </except>
652
- </anyName>
653
- </attribute>
654
- </zeroOrMore>
655
- </define>
656
- <define name="foreign-element">
657
- <element>
658
- <anyName>
659
- <except>
660
- <nsName/>
661
- </except>
662
- </anyName>
663
- <zeroOrMore>
664
- <choice>
665
- <attribute>
666
- <anyName/>
667
- </attribute>
668
- <ref name="foreign-element"/>
669
- <ref name="schema"/>
670
- <text/>
671
- </choice>
672
- </zeroOrMore>
673
- </element>
674
- </define>
675
- <!-- Data types -->
676
- <define name="uriValue">
677
- <data type="anyURI"/>
678
- </define>
679
- <define name="pathValue">
680
- <data type="string" datatypeLibrary=""/>
681
- </define>
682
- <define name="exprValue">
683
- <data type="string" datatypeLibrary=""/>
684
- </define>
685
- <define name="fpiValue">
686
- <data type="string" datatypeLibrary=""/>
687
- </define>
688
- <define name="langValue">
689
- <data type="language"/>
690
- </define>
691
- <define name="roleValue">
692
- <data type="string" datatypeLibrary=""/>
693
- </define>
694
- <define name="flagValue">
695
- <data type="string" datatypeLibrary=""/>
696
- </define>
697
- <define name="nameValue">
698
- <data type="string" datatypeLibrary=""/>
699
- </define>
700
- <!-- In the default query language binding, xsd:NCNAME -->
701
- <define name="classValue">
702
- <data type="string" datatypeLibrary=""/>
703
- </define>
704
- <define name="non-empty-string">
705
- <data type="token">
706
- <param name="minLength">1</param>
707
- </data>
708
- </define>
709
- </grammar>
1
+ <?xml version="1.0" encoding="UTF-8"?>
2
+ <!-- Copyright © ISO/IEC 2015 -->
3
+ <!--
4
+ The following permission notice and disclaimer shall be included in all
5
+ copies of this XML schema ("the Schema"), and derivations of the Schema:
6
+
7
+ Permission is hereby granted, free of charge in perpetuity, to any
8
+ person obtaining a copy of the Schema, to use, copy, modify, merge and
9
+ distribute free of charge, copies of the Schema for the purposes of
10
+ developing, implementing, installing and using software based on the
11
+ Schema, and to permit persons to whom the Schema is furnished to do so,
12
+ subject to the following conditions:
13
+
14
+ THE SCHEMA IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
15
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
16
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
17
+ THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR
18
+ OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE,
19
+ ARISING FROM, OUT OF OR IN CONNECTION WITH THE SCHEMA OR THE USE OR
20
+ OTHER DEALINGS IN THE SCHEMA.
21
+
22
+ In addition, any modified copy of the Schema shall include the following
23
+ notice:
24
+
25
+ "THIS SCHEMA HAS BEEN MODIFIED FROM THE SCHEMA DEFINED IN ISO/IEC 19757-3,
26
+ AND SHOULD NOT BE INTERPRETED AS COMPLYING WITH THAT STANDARD".
27
+ -->
28
+ <grammar ns="http://purl.oclc.org/dsdl/schematron" xmlns="http://relaxng.org/ns/structure/1.0" datatypeLibrary="http://www.w3.org/2001/XMLSchema-datatypes">
29
+ <start>
30
+ <ref name="schema"/>
31
+ </start>
32
+ <!-- Element declarations -->
33
+ <define name="schema">
34
+ <element name="schema">
35
+ <optional>
36
+ <attribute name="id">
37
+ <data type="ID"/>
38
+ </attribute>
39
+ </optional>
40
+ <ref name="rich"/>
41
+ <optional>
42
+ <attribute name="schemaVersion">
43
+ <ref name="non-empty-string"/>
44
+ </attribute>
45
+ </optional>
46
+ <optional>
47
+ <attribute name="defaultPhase">
48
+ <data type="IDREF"/>
49
+ </attribute>
50
+ </optional>
51
+ <optional>
52
+ <attribute name="queryBinding">
53
+ <ref name="non-empty-string"/>
54
+ </attribute>
55
+ </optional>
56
+ <interleave>
57
+ <ref name="foreign"/>
58
+ <zeroOrMore>
59
+ <ref name="inclusion"/>
60
+ </zeroOrMore>
61
+ <group>
62
+ <optional>
63
+ <ref name="title"/>
64
+ </optional>
65
+ <zeroOrMore>
66
+ <ref name="ns"/>
67
+ </zeroOrMore>
68
+ <zeroOrMore>
69
+ <ref name="p"/>
70
+ </zeroOrMore>
71
+ <zeroOrMore>
72
+ <ref name="let"/>
73
+ </zeroOrMore>
74
+ <zeroOrMore>
75
+ <ref name="phase"/>
76
+ </zeroOrMore>
77
+ <oneOrMore>
78
+ <ref name="pattern"/>
79
+ </oneOrMore>
80
+ <zeroOrMore>
81
+ <ref name="p"/>
82
+ </zeroOrMore>
83
+ <optional>
84
+ <ref name="diagnostics"/>
85
+ </optional>
86
+ <optional>
87
+ <!-- edited (lxml): required in standard, optional here (since it can be empty anyway) -->
88
+ <ref name="properties"/>
89
+ </optional>
90
+ </group>
91
+ </interleave>
92
+ </element>
93
+ </define>
94
+ <define name="active">
95
+ <element name="active">
96
+ <attribute name="pattern">
97
+ <data type="IDREF"/>
98
+ </attribute>
99
+ <interleave>
100
+ <ref name="foreign"/>
101
+ <zeroOrMore>
102
+ <choice>
103
+ <text/>
104
+ <ref name="dir"/>
105
+ <ref name="emph"/>
106
+ <ref name="span"/>
107
+ </choice>
108
+ </zeroOrMore>
109
+ </interleave>
110
+ </element>
111
+ </define>
112
+ <define name="assert">
113
+ <element name="assert">
114
+ <attribute name="test">
115
+ <ref name="exprValue"/>
116
+ </attribute>
117
+ <optional>
118
+ <attribute name="flag">
119
+ <ref name="flagValue"/>
120
+ </attribute>
121
+ </optional>
122
+ <optional>
123
+ <attribute name="id">
124
+ <data type="ID"/>
125
+ </attribute>
126
+ </optional>
127
+ <optional>
128
+ <attribute name="diagnostics">
129
+ <data type="IDREFS"/>
130
+ </attribute>
131
+ </optional>
132
+ <optional>
133
+ <attribute name="properties">
134
+ <data type="IDREFS"/>
135
+ </attribute>
136
+ </optional>
137
+ <ref name="rich"/>
138
+ <ref name="linkable"/>
139
+ <interleave>
140
+ <ref name="foreign"/>
141
+ <zeroOrMore>
142
+ <choice>
143
+ <text/>
144
+ <ref name="name"/>
145
+ <ref name="value-of"/>
146
+ <ref name="emph"/>
147
+ <ref name="dir"/>
148
+ <ref name="span"/>
149
+ </choice>
150
+ </zeroOrMore>
151
+ </interleave>
152
+ </element>
153
+ </define>
154
+ <define name="diagnostic">
155
+ <element name="diagnostic">
156
+ <attribute name="id">
157
+ <data type="ID"/>
158
+ </attribute>
159
+ <ref name="rich"/>
160
+ <interleave>
161
+ <ref name="foreign"/>
162
+ <zeroOrMore>
163
+ <choice>
164
+ <text/>
165
+ <ref name="value-of"/>
166
+ <ref name="emph"/>
167
+ <ref name="dir"/>
168
+ <ref name="span"/>
169
+ </choice>
170
+ </zeroOrMore>
171
+ </interleave>
172
+ </element>
173
+ </define>
174
+ <define name="diagnostics">
175
+ <element name="diagnostics">
176
+ <interleave>
177
+ <ref name="foreign"/>
178
+ <zeroOrMore>
179
+ <ref name="inclusion"/>
180
+ </zeroOrMore>
181
+ <zeroOrMore>
182
+ <ref name="diagnostic"/>
183
+ </zeroOrMore>
184
+ </interleave>
185
+ </element>
186
+ </define>
187
+ <define name="dir">
188
+ <element name="dir">
189
+ <optional>
190
+ <attribute name="value">
191
+ <choice>
192
+ <value>ltr</value>
193
+ <value>rtl</value>
194
+ </choice>
195
+ </attribute>
196
+ </optional>
197
+ <interleave>
198
+ <ref name="foreign"/>
199
+ <text/>
200
+ </interleave>
201
+ </element>
202
+ </define>
203
+ <define name="emph">
204
+ <element name="emph">
205
+ <text/>
206
+ </element>
207
+ </define>
208
+ <define name="extends">
209
+ <element name="extends">
210
+ <choice>
211
+ <attribute name="rule">
212
+ <data type="IDREF"/>
213
+ </attribute>
214
+ <attribute name="href">
215
+ <ref name="uriValue"/>
216
+ </attribute>
217
+ </choice>
218
+ <ref name="foreign-empty"/>
219
+ </element>
220
+ </define>
221
+ <define name="let">
222
+ <element name="let">
223
+ <attribute name="name">
224
+ <ref name="nameValue"/>
225
+ </attribute>
226
+ <choice>
227
+ <attribute name="value">
228
+ <data type="string" datatypeLibrary=""/>
229
+ </attribute>
230
+ <oneOrMore>
231
+ <ref name="foreign-element"/>
232
+ </oneOrMore>
233
+ </choice>
234
+ </element>
235
+ </define>
236
+ <define name="name">
237
+ <element name="name">
238
+ <optional>
239
+ <attribute name="path">
240
+ <ref name="pathValue"/>
241
+ </attribute>
242
+ </optional>
243
+ <ref name="foreign-empty"/>
244
+ </element>
245
+ </define>
246
+ <define name="ns">
247
+ <element name="ns">
248
+ <attribute name="uri">
249
+ <ref name="uriValue"/>
250
+ </attribute>
251
+ <attribute name="prefix">
252
+ <ref name="nameValue"/>
253
+ </attribute>
254
+ <ref name="foreign-empty"/>
255
+ </element>
256
+ </define>
257
+ <define name="p">
258
+ <element name="p">
259
+ <optional>
260
+ <attribute name="id">
261
+ <data type="ID"/>
262
+ </attribute>
263
+ </optional>
264
+ <optional>
265
+ <attribute name="class">
266
+ <ref name="classValue"/>
267
+ </attribute>
268
+ </optional>
269
+ <optional>
270
+ <attribute name="icon">
271
+ <ref name="uriValue"/>
272
+ </attribute>
273
+ </optional>
274
+ <interleave>
275
+ <ref name="foreign"/>
276
+ <zeroOrMore>
277
+ <choice>
278
+ <text/>
279
+ <ref name="dir"/>
280
+ <ref name="emph"/>
281
+ <ref name="span"/>
282
+ </choice>
283
+ </zeroOrMore>
284
+ </interleave>
285
+ </element>
286
+ </define>
287
+ <define name="param">
288
+ <element name="param">
289
+ <attribute name="name">
290
+ <ref name="nameValue"/>
291
+ </attribute>
292
+ <attribute name="value">
293
+ <ref name="non-empty-string"/>
294
+ </attribute>
295
+ </element>
296
+ </define>
297
+ <define name="pattern">
298
+ <element name="pattern">
299
+ <optional>
300
+ <attribute name="documents">
301
+ <ref name="pathValue"/>
302
+ </attribute>
303
+ </optional>
304
+ <ref name="rich"/>
305
+ <interleave>
306
+ <ref name="foreign"/>
307
+ <zeroOrMore>
308
+ <ref name="inclusion"/>
309
+ </zeroOrMore>
310
+ <choice>
311
+ <group>
312
+ <attribute name="abstract">
313
+ <value>true</value>
314
+ </attribute>
315
+ <attribute name="id">
316
+ <data type="ID"/>
317
+ </attribute>
318
+ <optional>
319
+ <ref name="title"/>
320
+ </optional>
321
+ <group>
322
+ <zeroOrMore>
323
+ <ref name="p"/>
324
+ </zeroOrMore>
325
+ <zeroOrMore>
326
+ <ref name="let"/>
327
+ </zeroOrMore>
328
+ <zeroOrMore>
329
+ <ref name="rule"/>
330
+ </zeroOrMore>
331
+ </group>
332
+ </group>
333
+ <group>
334
+ <optional>
335
+ <attribute name="abstract">
336
+ <value>false</value>
337
+ </attribute>
338
+ </optional>
339
+ <optional>
340
+ <attribute name="id">
341
+ <data type="ID"/>
342
+ </attribute>
343
+ </optional>
344
+ <optional>
345
+ <ref name="title"/>
346
+ </optional>
347
+ <group>
348
+ <zeroOrMore>
349
+ <ref name="p"/>
350
+ </zeroOrMore>
351
+ <zeroOrMore>
352
+ <ref name="let"/>
353
+ </zeroOrMore>
354
+ <zeroOrMore>
355
+ <ref name="rule"/>
356
+ </zeroOrMore>
357
+ </group>
358
+ </group>
359
+ <group>
360
+ <optional>
361
+ <attribute name="abstract">
362
+ <value>false</value>
363
+ </attribute>
364
+ </optional>
365
+ <attribute name="is-a">
366
+ <data type="IDREF"/>
367
+ </attribute>
368
+ <optional>
369
+ <attribute name="id">
370
+ <data type="ID"/>
371
+ </attribute>
372
+ </optional>
373
+ <optional>
374
+ <ref name="title"/>
375
+ </optional>
376
+ <group>
377
+ <zeroOrMore>
378
+ <ref name="p"/>
379
+ </zeroOrMore>
380
+ <zeroOrMore>
381
+ <ref name="param"/>
382
+ </zeroOrMore>
383
+ </group>
384
+ </group>
385
+ </choice>
386
+ </interleave>
387
+ </element>
388
+ </define>
389
+ <define name="phase">
390
+ <element name="phase">
391
+ <attribute name="id">
392
+ <data type="ID"/>
393
+ </attribute>
394
+ <ref name="rich"/>
395
+ <interleave>
396
+ <ref name="foreign"/>
397
+ <zeroOrMore>
398
+ <ref name="inclusion"/>
399
+ </zeroOrMore>
400
+ <group>
401
+ <zeroOrMore>
402
+ <ref name="p"/>
403
+ </zeroOrMore>
404
+ <zeroOrMore>
405
+ <ref name="let"/>
406
+ </zeroOrMore>
407
+ <zeroOrMore>
408
+ <ref name="active"/>
409
+ </zeroOrMore>
410
+ </group>
411
+ </interleave>
412
+ </element>
413
+ </define>
414
+ <define name="properties">
415
+ <element name="properties">
416
+ <zeroOrMore>
417
+ <ref name="property"/>
418
+ </zeroOrMore>
419
+ </element>
420
+ </define>
421
+ <define name="property">
422
+ <element name="property">
423
+ <attribute name="id">
424
+ <data type="ID"/>
425
+ </attribute>
426
+ <optional>
427
+ <attribute name="role">
428
+ <ref name="roleValue"/>
429
+ </attribute>
430
+ </optional>
431
+ <optional>
432
+ <attribute name="scheme"/>
433
+ </optional>
434
+ <interleave>
435
+ <ref name="foreign"/>
436
+ <zeroOrMore>
437
+ <choice>
438
+ <text/>
439
+ <ref name="name"/>
440
+ <ref name="value-of"/>
441
+ <ref name="emph"/>
442
+ <ref name="dir"/>
443
+ <ref name="span"/>
444
+ </choice>
445
+ </zeroOrMore>
446
+ </interleave>
447
+ </element>
448
+ </define>
449
+ <define name="report">
450
+ <element name="report">
451
+ <attribute name="test">
452
+ <ref name="exprValue"/>
453
+ </attribute>
454
+ <optional>
455
+ <attribute name="flag">
456
+ <ref name="flagValue"/>
457
+ </attribute>
458
+ </optional>
459
+ <optional>
460
+ <attribute name="id">
461
+ <data type="ID"/>
462
+ </attribute>
463
+ </optional>
464
+ <optional>
465
+ <attribute name="diagnostics">
466
+ <data type="IDREFS"/>
467
+ </attribute>
468
+ </optional>
469
+ <optional>
470
+ <attribute name="properties">
471
+ <data type="IDREFS"/>
472
+ </attribute>
473
+ </optional>
474
+ <ref name="rich"/>
475
+ <ref name="linkable"/>
476
+ <interleave>
477
+ <ref name="foreign"/>
478
+ <zeroOrMore>
479
+ <choice>
480
+ <text/>
481
+ <ref name="name"/>
482
+ <ref name="value-of"/>
483
+ <ref name="emph"/>
484
+ <ref name="dir"/>
485
+ <ref name="span"/>
486
+ </choice>
487
+ </zeroOrMore>
488
+ </interleave>
489
+ </element>
490
+ </define>
491
+ <define name="rule">
492
+ <element name="rule">
493
+ <optional>
494
+ <attribute name="flag">
495
+ <ref name="flagValue"/>
496
+ </attribute>
497
+ </optional>
498
+ <ref name="rich"/>
499
+ <ref name="linkable"/>
500
+ <interleave>
501
+ <ref name="foreign"/>
502
+ <zeroOrMore>
503
+ <ref name="inclusion"/>
504
+ </zeroOrMore>
505
+ <choice>
506
+ <group>
507
+ <attribute name="abstract">
508
+ <value>true</value>
509
+ </attribute>
510
+ <attribute name="id">
511
+ <data type="ID"/>
512
+ </attribute>
513
+ <zeroOrMore>
514
+ <ref name="let"/>
515
+ </zeroOrMore>
516
+ <oneOrMore>
517
+ <choice>
518
+ <ref name="assert"/>
519
+ <ref name="report"/>
520
+ <ref name="extends"/>
521
+ <ref name="p"/>
522
+ </choice>
523
+ </oneOrMore>
524
+ </group>
525
+ <group>
526
+ <attribute name="context">
527
+ <ref name="pathValue"/>
528
+ </attribute>
529
+ <optional>
530
+ <attribute name="id">
531
+ <data type="ID"/>
532
+ </attribute>
533
+ </optional>
534
+ <optional>
535
+ <attribute name="abstract">
536
+ <value>false</value>
537
+ </attribute>
538
+ </optional>
539
+ <zeroOrMore>
540
+ <ref name="let"/>
541
+ </zeroOrMore>
542
+ <oneOrMore>
543
+ <choice>
544
+ <ref name="assert"/>
545
+ <ref name="report"/>
546
+ <ref name="extends"/>
547
+ <ref name="p"/>
548
+ </choice>
549
+ </oneOrMore>
550
+ </group>
551
+ </choice>
552
+ </interleave>
553
+ </element>
554
+ </define>
555
+ <define name="span">
556
+ <element name="span">
557
+ <attribute name="class">
558
+ <ref name="classValue"/>
559
+ </attribute>
560
+ <interleave>
561
+ <ref name="foreign"/>
562
+ <text/>
563
+ </interleave>
564
+ </element>
565
+ </define>
566
+ <define name="title">
567
+ <element name="title">
568
+ <zeroOrMore>
569
+ <choice>
570
+ <text/>
571
+ <ref name="dir"/>
572
+ </choice>
573
+ </zeroOrMore>
574
+ </element>
575
+ </define>
576
+ <define name="value-of">
577
+ <element name="value-of">
578
+ <attribute name="select">
579
+ <ref name="pathValue"/>
580
+ </attribute>
581
+ <ref name="foreign-empty"/>
582
+ </element>
583
+ </define>
584
+ <!-- common declarations -->
585
+ <define name="inclusion">
586
+ <element name="include">
587
+ <attribute name="href">
588
+ <ref name="uriValue"/>
589
+ </attribute>
590
+ <ref name="foreign-empty"/>
591
+ </element>
592
+ </define>
593
+ <define name="rich">
594
+ <optional>
595
+ <attribute name="icon">
596
+ <ref name="uriValue"/>
597
+ </attribute>
598
+ </optional>
599
+ <optional>
600
+ <attribute name="see">
601
+ <ref name="uriValue"/>
602
+ </attribute>
603
+ </optional>
604
+ <optional>
605
+ <attribute name="fpi">
606
+ <ref name="fpiValue"/>
607
+ </attribute>
608
+ </optional>
609
+ <optional>
610
+ <attribute name="xml:lang">
611
+ <ref name="langValue"/>
612
+ </attribute>
613
+ </optional>
614
+ <optional>
615
+ <attribute name="xml:space">
616
+ <choice>
617
+ <value>preserve</value>
618
+ <value>default</value>
619
+ </choice>
620
+ </attribute>
621
+ </optional>
622
+ </define>
623
+ <define name="linkable">
624
+ <optional>
625
+ <attribute name="role">
626
+ <ref name="roleValue"/>
627
+ </attribute>
628
+ </optional>
629
+ <optional>
630
+ <attribute name="subject">
631
+ <ref name="pathValue"/>
632
+ </attribute>
633
+ </optional>
634
+ </define>
635
+ <define name="foreign">
636
+ <ref name="foreign-attributes"/>
637
+ <zeroOrMore>
638
+ <ref name="foreign-element"/>
639
+ </zeroOrMore>
640
+ </define>
641
+ <define name="foreign-empty">
642
+ <ref name="foreign-attributes"/>
643
+ </define>
644
+ <define name="foreign-attributes">
645
+ <zeroOrMore>
646
+ <attribute>
647
+ <anyName>
648
+ <except>
649
+ <nsName ns=""/>
650
+ <nsName ns="http://www.w3.org/XML/1998/namespace"/>
651
+ </except>
652
+ </anyName>
653
+ </attribute>
654
+ </zeroOrMore>
655
+ </define>
656
+ <define name="foreign-element">
657
+ <element>
658
+ <anyName>
659
+ <except>
660
+ <nsName/>
661
+ </except>
662
+ </anyName>
663
+ <zeroOrMore>
664
+ <choice>
665
+ <attribute>
666
+ <anyName/>
667
+ </attribute>
668
+ <ref name="foreign-element"/>
669
+ <ref name="schema"/>
670
+ <text/>
671
+ </choice>
672
+ </zeroOrMore>
673
+ </element>
674
+ </define>
675
+ <!-- Data types -->
676
+ <define name="uriValue">
677
+ <data type="anyURI"/>
678
+ </define>
679
+ <define name="pathValue">
680
+ <data type="string" datatypeLibrary=""/>
681
+ </define>
682
+ <define name="exprValue">
683
+ <data type="string" datatypeLibrary=""/>
684
+ </define>
685
+ <define name="fpiValue">
686
+ <data type="string" datatypeLibrary=""/>
687
+ </define>
688
+ <define name="langValue">
689
+ <data type="language"/>
690
+ </define>
691
+ <define name="roleValue">
692
+ <data type="string" datatypeLibrary=""/>
693
+ </define>
694
+ <define name="flagValue">
695
+ <data type="string" datatypeLibrary=""/>
696
+ </define>
697
+ <define name="nameValue">
698
+ <data type="string" datatypeLibrary=""/>
699
+ </define>
700
+ <!-- In the default query language binding, xsd:NCNAME -->
701
+ <define name="classValue">
702
+ <data type="string" datatypeLibrary=""/>
703
+ </define>
704
+ <define name="non-empty-string">
705
+ <data type="token">
706
+ <param name="minLength">1</param>
707
+ </data>
708
+ </define>
709
+ </grammar>