pro-editor-schema 0.1.16 → 0.1.18

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.
package/dist/index.js CHANGED
@@ -20,188 +20,35 @@ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: tru
20
20
  // src/index.ts
21
21
  var index_exports = {};
22
22
  __export(index_exports, {
23
- ABSTRACT_SCHEMA: () => ABSTRACT_SCHEMA,
24
- ABSTRACT_TAG: () => ABSTRACT_TAG,
25
- AFFILIATION_SCHEMA: () => AFFILIATION_SCHEMA,
26
- AFFILIATION_TAG: () => AFFILIATION_TAG,
27
23
  ALIGNMENT_ATTRIBUTE: () => ALIGNMENT_ATTRIBUTE,
28
- ALTTEXT_SCHEMA: () => ALTTEXT_SCHEMA,
29
- ALTTEXT_TAG: () => ALTTEXT_TAG,
30
- APPENDIX_SCHEMA: () => APPENDIX_SCHEMA,
31
- APPENDIX_TAG: () => APPENDIX_TAG,
32
24
  ATOM_SCHEMAS: () => ATOM_SCHEMAS,
33
- AUTHORGROUP_SCHEMA: () => AUTHORGROUP_SCHEMA,
34
- AUTHORGROUP_TAG: () => AUTHORGROUP_TAG,
35
- AUTHOR_SCHEMA: () => AUTHOR_SCHEMA,
36
- AUTHOR_TAG: () => AUTHOR_TAG,
37
- BLOCKQUOTE_SCHEMA: () => BLOCKQUOTE_SCHEMA,
38
- BLOCKQUOTE_TAG: () => BLOCKQUOTE_TAG,
39
- BOX_SCHEMA: () => BOX_SCHEMA,
40
- B_SCHEMA: () => B_SCHEMA,
41
- CAPTION_SCHEMA: () => CAPTION_SCHEMA,
42
- CAPTION_TAG: () => CAPTION_TAG,
43
- CHAPTER_SCHEMA: () => CHAPTER_SCHEMA,
44
- CHAPTER_TAG: () => CHAPTER_TAG,
45
- COMMENT_QUERY_SECTION_SCHEMA: () => COMMENT_QUERY_SECTION_SCHEMA,
46
- COMMENT_SCHEMA: () => COMMENT_SCHEMA,
47
- CONTENT_SCHEMA: () => CONTENT_SCHEMA,
48
- DEGREES_SCHEMA: () => DEGREES_SCHEMA,
49
- DEGREES_TAG: () => DEGREES_TAG,
50
- DELETION_SCHEMA: () => DELETION_SCHEMA,
51
- DIALOGUE_SCHEMA: () => DIALOGUE_SCHEMA,
52
- DIALOGUE_TAG: () => DIALOGUE_TAG,
53
25
  ELEMENT_SCHEMAS: () => ELEMENT_SCHEMAS,
54
- ELEMENT_TAGS: () => ELEMENT_TAGS,
55
26
  ELE_ID_ATTRIBUTE: () => ELE_ID_ATTRIBUTE,
56
- EMAIL_SCHEMA: () => EMAIL_SCHEMA,
57
- EMAIL_TAG: () => EMAIL_TAG,
58
- EMPHASIS_SCHEMA: () => EMPHASIS_SCHEMA,
59
- EPIGRAPH_SCHEMA: () => EPIGRAPH_SCHEMA,
60
- EPIGRAPH_TAG: () => EPIGRAPH_TAG,
61
- EQUATION_SCHEMA: () => EQUATION_SCHEMA,
62
- EQUATION_TAG: () => EQUATION_TAG,
63
- FIGNOTE_SCHEMA: () => FIGNOTE_SCHEMA,
64
- FIGNOTE_TAG: () => FIGNOTE_TAG,
65
- FIGSOURCE_SCHEMA: () => FIGSOURCE_SCHEMA,
66
- FIGSOURCE_TAG: () => FIGSOURCE_TAG,
67
27
  FIGURE_PLACEMENT_ATTRIBUTE: () => FIGURE_PLACEMENT_ATTRIBUTE,
68
- FIGURE_SCHEMA: () => FIGURE_SCHEMA,
69
- FIGURE_TAG: () => FIGURE_TAG,
70
- FIRSTNAME_SCHEMA: () => FIRSTNAME_SCHEMA,
71
- FIRSTNAME_TAG: () => FIRSTNAME_TAG,
72
- FOOTNOTE_LINK_SCHEMA: () => FOOTNOTE_LINK_SCHEMA,
73
- FOOTNOTE_LINK_TAG: () => FOOTNOTE_LINK_TAG,
74
- FOOTNOTE_NUMBER_SCHEMA: () => FOOTNOTE_NUMBER_SCHEMA,
75
- FOOTNOTE_NUMBER_TAG: () => FOOTNOTE_NUMBER_TAG,
76
- FOOTNOTE_SCHEMA: () => FOOTNOTE_SCHEMA,
77
- FOOTNOTE_SECTION_SCHEMA: () => FOOTNOTE_SECTION_SCHEMA,
78
- FOOTNOTE_TAG: () => FOOTNOTE_TAG,
79
- GROUP_ELEMENTS_TAGS: () => GROUP_ELEMENTS_TAGS,
80
- GROUP_ELEMENT_SCHEMAS: () => GROUP_ELEMENT_SCHEMAS,
81
- HEADING_SCHEMA: () => HEADING_SCHEMA,
82
- HIGHLIGHTMARK_SCHEMA: () => HIGHLIGHTMARK_SCHEMA,
83
- HONORIFIC_SCHEMA: () => HONORIFIC_SCHEMA,
84
- HONORIFIC_TAG: () => HONORIFIC_TAG,
85
- HTML_TABLE_SCHEMA: () => HTML_TABLE_SCHEMA,
86
- HTML_TABLE_TAG: () => HTML_TABLE_TAG,
87
28
  ID_ATTRS: () => ID_ATTRS,
88
29
  IGNORED_ATTRIBUTES: () => IGNORED_ATTRIBUTES,
89
30
  IGNORED_ATTRIBUTES_STARTS_WITH: () => IGNORED_ATTRIBUTES_STARTS_WITH,
90
31
  IGNORED_ELEMENT_SELECTORS: () => IGNORED_ELEMENT_SELECTORS,
91
- IMAGEOBJECT_SCHEMA: () => IMAGEOBJECT_SCHEMA,
92
- IMAGEOBJECT_TAG: () => IMAGEOBJECT_TAG,
93
- IMG_SCHEMA: () => IMG_SCHEMA,
94
- IMG_TAG: () => IMG_TAG,
95
32
  INDENT_TYPE_ATTRIBUTE: () => INDENT_TYPE_ATTRIBUTE,
96
- INFORMALFIGURE_SCHEMA: () => INFORMALFIGURE_SCHEMA,
97
- INFORMALFIGURE_TAG: () => INFORMALFIGURE_TAG,
98
- INFO_SCHEMA: () => INFO_SCHEMA,
99
- INFO_TAG: () => INFO_TAG,
100
- INLINEEQUATION_SCHEMA: () => INLINEEQUATION_SCHEMA,
101
- INLINEEQUATION_TAG: () => INLINEEQUATION_TAG,
102
33
  INLINE_ELEMENT_SCHEMAS: () => INLINE_ELEMENT_SCHEMAS,
103
- INLINE_ELEMENT_TAGS_ALLOWED_CHILDREN: () => INLINE_ELEMENT_TAGS_ALLOWED_CHILDREN,
104
- INSERTION_SCHEMA: () => INSERTION_SCHEMA,
105
- I_SCHEMA: () => I_SCHEMA,
106
- KEYWORDSET_SCHEMA: () => KEYWORDSET_SCHEMA,
107
- KEYWORDSET_TAG: () => KEYWORDSET_TAG,
108
- KEYWORD_SCHEMA: () => KEYWORD_SCHEMA,
109
- KEYWORD_TAG: () => KEYWORD_TAG,
110
- LABEL_SCHEMA: () => LABEL_SCHEMA,
111
- LABEL_TAG: () => LABEL_TAG,
112
34
  LAYOUT_ATTRIBUTES: () => LAYOUT_ATTRIBUTES,
113
35
  LAYOUT_CELL_WIDTH: () => LAYOUT_CELL_WIDTH,
114
36
  LAYOUT_USER_ATTRIBUTE: () => LAYOUT_USER_ATTRIBUTE,
115
37
  LEFT_INDENT_ATTRIBUTE: () => LEFT_INDENT_ATTRIBUTE,
116
- LINE_SCHEMA: () => LINE_SCHEMA,
117
- LINE_TAG: () => LINE_TAG,
118
- LINK_SCHEMA: () => LINK_SCHEMA,
119
- LINK_TAG: () => LINK_TAG,
120
- LI_SCHEMA: () => LI_SCHEMA,
121
- LI_TAG: () => LI_TAG,
122
- LRH_SCHEMA: () => LRH_SCHEMA,
123
- LRH_TAG: () => LRH_TAG,
124
- MEDIAOBJECT_SCHEMA: () => MEDIAOBJECT_SCHEMA,
125
- MEDIAOBJECT_TAG: () => MEDIAOBJECT_TAG,
126
- OLINK_SCHEMA: () => OLINK_SCHEMA,
127
- OLINK_TAG: () => OLINK_TAG,
128
- OL_SCHEMA: () => OL_SCHEMA,
129
- OL_TAG: () => OL_TAG,
130
- ORGNAME_SCHEMA: () => ORGNAME_SCHEMA,
131
- ORGNAME_TAG: () => ORGNAME_TAG,
132
- ORG_SCHEMA: () => ORG_SCHEMA,
133
- ORG_TAG: () => ORG_TAG,
134
38
  ORIENTATION_ATTRIBUTE: () => ORIENTATION_ATTRIBUTE,
135
- PARA_SCHEMA: () => PARA_SCHEMA,
136
- PARA_TAG: () => PARA_TAG,
137
- PERSONNAME_SCHEMA: () => PERSONNAME_SCHEMA,
138
- PERSONNAME_TAG: () => PERSONNAME_TAG,
139
39
  PLACEMENT_ATTRIBUTE: () => PLACEMENT_ATTRIBUTE,
140
- POEM_SCHEMA: () => POEM_SCHEMA,
141
- POEM_TAG: () => POEM_TAG,
142
- POSTNOMINALS_TAG: () => POSTNOMINALS_TAG,
143
- PUNC_SCHEMA: () => PUNC_SCHEMA,
144
- PUNC_TAG: () => PUNC_TAG,
145
- QUERY_SCHEMA: () => QUERY_SCHEMA,
146
- REPLY_SCHEMA: () => REPLY_SCHEMA,
147
40
  RIGHT_INDENT_ATTRIBUTE: () => RIGHT_INDENT_ATTRIBUTE,
148
- RRH_SCHEMA: () => RRH_SCHEMA,
149
- RRH_TAG: () => RRH_TAG,
150
41
  SCHEMAS: () => SCHEMAS,
151
- SCHEMA_MAP: () => SCHEMA_MAP,
152
- SC_SCHEMA: () => SC_SCHEMA,
153
- SECTION_TAG: () => SECTION_TAG,
154
- SIDEBAR_TAG: () => SIDEBAR_TAG,
155
- SOURCE_SCHEMA: () => SOURCE_SCHEMA,
156
- SOURCE_TAG: () => SOURCE_TAG,
157
42
  SPACE_ABOVE_ATTRIBUTE: () => SPACE_ABOVE_ATTRIBUTE,
158
43
  SPACE_BELOW_ATTRIBUTE: () => SPACE_BELOW_ATTRIBUTE,
159
- SPEAKER_SCHEMA: () => SPEAKER_SCHEMA,
160
- SPEAKER_TAG: () => SPEAKER_TAG,
161
44
  SPECIAL_INDENT_ATTRIBUTE: () => SPECIAL_INDENT_ATTRIBUTE,
162
45
  STORE_ATTRIBUTE: () => STORE_ATTRIBUTE,
163
- STRIKE_SCHEMA: () => STRIKE_SCHEMA,
164
46
  STYLE_NAME_ATTRIBUTE: () => STYLE_NAME_ATTRIBUTE,
165
- SUBTITLE_SCHEMA: () => SUBTITLE_SCHEMA,
166
- SUBTITLE_TAG: () => SUBTITLE_TAG,
167
- SUB_SCHEMA: () => SUB_SCHEMA,
168
- SUP_SCHEMA: () => SUP_SCHEMA,
169
- SURNAME_SCHEMA: () => SURNAME_SCHEMA,
170
- SURNAME_TAG: () => SURNAME_TAG,
171
- TABLE_SCHEMA: () => TABLE_SCHEMA,
172
- TABLE_TAG: () => TABLE_TAG,
173
- TAG_SCHEMA: () => TAG_SCHEMA,
174
- TAG_TAG: () => TAG_TAG,
175
- TBLFN_SCHEMA: () => TBLFN_SCHEMA,
176
- TBLFN_TAG: () => TBLFN_TAG,
177
- TBLSOURCE_SCHEMA: () => TBLSOURCE_SCHEMA,
178
- TBLSOURCE_TAG: () => TBLSOURCE_TAG,
179
- TBODY_SCHEMA: () => TBODY_SCHEMA,
180
- TBODY_TAG: () => TBODY_TAG,
181
- TD_SCHEMA: () => TD_SCHEMA,
182
- TD_TAG: () => TD_TAG,
183
- TGROUP_SCHEMA: () => TGROUP_SCHEMA,
184
- TGROUP_TAG: () => TGROUP_TAG,
185
- THEAD_SCHEMA: () => THEAD_SCHEMA,
186
- THEAD_TAG: () => THEAD_TAG,
187
- TITLE_SCHEMA: () => TITLE_SCHEMA,
188
- TITLE_TAG: () => TITLE_TAG,
189
- TOKEN_SCHEMA: () => TOKEN_SCHEMA,
190
- TOKEN_TAG: () => TOKEN_TAG,
191
- TP_SCHEMA: () => TP_SCHEMA,
192
- TP_TAG: () => TP_TAG,
193
47
  TRACK_CHANGES_ATTRS: () => TRACK_CHANGES_ATTRS,
194
48
  TRACK_CHANGES_ATTR_DATA_DATE: () => TRACK_CHANGES_ATTR_DATA_DATE,
195
49
  TRACK_CHANGES_ATTR_DATA_TIME: () => TRACK_CHANGES_ATTR_DATA_TIME,
196
50
  TRACK_CHANGES_ATTR_DATA_USERID: () => TRACK_CHANGES_ATTR_DATA_USERID,
197
51
  TRACK_CHANGES_ATTR_DATA_USERNAME: () => TRACK_CHANGES_ATTR_DATA_USERNAME,
198
- TR_SCHEMA: () => TR_SCHEMA,
199
- TR_TAG: () => TR_TAG,
200
- UL_SCHEMA: () => UL_SCHEMA,
201
- UL_TAG: () => UL_TAG,
202
- URI_SCHEMA: () => URI_SCHEMA,
203
- URI_TAG: () => URI_TAG,
204
- U_SCHEMA: () => U_SCHEMA,
205
52
  createElement: () => createElement,
206
53
  findAttributeDefinitionByName: () => findAttributeDefinitionByName,
207
54
  findSchemaByCode: () => findSchemaByCode,
@@ -210,14 +57,6 @@ __export(index_exports, {
210
57
  isAttributeRestricted: () => isAttributeRestricted,
211
58
  isIgnoredAttribute: () => isIgnoredAttribute,
212
59
  isIgnoredElement: () => isIgnoredElement,
213
- validateAttributes: () => validateAttributes,
214
- validateConsecutiveFootnoteCues: () => validateConsecutiveFootnoteCues,
215
- validateConsecutiveFootnotes: () => validateConsecutiveFootnotes,
216
- validateElement: () => validateElement,
217
- validateElementAgainstSchema: () => validateElementAgainstSchema,
218
- validateFootnoteCue: () => validateFootnoteCue,
219
- validateFootnotes: () => validateFootnotes,
220
- validateLinkend: () => validateLinkend,
221
60
  validateXml: () => validateXml
222
61
  });
223
62
  module.exports = __toCommonJS(index_exports);
@@ -229,7 +68,9 @@ var createSchema = ({
229
68
  tag,
230
69
  requiredAttributes,
231
70
  optionalAttributes,
232
- allowedChildTagNames
71
+ defaultChildTagName,
72
+ allowedChildTagNames,
73
+ canBeWrappedByInsertOrDelete
233
74
  }) => {
234
75
  return {
235
76
  code,
@@ -237,7 +78,9 @@ var createSchema = ({
237
78
  tag,
238
79
  requiredAttributes,
239
80
  optionalAttributes,
240
- allowedChildTagNames: new Set(allowedChildTagNames)
81
+ defaultChildTagName,
82
+ allowedChildTagNames: new Set(allowedChildTagNames),
83
+ canBeWrappedByInsertOrDelete
241
84
  };
242
85
  };
243
86
 
@@ -299,7 +142,17 @@ var COMMENT_TAG = "COMMENT";
299
142
  var QUERY_TAG = "QUERY";
300
143
  var CONTENT_TAG = "CONTENT";
301
144
  var REPLY_TAG = "REPLY";
145
+ var INDEXTERM_TAG = "INDEXTERM";
146
+ var PRIMARY_TAG = "PRIMARY";
147
+ var SECONDARY_TAG = "SECONDARY";
148
+ var TERTIARY_TAG = "TERTIARY";
149
+ var QUATERNARY_TAG = "QUATERNARY";
150
+ var BOOKMARK_TAG = "BOOKMARK";
151
+ var SEE_TAG = "SEE";
152
+
153
+ // src/schema/shared/allowedAtomsChildren.ts
302
154
  var ATOM_TAGS_ALLOWED_CHILDREN = [
155
+ { tagName: INDEXTERM_TAG, required: false },
303
156
  { tagName: B_TAG, required: false },
304
157
  { tagName: I_TAG, required: false },
305
158
  { tagName: U_TAG, required: false },
@@ -339,6 +192,8 @@ var FOOTNOTE_LINK_TAG = "FOOTNOTE1";
339
192
  var INLINEEQUATION_TAG = "INLINEEQUATION";
340
193
  var LINK_TAG = "LINK1";
341
194
  var URI_TAG = "URI";
195
+
196
+ // src/schema/shared/allowedInlineChildren.ts
342
197
  var INLINE_ELEMENT_TAGS_ALLOWED_CHILDREN = [
343
198
  { tagName: FOOTNOTE_LINK_TAG, required: false },
344
199
  { tagName: INLINEEQUATION_TAG, required: false },
@@ -544,26 +399,170 @@ var REPLY_SCHEMA = createSchema({
544
399
  allowedChildTagNames: [{ tagName: CONTENT_TAG, required: true }]
545
400
  });
546
401
 
547
- // src/schema/elementSchemas/atoms/index.ts
548
- var ATOM_SCHEMAS = [
549
- B_SCHEMA,
550
- I_SCHEMA,
551
- U_SCHEMA,
552
- SC_SCHEMA,
553
- EMPHASIS_SCHEMA,
554
- STRIKE_SCHEMA,
555
- SUB_SCHEMA,
556
- SUP_SCHEMA,
557
- HIGHLIGHTMARK_SCHEMA,
558
- COMMENT_QUERY_SECTION_SCHEMA,
559
- INSERTION_SCHEMA,
560
- DELETION_SCHEMA,
561
- CONTENT_SCHEMA,
562
- COMMENT_SCHEMA,
563
- QUERY_SCHEMA,
564
- REPLY_SCHEMA
402
+ // src/schema/elementSchemas/atoms/indexing/indexTermAttributes.ts
403
+ var INDEX_TERM_ENTRY_REQUIRED_ATTRIBUTES = [
404
+ "data-date",
405
+ "data-user",
406
+ "firstEntry",
407
+ "secondEntry",
408
+ "thirdEntry",
409
+ "entry",
410
+ STORE_ATTRIBUTE,
411
+ "linkend"
412
+ ];
413
+ var BOOKMARK_INDEX_POSITION_ATTRIBUTE = {
414
+ name: "index-position",
415
+ values: ["start", "end"],
416
+ defaultValue: ""
417
+ };
418
+ var SEE_REQUIRED_ATTRIBUTES = [
419
+ "linkend",
420
+ "data-user",
421
+ "crossref-pageNumber",
422
+ {
423
+ name: "role",
424
+ values: ["see", "see-also"],
425
+ defaultValue: ""
426
+ },
427
+ STORE_ATTRIBUTE,
428
+ "data-date",
429
+ "crossref-firstEntry",
430
+ "crossref-secondEntry",
431
+ "crossref-thirdEntry",
432
+ "crossref-fourthEntry"
565
433
  ];
566
434
 
435
+ // src/schema/elementSchemas/atoms/indexing/bookmark.ts
436
+ var BOOKMARK_SCHEMA = createSchema({
437
+ code: "bookmark",
438
+ kind: "atom",
439
+ tag: BOOKMARK_TAG,
440
+ requiredAttributes: [
441
+ ...INDEX_TERM_ENTRY_REQUIRED_ATTRIBUTES,
442
+ BOOKMARK_INDEX_POSITION_ATTRIBUTE
443
+ ],
444
+ optionalAttributes: [],
445
+ allowedChildTagNames: [
446
+ {
447
+ tagName: SEE_TAG,
448
+ required: false
449
+ }
450
+ ]
451
+ });
452
+
453
+ // src/schema/elementSchemas/atoms/indexing/indexterm.ts
454
+ var INDEXTERM_SCHEMA = createSchema({
455
+ code: "indexterm",
456
+ kind: "atom",
457
+ tag: INDEXTERM_TAG,
458
+ requiredAttributes: [
459
+ "linkend",
460
+ {
461
+ name: "index-level",
462
+ values: ["PRIMARY", "SECONDARY", "TERTIARY", "QUATERNARY"],
463
+ defaultValue: "PRIMARY"
464
+ },
465
+ STORE_ATTRIBUTE
466
+ ],
467
+ optionalAttributes: [],
468
+ allowedChildTagNames: [
469
+ { tagName: PRIMARY_TAG, required: false },
470
+ { tagName: SECONDARY_TAG, required: false },
471
+ { tagName: TERTIARY_TAG, required: false },
472
+ { tagName: QUATERNARY_TAG, required: false },
473
+ { tagName: BOOKMARK_TAG, required: false }
474
+ ]
475
+ });
476
+
477
+ // src/schema/elementSchemas/atoms/indexing/primary.ts
478
+ var PRIMARY_SCHEMA = createSchema({
479
+ code: "primary",
480
+ kind: "atom",
481
+ tag: PRIMARY_TAG,
482
+ requiredAttributes: [...INDEX_TERM_ENTRY_REQUIRED_ATTRIBUTES],
483
+ optionalAttributes: [],
484
+ allowedChildTagNames: [
485
+ ...ATOM_TAGS_ALLOWED_CHILDREN,
486
+ { tagName: SEE_TAG, required: false }
487
+ ]
488
+ });
489
+
490
+ // src/schema/elementSchemas/atoms/indexing/quaternary.ts
491
+ var QUATERNARY_SCHEMA = createSchema({
492
+ code: "quaternary",
493
+ kind: "atom",
494
+ tag: QUATERNARY_TAG,
495
+ requiredAttributes: [...INDEX_TERM_ENTRY_REQUIRED_ATTRIBUTES],
496
+ optionalAttributes: [],
497
+ allowedChildTagNames: [
498
+ ...ATOM_TAGS_ALLOWED_CHILDREN,
499
+ { tagName: SEE_TAG, required: false }
500
+ ]
501
+ });
502
+
503
+ // src/schema/elementSchemas/atoms/indexing/secondary.ts
504
+ var SECONDARY_SCHEMA = createSchema({
505
+ code: "secondary",
506
+ kind: "atom",
507
+ tag: SECONDARY_TAG,
508
+ requiredAttributes: [...INDEX_TERM_ENTRY_REQUIRED_ATTRIBUTES],
509
+ optionalAttributes: [],
510
+ allowedChildTagNames: [
511
+ ...ATOM_TAGS_ALLOWED_CHILDREN,
512
+ { tagName: SEE_TAG, required: false }
513
+ ]
514
+ });
515
+
516
+ // src/schema/elementSchemas/atoms/indexing/see.ts
517
+ var SEE_SCHEMA = createSchema({
518
+ code: "see",
519
+ kind: "atom",
520
+ tag: SEE_TAG,
521
+ requiredAttributes: [...SEE_REQUIRED_ATTRIBUTES],
522
+ optionalAttributes: [],
523
+ allowedChildTagNames: []
524
+ });
525
+
526
+ // src/schema/elementSchemas/atoms/indexing/tertiary.ts
527
+ var TERTIARY_SCHEMA = createSchema({
528
+ code: "tertiary",
529
+ kind: "atom",
530
+ tag: TERTIARY_TAG,
531
+ requiredAttributes: [...INDEX_TERM_ENTRY_REQUIRED_ATTRIBUTES],
532
+ optionalAttributes: [],
533
+ allowedChildTagNames: [
534
+ ...ATOM_TAGS_ALLOWED_CHILDREN,
535
+ { tagName: SEE_TAG, required: false }
536
+ ]
537
+ });
538
+
539
+ // src/schema/elementSchemas/atoms/index.ts
540
+ var ATOM_SCHEMAS = {
541
+ indexterm: INDEXTERM_SCHEMA,
542
+ primary: PRIMARY_SCHEMA,
543
+ secondary: SECONDARY_SCHEMA,
544
+ tertiary: TERTIARY_SCHEMA,
545
+ quaternary: QUATERNARY_SCHEMA,
546
+ bookmark: BOOKMARK_SCHEMA,
547
+ see: SEE_SCHEMA,
548
+ b: B_SCHEMA,
549
+ i: I_SCHEMA,
550
+ u: U_SCHEMA,
551
+ sc: SC_SCHEMA,
552
+ emphasis: EMPHASIS_SCHEMA,
553
+ strike: STRIKE_SCHEMA,
554
+ sub: SUB_SCHEMA,
555
+ sup: SUP_SCHEMA,
556
+ highlightmark: HIGHLIGHTMARK_SCHEMA,
557
+ commentQuerySection: COMMENT_QUERY_SECTION_SCHEMA,
558
+ insertion: INSERTION_SCHEMA,
559
+ deletion: DELETION_SCHEMA,
560
+ content: CONTENT_SCHEMA,
561
+ comment: COMMENT_SCHEMA,
562
+ query: QUERY_SCHEMA,
563
+ reply: REPLY_SCHEMA
564
+ };
565
+
567
566
  // src/schema/elementSchemas/elements/elementsTags.ts
568
567
  var PARA_TAG = "PARA";
569
568
  var TITLE_TAG = "TITLE1";
@@ -573,7 +572,6 @@ var OLINK_TAG = "OLINK";
573
572
  var FIRSTNAME_TAG = "FIRSTNAME";
574
573
  var SURNAME_TAG = "SURNAME";
575
574
  var HONORIFIC_TAG = "HONORIFIC";
576
- var POSTNOMINALS_TAG = "POSTNOMINALS";
577
575
  var ORGNAME_TAG = "ORGNAME";
578
576
  var EMAIL_TAG = "EMAIL";
579
577
  var ORG_TAG = "ORG";
@@ -614,59 +612,6 @@ var TBLFN_TAG = "TBLFN";
614
612
  var TBLSOURCE_TAG = "TBLSOURCE";
615
613
  var TAG_TAG = "TAG";
616
614
  var PUNC_TAG = "PUNC";
617
- var ELEMENT_TAGS = [
618
- PARA_TAG,
619
- TITLE_TAG,
620
- FOOTNOTE_TAG,
621
- FOOTNOTE_NUMBER_TAG,
622
- OLINK_TAG,
623
- FIRSTNAME_TAG,
624
- SURNAME_TAG,
625
- HONORIFIC_TAG,
626
- POSTNOMINALS_TAG,
627
- ORGNAME_TAG,
628
- EMAIL_TAG,
629
- ORG_TAG,
630
- DEGREES_TAG,
631
- DIALOGUE_TAG,
632
- LINE_TAG,
633
- SPEAKER_TAG,
634
- EQUATION_TAG,
635
- FIGURE_TAG,
636
- IMG_TAG,
637
- ALTTEXT_TAG,
638
- IMAGEOBJECT_TAG,
639
- MEDIAOBJECT_TAG,
640
- LABEL_TAG,
641
- CAPTION_TAG,
642
- FIGSOURCE_TAG,
643
- FIGNOTE_TAG,
644
- INFORMALFIGURE_TAG,
645
- KEYWORDSET_TAG,
646
- KEYWORD_TAG,
647
- LI_TAG,
648
- OL_TAG,
649
- UL_TAG,
650
- TOKEN_TAG,
651
- LRH_TAG,
652
- RRH_TAG,
653
- SOURCE_TAG,
654
- SUBTITLE_TAG,
655
- TABLE_TAG,
656
- TGROUP_TAG,
657
- HTML_TABLE_TAG,
658
- THEAD_TAG,
659
- TBODY_TAG,
660
- TR_TAG,
661
- TD_TAG,
662
- TP_TAG,
663
- TBLFN_TAG,
664
- TBLSOURCE_TAG,
665
- TAG_TAG,
666
- PUNC_TAG
667
- ];
668
-
669
- // src/schema/elementSchemas/groupElements/groupElementsTags.ts
670
615
  var SECTION_TAG = "SECTION1";
671
616
  var ABSTRACT_TAG = "ABSTRACT1";
672
617
  var AFFILIATION_TAG = "AFFILIATION";
@@ -680,26 +625,38 @@ var CHAPTER_TAG = "CHAPTER";
680
625
  var EPIGRAPH_TAG = "EPIGRAPH";
681
626
  var INFO_TAG = "INFO1";
682
627
  var POEM_TAG = "POEM";
683
- var GROUP_ELEMENTS_TAGS = [
684
- SECTION_TAG,
685
- ABSTRACT_TAG,
686
- AFFILIATION_TAG,
687
- APPENDIX_TAG,
688
- AUTHORGROUP_TAG,
689
- AUTHOR_TAG,
690
- PERSONNAME_TAG,
691
- BLOCKQUOTE_TAG,
692
- SIDEBAR_TAG,
693
- CHAPTER_TAG,
694
- EPIGRAPH_TAG,
695
- INFO_TAG,
696
- POEM_TAG
697
- ];
628
+ var MATHPHRASE_TAG = "MATHPHRASE";
629
+ var MATH_TAG = "MATH";
630
+ var MERROR_TAG = "MERROR";
631
+ var MFRAC_TAG = "MFRAC";
632
+ var MI_TAG = "MI";
633
+ var MMULTISCRIPTS_TAG = "MMULTISCRIPTS";
634
+ var MN_TAG = "MN";
635
+ var MO_TAG = "MO";
636
+ var MOVER_TAG = "MOVER";
637
+ var MPADDED_TAG = "MPADDED";
638
+ var MPHANTOM_TAG = "MPHANTOM";
639
+ var MPRESCRIPTS_TAG = "MPRESCRIPTS";
640
+ var MROOT_TAG = "MROOT";
641
+ var MROW_TAG = "MROW";
642
+ var MS_TAG = "MS";
643
+ var MSPACE_TAG = "MSPACE";
644
+ var MSQRT_TAG = "MSQRT";
645
+ var MSTYLE_TAG = "MSTYLE";
646
+ var MSUB_TAG = "MSUB";
647
+ var MSUBSUP_TAG = "MSUBSUP";
648
+ var MSUP_TAG = "MSUP";
649
+ var MTABLE_TAG = "MTABLE";
650
+ var MTD_TAG = "MTD";
651
+ var MTEXT_TAG = "MTEXT";
652
+ var MTR_TAG = "MTR";
653
+ var MUNDER_TAG = "MUNDER";
654
+ var MUNDEROVER_TAG = "MUNDEROVER";
698
655
 
699
656
  // src/schema/elementSchemas/elements/authors/authorgroup.ts
700
657
  var AUTHORGROUP_SCHEMA = createSchema({
701
658
  code: "authorgroup",
702
- kind: "group",
659
+ kind: "element",
703
660
  tag: AUTHORGROUP_TAG,
704
661
  requiredAttributes: [...ID_ATTRS],
705
662
  optionalAttributes: [],
@@ -712,7 +669,7 @@ var AUTHORGROUP_SCHEMA = createSchema({
712
669
  // src/schema/elementSchemas/elements/authors/author.ts
713
670
  var AUTHOR_SCHEMA = createSchema({
714
671
  code: "author",
715
- kind: "group",
672
+ kind: "element",
716
673
  tag: AUTHOR_TAG,
717
674
  requiredAttributes: [...ID_ATTRS],
718
675
  optionalAttributes: [],
@@ -739,7 +696,7 @@ var OLINK_SCHEMA = createSchema({
739
696
  // src/schema/elementSchemas/elements/authors/personname.ts
740
697
  var PERSONNAME_SCHEMA = createSchema({
741
698
  code: "personname",
742
- kind: "group",
699
+ kind: "element",
743
700
  tag: PERSONNAME_TAG,
744
701
  requiredAttributes: [...ID_ATTRS],
745
702
  optionalAttributes: [],
@@ -813,7 +770,7 @@ var ORG_SCHEMA = createSchema({
813
770
  // src/schema/elementSchemas/elements/authors/affiliation.ts
814
771
  var AFFILIATION_SCHEMA = createSchema({
815
772
  code: "affiliation",
816
- kind: "group",
773
+ kind: "element",
817
774
  tag: AFFILIATION_TAG,
818
775
  requiredAttributes: [...ID_ATTRS],
819
776
  optionalAttributes: [],
@@ -865,7 +822,7 @@ var SPEAKER_SCHEMA = createSchema({
865
822
  // src/schema/elementSchemas/elements/dialogue/dialogue.ts
866
823
  var DIALOGUE_SCHEMA = createSchema({
867
824
  code: "dialogue",
868
- kind: "group",
825
+ kind: "element",
869
826
  tag: DIALOGUE_TAG,
870
827
  requiredAttributes: [...ID_ATTRS],
871
828
  optionalAttributes: [
@@ -882,16 +839,363 @@ var DIALOGUE_SCHEMA = createSchema({
882
839
  ]
883
840
  });
884
841
 
885
- // src/schema/elementSchemas/elements/equation.ts
842
+ // src/schema/elementSchemas/elements/equation/equation.ts
886
843
  var EQUATION_SCHEMA = createSchema({
887
844
  code: "equation",
888
845
  kind: "element",
889
846
  tag: EQUATION_TAG,
847
+ requiredAttributes: [...ID_ATTRS],
848
+ optionalAttributes: [
849
+ ...TRACK_CHANGES_ATTRS,
850
+ {
851
+ name: "eqn-data",
852
+ values: ["new", "updated"],
853
+ defaultValue: "new"
854
+ },
855
+ {
856
+ name: "element-status",
857
+ values: ["added", "changed"],
858
+ defaultValue: "added"
859
+ }
860
+ ],
861
+ allowedChildTagNames: [{ tagName: MATHPHRASE_TAG, required: true }]
862
+ });
863
+
864
+ // src/schema/shared/allowedMathChildren.ts
865
+ var MATH_PRESENTATION_TAGS_ALLOWED_CHILDREN = [
866
+ { tagName: MERROR_TAG, required: false },
867
+ { tagName: MFRAC_TAG, required: false },
868
+ { tagName: MI_TAG, required: false },
869
+ { tagName: MMULTISCRIPTS_TAG, required: false },
870
+ { tagName: MN_TAG, required: false },
871
+ { tagName: MO_TAG, required: false },
872
+ { tagName: MOVER_TAG, required: false },
873
+ { tagName: MPADDED_TAG, required: false },
874
+ { tagName: MPHANTOM_TAG, required: false },
875
+ { tagName: MPRESCRIPTS_TAG, required: false },
876
+ { tagName: MROOT_TAG, required: false },
877
+ { tagName: MROW_TAG, required: false },
878
+ { tagName: MS_TAG, required: false },
879
+ { tagName: MSPACE_TAG, required: false },
880
+ { tagName: MSQRT_TAG, required: false },
881
+ { tagName: MSTYLE_TAG, required: false },
882
+ { tagName: MSUB_TAG, required: false },
883
+ { tagName: MSUBSUP_TAG, required: false },
884
+ { tagName: MSUP_TAG, required: false },
885
+ { tagName: MTABLE_TAG, required: false },
886
+ { tagName: MTD_TAG, required: false },
887
+ { tagName: MTEXT_TAG, required: false },
888
+ { tagName: MTR_TAG, required: false },
889
+ { tagName: MUNDER_TAG, required: false },
890
+ { tagName: MUNDEROVER_TAG, required: false }
891
+ ];
892
+
893
+ // src/schema/elementSchemas/elements/equation/math.ts
894
+ var MATH_SCHEMA = createSchema({
895
+ code: "math",
896
+ kind: "element",
897
+ tag: MATH_TAG,
898
+ requiredAttributes: [],
899
+ optionalAttributes: ["xmlns"],
900
+ allowedChildTagNames: [...MATH_PRESENTATION_TAGS_ALLOWED_CHILDREN],
901
+ canBeWrappedByInsertOrDelete: true
902
+ });
903
+
904
+ // src/schema/elementSchemas/elements/equation/merror.ts
905
+ var MERROR_SCHEMA = createSchema({
906
+ code: "merror",
907
+ kind: "element",
908
+ tag: MERROR_TAG,
890
909
  requiredAttributes: [],
891
910
  optionalAttributes: [],
911
+ allowedChildTagNames: [...MATH_PRESENTATION_TAGS_ALLOWED_CHILDREN]
912
+ });
913
+
914
+ // src/schema/elementSchemas/elements/equation/mfrac.ts
915
+ var MFRAC_SCHEMA = createSchema({
916
+ code: "mfrac",
917
+ kind: "element",
918
+ tag: MFRAC_TAG,
919
+ requiredAttributes: [],
920
+ optionalAttributes: ["denomalign", "linethickness", "numalign"],
921
+ allowedChildTagNames: [...MATH_PRESENTATION_TAGS_ALLOWED_CHILDREN]
922
+ });
923
+
924
+ // src/schema/elementSchemas/elements/equation/mi.ts
925
+ var MI_SCHEMA = createSchema({
926
+ code: "mi",
927
+ kind: "element",
928
+ tag: MI_TAG,
929
+ requiredAttributes: [],
930
+ optionalAttributes: ["mathvariant"],
931
+ allowedChildTagNames: []
932
+ });
933
+
934
+ // src/schema/elementSchemas/elements/equation/mmultiscripts.ts
935
+ var MMULTISCRIPTS_SCHEMA = createSchema({
936
+ code: "mmultiscripts",
937
+ kind: "element",
938
+ tag: MMULTISCRIPTS_TAG,
939
+ requiredAttributes: [],
940
+ optionalAttributes: ["subscriptshift", "superscriptshift"],
941
+ allowedChildTagNames: [...MATH_PRESENTATION_TAGS_ALLOWED_CHILDREN]
942
+ });
943
+
944
+ // src/schema/elementSchemas/elements/equation/mn.ts
945
+ var MN_SCHEMA = createSchema({
946
+ code: "mn",
947
+ kind: "element",
948
+ tag: MN_TAG,
949
+ requiredAttributes: [],
950
+ optionalAttributes: [],
951
+ allowedChildTagNames: []
952
+ });
953
+
954
+ // src/schema/elementSchemas/elements/equation/mo.ts
955
+ var MO_SCHEMA = createSchema({
956
+ code: "mo",
957
+ kind: "element",
958
+ tag: MO_TAG,
959
+ requiredAttributes: [],
960
+ optionalAttributes: [
961
+ "accent",
962
+ "fence",
963
+ "form",
964
+ "largeop",
965
+ "lspace",
966
+ "maxsize",
967
+ "minsize",
968
+ "movablelimits",
969
+ "rspace",
970
+ "separator",
971
+ "stretchy",
972
+ "symmetric"
973
+ ],
974
+ allowedChildTagNames: []
975
+ });
976
+
977
+ // src/schema/elementSchemas/elements/equation/mover.ts
978
+ var MOVER_SCHEMA = createSchema({
979
+ code: "mover",
980
+ kind: "element",
981
+ tag: MOVER_TAG,
982
+ requiredAttributes: [],
983
+ optionalAttributes: ["accent"],
984
+ allowedChildTagNames: [...MATH_PRESENTATION_TAGS_ALLOWED_CHILDREN]
985
+ });
986
+
987
+ // src/schema/elementSchemas/elements/equation/mpadded.ts
988
+ var MPADDED_SCHEMA = createSchema({
989
+ code: "mpadded",
990
+ kind: "element",
991
+ tag: MPADDED_TAG,
992
+ requiredAttributes: [],
993
+ optionalAttributes: [
994
+ "depth",
995
+ "height",
996
+ "lspace",
997
+ "voffset",
998
+ "width"
999
+ ],
1000
+ allowedChildTagNames: [...MATH_PRESENTATION_TAGS_ALLOWED_CHILDREN]
1001
+ });
1002
+
1003
+ // src/schema/elementSchemas/elements/equation/mphantom.ts
1004
+ var MPHANTOM_SCHEMA = createSchema({
1005
+ code: "mphantom",
1006
+ kind: "element",
1007
+ tag: MPHANTOM_TAG,
1008
+ requiredAttributes: [],
1009
+ optionalAttributes: [],
1010
+ allowedChildTagNames: [...MATH_PRESENTATION_TAGS_ALLOWED_CHILDREN]
1011
+ });
1012
+
1013
+ // src/schema/elementSchemas/elements/equation/mprescripts.ts
1014
+ var MPRESCRIPTS_SCHEMA = createSchema({
1015
+ code: "mprescripts",
1016
+ kind: "element",
1017
+ tag: MPRESCRIPTS_TAG,
1018
+ requiredAttributes: [],
1019
+ optionalAttributes: [],
1020
+ allowedChildTagNames: []
1021
+ });
1022
+
1023
+ // src/schema/elementSchemas/elements/equation/mroot.ts
1024
+ var MROOT_SCHEMA = createSchema({
1025
+ code: "mroot",
1026
+ kind: "element",
1027
+ tag: MROOT_TAG,
1028
+ requiredAttributes: [],
1029
+ optionalAttributes: [],
1030
+ allowedChildTagNames: [...MATH_PRESENTATION_TAGS_ALLOWED_CHILDREN]
1031
+ });
1032
+
1033
+ // src/schema/elementSchemas/elements/equation/mrow.ts
1034
+ var MROW_SCHEMA = createSchema({
1035
+ code: "mrow",
1036
+ kind: "element",
1037
+ tag: MROW_TAG,
1038
+ requiredAttributes: [],
1039
+ optionalAttributes: [],
1040
+ allowedChildTagNames: [...MATH_PRESENTATION_TAGS_ALLOWED_CHILDREN]
1041
+ });
1042
+
1043
+ // src/schema/elementSchemas/elements/equation/ms.ts
1044
+ var MS_SCHEMA = createSchema({
1045
+ code: "ms",
1046
+ kind: "element",
1047
+ tag: MS_TAG,
1048
+ requiredAttributes: [],
1049
+ optionalAttributes: ["lquote", "rquote"],
1050
+ allowedChildTagNames: []
1051
+ });
1052
+
1053
+ // src/schema/elementSchemas/elements/equation/mspace.ts
1054
+ var MSPACE_SCHEMA = createSchema({
1055
+ code: "mspace",
1056
+ kind: "element",
1057
+ tag: MSPACE_TAG,
1058
+ requiredAttributes: [],
1059
+ optionalAttributes: ["depth", "height", "width"],
1060
+ allowedChildTagNames: []
1061
+ });
1062
+
1063
+ // src/schema/elementSchemas/elements/equation/msqrt.ts
1064
+ var MSQRT_SCHEMA = createSchema({
1065
+ code: "msqrt",
1066
+ kind: "element",
1067
+ tag: MSQRT_TAG,
1068
+ requiredAttributes: [],
1069
+ optionalAttributes: [],
1070
+ allowedChildTagNames: [...MATH_PRESENTATION_TAGS_ALLOWED_CHILDREN]
1071
+ });
1072
+
1073
+ // src/schema/elementSchemas/elements/equation/mstyle.ts
1074
+ var MSTYLE_SCHEMA = createSchema({
1075
+ code: "mstyle",
1076
+ kind: "element",
1077
+ tag: MSTYLE_TAG,
1078
+ requiredAttributes: [],
1079
+ optionalAttributes: [
1080
+ "displaystyle",
1081
+ "mathbackground",
1082
+ "mathcolor",
1083
+ "mathsize",
1084
+ "scriptlevel",
1085
+ "scriptminsize",
1086
+ "scriptsizemultiplier"
1087
+ ],
1088
+ allowedChildTagNames: [...MATH_PRESENTATION_TAGS_ALLOWED_CHILDREN]
1089
+ });
1090
+
1091
+ // src/schema/elementSchemas/elements/equation/msub.ts
1092
+ var MSUB_SCHEMA = createSchema({
1093
+ code: "msub",
1094
+ kind: "element",
1095
+ tag: MSUB_TAG,
1096
+ requiredAttributes: [],
1097
+ optionalAttributes: ["subscriptshift"],
1098
+ allowedChildTagNames: [...MATH_PRESENTATION_TAGS_ALLOWED_CHILDREN]
1099
+ });
1100
+
1101
+ // src/schema/elementSchemas/elements/equation/msubsup.ts
1102
+ var MSUBSUP_SCHEMA = createSchema({
1103
+ code: "msubsup",
1104
+ kind: "element",
1105
+ tag: MSUBSUP_TAG,
1106
+ requiredAttributes: [],
1107
+ optionalAttributes: ["subscriptshift", "superscriptshift"],
1108
+ allowedChildTagNames: [...MATH_PRESENTATION_TAGS_ALLOWED_CHILDREN]
1109
+ });
1110
+
1111
+ // src/schema/elementSchemas/elements/equation/msup.ts
1112
+ var MSUP_SCHEMA = createSchema({
1113
+ code: "msup",
1114
+ kind: "element",
1115
+ tag: MSUP_TAG,
1116
+ requiredAttributes: [],
1117
+ optionalAttributes: ["superscriptshift"],
1118
+ allowedChildTagNames: [...MATH_PRESENTATION_TAGS_ALLOWED_CHILDREN]
1119
+ });
1120
+
1121
+ // src/schema/elementSchemas/elements/equation/mtable.ts
1122
+ var MTABLE_SCHEMA = createSchema({
1123
+ code: "mtable",
1124
+ kind: "element",
1125
+ tag: MTABLE_TAG,
1126
+ requiredAttributes: [],
1127
+ optionalAttributes: [
1128
+ "align",
1129
+ "columnalign",
1130
+ "columnlines",
1131
+ "columnspacing",
1132
+ "displaystyle",
1133
+ "equalcolumns",
1134
+ "equalrows",
1135
+ "frame",
1136
+ "rowalign",
1137
+ "rowlines",
1138
+ "rowspacing",
1139
+ "width"
1140
+ ],
1141
+ allowedChildTagNames: [{ tagName: MTR_TAG, required: false }]
1142
+ });
1143
+
1144
+ // src/schema/elementSchemas/elements/equation/mtd.ts
1145
+ var MTD_SCHEMA = createSchema({
1146
+ code: "mtd",
1147
+ kind: "element",
1148
+ tag: MTD_TAG,
1149
+ requiredAttributes: [],
1150
+ optionalAttributes: [
1151
+ "columnalign",
1152
+ "columnspan",
1153
+ "rowalign",
1154
+ "rowspan"
1155
+ ],
1156
+ allowedChildTagNames: [...MATH_PRESENTATION_TAGS_ALLOWED_CHILDREN]
1157
+ });
1158
+
1159
+ // src/schema/elementSchemas/elements/equation/mtext.ts
1160
+ var MTEXT_SCHEMA = createSchema({
1161
+ code: "mtext",
1162
+ kind: "element",
1163
+ tag: MTEXT_TAG,
1164
+ requiredAttributes: [],
1165
+ optionalAttributes: ["mathvariant"],
892
1166
  allowedChildTagNames: []
893
1167
  });
894
1168
 
1169
+ // src/schema/elementSchemas/elements/equation/mtr.ts
1170
+ var MTR_SCHEMA = createSchema({
1171
+ code: "mtr",
1172
+ kind: "element",
1173
+ tag: MTR_TAG,
1174
+ requiredAttributes: [],
1175
+ optionalAttributes: ["columnalign", "rowalign"],
1176
+ allowedChildTagNames: [{ tagName: MTD_TAG, required: false }]
1177
+ });
1178
+
1179
+ // src/schema/elementSchemas/elements/equation/munder.ts
1180
+ var MUNDER_SCHEMA = createSchema({
1181
+ code: "munder",
1182
+ kind: "element",
1183
+ tag: MUNDER_TAG,
1184
+ requiredAttributes: [],
1185
+ optionalAttributes: ["accentunder"],
1186
+ allowedChildTagNames: [...MATH_PRESENTATION_TAGS_ALLOWED_CHILDREN]
1187
+ });
1188
+
1189
+ // src/schema/elementSchemas/elements/equation/munderover.ts
1190
+ var MUNDEROVER_SCHEMA = createSchema({
1191
+ code: "munderover",
1192
+ kind: "element",
1193
+ tag: MUNDEROVER_TAG,
1194
+ requiredAttributes: [],
1195
+ optionalAttributes: ["accent", "accentunder"],
1196
+ allowedChildTagNames: [...MATH_PRESENTATION_TAGS_ALLOWED_CHILDREN]
1197
+ });
1198
+
895
1199
  // src/schema/elementSchemas/elements/figure/img.ts
896
1200
  var IMG_SCHEMA = createSchema({
897
1201
  code: "img",
@@ -916,7 +1220,7 @@ var IMG_SCHEMA = createSchema({
916
1220
  // src/schema/elementSchemas/elements/figure/alttext.ts
917
1221
  var ALTTEXT_SCHEMA = createSchema({
918
1222
  code: "alttext",
919
- kind: "group",
1223
+ kind: "element",
920
1224
  tag: ALTTEXT_TAG,
921
1225
  requiredAttributes: [],
922
1226
  optionalAttributes: [],
@@ -926,7 +1230,7 @@ var ALTTEXT_SCHEMA = createSchema({
926
1230
  // src/schema/elementSchemas/elements/figure/imageobject.ts
927
1231
  var IMAGEOBJECT_SCHEMA = createSchema({
928
1232
  code: "imageobject",
929
- kind: "group",
1233
+ kind: "element",
930
1234
  tag: IMAGEOBJECT_TAG,
931
1235
  requiredAttributes: [...ID_ATTRS],
932
1236
  optionalAttributes: [],
@@ -939,7 +1243,7 @@ var IMAGEOBJECT_SCHEMA = createSchema({
939
1243
  // src/schema/elementSchemas/elements/figure/mediaobject.ts
940
1244
  var MEDIAOBJECT_SCHEMA = createSchema({
941
1245
  code: "mediaobject",
942
- kind: "group",
1246
+ kind: "element",
943
1247
  tag: MEDIAOBJECT_TAG,
944
1248
  requiredAttributes: [...ID_ATTRS],
945
1249
  optionalAttributes: [...TRACK_CHANGES_ATTRS],
@@ -949,7 +1253,7 @@ var MEDIAOBJECT_SCHEMA = createSchema({
949
1253
  // src/schema/elementSchemas/elements/figure/caption1.ts
950
1254
  var CAPTION_SCHEMA = createSchema({
951
1255
  code: "caption1",
952
- kind: "group",
1256
+ kind: "element",
953
1257
  tag: CAPTION_TAG,
954
1258
  requiredAttributes: [...ID_ATTRS],
955
1259
  optionalAttributes: [],
@@ -985,7 +1289,7 @@ var FIGNOTE_SCHEMA = createSchema({
985
1289
  // src/schema/elementSchemas/elements/figure/figure.ts
986
1290
  var FIGURE_SCHEMA = createSchema({
987
1291
  code: "figure1",
988
- kind: "group",
1292
+ kind: "element",
989
1293
  tag: FIGURE_TAG,
990
1294
  requiredAttributes: [...ID_ATTRS, "xmlid"],
991
1295
  optionalAttributes: [
@@ -1051,7 +1355,7 @@ var INFORMALFIGURE_SCHEMA = createSchema({
1051
1355
  // src/schema/elementSchemas/elements/keywords/keywordset.ts
1052
1356
  var KEYWORDSET_SCHEMA = createSchema({
1053
1357
  code: "keywordset",
1054
- kind: "group",
1358
+ kind: "element",
1055
1359
  tag: KEYWORDSET_TAG,
1056
1360
  requiredAttributes: [
1057
1361
  ...ID_ATTRS,
@@ -1089,63 +1393,6 @@ var PUNC_SCHEMA = createSchema({
1089
1393
  allowedChildTagNames: [...ATOM_TAGS_ALLOWED_CHILDREN]
1090
1394
  });
1091
1395
 
1092
- // src/schema/elementSchemas/inlineElements/footnoteLink.ts
1093
- var FOOTNOTE_LINK_SCHEMA = createSchema({
1094
- code: "footnote1",
1095
- kind: "inline",
1096
- tag: FOOTNOTE_LINK_TAG,
1097
- requiredAttributes: [...ID_ATTRS],
1098
- optionalAttributes: ["linkend"],
1099
- allowedChildTagNames: [{ tagName: SUP_TAG, required: true }]
1100
- });
1101
-
1102
- // src/schema/elementSchemas/inlineElements/inlineequation.ts
1103
- var INLINEEQUATION_SCHEMA = createSchema({
1104
- code: "inlineequation",
1105
- kind: "inline",
1106
- tag: INLINEEQUATION_TAG,
1107
- requiredAttributes: [...ID_ATTRS],
1108
- optionalAttributes: ["linkend"],
1109
- allowedChildTagNames: []
1110
- });
1111
-
1112
- // src/schema/elementSchemas/inlineElements/link.ts
1113
- var LINK_SCHEMA = createSchema({
1114
- code: "link",
1115
- kind: "inline",
1116
- tag: LINK_TAG,
1117
- requiredAttributes: [
1118
- ...ID_ATTRS,
1119
- "linkend",
1120
- "data-target-id",
1121
- {
1122
- name: "role",
1123
- values: ["table", "figure", "equation", "footnote", "bibr"],
1124
- defaultValue: ""
1125
- }
1126
- ],
1127
- optionalAttributes: [],
1128
- allowedChildTagNames: [...ATOM_TAGS_ALLOWED_CHILDREN]
1129
- });
1130
-
1131
- // src/schema/elementSchemas/inlineElements/uri.ts
1132
- var URI_SCHEMA = createSchema({
1133
- code: "uri",
1134
- kind: "inline",
1135
- tag: URI_TAG,
1136
- requiredAttributes: [...ID_ATTRS],
1137
- optionalAttributes: ["linkend"],
1138
- allowedChildTagNames: [...ATOM_TAGS_ALLOWED_CHILDREN]
1139
- });
1140
-
1141
- // src/schema/elementSchemas/inlineElements/index.ts
1142
- var INLINE_ELEMENT_SCHEMAS = [
1143
- URI_SCHEMA,
1144
- FOOTNOTE_LINK_SCHEMA,
1145
- LINK_SCHEMA,
1146
- INLINEEQUATION_SCHEMA
1147
- ];
1148
-
1149
1396
  // src/schema/elementSchemas/elements/label.ts
1150
1397
  var LABEL_SCHEMA = createSchema({
1151
1398
  code: "label1",
@@ -1211,7 +1458,7 @@ var LI_SCHEMA = createSchema({
1211
1458
  // src/schema/elementSchemas/elements/list/ol.ts
1212
1459
  var OL_SCHEMA = createSchema({
1213
1460
  code: "ol",
1214
- kind: "group",
1461
+ kind: "element",
1215
1462
  tag: OL_TAG,
1216
1463
  requiredAttributes: [...ID_ATTRS],
1217
1464
  optionalAttributes: [
@@ -1248,7 +1495,7 @@ var OL_SCHEMA = createSchema({
1248
1495
  // src/schema/elementSchemas/elements/list/ul.ts
1249
1496
  var UL_SCHEMA = createSchema({
1250
1497
  code: "ul",
1251
- kind: "group",
1498
+ kind: "element",
1252
1499
  tag: UL_TAG,
1253
1500
  requiredAttributes: [...ID_ATTRS],
1254
1501
  optionalAttributes: [
@@ -1391,7 +1638,7 @@ var TP_SCHEMA = createSchema({
1391
1638
  // src/schema/elementSchemas/elements/table/td.ts
1392
1639
  var TD_SCHEMA = createSchema({
1393
1640
  code: "td",
1394
- kind: "group",
1641
+ kind: "element",
1395
1642
  tag: TD_TAG,
1396
1643
  requiredAttributes: [...ID_ATTRS],
1397
1644
  optionalAttributes: [...TRACK_CHANGES_ATTRS, "data-cell-width"],
@@ -1405,7 +1652,7 @@ var TD_SCHEMA = createSchema({
1405
1652
  // src/schema/elementSchemas/elements/table/tr.ts
1406
1653
  var TR_SCHEMA = createSchema({
1407
1654
  code: "tr",
1408
- kind: "group",
1655
+ kind: "element",
1409
1656
  tag: TR_TAG,
1410
1657
  requiredAttributes: [],
1411
1658
  optionalAttributes: [...LAYOUT_ATTRIBUTES, ...ID_ATTRS, "width"],
@@ -1425,7 +1672,7 @@ var THEAD_SCHEMA = createSchema({
1425
1672
  // src/schema/elementSchemas/elements/table/tbody.ts
1426
1673
  var TBODY_SCHEMA = createSchema({
1427
1674
  code: "tbody",
1428
- kind: "group",
1675
+ kind: "element",
1429
1676
  tag: TBODY_TAG,
1430
1677
  requiredAttributes: [],
1431
1678
  optionalAttributes: [...ID_ATTRS],
@@ -1435,7 +1682,7 @@ var TBODY_SCHEMA = createSchema({
1435
1682
  // src/schema/elementSchemas/elements/table/htmlTable.ts
1436
1683
  var HTML_TABLE_SCHEMA = createSchema({
1437
1684
  code: "table",
1438
- kind: "group",
1685
+ kind: "element",
1439
1686
  tag: HTML_TABLE_TAG,
1440
1687
  requiredAttributes: [],
1441
1688
  optionalAttributes: [...ID_ATTRS],
@@ -1448,7 +1695,7 @@ var HTML_TABLE_SCHEMA = createSchema({
1448
1695
  // src/schema/elementSchemas/elements/table/tgroup.ts
1449
1696
  var TGROUP_SCHEMA = createSchema({
1450
1697
  code: "tgroup",
1451
- kind: "group",
1698
+ kind: "element",
1452
1699
  tag: TGROUP_TAG,
1453
1700
  requiredAttributes: [...ID_ATTRS, "cols"],
1454
1701
  optionalAttributes: [],
@@ -1481,7 +1728,7 @@ var TBLSOURCE_SCHEMA = createSchema({
1481
1728
  // src/schema/elementSchemas/elements/table/table1.ts
1482
1729
  var TABLE_SCHEMA = createSchema({
1483
1730
  code: "table1",
1484
- kind: "group",
1731
+ kind: "element",
1485
1732
  tag: TABLE_TAG,
1486
1733
  requiredAttributes: [...ID_ATTRS, "xmlid", "role"],
1487
1734
  optionalAttributes: [
@@ -1525,62 +1772,10 @@ var TITLE_SCHEMA = createSchema({
1525
1772
  allowedChildTagNames: [...ATOM_TAGS_ALLOWED_CHILDREN]
1526
1773
  });
1527
1774
 
1528
- // src/schema/elementSchemas/elements/index.ts
1529
- var ELEMENT_SCHEMAS = [
1530
- PARA_SCHEMA,
1531
- TITLE_SCHEMA,
1532
- FOOTNOTE_SCHEMA,
1533
- FOOTNOTE_NUMBER_SCHEMA,
1534
- OLINK_SCHEMA,
1535
- FIRSTNAME_SCHEMA,
1536
- SURNAME_SCHEMA,
1537
- HONORIFIC_SCHEMA,
1538
- ORGNAME_SCHEMA,
1539
- EMAIL_SCHEMA,
1540
- ORG_SCHEMA,
1541
- DEGREES_SCHEMA,
1542
- DIALOGUE_SCHEMA,
1543
- LINE_SCHEMA,
1544
- SPEAKER_SCHEMA,
1545
- EQUATION_SCHEMA,
1546
- IMG_SCHEMA,
1547
- ALTTEXT_SCHEMA,
1548
- IMAGEOBJECT_SCHEMA,
1549
- MEDIAOBJECT_SCHEMA,
1550
- CAPTION_SCHEMA,
1551
- FIGSOURCE_SCHEMA,
1552
- FIGNOTE_SCHEMA,
1553
- FIGURE_SCHEMA,
1554
- INFORMALFIGURE_SCHEMA,
1555
- KEYWORDSET_SCHEMA,
1556
- KEYWORD_SCHEMA,
1557
- PUNC_SCHEMA,
1558
- LABEL_SCHEMA,
1559
- LI_SCHEMA,
1560
- OL_SCHEMA,
1561
- UL_SCHEMA,
1562
- TOKEN_SCHEMA,
1563
- TAG_SCHEMA,
1564
- LRH_SCHEMA,
1565
- RRH_SCHEMA,
1566
- SOURCE_SCHEMA,
1567
- SUBTITLE_SCHEMA,
1568
- TABLE_SCHEMA,
1569
- TGROUP_SCHEMA,
1570
- HTML_TABLE_SCHEMA,
1571
- THEAD_SCHEMA,
1572
- TBODY_SCHEMA,
1573
- TR_SCHEMA,
1574
- TD_SCHEMA,
1575
- TP_SCHEMA,
1576
- TBLFN_SCHEMA,
1577
- TBLSOURCE_SCHEMA
1578
- ];
1579
-
1580
- // src/schema/elementSchemas/groupElements/abstract.ts
1775
+ // src/schema/elementSchemas/elements/abstract.ts
1581
1776
  var ABSTRACT_SCHEMA = createSchema({
1582
1777
  code: "abstract1",
1583
- kind: "group",
1778
+ kind: "element",
1584
1779
  tag: ABSTRACT_TAG,
1585
1780
  requiredAttributes: [
1586
1781
  ...ID_ATTRS,
@@ -1598,6 +1793,7 @@ var ABSTRACT_SCHEMA = createSchema({
1598
1793
  defaultValue: "blurb"
1599
1794
  }
1600
1795
  ],
1796
+ defaultChildTagName: PARA_TAG,
1601
1797
  allowedChildTagNames: [
1602
1798
  { tagName: PARA_TAG, required: false },
1603
1799
  { tagName: TITLE_TAG, required: false },
@@ -1606,13 +1802,14 @@ var ABSTRACT_SCHEMA = createSchema({
1606
1802
  ]
1607
1803
  });
1608
1804
 
1609
- // src/schema/elementSchemas/groupElements/appendix.ts
1805
+ // src/schema/elementSchemas/elements/appendix.ts
1610
1806
  var APPENDIX_SCHEMA = createSchema({
1611
1807
  code: "appendix",
1612
- kind: "group",
1808
+ kind: "element",
1613
1809
  tag: APPENDIX_TAG,
1614
1810
  requiredAttributes: [...ID_ATTRS, "id", "xmlid"],
1615
1811
  optionalAttributes: [...TRACK_CHANGES_ATTRS],
1812
+ defaultChildTagName: PARA_TAG,
1616
1813
  allowedChildTagNames: [
1617
1814
  { tagName: PARA_TAG, required: false },
1618
1815
  { tagName: TITLE_TAG, required: false },
@@ -1620,10 +1817,10 @@ var APPENDIX_SCHEMA = createSchema({
1620
1817
  ]
1621
1818
  });
1622
1819
 
1623
- // src/schema/elementSchemas/groupElements/blockquote.ts
1820
+ // src/schema/elementSchemas/elements/blockquote.ts
1624
1821
  var BLOCKQUOTE_SCHEMA = createSchema({
1625
1822
  code: "blockquote",
1626
- kind: "group",
1823
+ kind: "element",
1627
1824
  tag: BLOCKQUOTE_TAG,
1628
1825
  requiredAttributes: [...ID_ATTRS],
1629
1826
  optionalAttributes: [
@@ -1637,6 +1834,7 @@ var BLOCKQUOTE_SCHEMA = createSchema({
1637
1834
  defaultValue: "add-element"
1638
1835
  }
1639
1836
  ],
1837
+ defaultChildTagName: PARA_TAG,
1640
1838
  allowedChildTagNames: [
1641
1839
  { tagName: PARA_TAG, required: false },
1642
1840
  { tagName: UL_TAG, required: false },
@@ -1646,10 +1844,10 @@ var BLOCKQUOTE_SCHEMA = createSchema({
1646
1844
  ]
1647
1845
  });
1648
1846
 
1649
- // src/schema/elementSchemas/groupElements/box.ts
1847
+ // src/schema/elementSchemas/elements/box.ts
1650
1848
  var BOX_SCHEMA = createSchema({
1651
1849
  code: "sidebar",
1652
- kind: "group",
1850
+ kind: "element",
1653
1851
  tag: SIDEBAR_TAG,
1654
1852
  requiredAttributes: [
1655
1853
  ...ID_ATTRS,
@@ -1668,16 +1866,17 @@ var BOX_SCHEMA = createSchema({
1668
1866
  defaultValue: "add-element"
1669
1867
  }
1670
1868
  ],
1869
+ defaultChildTagName: PARA_TAG,
1671
1870
  allowedChildTagNames: [
1672
1871
  { tagName: PARA_TAG, required: false },
1673
1872
  { tagName: TITLE_TAG, required: false }
1674
1873
  ]
1675
1874
  });
1676
1875
 
1677
- // src/schema/elementSchemas/groupElements/chapter.ts
1876
+ // src/schema/elementSchemas/elements/chapter.ts
1678
1877
  var CHAPTER_SCHEMA = createSchema({
1679
1878
  code: "chapter",
1680
- kind: "group",
1879
+ kind: "element",
1681
1880
  tag: CHAPTER_TAG,
1682
1881
  requiredAttributes: [...ID_ATTRS, "xmlid"],
1683
1882
  optionalAttributes: [
@@ -1687,6 +1886,7 @@ var CHAPTER_SCHEMA = createSchema({
1687
1886
  "data-paragraph-numbering-elements",
1688
1887
  "data-paragraph-numbering-chapters"
1689
1888
  ],
1889
+ defaultChildTagName: PARA_TAG,
1690
1890
  allowedChildTagNames: [
1691
1891
  { tagName: LRH_TAG, required: false },
1692
1892
  { tagName: RRH_TAG, required: false },
@@ -1708,10 +1908,10 @@ var CHAPTER_SCHEMA = createSchema({
1708
1908
  ]
1709
1909
  });
1710
1910
 
1711
- // src/schema/elementSchemas/groupElements/epigraph.ts
1911
+ // src/schema/elementSchemas/elements/epigraph.ts
1712
1912
  var EPIGRAPH_SCHEMA = createSchema({
1713
1913
  code: "epigraph",
1714
- kind: "group",
1914
+ kind: "element",
1715
1915
  tag: EPIGRAPH_TAG,
1716
1916
  requiredAttributes: [...ID_ATTRS],
1717
1917
  optionalAttributes: [
@@ -1723,13 +1923,14 @@ var EPIGRAPH_SCHEMA = createSchema({
1723
1923
  defaultValue: "add-element"
1724
1924
  }
1725
1925
  ],
1926
+ defaultChildTagName: PARA_TAG,
1726
1927
  allowedChildTagNames: [{ tagName: PARA_TAG, required: false }]
1727
1928
  });
1728
1929
 
1729
- // src/schema/elementSchemas/groupElements/footnoteSection.ts
1930
+ // src/schema/elementSchemas/elements/footnoteSection.ts
1730
1931
  var FOOTNOTE_SECTION_SCHEMA = createSchema({
1731
1932
  code: "footnoteSection",
1732
- kind: "group",
1933
+ kind: "element",
1733
1934
  tag: SECTION_TAG,
1734
1935
  requiredAttributes: [
1735
1936
  ...ID_ATTRS,
@@ -1740,16 +1941,17 @@ var FOOTNOTE_SECTION_SCHEMA = createSchema({
1740
1941
  }
1741
1942
  ],
1742
1943
  optionalAttributes: [...TRACK_CHANGES_ATTRS],
1944
+ defaultChildTagName: PARA_TAG,
1743
1945
  allowedChildTagNames: [
1744
1946
  { tagName: FOOTNOTE_TAG, required: true },
1745
1947
  { tagName: TITLE_TAG, required: true }
1746
1948
  ]
1747
1949
  });
1748
1950
 
1749
- // src/schema/elementSchemas/groupElements/heading.ts
1951
+ // src/schema/elementSchemas/elements/heading.ts
1750
1952
  var HEADING_SCHEMA = createSchema({
1751
1953
  code: "heading",
1752
- kind: "group",
1954
+ kind: "element",
1753
1955
  tag: SECTION_TAG,
1754
1956
  requiredAttributes: [
1755
1957
  ...ID_ATTRS,
@@ -1761,6 +1963,7 @@ var HEADING_SCHEMA = createSchema({
1761
1963
  }
1762
1964
  ],
1763
1965
  optionalAttributes: [...TRACK_CHANGES_ATTRS],
1966
+ defaultChildTagName: PARA_TAG,
1764
1967
  allowedChildTagNames: [
1765
1968
  { tagName: TITLE_TAG, required: false },
1766
1969
  { tagName: LABEL_TAG, required: false },
@@ -1781,64 +1984,217 @@ var HEADING_SCHEMA = createSchema({
1781
1984
  ]
1782
1985
  });
1783
1986
 
1784
- // src/schema/elementSchemas/groupElements/info.ts
1987
+ // src/schema/elementSchemas/elements/info.ts
1785
1988
  var INFO_SCHEMA = createSchema({
1786
1989
  code: "info1",
1787
- kind: "group",
1990
+ kind: "element",
1788
1991
  tag: INFO_TAG,
1789
1992
  requiredAttributes: [...ID_ATTRS],
1790
1993
  optionalAttributes: [],
1994
+ defaultChildTagName: SUBTITLE_TAG,
1791
1995
  allowedChildTagNames: [
1792
- { tagName: AUTHORGROUP_TAG, required: false },
1793
1996
  { tagName: LABEL_TAG, required: true },
1794
1997
  { tagName: TITLE_TAG, required: true },
1795
1998
  { tagName: SUBTITLE_TAG, required: false },
1796
1999
  { tagName: ABSTRACT_TAG, required: false },
1797
- { tagName: KEYWORDSET_TAG, required: false }
2000
+ { tagName: KEYWORDSET_TAG, required: false },
2001
+ { tagName: AUTHORGROUP_TAG, required: false }
1798
2002
  ]
1799
2003
  });
1800
2004
 
1801
- // src/schema/elementSchemas/groupElements/poem.ts
2005
+ // src/schema/elementSchemas/elements/poem.ts
1802
2006
  var POEM_SCHEMA = createSchema({
1803
2007
  code: "poem",
1804
- kind: "group",
2008
+ kind: "element",
1805
2009
  tag: POEM_TAG,
1806
2010
  requiredAttributes: [...ID_ATTRS],
1807
2011
  optionalAttributes: [...TRACK_CHANGES_ATTRS, "role"],
2012
+ defaultChildTagName: LINE_TAG,
1808
2013
  allowedChildTagNames: [
1809
2014
  { tagName: LINE_TAG, required: false },
1810
2015
  { tagName: SOURCE_TAG, required: false }
1811
2016
  ]
1812
2017
  });
1813
2018
 
1814
- // src/schema/elementSchemas/groupElements/index.ts
1815
- var GROUP_ELEMENT_SCHEMAS = [
1816
- HEADING_SCHEMA,
1817
- FOOTNOTE_SECTION_SCHEMA,
1818
- CHAPTER_SCHEMA,
1819
- INFO_SCHEMA,
1820
- ABSTRACT_SCHEMA,
1821
- EPIGRAPH_SCHEMA,
1822
- POEM_SCHEMA,
1823
- BLOCKQUOTE_SCHEMA,
1824
- BOX_SCHEMA,
1825
- APPENDIX_SCHEMA,
1826
- AUTHORGROUP_SCHEMA,
1827
- AUTHOR_SCHEMA,
1828
- PERSONNAME_SCHEMA,
1829
- AFFILIATION_SCHEMA
1830
- ];
2019
+ // src/schema/elementSchemas/elements/equation/mathphrase.ts
2020
+ var MATHPHRASE_SCHEMA = createSchema({
2021
+ code: "mathphrase",
2022
+ kind: "element",
2023
+ tag: MATHPHRASE_TAG,
2024
+ requiredAttributes: [ELE_ID_ATTRIBUTE],
2025
+ optionalAttributes: [],
2026
+ allowedChildTagNames: [{ tagName: MATH_TAG, required: true }]
2027
+ });
2028
+
2029
+ // src/schema/elementSchemas/elements/index.ts
2030
+ var ELEMENT_SCHEMAS = {
2031
+ para: PARA_SCHEMA,
2032
+ title1: TITLE_SCHEMA,
2033
+ footnote: FOOTNOTE_SCHEMA,
2034
+ footnoteno: FOOTNOTE_NUMBER_SCHEMA,
2035
+ olink: OLINK_SCHEMA,
2036
+ firstname: FIRSTNAME_SCHEMA,
2037
+ surname: SURNAME_SCHEMA,
2038
+ honorific: HONORIFIC_SCHEMA,
2039
+ orgname: ORGNAME_SCHEMA,
2040
+ email: EMAIL_SCHEMA,
2041
+ org: ORG_SCHEMA,
2042
+ degrees: DEGREES_SCHEMA,
2043
+ dialogue: DIALOGUE_SCHEMA,
2044
+ line: LINE_SCHEMA,
2045
+ speaker: SPEAKER_SCHEMA,
2046
+ equation: EQUATION_SCHEMA,
2047
+ math: MATH_SCHEMA,
2048
+ mathphrase: MATHPHRASE_SCHEMA,
2049
+ merror: MERROR_SCHEMA,
2050
+ mfrac: MFRAC_SCHEMA,
2051
+ mi: MI_SCHEMA,
2052
+ mmultiscripts: MMULTISCRIPTS_SCHEMA,
2053
+ mn: MN_SCHEMA,
2054
+ mo: MO_SCHEMA,
2055
+ mover: MOVER_SCHEMA,
2056
+ mpadded: MPADDED_SCHEMA,
2057
+ mphantom: MPHANTOM_SCHEMA,
2058
+ mprescripts: MPRESCRIPTS_SCHEMA,
2059
+ mroot: MROOT_SCHEMA,
2060
+ mrow: MROW_SCHEMA,
2061
+ ms: MS_SCHEMA,
2062
+ mspace: MSPACE_SCHEMA,
2063
+ msqrt: MSQRT_SCHEMA,
2064
+ mstyle: MSTYLE_SCHEMA,
2065
+ msub: MSUB_SCHEMA,
2066
+ msubsup: MSUBSUP_SCHEMA,
2067
+ msup: MSUP_SCHEMA,
2068
+ mtable: MTABLE_SCHEMA,
2069
+ mtd: MTD_SCHEMA,
2070
+ mtext: MTEXT_SCHEMA,
2071
+ mtr: MTR_SCHEMA,
2072
+ munder: MUNDER_SCHEMA,
2073
+ munderover: MUNDEROVER_SCHEMA,
2074
+ img: IMG_SCHEMA,
2075
+ alttext: ALTTEXT_SCHEMA,
2076
+ imageobject: IMAGEOBJECT_SCHEMA,
2077
+ mediaobject: MEDIAOBJECT_SCHEMA,
2078
+ caption1: CAPTION_SCHEMA,
2079
+ figsource: FIGSOURCE_SCHEMA,
2080
+ fignote: FIGNOTE_SCHEMA,
2081
+ figure1: FIGURE_SCHEMA,
2082
+ informalfigure: INFORMALFIGURE_SCHEMA,
2083
+ keywordset: KEYWORDSET_SCHEMA,
2084
+ keyword: KEYWORD_SCHEMA,
2085
+ punc: PUNC_SCHEMA,
2086
+ label1: LABEL_SCHEMA,
2087
+ li: LI_SCHEMA,
2088
+ ol: OL_SCHEMA,
2089
+ ul: UL_SCHEMA,
2090
+ token: TOKEN_SCHEMA,
2091
+ tag: TAG_SCHEMA,
2092
+ lrh: LRH_SCHEMA,
2093
+ rrh: RRH_SCHEMA,
2094
+ source1: SOURCE_SCHEMA,
2095
+ subtitle1: SUBTITLE_SCHEMA,
2096
+ table1: TABLE_SCHEMA,
2097
+ tgroup: TGROUP_SCHEMA,
2098
+ table: HTML_TABLE_SCHEMA,
2099
+ thead: THEAD_SCHEMA,
2100
+ tbody: TBODY_SCHEMA,
2101
+ tr: TR_SCHEMA,
2102
+ td: TD_SCHEMA,
2103
+ tp: TP_SCHEMA,
2104
+ tblfn: TBLFN_SCHEMA,
2105
+ tblsource: TBLSOURCE_SCHEMA,
2106
+ heading: HEADING_SCHEMA,
2107
+ footnoteSection: FOOTNOTE_SECTION_SCHEMA,
2108
+ chapter: CHAPTER_SCHEMA,
2109
+ info1: INFO_SCHEMA,
2110
+ abstract1: ABSTRACT_SCHEMA,
2111
+ epigraph: EPIGRAPH_SCHEMA,
2112
+ poem: POEM_SCHEMA,
2113
+ blockquote: BLOCKQUOTE_SCHEMA,
2114
+ sidebar: BOX_SCHEMA,
2115
+ appendix: APPENDIX_SCHEMA,
2116
+ authorgroup: AUTHORGROUP_SCHEMA,
2117
+ author: AUTHOR_SCHEMA,
2118
+ personname: PERSONNAME_SCHEMA,
2119
+ affiliation: AFFILIATION_SCHEMA
2120
+ };
2121
+
2122
+ // src/schema/elementSchemas/inlineElements/footnoteLink.ts
2123
+ var FOOTNOTE_LINK_SCHEMA = createSchema({
2124
+ code: "footnote1",
2125
+ kind: "inline",
2126
+ tag: FOOTNOTE_LINK_TAG,
2127
+ requiredAttributes: [...ID_ATTRS],
2128
+ optionalAttributes: ["linkend"],
2129
+ defaultChildTagName: SUP_TAG,
2130
+ allowedChildTagNames: [{ tagName: SUP_TAG, required: true }]
2131
+ });
2132
+
2133
+ // src/schema/elementSchemas/inlineElements/inlineequation.ts
2134
+ var INLINEEQUATION_SCHEMA = createSchema({
2135
+ code: "inlineequation",
2136
+ kind: "inline",
2137
+ tag: INLINEEQUATION_TAG,
2138
+ requiredAttributes: [...ID_ATTRS],
2139
+ optionalAttributes: [
2140
+ ...TRACK_CHANGES_ATTRS,
2141
+ {
2142
+ name: "eqn-data",
2143
+ values: ["new", "updated"],
2144
+ defaultValue: "new"
2145
+ },
2146
+ {
2147
+ name: "element-status",
2148
+ values: ["added", "changed"],
2149
+ defaultValue: "added"
2150
+ }
2151
+ ],
2152
+ allowedChildTagNames: [{ tagName: MATHPHRASE_TAG, required: true }]
2153
+ });
2154
+
2155
+ // src/schema/elementSchemas/inlineElements/link.ts
2156
+ var LINK_SCHEMA = createSchema({
2157
+ code: "link",
2158
+ kind: "inline",
2159
+ tag: LINK_TAG,
2160
+ requiredAttributes: [
2161
+ ...ID_ATTRS,
2162
+ "linkend",
2163
+ "data-target-id",
2164
+ {
2165
+ name: "role",
2166
+ values: ["table", "figure", "equation", "footnote", "bibr"],
2167
+ defaultValue: ""
2168
+ }
2169
+ ],
2170
+ optionalAttributes: [],
2171
+ allowedChildTagNames: [...ATOM_TAGS_ALLOWED_CHILDREN]
2172
+ });
2173
+
2174
+ // src/schema/elementSchemas/inlineElements/uri.ts
2175
+ var URI_SCHEMA = createSchema({
2176
+ code: "uri",
2177
+ kind: "inline",
2178
+ tag: URI_TAG,
2179
+ requiredAttributes: [...ID_ATTRS],
2180
+ optionalAttributes: ["linkend"],
2181
+ allowedChildTagNames: [...ATOM_TAGS_ALLOWED_CHILDREN]
2182
+ });
2183
+
2184
+ // src/schema/elementSchemas/inlineElements/index.ts
2185
+ var INLINE_ELEMENT_SCHEMAS = {
2186
+ uri: URI_SCHEMA,
2187
+ footnote1: FOOTNOTE_LINK_SCHEMA,
2188
+ link: LINK_SCHEMA,
2189
+ inlineequation: INLINEEQUATION_SCHEMA
2190
+ };
1831
2191
 
1832
2192
  // src/schema/schemas.ts
1833
- var SCHEMAS = [
2193
+ var SCHEMAS = {
1834
2194
  ...ATOM_SCHEMAS,
1835
2195
  ...ELEMENT_SCHEMAS,
1836
- ...GROUP_ELEMENT_SCHEMAS,
1837
2196
  ...INLINE_ELEMENT_SCHEMAS
1838
- ];
1839
- var SCHEMA_MAP = new Map(
1840
- SCHEMAS.map((schema) => [schema.code, schema])
1841
- );
2197
+ };
1842
2198
 
1843
2199
  // src/schema/shared/ignoredElements.ts
1844
2200
  var IGNORED_ELEMENT_SELECTORS = [
@@ -1865,29 +2221,30 @@ var IGNORED_ATTRIBUTES = [
1865
2221
  "dir",
1866
2222
  "hidden"
1867
2223
  ];
1868
- var IGNORED_ATTRIBUTES_STARTS_WITH = ["er-"];
2224
+ var IGNORED_ATTRIBUTES_STARTS_WITH = ["er-", "er_"];
1869
2225
 
1870
2226
  // src/schema/utils/utils.ts
1871
2227
  var isIgnoredAttribute = (attribute) => IGNORED_ATTRIBUTES.includes(attribute) || IGNORED_ATTRIBUTES_STARTS_WITH.some(
1872
2228
  (startsWith) => attribute.startsWith(startsWith)
1873
2229
  );
1874
2230
  var isIgnoredElement = (element) => IGNORED_ELEMENT_SELECTORS.some((selector) => element.matches(selector));
1875
- var findSchemaByCode = (code) => SCHEMA_MAP.get(code);
2231
+ var findSchemaByCode = (code) => SCHEMAS[code];
1876
2232
  var findSchemaByElement = (element) => {
2233
+ const tagName = element.tagName.toUpperCase();
1877
2234
  const isInsertion = element.classList.contains("ins");
1878
2235
  const isDeletion = element.classList.contains("del");
1879
2236
  const isQueryComment = element.classList.contains("cmtQurySection");
1880
2237
  const role = element.getAttribute("role");
1881
- if (isQueryComment) {
2238
+ if (isQueryComment && tagName === SPAN_TAG) {
1882
2239
  return findSchemaByCode("commentQuerySection");
1883
2240
  }
1884
- if (isInsertion) {
2241
+ if (isInsertion && tagName === SPAN_TAG) {
1885
2242
  return findSchemaByCode("insertion");
1886
2243
  }
1887
- if (isDeletion) {
2244
+ if (isDeletion && tagName === SPAN_TAG) {
1888
2245
  return findSchemaByCode("deletion");
1889
2246
  }
1890
- if (role) {
2247
+ if (role && tagName === SECTION_TAG) {
1891
2248
  if (role.startsWith("H")) {
1892
2249
  return findSchemaByCode("heading");
1893
2250
  }
@@ -1895,7 +2252,7 @@ var findSchemaByElement = (element) => {
1895
2252
  return findSchemaByCode("footnoteSection");
1896
2253
  }
1897
2254
  }
1898
- const candidates = [...SCHEMA_MAP.values()].filter(
2255
+ const candidates = Object.values(SCHEMAS).filter(
1899
2256
  (schema) => schema.tag === element.tagName.toUpperCase()
1900
2257
  );
1901
2258
  if (candidates.length > 0) {
@@ -1916,9 +2273,13 @@ var findAttributeDefinitionByName = (definitions, name) => {
1916
2273
 
1917
2274
  // src/schema/utils/createElement.ts
1918
2275
  var createElement = ({
1919
- schema,
2276
+ schemaCode,
1920
2277
  attributes
1921
2278
  }) => {
2279
+ const schema = findSchemaByCode(schemaCode);
2280
+ if (!schema) {
2281
+ throw new Error(`Schema not found for code: ${schemaCode}`);
2282
+ }
1922
2283
  const element = document.createElement(schema.tag.toLowerCase());
1923
2284
  for (const [name, value] of Object.entries(attributes)) {
1924
2285
  if (value === void 0) {
@@ -1945,6 +2306,8 @@ var createValidationIssue = (issue) => ({
1945
2306
  var addValidationIssue = (errors, issue) => {
1946
2307
  errors.push(createValidationIssue(issue));
1947
2308
  };
2309
+
2310
+ // src/validation/utils/getStore.ts
1948
2311
  var getStore = (element) => {
1949
2312
  return element.getAttribute("store") || "";
1950
2313
  };
@@ -2053,21 +2416,12 @@ var validateConsecutiveFootnoteCues = (root) => {
2053
2416
  }
2054
2417
  return [];
2055
2418
  };
2056
- var validateFootnotes = (root) => {
2057
- const errors = [];
2058
- for (const footnote of root.querySelectorAll(FOOTNOTE_SCHEMA.tag)) {
2059
- errors.push(...validateFootnoteCue(footnote, root));
2060
- }
2061
- errors.push(...validateConsecutiveFootnotes(root));
2062
- errors.push(...validateConsecutiveFootnoteCues(root));
2063
- return errors;
2064
- };
2065
2419
 
2066
2420
  // src/validation/validateLinkend.ts
2067
2421
  var findElementLinkedTo = (linkend, elementsLinkedTo) => {
2068
2422
  return elementsLinkedTo.includes(linkend);
2069
2423
  };
2070
- var validateLinkend = (linkElement, elementsLinkedTo = []) => {
2424
+ var validateLinkend = (linkElement, elementsLinkedTo) => {
2071
2425
  const linkend = linkElement.getAttribute("linkend");
2072
2426
  if (!linkend) {
2073
2427
  return [];
@@ -2261,7 +2615,7 @@ var validateChildren = (element, schema) => {
2261
2615
  return errors;
2262
2616
  };
2263
2617
 
2264
- // src/validation/validateXml.ts
2618
+ // src/validation/utils/getLinkableRoles.ts
2265
2619
  var getLinkableRoles = () => {
2266
2620
  const linkRoleDefinition = findAttributeDefinitionByName(
2267
2621
  LINK_SCHEMA.requiredAttributes,
@@ -2275,14 +2629,18 @@ var getLinkableRoles = () => {
2275
2629
  }
2276
2630
  return [];
2277
2631
  };
2278
- var validateElement = (element, root, elementsLinkedTo) => {
2632
+
2633
+ // src/validation/validateXml.ts
2634
+ var validateElement = (element, root, elementsLinkedTo, shouldValidateAgainstSchema = false) => {
2279
2635
  if (isIgnoredElement(element)) {
2280
2636
  return [];
2281
2637
  }
2282
2638
  const errors = [];
2283
2639
  const schema = findSchemaByElement(element);
2284
2640
  if (schema) {
2285
- errors.push(...validateElementAgainstSchema(element, schema));
2641
+ if (shouldValidateAgainstSchema) {
2642
+ errors.push(...validateElementAgainstSchema(element, schema));
2643
+ }
2286
2644
  const role = element.getAttribute("role") || "";
2287
2645
  const linkableRoles = getLinkableRoles();
2288
2646
  if (schema.tag === LINK_SCHEMA.tag && linkableRoles.includes(role) || schema.tag === FOOTNOTE_LINK_SCHEMA.tag) {
@@ -2297,199 +2655,53 @@ var validateElement = (element, root, elementsLinkedTo) => {
2297
2655
  }
2298
2656
  return errors;
2299
2657
  };
2300
- var validateXml = (xml, elementsLinkedTo) => {
2658
+ var validateXml = (xml, elementsLinkedTo, shouldValidateAgainstSchema) => {
2301
2659
  const errors = [];
2302
2660
  errors.push(...validateConsecutiveFootnotes(xml));
2303
2661
  errors.push(...validateConsecutiveFootnoteCues(xml));
2304
2662
  for (const child of Array.from(xml.children)) {
2305
- errors.push(...validateElement(child, xml, elementsLinkedTo));
2663
+ errors.push(
2664
+ ...validateElement(
2665
+ child,
2666
+ xml,
2667
+ elementsLinkedTo,
2668
+ shouldValidateAgainstSchema
2669
+ )
2670
+ );
2306
2671
  }
2307
2672
  return errors;
2308
2673
  };
2309
2674
  // Annotate the CommonJS export names for ESM import in node:
2310
2675
  0 && (module.exports = {
2311
- ABSTRACT_SCHEMA,
2312
- ABSTRACT_TAG,
2313
- AFFILIATION_SCHEMA,
2314
- AFFILIATION_TAG,
2315
2676
  ALIGNMENT_ATTRIBUTE,
2316
- ALTTEXT_SCHEMA,
2317
- ALTTEXT_TAG,
2318
- APPENDIX_SCHEMA,
2319
- APPENDIX_TAG,
2320
2677
  ATOM_SCHEMAS,
2321
- AUTHORGROUP_SCHEMA,
2322
- AUTHORGROUP_TAG,
2323
- AUTHOR_SCHEMA,
2324
- AUTHOR_TAG,
2325
- BLOCKQUOTE_SCHEMA,
2326
- BLOCKQUOTE_TAG,
2327
- BOX_SCHEMA,
2328
- B_SCHEMA,
2329
- CAPTION_SCHEMA,
2330
- CAPTION_TAG,
2331
- CHAPTER_SCHEMA,
2332
- CHAPTER_TAG,
2333
- COMMENT_QUERY_SECTION_SCHEMA,
2334
- COMMENT_SCHEMA,
2335
- CONTENT_SCHEMA,
2336
- DEGREES_SCHEMA,
2337
- DEGREES_TAG,
2338
- DELETION_SCHEMA,
2339
- DIALOGUE_SCHEMA,
2340
- DIALOGUE_TAG,
2341
2678
  ELEMENT_SCHEMAS,
2342
- ELEMENT_TAGS,
2343
2679
  ELE_ID_ATTRIBUTE,
2344
- EMAIL_SCHEMA,
2345
- EMAIL_TAG,
2346
- EMPHASIS_SCHEMA,
2347
- EPIGRAPH_SCHEMA,
2348
- EPIGRAPH_TAG,
2349
- EQUATION_SCHEMA,
2350
- EQUATION_TAG,
2351
- FIGNOTE_SCHEMA,
2352
- FIGNOTE_TAG,
2353
- FIGSOURCE_SCHEMA,
2354
- FIGSOURCE_TAG,
2355
2680
  FIGURE_PLACEMENT_ATTRIBUTE,
2356
- FIGURE_SCHEMA,
2357
- FIGURE_TAG,
2358
- FIRSTNAME_SCHEMA,
2359
- FIRSTNAME_TAG,
2360
- FOOTNOTE_LINK_SCHEMA,
2361
- FOOTNOTE_LINK_TAG,
2362
- FOOTNOTE_NUMBER_SCHEMA,
2363
- FOOTNOTE_NUMBER_TAG,
2364
- FOOTNOTE_SCHEMA,
2365
- FOOTNOTE_SECTION_SCHEMA,
2366
- FOOTNOTE_TAG,
2367
- GROUP_ELEMENTS_TAGS,
2368
- GROUP_ELEMENT_SCHEMAS,
2369
- HEADING_SCHEMA,
2370
- HIGHLIGHTMARK_SCHEMA,
2371
- HONORIFIC_SCHEMA,
2372
- HONORIFIC_TAG,
2373
- HTML_TABLE_SCHEMA,
2374
- HTML_TABLE_TAG,
2375
2681
  ID_ATTRS,
2376
2682
  IGNORED_ATTRIBUTES,
2377
2683
  IGNORED_ATTRIBUTES_STARTS_WITH,
2378
2684
  IGNORED_ELEMENT_SELECTORS,
2379
- IMAGEOBJECT_SCHEMA,
2380
- IMAGEOBJECT_TAG,
2381
- IMG_SCHEMA,
2382
- IMG_TAG,
2383
2685
  INDENT_TYPE_ATTRIBUTE,
2384
- INFORMALFIGURE_SCHEMA,
2385
- INFORMALFIGURE_TAG,
2386
- INFO_SCHEMA,
2387
- INFO_TAG,
2388
- INLINEEQUATION_SCHEMA,
2389
- INLINEEQUATION_TAG,
2390
2686
  INLINE_ELEMENT_SCHEMAS,
2391
- INLINE_ELEMENT_TAGS_ALLOWED_CHILDREN,
2392
- INSERTION_SCHEMA,
2393
- I_SCHEMA,
2394
- KEYWORDSET_SCHEMA,
2395
- KEYWORDSET_TAG,
2396
- KEYWORD_SCHEMA,
2397
- KEYWORD_TAG,
2398
- LABEL_SCHEMA,
2399
- LABEL_TAG,
2400
2687
  LAYOUT_ATTRIBUTES,
2401
2688
  LAYOUT_CELL_WIDTH,
2402
2689
  LAYOUT_USER_ATTRIBUTE,
2403
2690
  LEFT_INDENT_ATTRIBUTE,
2404
- LINE_SCHEMA,
2405
- LINE_TAG,
2406
- LINK_SCHEMA,
2407
- LINK_TAG,
2408
- LI_SCHEMA,
2409
- LI_TAG,
2410
- LRH_SCHEMA,
2411
- LRH_TAG,
2412
- MEDIAOBJECT_SCHEMA,
2413
- MEDIAOBJECT_TAG,
2414
- OLINK_SCHEMA,
2415
- OLINK_TAG,
2416
- OL_SCHEMA,
2417
- OL_TAG,
2418
- ORGNAME_SCHEMA,
2419
- ORGNAME_TAG,
2420
- ORG_SCHEMA,
2421
- ORG_TAG,
2422
2691
  ORIENTATION_ATTRIBUTE,
2423
- PARA_SCHEMA,
2424
- PARA_TAG,
2425
- PERSONNAME_SCHEMA,
2426
- PERSONNAME_TAG,
2427
2692
  PLACEMENT_ATTRIBUTE,
2428
- POEM_SCHEMA,
2429
- POEM_TAG,
2430
- POSTNOMINALS_TAG,
2431
- PUNC_SCHEMA,
2432
- PUNC_TAG,
2433
- QUERY_SCHEMA,
2434
- REPLY_SCHEMA,
2435
2693
  RIGHT_INDENT_ATTRIBUTE,
2436
- RRH_SCHEMA,
2437
- RRH_TAG,
2438
2694
  SCHEMAS,
2439
- SCHEMA_MAP,
2440
- SC_SCHEMA,
2441
- SECTION_TAG,
2442
- SIDEBAR_TAG,
2443
- SOURCE_SCHEMA,
2444
- SOURCE_TAG,
2445
2695
  SPACE_ABOVE_ATTRIBUTE,
2446
2696
  SPACE_BELOW_ATTRIBUTE,
2447
- SPEAKER_SCHEMA,
2448
- SPEAKER_TAG,
2449
2697
  SPECIAL_INDENT_ATTRIBUTE,
2450
2698
  STORE_ATTRIBUTE,
2451
- STRIKE_SCHEMA,
2452
2699
  STYLE_NAME_ATTRIBUTE,
2453
- SUBTITLE_SCHEMA,
2454
- SUBTITLE_TAG,
2455
- SUB_SCHEMA,
2456
- SUP_SCHEMA,
2457
- SURNAME_SCHEMA,
2458
- SURNAME_TAG,
2459
- TABLE_SCHEMA,
2460
- TABLE_TAG,
2461
- TAG_SCHEMA,
2462
- TAG_TAG,
2463
- TBLFN_SCHEMA,
2464
- TBLFN_TAG,
2465
- TBLSOURCE_SCHEMA,
2466
- TBLSOURCE_TAG,
2467
- TBODY_SCHEMA,
2468
- TBODY_TAG,
2469
- TD_SCHEMA,
2470
- TD_TAG,
2471
- TGROUP_SCHEMA,
2472
- TGROUP_TAG,
2473
- THEAD_SCHEMA,
2474
- THEAD_TAG,
2475
- TITLE_SCHEMA,
2476
- TITLE_TAG,
2477
- TOKEN_SCHEMA,
2478
- TOKEN_TAG,
2479
- TP_SCHEMA,
2480
- TP_TAG,
2481
2700
  TRACK_CHANGES_ATTRS,
2482
2701
  TRACK_CHANGES_ATTR_DATA_DATE,
2483
2702
  TRACK_CHANGES_ATTR_DATA_TIME,
2484
2703
  TRACK_CHANGES_ATTR_DATA_USERID,
2485
2704
  TRACK_CHANGES_ATTR_DATA_USERNAME,
2486
- TR_SCHEMA,
2487
- TR_TAG,
2488
- UL_SCHEMA,
2489
- UL_TAG,
2490
- URI_SCHEMA,
2491
- URI_TAG,
2492
- U_SCHEMA,
2493
2705
  createElement,
2494
2706
  findAttributeDefinitionByName,
2495
2707
  findSchemaByCode,
@@ -2498,13 +2710,5 @@ var validateXml = (xml, elementsLinkedTo) => {
2498
2710
  isAttributeRestricted,
2499
2711
  isIgnoredAttribute,
2500
2712
  isIgnoredElement,
2501
- validateAttributes,
2502
- validateConsecutiveFootnoteCues,
2503
- validateConsecutiveFootnotes,
2504
- validateElement,
2505
- validateElementAgainstSchema,
2506
- validateFootnoteCue,
2507
- validateFootnotes,
2508
- validateLinkend,
2509
2713
  validateXml
2510
2714
  });