sevgi 0.0.0

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 (82) hide show
  1. checksums.yaml +7 -0
  2. data/CHANGELOG.md +9 -0
  3. data/LICENSE +674 -0
  4. data/README.md +15 -0
  5. data/bin/sevgi +136 -0
  6. data/lib/sevgi/errors.rb +11 -0
  7. data/lib/sevgi/external.rb +8 -0
  8. data/lib/sevgi/function.rb +35 -0
  9. data/lib/sevgi/geometry/elements/rect.rb +133 -0
  10. data/lib/sevgi/geometry/elements/segment.rb +102 -0
  11. data/lib/sevgi/geometry/elements.rb +41 -0
  12. data/lib/sevgi/geometry/equation/line/diagonal.rb +90 -0
  13. data/lib/sevgi/geometry/equation/line/horizontal.rb +15 -0
  14. data/lib/sevgi/geometry/equation/line/vertical.rb +52 -0
  15. data/lib/sevgi/geometry/equation/line.rb +38 -0
  16. data/lib/sevgi/geometry/equation.rb +3 -0
  17. data/lib/sevgi/geometry/errors.rb +5 -0
  18. data/lib/sevgi/geometry/external.rb +15 -0
  19. data/lib/sevgi/geometry/operation/align.rb +40 -0
  20. data/lib/sevgi/geometry/operation/sweep.rb +52 -0
  21. data/lib/sevgi/geometry/operation.rb +28 -0
  22. data/lib/sevgi/geometry/point.rb +62 -0
  23. data/lib/sevgi/geometry.rb +10 -0
  24. data/lib/sevgi/graphics/attribute.rb +125 -0
  25. data/lib/sevgi/graphics/canvas.rb +51 -0
  26. data/lib/sevgi/graphics/content.rb +72 -0
  27. data/lib/sevgi/graphics/document/base.rb +51 -0
  28. data/lib/sevgi/graphics/document/default.rb +19 -0
  29. data/lib/sevgi/graphics/document/html.rb +11 -0
  30. data/lib/sevgi/graphics/document/inkscape.rb +17 -0
  31. data/lib/sevgi/graphics/document/minimal.rb +11 -0
  32. data/lib/sevgi/graphics/document.rb +53 -0
  33. data/lib/sevgi/graphics/element.rb +85 -0
  34. data/lib/sevgi/graphics/external.rb +15 -0
  35. data/lib/sevgi/graphics/mixtures/core.rb +81 -0
  36. data/lib/sevgi/graphics/mixtures/duplicate.rb +36 -0
  37. data/lib/sevgi/graphics/mixtures/hatch.rb +21 -0
  38. data/lib/sevgi/graphics/mixtures/identify.rb +93 -0
  39. data/lib/sevgi/graphics/mixtures/inkscape.rb +15 -0
  40. data/lib/sevgi/graphics/mixtures/lint.rb +33 -0
  41. data/lib/sevgi/graphics/mixtures/render.rb +149 -0
  42. data/lib/sevgi/graphics/mixtures/replicate.rb +125 -0
  43. data/lib/sevgi/graphics/mixtures/save.rb +23 -0
  44. data/lib/sevgi/graphics/mixtures/transform.rb +78 -0
  45. data/lib/sevgi/graphics/mixtures/underscore.rb +21 -0
  46. data/lib/sevgi/graphics/mixtures/validate.rb +27 -0
  47. data/lib/sevgi/graphics/mixtures/wrappers.rb +63 -0
  48. data/lib/sevgi/graphics/mixtures.rb +16 -0
  49. data/lib/sevgi/graphics.rb +10 -0
  50. data/lib/sevgi/internal/constant.rb +5 -0
  51. data/lib/sevgi/internal/dim.rb +13 -0
  52. data/lib/sevgi/internal/function/file.rb +30 -0
  53. data/lib/sevgi/internal/function/float.rb +35 -0
  54. data/lib/sevgi/internal/function/formula.rb +71 -0
  55. data/lib/sevgi/internal/function/math.rb +43 -0
  56. data/lib/sevgi/internal/function/string.rb +13 -0
  57. data/lib/sevgi/internal/function.rb +7 -0
  58. data/lib/sevgi/internal/list.rb +27 -0
  59. data/lib/sevgi/internal/locate.rb +47 -0
  60. data/lib/sevgi/internal/margin.rb +23 -0
  61. data/lib/sevgi/internal/minitest/script.rb +50 -0
  62. data/lib/sevgi/internal/minitest/shell.rb +71 -0
  63. data/lib/sevgi/internal/minitest/suite.rb +35 -0
  64. data/lib/sevgi/internal/minitest.rb +5 -0
  65. data/lib/sevgi/internal/paper.rb +26 -0
  66. data/lib/sevgi/internal.rb +10 -0
  67. data/lib/sevgi/standard/conform.rb +55 -0
  68. data/lib/sevgi/standard/data/attribute.rb +496 -0
  69. data/lib/sevgi/standard/data/element.rb +269 -0
  70. data/lib/sevgi/standard/data/specification.rb +1841 -0
  71. data/lib/sevgi/standard/data.rb +79 -0
  72. data/lib/sevgi/standard/errors.rb +28 -0
  73. data/lib/sevgi/standard/model.rb +82 -0
  74. data/lib/sevgi/standard.rb +26 -0
  75. data/lib/sevgi/utensils/external.rb +22 -0
  76. data/lib/sevgi/utensils/grid.rb +49 -0
  77. data/lib/sevgi/utensils/ruler.rb +47 -0
  78. data/lib/sevgi/utensils/tsquare.rb +28 -0
  79. data/lib/sevgi/utensils.rb +7 -0
  80. data/lib/sevgi/version.rb +5 -0
  81. data/lib/sevgi.rb +10 -0
  82. metadata +127 -0
@@ -0,0 +1,1841 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Sevgi
4
+ module Standard
5
+ module Specification
6
+ import(
7
+ a: {
8
+ attributes: %i[
9
+ Aria
10
+ ConditionalProcessing
11
+ Core
12
+ EventDocument
13
+ EventDocumentElement
14
+ EventGlobal
15
+ EventGraphical
16
+ Presentation
17
+ Style
18
+ Xlink
19
+
20
+ download
21
+ href
22
+ hreflang
23
+ ping
24
+ referrerpolicy
25
+ rel
26
+ role
27
+ target
28
+ type
29
+ ],
30
+
31
+ elements: %i[
32
+ Animation
33
+ Descriptive
34
+ Gradient
35
+ Shape
36
+ Structural
37
+ UnrelatedCommon
38
+ ],
39
+
40
+ model: :SomeElements,
41
+ },
42
+
43
+ animate: {
44
+ attributes: %i[
45
+ AnimationAddition
46
+ AnimationAttributeTarget
47
+ AnimationTiming
48
+ AnimationValue
49
+ ConditionalProcessing
50
+ Core
51
+ EventAnimation
52
+ EventDocument
53
+ EventDocumentElement
54
+ EventGlobal
55
+ Style
56
+ Xlink
57
+
58
+ href
59
+ ],
60
+
61
+ elements: %i[
62
+ Descriptive
63
+ ],
64
+
65
+ model: :SomeElements,
66
+ },
67
+
68
+ animateMotion: {
69
+ attributes: %i[
70
+ AnimationAddition
71
+ AnimationAttributeTarget
72
+ AnimationTiming
73
+ AnimationValue
74
+ ConditionalProcessing
75
+ Core
76
+ EventAnimation
77
+ EventDocumentElement
78
+ EventGlobal
79
+ Style
80
+ Xlink
81
+
82
+ href
83
+ keyPoints
84
+ origin
85
+ path
86
+ rotate
87
+ ],
88
+
89
+ elements: %i[
90
+ Descriptive
91
+
92
+ mpath
93
+ ],
94
+
95
+ model: :SomeElements,
96
+ },
97
+
98
+ animateTransform: {
99
+ attributes: %i[
100
+ AnimationAddition
101
+ AnimationAttributeTarget
102
+ AnimationTiming
103
+ AnimationValue
104
+ ConditionalProcessing
105
+ Core
106
+ EventAnimation
107
+ EventDocumentElement
108
+ EventGlobal
109
+ Style
110
+ Xlink
111
+
112
+ href
113
+ type
114
+ ],
115
+
116
+ elements: %i[
117
+ Descriptive
118
+ ],
119
+
120
+ model: :SomeElements,
121
+ },
122
+
123
+ circle: {
124
+ attributes: %i[
125
+ Aria
126
+ ConditionalProcessing
127
+ Core
128
+ EventDocumentElement
129
+ EventGlobal
130
+ EventGraphical
131
+ Presentation
132
+ Style
133
+
134
+ cx
135
+ cy
136
+ pathLength
137
+ r
138
+ role
139
+ ],
140
+
141
+ elements: %i[
142
+ Animation
143
+ Descriptive
144
+ ],
145
+
146
+ model: :SomeElements,
147
+ },
148
+
149
+ clipPath: {
150
+ attributes: %i[
151
+ ConditionalProcessing
152
+ Core
153
+ Presentation
154
+ Style
155
+
156
+ clipPathUnits
157
+ ],
158
+
159
+ elements: %i[
160
+ Animation
161
+ Descriptive
162
+ Shape
163
+
164
+ text
165
+ use
166
+ ],
167
+
168
+ model: :SomeElements,
169
+ },
170
+
171
+ "color-profile": {
172
+ attributes: %i[
173
+ Core
174
+ Xlink
175
+
176
+ local
177
+ name
178
+ rendering-intent
179
+ ],
180
+
181
+ elements: %i[
182
+ Descriptive
183
+ ],
184
+
185
+ model: :SomeElements,
186
+ },
187
+
188
+ cursor: {
189
+ attributes: %i[
190
+ ConditionalProcessing
191
+ Core
192
+ Xlink
193
+
194
+ externalResourcesRequired
195
+ x
196
+ y
197
+ ],
198
+
199
+ elements: %i[
200
+ Descriptive
201
+ ],
202
+
203
+ model: :SomeElements,
204
+ },
205
+
206
+ defs: {
207
+ attributes: %i[
208
+ Core
209
+ EventDocument
210
+ EventDocumentElement
211
+ EventGlobal
212
+ EventGraphical
213
+ Presentation
214
+ Style
215
+ ],
216
+
217
+ elements: %i[
218
+ Animation
219
+ Descriptive
220
+ Gradient
221
+ Shape
222
+ Structural
223
+ UnrelatedCommon
224
+ ],
225
+
226
+ model: :SomeElements,
227
+ },
228
+
229
+ desc: {
230
+ attributes: %i[
231
+ Core
232
+ EventDocument
233
+ EventDocumentElement
234
+ EventGlobal
235
+ Style
236
+ ],
237
+
238
+ elements: nil,
239
+
240
+ model: :CDataOnly,
241
+ },
242
+
243
+ discard: {
244
+ attributes: %i[
245
+ Aria
246
+ ConditionalProcessing
247
+ Core
248
+ Style
249
+
250
+ begin
251
+ href
252
+ role
253
+ ],
254
+
255
+ elements: %i[
256
+ Descriptive
257
+
258
+ script
259
+ ],
260
+
261
+ model: :SomeElements,
262
+ },
263
+
264
+ ellipse: {
265
+ attributes: %i[
266
+ Aria
267
+ ConditionalProcessing
268
+ Core
269
+ EventDocumentElement
270
+ EventGlobal
271
+ EventGraphical
272
+ Presentation
273
+ Style
274
+
275
+ cx
276
+ cy
277
+ pathLength
278
+ role
279
+ rx
280
+ ry
281
+ ],
282
+
283
+ elements: %i[
284
+ Animation
285
+ Descriptive
286
+ ],
287
+
288
+ model: :SomeElements,
289
+ },
290
+
291
+ feBlend: {
292
+ attributes: %i[
293
+ Core
294
+ FilterPrimitive
295
+ Presentation
296
+ Style
297
+
298
+ in
299
+ in2
300
+ mode
301
+ ],
302
+
303
+ elements: %i[
304
+ animate
305
+ set
306
+ ],
307
+
308
+ model: :SomeElements,
309
+ },
310
+
311
+ feColorMatrix: {
312
+ attributes: %i[
313
+ Core
314
+ FilterPrimitive
315
+ Presentation
316
+ Style
317
+
318
+ in
319
+ type
320
+ values
321
+ ],
322
+
323
+ elements: %i[
324
+ animate
325
+ set
326
+ ],
327
+
328
+ model: :SomeElements,
329
+ },
330
+
331
+ feComponentTransfer: {
332
+ attributes: %i[
333
+ Core
334
+ FilterPrimitive
335
+ Presentation
336
+ Style
337
+
338
+ in
339
+ ],
340
+
341
+ elements: %i[
342
+ feFuncA
343
+ feFuncR
344
+ feFuncB
345
+ feFuncG
346
+ ],
347
+
348
+ model: :SomeElements,
349
+ },
350
+
351
+ feComposite: {
352
+ attributes: %i[
353
+ Core
354
+ FilterPrimitive
355
+ Presentation
356
+ Style
357
+
358
+ in
359
+ in2
360
+ k1
361
+ k2
362
+ k3
363
+ k4
364
+ operator
365
+ ],
366
+
367
+ elements: %i[
368
+ animate
369
+ set
370
+ ],
371
+
372
+ model: :SomeElements,
373
+ },
374
+
375
+ feConvolveMatrix: {
376
+ attributes: %i[
377
+ Core
378
+ FilterPrimitive
379
+ Presentation
380
+ Style
381
+
382
+ bias
383
+ divisor
384
+ edgeMode
385
+ in
386
+ kernelMatrix
387
+ kernelUnitLength
388
+ order
389
+ preserveAlpha
390
+ targetX
391
+ targetY
392
+ ],
393
+
394
+ elements: %i[
395
+ animate
396
+ set
397
+ ],
398
+
399
+ model: :SomeElements,
400
+ },
401
+
402
+ feDiffuseLighting: {
403
+ attributes: %i[
404
+ Core
405
+ FilterPrimitive
406
+ Presentation
407
+ Style
408
+
409
+ diffuseConstant
410
+ in
411
+ kernelUnitLength
412
+ surfaceScale
413
+ ],
414
+
415
+ elements: nil,
416
+
417
+ # Any number of Descriptive elements and exactly one FilterLightSource element, in any order.
418
+ model: :SpecialFeDiffuseLighting,
419
+ },
420
+
421
+ feDisplacementMap: {
422
+ attributes: %i[
423
+ Core
424
+ FilterPrimitive
425
+ Presentation
426
+ Style
427
+
428
+ in
429
+ in2
430
+ scale
431
+ xChannelSelector
432
+ yChannelSelector
433
+ ],
434
+
435
+ elements: %i[
436
+ animate
437
+ set
438
+ ],
439
+
440
+ model: :SomeElements,
441
+ },
442
+
443
+ feDistantLight: {
444
+ attributes: %i[
445
+ Core
446
+ Style
447
+
448
+ azimuth
449
+ elevation
450
+ ],
451
+
452
+ elements: %i[
453
+ animate
454
+ set
455
+ ],
456
+
457
+ model: :SomeElements,
458
+ },
459
+
460
+ feDropShadow: {
461
+ attributes: %i[
462
+ Core
463
+ FilterPrimitive
464
+ Presentation
465
+ Style
466
+
467
+ dx
468
+ dy
469
+ in
470
+ stdDeviation
471
+ ],
472
+
473
+ elements: %i[
474
+ animate
475
+ script
476
+ set
477
+ ],
478
+
479
+ model: :SomeElements,
480
+ },
481
+
482
+ feFlood: {
483
+ attributes: %i[
484
+ Core
485
+ FilterPrimitive
486
+ Presentation
487
+ Style
488
+ ],
489
+
490
+ elements: %i[
491
+ animate
492
+ set
493
+ ],
494
+
495
+ model: :SomeElements,
496
+ },
497
+
498
+ feFuncA: {
499
+ attributes: %i[
500
+ Core
501
+ FilterTransferFunction
502
+ Style
503
+ ],
504
+
505
+ elements: %i[
506
+ animate
507
+ set
508
+ ],
509
+
510
+ model: :SomeElements,
511
+ },
512
+
513
+ feFuncB: {
514
+ attributes: %i[
515
+ Core
516
+ FilterTransferFunction
517
+ Style
518
+ ],
519
+
520
+ elements: %i[
521
+ animate
522
+ set
523
+ ],
524
+
525
+ model: :SomeElements,
526
+ },
527
+
528
+ feFuncG: {
529
+ attributes: %i[
530
+ Core
531
+ FilterTransferFunction
532
+ Style
533
+ ],
534
+
535
+ elements: %i[
536
+ animate
537
+ set
538
+ ],
539
+
540
+ model: :SomeElements,
541
+ },
542
+
543
+ feFuncR: {
544
+ attributes: %i[
545
+ Core
546
+ FilterTransferFunction
547
+ Style
548
+ ],
549
+
550
+ elements: %i[
551
+ animate
552
+ set
553
+ ],
554
+
555
+ model: :SomeElements,
556
+ },
557
+
558
+ feGaussianBlur: {
559
+ attributes: %i[
560
+ Core
561
+ FilterPrimitive
562
+ Presentation
563
+ Style
564
+
565
+ edgeMode
566
+ in
567
+ stdDeviation
568
+ ],
569
+
570
+ elements: %i[
571
+ animate
572
+ set
573
+ ],
574
+
575
+ model: :SomeElements,
576
+ },
577
+
578
+ feImage: {
579
+ attributes: %i[
580
+ Core
581
+ FilterPrimitive
582
+ Presentation
583
+ Style
584
+ Xlink
585
+
586
+ crossorigin
587
+ href
588
+ preserveAspectRatio
589
+ ],
590
+
591
+ elements: %i[
592
+ animate
593
+ animateTransform
594
+ set
595
+ ],
596
+
597
+ model: :SomeElements,
598
+ },
599
+
600
+ feMerge: {
601
+ attributes: %i[
602
+ Core
603
+ FilterPrimitive
604
+ Presentation
605
+ Style
606
+ ],
607
+
608
+ elements: %i[
609
+ feMergeNode
610
+ ],
611
+
612
+ model: :SomeElements,
613
+ },
614
+
615
+ feMergeNode: {
616
+ attributes: %i[
617
+ Core
618
+ Style
619
+
620
+ in
621
+ ],
622
+
623
+ elements: %i[
624
+ animate
625
+ set
626
+ ],
627
+
628
+ model: :SomeElements,
629
+ },
630
+
631
+ feMorphology: {
632
+ attributes: %i[
633
+ Core
634
+ FilterPrimitive
635
+ Presentation
636
+ Style
637
+
638
+ in
639
+ operator
640
+ radius
641
+ ],
642
+
643
+ elements: %i[
644
+ animate
645
+ set
646
+ ],
647
+
648
+ model: :SomeElements,
649
+ },
650
+
651
+ feOffset: {
652
+ attributes: %i[
653
+ Core
654
+ FilterPrimitive
655
+ Presentation
656
+ Style
657
+
658
+ dx
659
+ dy
660
+ in
661
+ ],
662
+
663
+ elements: %i[
664
+ animate
665
+ set
666
+ ],
667
+
668
+ model: :SomeElements,
669
+ },
670
+
671
+ fePointLight: {
672
+ attributes: %i[
673
+ Core
674
+ Style
675
+
676
+ x
677
+ y
678
+ z
679
+ ],
680
+
681
+ elements: %i[
682
+ animate
683
+ set
684
+ ],
685
+
686
+ model: :SomeElements,
687
+ },
688
+
689
+ feSpecularLighting: {
690
+ attributes: %i[
691
+ Core
692
+ FilterPrimitive
693
+ Presentation
694
+ Style
695
+
696
+ in
697
+ kernelUnitLength
698
+ specularConstant
699
+ specularExponent
700
+ surfaceScale
701
+ ],
702
+
703
+ elements: nil,
704
+
705
+ # Exactly one FilterLightSource element first and any number of Descriptive elements in any order.
706
+ model: :SpecialFeSpecularLighting,
707
+ },
708
+
709
+ feSpotLight: {
710
+ attributes: %i[
711
+ Core
712
+ Style
713
+
714
+ limitingConeAngle
715
+ pointsAtX
716
+ pointsAtY
717
+ pointsAtZ
718
+ specularExponent
719
+ x
720
+ y
721
+ z
722
+ ],
723
+
724
+ elements: %i[
725
+ animate
726
+ set
727
+ ],
728
+
729
+ model: :SomeElements,
730
+ },
731
+
732
+ feTile: {
733
+ attributes: %i[
734
+ Core
735
+ FilterPrimitive
736
+ Presentation
737
+ Style
738
+
739
+ in
740
+ ],
741
+
742
+ elements: %i[
743
+ animate
744
+ set
745
+ ],
746
+
747
+ model: :SomeElements,
748
+ },
749
+
750
+ feTurbulence: {
751
+ attributes: %i[
752
+ Core
753
+ FilterPrimitive
754
+ Presentation
755
+ Style
756
+
757
+ baseFrequency
758
+ numOctaves
759
+ seed
760
+ stitchTiles
761
+ type
762
+ ],
763
+
764
+ elements: %i[
765
+ animate
766
+ set
767
+ ],
768
+
769
+ model: :SomeElements,
770
+ },
771
+
772
+ filter: {
773
+ attributes: %i[
774
+ Core
775
+ Presentation
776
+ Style
777
+ Xlink
778
+
779
+ filterRes
780
+ filterUnits
781
+ height
782
+ primitiveUnits
783
+ width
784
+ x
785
+ y
786
+ ],
787
+
788
+ elements: %i[
789
+ Descriptive
790
+ FilterPrimitive
791
+
792
+ animate
793
+ set
794
+ ],
795
+
796
+ model: :SomeElements,
797
+ },
798
+
799
+ font: {
800
+ attributes: %i[
801
+ Core
802
+ Presentation
803
+ Style
804
+
805
+ externalResourcesRequired
806
+ horiz-adv-x
807
+ horiz-origin-x
808
+ horiz-origin-y
809
+ vert-adv-y
810
+ vert-origin-x
811
+ vert-origin-y
812
+ ],
813
+
814
+ elements: %i[
815
+ Descriptive
816
+
817
+ font-face
818
+ glyph
819
+ hkern
820
+ missing-glyph
821
+ vkern
822
+ ],
823
+
824
+ model: :SomeElements,
825
+ },
826
+
827
+ "font-face": {
828
+ attributes: %i[
829
+ Core
830
+
831
+ accent-height
832
+ alphabetic
833
+ ascent
834
+ bbox
835
+ cap-height
836
+ descent
837
+ font-family
838
+ font-size
839
+ font-stretch
840
+ font-style
841
+ font-variant
842
+ font-weight
843
+ hanging
844
+ ideographic
845
+ mathematical
846
+ overline-position
847
+ overline-thickness
848
+ panose-1
849
+ slope
850
+ stemh
851
+ stemv
852
+ strikethrough-position
853
+ strikethrough-thickness
854
+ underline-position
855
+ underline-thickness
856
+ unicode-range
857
+ units-per-em
858
+ v-alphabetic
859
+ v-hanging
860
+ v-ideographic
861
+ v-mathematical
862
+ widths
863
+ x-height
864
+ ],
865
+
866
+ elements: nil,
867
+
868
+ # Any number of Descriptive elements and at most one font-face element in any order.
869
+ model: :SpecialFontFace,
870
+ },
871
+
872
+ "font-face-format": {
873
+ attributes: %i[
874
+ Core
875
+
876
+ string
877
+ ],
878
+
879
+ elements: nil,
880
+
881
+ model: :NoneElements,
882
+ },
883
+
884
+ "font-face-name": {
885
+ attributes: %i[
886
+ Core
887
+
888
+ name
889
+ ],
890
+
891
+ elements: nil,
892
+
893
+ model: :NoneElements,
894
+ },
895
+
896
+ "font-face-src": {
897
+ attributes: %i[
898
+ Core
899
+ ],
900
+
901
+ elements: %i[
902
+ font-face-name
903
+ font-face-uri
904
+ ],
905
+
906
+ model: :SomeElements,
907
+ },
908
+
909
+ "font-face-uri": {
910
+ attributes: %i[
911
+ Core
912
+ Xlink
913
+ ],
914
+
915
+ elements: %i[
916
+ font-face-format
917
+ ],
918
+
919
+ model: :SomeElements,
920
+ },
921
+
922
+ foreignObject: {
923
+ attributes: %i[
924
+ Aria
925
+ ConditionalProcessing
926
+ Core
927
+ EventDocument
928
+ EventDocumentElement
929
+ EventGlobal
930
+ EventGraphical
931
+ Presentation
932
+ Style
933
+
934
+ role
935
+ width
936
+ height
937
+ x
938
+ y
939
+ ],
940
+
941
+ elements: nil,
942
+
943
+ model: :CDataOnly,
944
+ },
945
+
946
+ g: {
947
+ attributes: %i[
948
+ Aria
949
+ ConditionalProcessing
950
+ Core
951
+ EventDocumentElement
952
+ EventGlobal
953
+ EventGraphical
954
+ Presentation
955
+ Style
956
+
957
+ role
958
+ ],
959
+
960
+ elements: %i[
961
+ Animation
962
+ Descriptive
963
+ Shape
964
+ Structural
965
+ Gradient
966
+ UnrelatedCommon
967
+ ],
968
+
969
+ model: :SomeElements,
970
+ },
971
+
972
+ glyph: {
973
+ attributes: %i[
974
+ Core
975
+ Presentation
976
+ Style
977
+
978
+ arabic-form
979
+ d
980
+ glyph-name
981
+ horiz-adv-x
982
+ orientation
983
+ unicode
984
+ vert-adv-y
985
+ vert-origin-x
986
+ vert-origin-y
987
+ ],
988
+
989
+ elements: %i[
990
+ Animation
991
+ Descriptive
992
+ Shape
993
+ Structural
994
+ Gradient
995
+ UnrelatedCommon
996
+ ],
997
+
998
+ model: :SomeElements,
999
+ },
1000
+
1001
+ glyphRef: {
1002
+ attributes: %i[
1003
+ Core
1004
+ Presentation
1005
+ Style
1006
+ Xlink
1007
+
1008
+ dx
1009
+ dy
1010
+ format
1011
+ glyphRef
1012
+ x
1013
+ y
1014
+ ],
1015
+
1016
+ elements: nil,
1017
+
1018
+ model: :NoneElements,
1019
+ },
1020
+
1021
+ hatch: {
1022
+ attributes: %i[
1023
+ Core
1024
+ EventGlobal
1025
+ Presentation
1026
+ Style
1027
+
1028
+ hatchContentUnits
1029
+ hatchUnits
1030
+ href
1031
+ pitch
1032
+ rotate
1033
+ x
1034
+ y
1035
+ ],
1036
+
1037
+ elements: %i[
1038
+ Animation
1039
+ Descriptive
1040
+
1041
+ hatchpath
1042
+ script
1043
+ style
1044
+ ],
1045
+
1046
+ model: :SomeElements,
1047
+ },
1048
+
1049
+ hatchpath: {
1050
+ attributes: %i[
1051
+ Core
1052
+ EventGlobal
1053
+ Presentation
1054
+ Style
1055
+
1056
+ d
1057
+ offset
1058
+ ],
1059
+
1060
+ elements: %i[
1061
+ Animation
1062
+ Descriptive
1063
+
1064
+ script
1065
+ style
1066
+ ],
1067
+
1068
+ model: :SomeElements,
1069
+ },
1070
+
1071
+ hkern: {
1072
+ attributes: %i[
1073
+ Core
1074
+
1075
+ g1
1076
+ g2
1077
+ k
1078
+ u1
1079
+ u2
1080
+ ],
1081
+
1082
+ elements: nil,
1083
+
1084
+ model: :NoneElements,
1085
+ },
1086
+
1087
+ image: {
1088
+ attributes: %i[
1089
+ Aria
1090
+ ConditionalProcessing
1091
+ Core
1092
+ EventDocumentElement
1093
+ EventGlobal
1094
+ EventGraphical
1095
+ Presentation
1096
+ Style
1097
+ Xlink
1098
+
1099
+ crossorigin
1100
+ decoding
1101
+ height
1102
+ href
1103
+ preserveAspectRatio
1104
+ role
1105
+ width
1106
+ x
1107
+ y
1108
+ ],
1109
+
1110
+ elements: %i[
1111
+ Animation
1112
+ Descriptive
1113
+ ],
1114
+
1115
+ model: :SomeElements,
1116
+ },
1117
+
1118
+ line: {
1119
+ attributes: %i[
1120
+ Aria
1121
+ ConditionalProcessing
1122
+ Core
1123
+ EventDocumentElement
1124
+ EventGlobal
1125
+ EventGraphical
1126
+ Presentation
1127
+ Style
1128
+
1129
+ pathLength
1130
+ role
1131
+ x1
1132
+ x2
1133
+ y1
1134
+ y2
1135
+ ],
1136
+
1137
+ elements: %i[
1138
+ Animation
1139
+ Descriptive
1140
+ ],
1141
+
1142
+ model: :SomeElements,
1143
+ },
1144
+
1145
+ linearGradient: {
1146
+ attributes: %i[
1147
+ Core
1148
+ EventDocumentElement
1149
+ EventGlobal
1150
+ Presentation
1151
+ Style
1152
+ Xlink
1153
+
1154
+ gradientTransform
1155
+ gradientUnits
1156
+ href
1157
+ spreadMethod
1158
+ x1
1159
+ x2
1160
+ y1
1161
+ y2
1162
+ ],
1163
+
1164
+ elements: %i[
1165
+ Descriptive
1166
+
1167
+ animate
1168
+ animateTransform
1169
+ set
1170
+ stop
1171
+ ],
1172
+
1173
+ model: :SomeElements,
1174
+ },
1175
+
1176
+ marker: {
1177
+ attributes: %i[
1178
+ Core
1179
+ EventDocumentElement
1180
+ EventGlobal
1181
+ Presentation
1182
+ Style
1183
+
1184
+ markerHeight
1185
+ markerUnits
1186
+ markerWidth
1187
+ orient
1188
+ preserveAspectRatio
1189
+ refX
1190
+ refY
1191
+ viewBox
1192
+ ],
1193
+
1194
+ elements: %i[
1195
+ Animation
1196
+ Descriptive
1197
+ Shape
1198
+ Structural
1199
+ Gradient
1200
+ UnrelatedCommon
1201
+ ],
1202
+
1203
+ model: :SomeElements,
1204
+ },
1205
+
1206
+ mask: {
1207
+ attributes: %i[
1208
+ ConditionalProcessing
1209
+ Core
1210
+ Presentation
1211
+ Style
1212
+
1213
+ height
1214
+ maskContentUnits
1215
+ maskUnits
1216
+ width
1217
+ x
1218
+ y
1219
+ ],
1220
+
1221
+ elements: %i[
1222
+ Animation
1223
+ Descriptive
1224
+ Shape
1225
+ Structural
1226
+ Gradient
1227
+ UnrelatedCommon
1228
+ ],
1229
+
1230
+ model: :SomeElements,
1231
+ },
1232
+
1233
+ metadata: {
1234
+ attributes: %i[
1235
+ Core
1236
+ EventDocumentElement
1237
+ EventGlobal
1238
+ Style
1239
+ ],
1240
+
1241
+ elements: nil,
1242
+
1243
+ model: :CDataOnly,
1244
+ },
1245
+
1246
+ "missing-glyph": {
1247
+ attributes: %i[
1248
+ Core
1249
+ Presentation
1250
+ Style
1251
+
1252
+ d
1253
+ horiz-adv-x
1254
+ vert-adv-y
1255
+ vert-origin-x
1256
+ vert-origin-y
1257
+ ],
1258
+
1259
+ elements: %i[
1260
+ Animation
1261
+ Descriptive
1262
+ Shape
1263
+ Structural
1264
+ Gradient
1265
+ UnrelatedCommon
1266
+ ],
1267
+
1268
+ model: :SomeElements,
1269
+ },
1270
+
1271
+ mpath: {
1272
+ attributes: %i[
1273
+ Core
1274
+ EventDocumentElement
1275
+ EventGlobal
1276
+ Style
1277
+ Xlink
1278
+
1279
+ href
1280
+ ],
1281
+
1282
+ elements: %i[
1283
+ Descriptive
1284
+ ],
1285
+
1286
+ model: :SomeElements,
1287
+ },
1288
+
1289
+ path: {
1290
+ attributes: %i[
1291
+ Aria
1292
+ ConditionalProcessing
1293
+ Core
1294
+ EventDocumentElement
1295
+ EventGlobal
1296
+ EventGraphical
1297
+ Presentation
1298
+ Style
1299
+
1300
+ d
1301
+ pathLength
1302
+ role
1303
+ ],
1304
+
1305
+ elements: %i[
1306
+ Animation
1307
+ Descriptive
1308
+ ],
1309
+
1310
+ model: :SomeElements,
1311
+ },
1312
+
1313
+ pattern: {
1314
+ attributes: %i[
1315
+ Core
1316
+ EventGlobal
1317
+ Style
1318
+ Presentation
1319
+ Xlink
1320
+
1321
+ height
1322
+ href
1323
+ patternContentUnits
1324
+ patternTransform
1325
+ patternUnits
1326
+ preserveAspectRatio
1327
+ viewBox
1328
+ width
1329
+ x
1330
+ y
1331
+ ],
1332
+
1333
+ elements: %i[
1334
+ Animation
1335
+ Descriptive
1336
+ Shape
1337
+ Structural
1338
+ Gradient
1339
+ UnrelatedCommon
1340
+ ],
1341
+
1342
+ model: :SomeElements,
1343
+ },
1344
+
1345
+ polygon: {
1346
+ attributes: %i[
1347
+ Aria
1348
+ ConditionalProcessing
1349
+ Core
1350
+ EventDocumentElement
1351
+ EventGlobal
1352
+ EventGraphical
1353
+ Presentation
1354
+ Style
1355
+
1356
+ pathLength
1357
+ points
1358
+ role
1359
+ ],
1360
+
1361
+ elements: %i[
1362
+ Animation
1363
+ Descriptive
1364
+ ],
1365
+
1366
+ model: :SomeElements,
1367
+ },
1368
+
1369
+ polyline: {
1370
+ attributes: %i[
1371
+ Aria
1372
+ ConditionalProcessing
1373
+ Core
1374
+ EventDocumentElement
1375
+ EventGlobal
1376
+ EventGraphical
1377
+ Presentation
1378
+ Style
1379
+
1380
+ pathLength
1381
+ points
1382
+ role
1383
+ ],
1384
+
1385
+ elements: %i[
1386
+ Animation
1387
+ Descriptive
1388
+ ],
1389
+
1390
+ model: :SomeElements,
1391
+ },
1392
+
1393
+ radialGradient: {
1394
+ attributes: %i[
1395
+ Core
1396
+ EventDocumentElement
1397
+ EventGlobal
1398
+ Style
1399
+ Presentation
1400
+ Xlink
1401
+
1402
+ cx
1403
+ cy
1404
+ fr
1405
+ fx
1406
+ fy
1407
+ gradientTransform
1408
+ gradientUnits
1409
+ href
1410
+ r
1411
+ spreadMethod
1412
+ ],
1413
+
1414
+ elements: %i[
1415
+ Descriptive
1416
+
1417
+ animate
1418
+ animateTransform
1419
+ set
1420
+ stop
1421
+ ],
1422
+
1423
+ model: :SomeElements,
1424
+ },
1425
+
1426
+ rect: {
1427
+ attributes: %i[
1428
+ Aria
1429
+ ConditionalProcessing
1430
+ Core
1431
+ EventDocumentElement
1432
+ EventGlobal
1433
+ EventGraphical
1434
+ Presentation
1435
+ Style
1436
+
1437
+ height
1438
+ pathLength
1439
+ role
1440
+ rx
1441
+ ry
1442
+ width
1443
+ x
1444
+ y
1445
+ ],
1446
+
1447
+ elements: %i[
1448
+ Animation
1449
+ Descriptive
1450
+ ],
1451
+
1452
+ model: :SomeElements,
1453
+ },
1454
+
1455
+ script: {
1456
+ attributes: %i[
1457
+ Core
1458
+ EventDocumentElement
1459
+ EventGlobal
1460
+ Style
1461
+ Xlink
1462
+
1463
+ crossorigin
1464
+ href
1465
+ type
1466
+ ],
1467
+
1468
+ elements: nil,
1469
+
1470
+ model: :CDataOnly,
1471
+ },
1472
+
1473
+ set: {
1474
+ attributes: %i[
1475
+ AnimationAttributeTarget
1476
+ AnimationTiming
1477
+ ConditionalProcessing
1478
+ Core
1479
+ EventAnimation
1480
+ EventDocumentElement
1481
+ EventGlobal
1482
+ Style
1483
+ Xlink
1484
+
1485
+ href
1486
+ to
1487
+ ],
1488
+
1489
+ elements: %i[
1490
+ Descriptive
1491
+ ],
1492
+
1493
+ model: :SomeElements,
1494
+ },
1495
+
1496
+ stop: {
1497
+ attributes: %i[
1498
+ Core
1499
+ EventDocumentElement
1500
+ EventGlobal
1501
+ Presentation
1502
+ Style
1503
+
1504
+ offset
1505
+ ],
1506
+
1507
+ elements: %i[
1508
+ animate
1509
+ set
1510
+ ],
1511
+
1512
+ model: :SomeElements,
1513
+ },
1514
+
1515
+ style: {
1516
+ attributes: %i[
1517
+ Core
1518
+ EventDocumentElement
1519
+ EventGlobal
1520
+ Style
1521
+
1522
+ media
1523
+ title
1524
+ type
1525
+ ],
1526
+
1527
+ elements: nil,
1528
+
1529
+ model: :CDataOnly,
1530
+ },
1531
+
1532
+ svg: {
1533
+ attributes: %i[
1534
+ Aria
1535
+ ConditionalProcessing
1536
+ Core
1537
+ EventDocument
1538
+ EventDocumentElement
1539
+ EventGlobal
1540
+ EventGraphical
1541
+ Presentation
1542
+ Style
1543
+
1544
+ baseProfile
1545
+ contentScriptType
1546
+ contentStyleType
1547
+ height
1548
+ playbackorder
1549
+ preserveAspectRatio
1550
+ role
1551
+ timelinebegin
1552
+ version
1553
+ viewBox
1554
+ width
1555
+ x
1556
+ y
1557
+ ],
1558
+
1559
+ elements: %i[
1560
+ Animation
1561
+ Descriptive
1562
+ Shape
1563
+ Structural
1564
+ Gradient
1565
+ UnrelatedCommon
1566
+ ],
1567
+
1568
+ model: :SomeElements,
1569
+ },
1570
+
1571
+ switch: {
1572
+ attributes: %i[
1573
+ Aria
1574
+ ConditionalProcessing
1575
+ Core
1576
+ EventDocumentElement
1577
+ EventGlobal
1578
+ EventGraphical
1579
+ Presentation
1580
+ Style
1581
+
1582
+ role
1583
+ ],
1584
+
1585
+ elements: %i[
1586
+ Animation
1587
+ Descriptive
1588
+ Shape
1589
+
1590
+ a
1591
+ foreignObject
1592
+ g
1593
+ image
1594
+ svg
1595
+ switch
1596
+ text
1597
+ use
1598
+ ],
1599
+
1600
+ model: :SomeElements,
1601
+ },
1602
+
1603
+ symbol: {
1604
+ attributes: %i[
1605
+ Aria
1606
+ Core
1607
+ EventDocumentElement
1608
+ EventGlobal
1609
+ EventGraphical
1610
+ Presentation
1611
+ Style
1612
+
1613
+ height
1614
+ preserveAspectRatio
1615
+ refX
1616
+ refY
1617
+ role
1618
+ viewBox
1619
+ width
1620
+ x
1621
+ y
1622
+ ],
1623
+
1624
+ elements: %i[
1625
+ Animation
1626
+ Descriptive
1627
+ Shape
1628
+ Structural
1629
+ Gradient
1630
+ UnrelatedCommon
1631
+ ],
1632
+
1633
+ model: :SomeElements,
1634
+ },
1635
+
1636
+ text: {
1637
+ attributes: %i[
1638
+ Aria
1639
+ ConditionalProcessing
1640
+ Core
1641
+ EventDocumentElement
1642
+ EventGlobal
1643
+ EventGraphical
1644
+ Presentation
1645
+ Style
1646
+
1647
+ dx
1648
+ dy
1649
+ lengthAdjust
1650
+ role
1651
+ rotate
1652
+ textLength
1653
+ x
1654
+ y
1655
+ ],
1656
+
1657
+ elements: %i[
1658
+ Animation
1659
+ Descriptive
1660
+ TextChild
1661
+
1662
+ a
1663
+ ],
1664
+
1665
+ model: :CDataOrSomeElements,
1666
+ },
1667
+
1668
+ textPath: {
1669
+ attributes: %i[
1670
+ Aria
1671
+ ConditionalProcessing
1672
+ Core
1673
+ EventDocumentElement
1674
+ EventGlobal
1675
+ EventGraphical
1676
+ Style
1677
+ Presentation
1678
+ Xlink
1679
+
1680
+ href
1681
+ lengthAdjust
1682
+ method
1683
+ path
1684
+ role
1685
+ side
1686
+ spacing
1687
+ startOffset
1688
+ textLength
1689
+ ],
1690
+
1691
+ elements: %i[
1692
+ Descriptive
1693
+
1694
+ a
1695
+ animate
1696
+ set
1697
+ tref
1698
+ tspan
1699
+ ],
1700
+
1701
+ model: :CDataOrSomeElements,
1702
+ },
1703
+
1704
+ title: {
1705
+ attributes: %i[
1706
+ Core
1707
+ EventDocumentElement
1708
+ EventGlobal
1709
+ Style
1710
+ ],
1711
+
1712
+ elements: nil,
1713
+
1714
+ model: :CDataOnly,
1715
+ },
1716
+
1717
+ tref: {
1718
+ attributes: %i[
1719
+ ConditionalProcessing
1720
+ Core
1721
+ EventGraphical
1722
+ Presentation
1723
+ Style
1724
+ Xlink
1725
+
1726
+ externalResourcesRequired
1727
+ ],
1728
+
1729
+ elements: %i[
1730
+ Descriptive
1731
+
1732
+ animate
1733
+ set
1734
+ ],
1735
+
1736
+ model: :SomeElements,
1737
+ },
1738
+
1739
+ tspan: {
1740
+ attributes: %i[
1741
+ Aria
1742
+ ConditionalProcessing
1743
+ Core
1744
+ EventDocumentElement
1745
+ EventGlobal
1746
+ EventGraphical
1747
+ Presentation
1748
+ Style
1749
+
1750
+ dx
1751
+ dy
1752
+ lengthAdjust
1753
+ role
1754
+ rotate
1755
+ textLength
1756
+ x
1757
+ y
1758
+ ],
1759
+
1760
+ elements: %i[
1761
+ Descriptive
1762
+
1763
+ a
1764
+ animate
1765
+ set
1766
+ tref
1767
+ tspan
1768
+ ],
1769
+
1770
+ model: :CDataOrSomeElements,
1771
+ },
1772
+
1773
+ use: {
1774
+ attributes: %i[
1775
+ Aria
1776
+ ConditionalProcessing
1777
+ Core
1778
+ EventDocumentElement
1779
+ EventGlobal
1780
+ EventGraphical
1781
+ Presentation
1782
+ Style
1783
+ Xlink
1784
+
1785
+ height
1786
+ href
1787
+ role
1788
+ width
1789
+ x
1790
+ y
1791
+ ],
1792
+
1793
+ elements: %i[
1794
+ Animation
1795
+ Descriptive
1796
+ ],
1797
+
1798
+ model: :SomeElements,
1799
+ },
1800
+
1801
+ view: {
1802
+ attributes: %i[
1803
+ Aria
1804
+ Core
1805
+ EventDocumentElement
1806
+ EventGlobal
1807
+ Style
1808
+
1809
+ preserveAspectRatio
1810
+ role
1811
+ viewBox
1812
+ viewTarget
1813
+ zoomAndPan
1814
+ ],
1815
+
1816
+ elements: %i[
1817
+ Descriptive
1818
+ ],
1819
+
1820
+ model: :SomeElements,
1821
+ },
1822
+
1823
+ vkern: {
1824
+ attributes: %i[
1825
+ Core
1826
+
1827
+ u1
1828
+ g1
1829
+ u2
1830
+ g2
1831
+ k
1832
+ ],
1833
+
1834
+ elements: nil,
1835
+
1836
+ model: :NoneElements,
1837
+ },
1838
+ )
1839
+ end
1840
+ end
1841
+ end