pro-editor-schema 0.1.16 → 0.1.17

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,6 +68,7 @@ var createSchema = ({
229
68
  tag,
230
69
  requiredAttributes,
231
70
  optionalAttributes,
71
+ defaultChildTagName,
232
72
  allowedChildTagNames
233
73
  }) => {
234
74
  return {
@@ -237,6 +77,7 @@ var createSchema = ({
237
77
  tag,
238
78
  requiredAttributes,
239
79
  optionalAttributes,
80
+ defaultChildTagName,
240
81
  allowedChildTagNames: new Set(allowedChildTagNames)
241
82
  };
242
83
  };
@@ -299,6 +140,8 @@ var COMMENT_TAG = "COMMENT";
299
140
  var QUERY_TAG = "QUERY";
300
141
  var CONTENT_TAG = "CONTENT";
301
142
  var REPLY_TAG = "REPLY";
143
+
144
+ // src/schema/shared/allowedAtomsChildren.ts
302
145
  var ATOM_TAGS_ALLOWED_CHILDREN = [
303
146
  { tagName: B_TAG, required: false },
304
147
  { tagName: I_TAG, required: false },
@@ -339,6 +182,8 @@ var FOOTNOTE_LINK_TAG = "FOOTNOTE1";
339
182
  var INLINEEQUATION_TAG = "INLINEEQUATION";
340
183
  var LINK_TAG = "LINK1";
341
184
  var URI_TAG = "URI";
185
+
186
+ // src/schema/shared/allowedInlineChildren.ts
342
187
  var INLINE_ELEMENT_TAGS_ALLOWED_CHILDREN = [
343
188
  { tagName: FOOTNOTE_LINK_TAG, required: false },
344
189
  { tagName: INLINEEQUATION_TAG, required: false },
@@ -545,24 +390,24 @@ var REPLY_SCHEMA = createSchema({
545
390
  });
546
391
 
547
392
  // 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
565
- ];
393
+ var ATOM_SCHEMAS = {
394
+ b: B_SCHEMA,
395
+ i: I_SCHEMA,
396
+ u: U_SCHEMA,
397
+ sc: SC_SCHEMA,
398
+ emphasis: EMPHASIS_SCHEMA,
399
+ strike: STRIKE_SCHEMA,
400
+ sub: SUB_SCHEMA,
401
+ sup: SUP_SCHEMA,
402
+ highlightmark: HIGHLIGHTMARK_SCHEMA,
403
+ commentQuerySection: COMMENT_QUERY_SECTION_SCHEMA,
404
+ insertion: INSERTION_SCHEMA,
405
+ deletion: DELETION_SCHEMA,
406
+ content: CONTENT_SCHEMA,
407
+ comment: COMMENT_SCHEMA,
408
+ query: QUERY_SCHEMA,
409
+ reply: REPLY_SCHEMA
410
+ };
566
411
 
567
412
  // src/schema/elementSchemas/elements/elementsTags.ts
568
413
  var PARA_TAG = "PARA";
@@ -573,7 +418,6 @@ var OLINK_TAG = "OLINK";
573
418
  var FIRSTNAME_TAG = "FIRSTNAME";
574
419
  var SURNAME_TAG = "SURNAME";
575
420
  var HONORIFIC_TAG = "HONORIFIC";
576
- var POSTNOMINALS_TAG = "POSTNOMINALS";
577
421
  var ORGNAME_TAG = "ORGNAME";
578
422
  var EMAIL_TAG = "EMAIL";
579
423
  var ORG_TAG = "ORG";
@@ -614,59 +458,6 @@ var TBLFN_TAG = "TBLFN";
614
458
  var TBLSOURCE_TAG = "TBLSOURCE";
615
459
  var TAG_TAG = "TAG";
616
460
  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
461
  var SECTION_TAG = "SECTION1";
671
462
  var ABSTRACT_TAG = "ABSTRACT1";
672
463
  var AFFILIATION_TAG = "AFFILIATION";
@@ -680,26 +471,11 @@ var CHAPTER_TAG = "CHAPTER";
680
471
  var EPIGRAPH_TAG = "EPIGRAPH";
681
472
  var INFO_TAG = "INFO1";
682
473
  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
- ];
698
474
 
699
475
  // src/schema/elementSchemas/elements/authors/authorgroup.ts
700
476
  var AUTHORGROUP_SCHEMA = createSchema({
701
477
  code: "authorgroup",
702
- kind: "group",
478
+ kind: "element",
703
479
  tag: AUTHORGROUP_TAG,
704
480
  requiredAttributes: [...ID_ATTRS],
705
481
  optionalAttributes: [],
@@ -712,7 +488,7 @@ var AUTHORGROUP_SCHEMA = createSchema({
712
488
  // src/schema/elementSchemas/elements/authors/author.ts
713
489
  var AUTHOR_SCHEMA = createSchema({
714
490
  code: "author",
715
- kind: "group",
491
+ kind: "element",
716
492
  tag: AUTHOR_TAG,
717
493
  requiredAttributes: [...ID_ATTRS],
718
494
  optionalAttributes: [],
@@ -739,7 +515,7 @@ var OLINK_SCHEMA = createSchema({
739
515
  // src/schema/elementSchemas/elements/authors/personname.ts
740
516
  var PERSONNAME_SCHEMA = createSchema({
741
517
  code: "personname",
742
- kind: "group",
518
+ kind: "element",
743
519
  tag: PERSONNAME_TAG,
744
520
  requiredAttributes: [...ID_ATTRS],
745
521
  optionalAttributes: [],
@@ -813,7 +589,7 @@ var ORG_SCHEMA = createSchema({
813
589
  // src/schema/elementSchemas/elements/authors/affiliation.ts
814
590
  var AFFILIATION_SCHEMA = createSchema({
815
591
  code: "affiliation",
816
- kind: "group",
592
+ kind: "element",
817
593
  tag: AFFILIATION_TAG,
818
594
  requiredAttributes: [...ID_ATTRS],
819
595
  optionalAttributes: [],
@@ -865,7 +641,7 @@ var SPEAKER_SCHEMA = createSchema({
865
641
  // src/schema/elementSchemas/elements/dialogue/dialogue.ts
866
642
  var DIALOGUE_SCHEMA = createSchema({
867
643
  code: "dialogue",
868
- kind: "group",
644
+ kind: "element",
869
645
  tag: DIALOGUE_TAG,
870
646
  requiredAttributes: [...ID_ATTRS],
871
647
  optionalAttributes: [
@@ -916,7 +692,7 @@ var IMG_SCHEMA = createSchema({
916
692
  // src/schema/elementSchemas/elements/figure/alttext.ts
917
693
  var ALTTEXT_SCHEMA = createSchema({
918
694
  code: "alttext",
919
- kind: "group",
695
+ kind: "element",
920
696
  tag: ALTTEXT_TAG,
921
697
  requiredAttributes: [],
922
698
  optionalAttributes: [],
@@ -926,7 +702,7 @@ var ALTTEXT_SCHEMA = createSchema({
926
702
  // src/schema/elementSchemas/elements/figure/imageobject.ts
927
703
  var IMAGEOBJECT_SCHEMA = createSchema({
928
704
  code: "imageobject",
929
- kind: "group",
705
+ kind: "element",
930
706
  tag: IMAGEOBJECT_TAG,
931
707
  requiredAttributes: [...ID_ATTRS],
932
708
  optionalAttributes: [],
@@ -939,7 +715,7 @@ var IMAGEOBJECT_SCHEMA = createSchema({
939
715
  // src/schema/elementSchemas/elements/figure/mediaobject.ts
940
716
  var MEDIAOBJECT_SCHEMA = createSchema({
941
717
  code: "mediaobject",
942
- kind: "group",
718
+ kind: "element",
943
719
  tag: MEDIAOBJECT_TAG,
944
720
  requiredAttributes: [...ID_ATTRS],
945
721
  optionalAttributes: [...TRACK_CHANGES_ATTRS],
@@ -949,7 +725,7 @@ var MEDIAOBJECT_SCHEMA = createSchema({
949
725
  // src/schema/elementSchemas/elements/figure/caption1.ts
950
726
  var CAPTION_SCHEMA = createSchema({
951
727
  code: "caption1",
952
- kind: "group",
728
+ kind: "element",
953
729
  tag: CAPTION_TAG,
954
730
  requiredAttributes: [...ID_ATTRS],
955
731
  optionalAttributes: [],
@@ -985,7 +761,7 @@ var FIGNOTE_SCHEMA = createSchema({
985
761
  // src/schema/elementSchemas/elements/figure/figure.ts
986
762
  var FIGURE_SCHEMA = createSchema({
987
763
  code: "figure1",
988
- kind: "group",
764
+ kind: "element",
989
765
  tag: FIGURE_TAG,
990
766
  requiredAttributes: [...ID_ATTRS, "xmlid"],
991
767
  optionalAttributes: [
@@ -1051,7 +827,7 @@ var INFORMALFIGURE_SCHEMA = createSchema({
1051
827
  // src/schema/elementSchemas/elements/keywords/keywordset.ts
1052
828
  var KEYWORDSET_SCHEMA = createSchema({
1053
829
  code: "keywordset",
1054
- kind: "group",
830
+ kind: "element",
1055
831
  tag: KEYWORDSET_TAG,
1056
832
  requiredAttributes: [
1057
833
  ...ID_ATTRS,
@@ -1089,63 +865,6 @@ var PUNC_SCHEMA = createSchema({
1089
865
  allowedChildTagNames: [...ATOM_TAGS_ALLOWED_CHILDREN]
1090
866
  });
1091
867
 
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
868
  // src/schema/elementSchemas/elements/label.ts
1150
869
  var LABEL_SCHEMA = createSchema({
1151
870
  code: "label1",
@@ -1211,7 +930,7 @@ var LI_SCHEMA = createSchema({
1211
930
  // src/schema/elementSchemas/elements/list/ol.ts
1212
931
  var OL_SCHEMA = createSchema({
1213
932
  code: "ol",
1214
- kind: "group",
933
+ kind: "element",
1215
934
  tag: OL_TAG,
1216
935
  requiredAttributes: [...ID_ATTRS],
1217
936
  optionalAttributes: [
@@ -1248,7 +967,7 @@ var OL_SCHEMA = createSchema({
1248
967
  // src/schema/elementSchemas/elements/list/ul.ts
1249
968
  var UL_SCHEMA = createSchema({
1250
969
  code: "ul",
1251
- kind: "group",
970
+ kind: "element",
1252
971
  tag: UL_TAG,
1253
972
  requiredAttributes: [...ID_ATTRS],
1254
973
  optionalAttributes: [
@@ -1391,7 +1110,7 @@ var TP_SCHEMA = createSchema({
1391
1110
  // src/schema/elementSchemas/elements/table/td.ts
1392
1111
  var TD_SCHEMA = createSchema({
1393
1112
  code: "td",
1394
- kind: "group",
1113
+ kind: "element",
1395
1114
  tag: TD_TAG,
1396
1115
  requiredAttributes: [...ID_ATTRS],
1397
1116
  optionalAttributes: [...TRACK_CHANGES_ATTRS, "data-cell-width"],
@@ -1405,7 +1124,7 @@ var TD_SCHEMA = createSchema({
1405
1124
  // src/schema/elementSchemas/elements/table/tr.ts
1406
1125
  var TR_SCHEMA = createSchema({
1407
1126
  code: "tr",
1408
- kind: "group",
1127
+ kind: "element",
1409
1128
  tag: TR_TAG,
1410
1129
  requiredAttributes: [],
1411
1130
  optionalAttributes: [...LAYOUT_ATTRIBUTES, ...ID_ATTRS, "width"],
@@ -1425,7 +1144,7 @@ var THEAD_SCHEMA = createSchema({
1425
1144
  // src/schema/elementSchemas/elements/table/tbody.ts
1426
1145
  var TBODY_SCHEMA = createSchema({
1427
1146
  code: "tbody",
1428
- kind: "group",
1147
+ kind: "element",
1429
1148
  tag: TBODY_TAG,
1430
1149
  requiredAttributes: [],
1431
1150
  optionalAttributes: [...ID_ATTRS],
@@ -1435,7 +1154,7 @@ var TBODY_SCHEMA = createSchema({
1435
1154
  // src/schema/elementSchemas/elements/table/htmlTable.ts
1436
1155
  var HTML_TABLE_SCHEMA = createSchema({
1437
1156
  code: "table",
1438
- kind: "group",
1157
+ kind: "element",
1439
1158
  tag: HTML_TABLE_TAG,
1440
1159
  requiredAttributes: [],
1441
1160
  optionalAttributes: [...ID_ATTRS],
@@ -1448,7 +1167,7 @@ var HTML_TABLE_SCHEMA = createSchema({
1448
1167
  // src/schema/elementSchemas/elements/table/tgroup.ts
1449
1168
  var TGROUP_SCHEMA = createSchema({
1450
1169
  code: "tgroup",
1451
- kind: "group",
1170
+ kind: "element",
1452
1171
  tag: TGROUP_TAG,
1453
1172
  requiredAttributes: [...ID_ATTRS, "cols"],
1454
1173
  optionalAttributes: [],
@@ -1481,7 +1200,7 @@ var TBLSOURCE_SCHEMA = createSchema({
1481
1200
  // src/schema/elementSchemas/elements/table/table1.ts
1482
1201
  var TABLE_SCHEMA = createSchema({
1483
1202
  code: "table1",
1484
- kind: "group",
1203
+ kind: "element",
1485
1204
  tag: TABLE_TAG,
1486
1205
  requiredAttributes: [...ID_ATTRS, "xmlid", "role"],
1487
1206
  optionalAttributes: [
@@ -1525,62 +1244,10 @@ var TITLE_SCHEMA = createSchema({
1525
1244
  allowedChildTagNames: [...ATOM_TAGS_ALLOWED_CHILDREN]
1526
1245
  });
1527
1246
 
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
1247
+ // src/schema/elementSchemas/elements/abstract.ts
1581
1248
  var ABSTRACT_SCHEMA = createSchema({
1582
1249
  code: "abstract1",
1583
- kind: "group",
1250
+ kind: "element",
1584
1251
  tag: ABSTRACT_TAG,
1585
1252
  requiredAttributes: [
1586
1253
  ...ID_ATTRS,
@@ -1598,6 +1265,7 @@ var ABSTRACT_SCHEMA = createSchema({
1598
1265
  defaultValue: "blurb"
1599
1266
  }
1600
1267
  ],
1268
+ defaultChildTagName: PARA_TAG,
1601
1269
  allowedChildTagNames: [
1602
1270
  { tagName: PARA_TAG, required: false },
1603
1271
  { tagName: TITLE_TAG, required: false },
@@ -1606,13 +1274,14 @@ var ABSTRACT_SCHEMA = createSchema({
1606
1274
  ]
1607
1275
  });
1608
1276
 
1609
- // src/schema/elementSchemas/groupElements/appendix.ts
1277
+ // src/schema/elementSchemas/elements/appendix.ts
1610
1278
  var APPENDIX_SCHEMA = createSchema({
1611
1279
  code: "appendix",
1612
- kind: "group",
1280
+ kind: "element",
1613
1281
  tag: APPENDIX_TAG,
1614
1282
  requiredAttributes: [...ID_ATTRS, "id", "xmlid"],
1615
1283
  optionalAttributes: [...TRACK_CHANGES_ATTRS],
1284
+ defaultChildTagName: PARA_TAG,
1616
1285
  allowedChildTagNames: [
1617
1286
  { tagName: PARA_TAG, required: false },
1618
1287
  { tagName: TITLE_TAG, required: false },
@@ -1620,10 +1289,10 @@ var APPENDIX_SCHEMA = createSchema({
1620
1289
  ]
1621
1290
  });
1622
1291
 
1623
- // src/schema/elementSchemas/groupElements/blockquote.ts
1292
+ // src/schema/elementSchemas/elements/blockquote.ts
1624
1293
  var BLOCKQUOTE_SCHEMA = createSchema({
1625
1294
  code: "blockquote",
1626
- kind: "group",
1295
+ kind: "element",
1627
1296
  tag: BLOCKQUOTE_TAG,
1628
1297
  requiredAttributes: [...ID_ATTRS],
1629
1298
  optionalAttributes: [
@@ -1637,6 +1306,7 @@ var BLOCKQUOTE_SCHEMA = createSchema({
1637
1306
  defaultValue: "add-element"
1638
1307
  }
1639
1308
  ],
1309
+ defaultChildTagName: PARA_TAG,
1640
1310
  allowedChildTagNames: [
1641
1311
  { tagName: PARA_TAG, required: false },
1642
1312
  { tagName: UL_TAG, required: false },
@@ -1646,10 +1316,10 @@ var BLOCKQUOTE_SCHEMA = createSchema({
1646
1316
  ]
1647
1317
  });
1648
1318
 
1649
- // src/schema/elementSchemas/groupElements/box.ts
1319
+ // src/schema/elementSchemas/elements/box.ts
1650
1320
  var BOX_SCHEMA = createSchema({
1651
1321
  code: "sidebar",
1652
- kind: "group",
1322
+ kind: "element",
1653
1323
  tag: SIDEBAR_TAG,
1654
1324
  requiredAttributes: [
1655
1325
  ...ID_ATTRS,
@@ -1668,16 +1338,17 @@ var BOX_SCHEMA = createSchema({
1668
1338
  defaultValue: "add-element"
1669
1339
  }
1670
1340
  ],
1341
+ defaultChildTagName: PARA_TAG,
1671
1342
  allowedChildTagNames: [
1672
1343
  { tagName: PARA_TAG, required: false },
1673
1344
  { tagName: TITLE_TAG, required: false }
1674
1345
  ]
1675
1346
  });
1676
1347
 
1677
- // src/schema/elementSchemas/groupElements/chapter.ts
1348
+ // src/schema/elementSchemas/elements/chapter.ts
1678
1349
  var CHAPTER_SCHEMA = createSchema({
1679
1350
  code: "chapter",
1680
- kind: "group",
1351
+ kind: "element",
1681
1352
  tag: CHAPTER_TAG,
1682
1353
  requiredAttributes: [...ID_ATTRS, "xmlid"],
1683
1354
  optionalAttributes: [
@@ -1687,6 +1358,7 @@ var CHAPTER_SCHEMA = createSchema({
1687
1358
  "data-paragraph-numbering-elements",
1688
1359
  "data-paragraph-numbering-chapters"
1689
1360
  ],
1361
+ defaultChildTagName: PARA_TAG,
1690
1362
  allowedChildTagNames: [
1691
1363
  { tagName: LRH_TAG, required: false },
1692
1364
  { tagName: RRH_TAG, required: false },
@@ -1708,10 +1380,10 @@ var CHAPTER_SCHEMA = createSchema({
1708
1380
  ]
1709
1381
  });
1710
1382
 
1711
- // src/schema/elementSchemas/groupElements/epigraph.ts
1383
+ // src/schema/elementSchemas/elements/epigraph.ts
1712
1384
  var EPIGRAPH_SCHEMA = createSchema({
1713
1385
  code: "epigraph",
1714
- kind: "group",
1386
+ kind: "element",
1715
1387
  tag: EPIGRAPH_TAG,
1716
1388
  requiredAttributes: [...ID_ATTRS],
1717
1389
  optionalAttributes: [
@@ -1723,13 +1395,14 @@ var EPIGRAPH_SCHEMA = createSchema({
1723
1395
  defaultValue: "add-element"
1724
1396
  }
1725
1397
  ],
1398
+ defaultChildTagName: PARA_TAG,
1726
1399
  allowedChildTagNames: [{ tagName: PARA_TAG, required: false }]
1727
1400
  });
1728
1401
 
1729
- // src/schema/elementSchemas/groupElements/footnoteSection.ts
1402
+ // src/schema/elementSchemas/elements/footnoteSection.ts
1730
1403
  var FOOTNOTE_SECTION_SCHEMA = createSchema({
1731
1404
  code: "footnoteSection",
1732
- kind: "group",
1405
+ kind: "element",
1733
1406
  tag: SECTION_TAG,
1734
1407
  requiredAttributes: [
1735
1408
  ...ID_ATTRS,
@@ -1740,16 +1413,17 @@ var FOOTNOTE_SECTION_SCHEMA = createSchema({
1740
1413
  }
1741
1414
  ],
1742
1415
  optionalAttributes: [...TRACK_CHANGES_ATTRS],
1416
+ defaultChildTagName: PARA_TAG,
1743
1417
  allowedChildTagNames: [
1744
1418
  { tagName: FOOTNOTE_TAG, required: true },
1745
1419
  { tagName: TITLE_TAG, required: true }
1746
1420
  ]
1747
1421
  });
1748
1422
 
1749
- // src/schema/elementSchemas/groupElements/heading.ts
1423
+ // src/schema/elementSchemas/elements/heading.ts
1750
1424
  var HEADING_SCHEMA = createSchema({
1751
1425
  code: "heading",
1752
- kind: "group",
1426
+ kind: "element",
1753
1427
  tag: SECTION_TAG,
1754
1428
  requiredAttributes: [
1755
1429
  ...ID_ATTRS,
@@ -1761,6 +1435,7 @@ var HEADING_SCHEMA = createSchema({
1761
1435
  }
1762
1436
  ],
1763
1437
  optionalAttributes: [...TRACK_CHANGES_ATTRS],
1438
+ defaultChildTagName: PARA_TAG,
1764
1439
  allowedChildTagNames: [
1765
1440
  { tagName: TITLE_TAG, required: false },
1766
1441
  { tagName: LABEL_TAG, required: false },
@@ -1781,64 +1456,168 @@ var HEADING_SCHEMA = createSchema({
1781
1456
  ]
1782
1457
  });
1783
1458
 
1784
- // src/schema/elementSchemas/groupElements/info.ts
1459
+ // src/schema/elementSchemas/elements/info.ts
1785
1460
  var INFO_SCHEMA = createSchema({
1786
1461
  code: "info1",
1787
- kind: "group",
1462
+ kind: "element",
1788
1463
  tag: INFO_TAG,
1789
1464
  requiredAttributes: [...ID_ATTRS],
1790
1465
  optionalAttributes: [],
1466
+ defaultChildTagName: SUBTITLE_TAG,
1791
1467
  allowedChildTagNames: [
1792
- { tagName: AUTHORGROUP_TAG, required: false },
1793
1468
  { tagName: LABEL_TAG, required: true },
1794
1469
  { tagName: TITLE_TAG, required: true },
1795
1470
  { tagName: SUBTITLE_TAG, required: false },
1796
1471
  { tagName: ABSTRACT_TAG, required: false },
1797
- { tagName: KEYWORDSET_TAG, required: false }
1472
+ { tagName: KEYWORDSET_TAG, required: false },
1473
+ { tagName: AUTHORGROUP_TAG, required: false }
1798
1474
  ]
1799
1475
  });
1800
1476
 
1801
- // src/schema/elementSchemas/groupElements/poem.ts
1477
+ // src/schema/elementSchemas/elements/poem.ts
1802
1478
  var POEM_SCHEMA = createSchema({
1803
1479
  code: "poem",
1804
- kind: "group",
1480
+ kind: "element",
1805
1481
  tag: POEM_TAG,
1806
1482
  requiredAttributes: [...ID_ATTRS],
1807
1483
  optionalAttributes: [...TRACK_CHANGES_ATTRS, "role"],
1484
+ defaultChildTagName: LINE_TAG,
1808
1485
  allowedChildTagNames: [
1809
1486
  { tagName: LINE_TAG, required: false },
1810
1487
  { tagName: SOURCE_TAG, required: false }
1811
1488
  ]
1812
1489
  });
1813
1490
 
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
- ];
1491
+ // src/schema/elementSchemas/elements/index.ts
1492
+ var ELEMENT_SCHEMAS = {
1493
+ para: PARA_SCHEMA,
1494
+ title1: TITLE_SCHEMA,
1495
+ footnote: FOOTNOTE_SCHEMA,
1496
+ footnoteno: FOOTNOTE_NUMBER_SCHEMA,
1497
+ olink: OLINK_SCHEMA,
1498
+ firstname: FIRSTNAME_SCHEMA,
1499
+ surname: SURNAME_SCHEMA,
1500
+ honorific: HONORIFIC_SCHEMA,
1501
+ orgname: ORGNAME_SCHEMA,
1502
+ email: EMAIL_SCHEMA,
1503
+ org: ORG_SCHEMA,
1504
+ degrees: DEGREES_SCHEMA,
1505
+ dialogue: DIALOGUE_SCHEMA,
1506
+ line: LINE_SCHEMA,
1507
+ speaker: SPEAKER_SCHEMA,
1508
+ equation: EQUATION_SCHEMA,
1509
+ img: IMG_SCHEMA,
1510
+ alttext: ALTTEXT_SCHEMA,
1511
+ imageobject: IMAGEOBJECT_SCHEMA,
1512
+ mediaobject: MEDIAOBJECT_SCHEMA,
1513
+ caption1: CAPTION_SCHEMA,
1514
+ figsource: FIGSOURCE_SCHEMA,
1515
+ fignote: FIGNOTE_SCHEMA,
1516
+ figure1: FIGURE_SCHEMA,
1517
+ informalfigure: INFORMALFIGURE_SCHEMA,
1518
+ keywordset: KEYWORDSET_SCHEMA,
1519
+ keyword: KEYWORD_SCHEMA,
1520
+ punc: PUNC_SCHEMA,
1521
+ label1: LABEL_SCHEMA,
1522
+ li: LI_SCHEMA,
1523
+ ol: OL_SCHEMA,
1524
+ ul: UL_SCHEMA,
1525
+ token: TOKEN_SCHEMA,
1526
+ tag: TAG_SCHEMA,
1527
+ lrh: LRH_SCHEMA,
1528
+ rrh: RRH_SCHEMA,
1529
+ source1: SOURCE_SCHEMA,
1530
+ subtitle1: SUBTITLE_SCHEMA,
1531
+ table1: TABLE_SCHEMA,
1532
+ tgroup: TGROUP_SCHEMA,
1533
+ table: HTML_TABLE_SCHEMA,
1534
+ thead: THEAD_SCHEMA,
1535
+ tbody: TBODY_SCHEMA,
1536
+ tr: TR_SCHEMA,
1537
+ td: TD_SCHEMA,
1538
+ tp: TP_SCHEMA,
1539
+ tblfn: TBLFN_SCHEMA,
1540
+ tblsource: TBLSOURCE_SCHEMA,
1541
+ heading: HEADING_SCHEMA,
1542
+ footnoteSection: FOOTNOTE_SECTION_SCHEMA,
1543
+ chapter: CHAPTER_SCHEMA,
1544
+ info1: INFO_SCHEMA,
1545
+ abstract1: ABSTRACT_SCHEMA,
1546
+ epigraph: EPIGRAPH_SCHEMA,
1547
+ poem: POEM_SCHEMA,
1548
+ blockquote: BLOCKQUOTE_SCHEMA,
1549
+ sidebar: BOX_SCHEMA,
1550
+ appendix: APPENDIX_SCHEMA,
1551
+ authorgroup: AUTHORGROUP_SCHEMA,
1552
+ author: AUTHOR_SCHEMA,
1553
+ personname: PERSONNAME_SCHEMA,
1554
+ affiliation: AFFILIATION_SCHEMA
1555
+ };
1556
+
1557
+ // src/schema/elementSchemas/inlineElements/footnoteLink.ts
1558
+ var FOOTNOTE_LINK_SCHEMA = createSchema({
1559
+ code: "footnote1",
1560
+ kind: "inline",
1561
+ tag: FOOTNOTE_LINK_TAG,
1562
+ requiredAttributes: [...ID_ATTRS],
1563
+ optionalAttributes: ["linkend"],
1564
+ defaultChildTagName: SUP_TAG,
1565
+ allowedChildTagNames: [{ tagName: SUP_TAG, required: true }]
1566
+ });
1567
+
1568
+ // src/schema/elementSchemas/inlineElements/inlineequation.ts
1569
+ var INLINEEQUATION_SCHEMA = createSchema({
1570
+ code: "inlineequation",
1571
+ kind: "inline",
1572
+ tag: INLINEEQUATION_TAG,
1573
+ requiredAttributes: [...ID_ATTRS],
1574
+ optionalAttributes: ["linkend"],
1575
+ allowedChildTagNames: []
1576
+ });
1577
+
1578
+ // src/schema/elementSchemas/inlineElements/link.ts
1579
+ var LINK_SCHEMA = createSchema({
1580
+ code: "link",
1581
+ kind: "inline",
1582
+ tag: LINK_TAG,
1583
+ requiredAttributes: [
1584
+ ...ID_ATTRS,
1585
+ "linkend",
1586
+ "data-target-id",
1587
+ {
1588
+ name: "role",
1589
+ values: ["table", "figure", "equation", "footnote", "bibr"],
1590
+ defaultValue: ""
1591
+ }
1592
+ ],
1593
+ optionalAttributes: [],
1594
+ allowedChildTagNames: [...ATOM_TAGS_ALLOWED_CHILDREN]
1595
+ });
1596
+
1597
+ // src/schema/elementSchemas/inlineElements/uri.ts
1598
+ var URI_SCHEMA = createSchema({
1599
+ code: "uri",
1600
+ kind: "inline",
1601
+ tag: URI_TAG,
1602
+ requiredAttributes: [...ID_ATTRS],
1603
+ optionalAttributes: ["linkend"],
1604
+ allowedChildTagNames: [...ATOM_TAGS_ALLOWED_CHILDREN]
1605
+ });
1606
+
1607
+ // src/schema/elementSchemas/inlineElements/index.ts
1608
+ var INLINE_ELEMENT_SCHEMAS = {
1609
+ uri: URI_SCHEMA,
1610
+ footnote1: FOOTNOTE_LINK_SCHEMA,
1611
+ link: LINK_SCHEMA,
1612
+ inlineequation: INLINEEQUATION_SCHEMA
1613
+ };
1831
1614
 
1832
1615
  // src/schema/schemas.ts
1833
- var SCHEMAS = [
1616
+ var SCHEMAS = {
1834
1617
  ...ATOM_SCHEMAS,
1835
1618
  ...ELEMENT_SCHEMAS,
1836
- ...GROUP_ELEMENT_SCHEMAS,
1837
1619
  ...INLINE_ELEMENT_SCHEMAS
1838
- ];
1839
- var SCHEMA_MAP = new Map(
1840
- SCHEMAS.map((schema) => [schema.code, schema])
1841
- );
1620
+ };
1842
1621
 
1843
1622
  // src/schema/shared/ignoredElements.ts
1844
1623
  var IGNORED_ELEMENT_SELECTORS = [
@@ -1865,14 +1644,14 @@ var IGNORED_ATTRIBUTES = [
1865
1644
  "dir",
1866
1645
  "hidden"
1867
1646
  ];
1868
- var IGNORED_ATTRIBUTES_STARTS_WITH = ["er-"];
1647
+ var IGNORED_ATTRIBUTES_STARTS_WITH = ["er-", "er_"];
1869
1648
 
1870
1649
  // src/schema/utils/utils.ts
1871
1650
  var isIgnoredAttribute = (attribute) => IGNORED_ATTRIBUTES.includes(attribute) || IGNORED_ATTRIBUTES_STARTS_WITH.some(
1872
1651
  (startsWith) => attribute.startsWith(startsWith)
1873
1652
  );
1874
1653
  var isIgnoredElement = (element) => IGNORED_ELEMENT_SELECTORS.some((selector) => element.matches(selector));
1875
- var findSchemaByCode = (code) => SCHEMA_MAP.get(code);
1654
+ var findSchemaByCode = (code) => SCHEMAS[code];
1876
1655
  var findSchemaByElement = (element) => {
1877
1656
  const isInsertion = element.classList.contains("ins");
1878
1657
  const isDeletion = element.classList.contains("del");
@@ -1895,7 +1674,7 @@ var findSchemaByElement = (element) => {
1895
1674
  return findSchemaByCode("footnoteSection");
1896
1675
  }
1897
1676
  }
1898
- const candidates = [...SCHEMA_MAP.values()].filter(
1677
+ const candidates = Object.values(SCHEMAS).filter(
1899
1678
  (schema) => schema.tag === element.tagName.toUpperCase()
1900
1679
  );
1901
1680
  if (candidates.length > 0) {
@@ -1916,9 +1695,13 @@ var findAttributeDefinitionByName = (definitions, name) => {
1916
1695
 
1917
1696
  // src/schema/utils/createElement.ts
1918
1697
  var createElement = ({
1919
- schema,
1698
+ schemaCode,
1920
1699
  attributes
1921
1700
  }) => {
1701
+ const schema = findSchemaByCode(schemaCode);
1702
+ if (!schema) {
1703
+ throw new Error(`Schema not found for code: ${schemaCode}`);
1704
+ }
1922
1705
  const element = document.createElement(schema.tag.toLowerCase());
1923
1706
  for (const [name, value] of Object.entries(attributes)) {
1924
1707
  if (value === void 0) {
@@ -1945,6 +1728,8 @@ var createValidationIssue = (issue) => ({
1945
1728
  var addValidationIssue = (errors, issue) => {
1946
1729
  errors.push(createValidationIssue(issue));
1947
1730
  };
1731
+
1732
+ // src/validation/utils/getStore.ts
1948
1733
  var getStore = (element) => {
1949
1734
  return element.getAttribute("store") || "";
1950
1735
  };
@@ -2053,21 +1838,12 @@ var validateConsecutiveFootnoteCues = (root) => {
2053
1838
  }
2054
1839
  return [];
2055
1840
  };
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
1841
 
2066
1842
  // src/validation/validateLinkend.ts
2067
1843
  var findElementLinkedTo = (linkend, elementsLinkedTo) => {
2068
1844
  return elementsLinkedTo.includes(linkend);
2069
1845
  };
2070
- var validateLinkend = (linkElement, elementsLinkedTo = []) => {
1846
+ var validateLinkend = (linkElement, elementsLinkedTo) => {
2071
1847
  const linkend = linkElement.getAttribute("linkend");
2072
1848
  if (!linkend) {
2073
1849
  return [];
@@ -2261,7 +2037,7 @@ var validateChildren = (element, schema) => {
2261
2037
  return errors;
2262
2038
  };
2263
2039
 
2264
- // src/validation/validateXml.ts
2040
+ // src/validation/utils/getLinkableRoles.ts
2265
2041
  var getLinkableRoles = () => {
2266
2042
  const linkRoleDefinition = findAttributeDefinitionByName(
2267
2043
  LINK_SCHEMA.requiredAttributes,
@@ -2275,14 +2051,18 @@ var getLinkableRoles = () => {
2275
2051
  }
2276
2052
  return [];
2277
2053
  };
2278
- var validateElement = (element, root, elementsLinkedTo) => {
2054
+
2055
+ // src/validation/validateXml.ts
2056
+ var validateElement = (element, root, elementsLinkedTo, shouldValidateAgainstSchema = false) => {
2279
2057
  if (isIgnoredElement(element)) {
2280
2058
  return [];
2281
2059
  }
2282
2060
  const errors = [];
2283
2061
  const schema = findSchemaByElement(element);
2284
2062
  if (schema) {
2285
- errors.push(...validateElementAgainstSchema(element, schema));
2063
+ if (shouldValidateAgainstSchema) {
2064
+ errors.push(...validateElementAgainstSchema(element, schema));
2065
+ }
2286
2066
  const role = element.getAttribute("role") || "";
2287
2067
  const linkableRoles = getLinkableRoles();
2288
2068
  if (schema.tag === LINK_SCHEMA.tag && linkableRoles.includes(role) || schema.tag === FOOTNOTE_LINK_SCHEMA.tag) {
@@ -2297,199 +2077,53 @@ var validateElement = (element, root, elementsLinkedTo) => {
2297
2077
  }
2298
2078
  return errors;
2299
2079
  };
2300
- var validateXml = (xml, elementsLinkedTo) => {
2080
+ var validateXml = (xml, elementsLinkedTo, shouldValidateAgainstSchema) => {
2301
2081
  const errors = [];
2302
2082
  errors.push(...validateConsecutiveFootnotes(xml));
2303
2083
  errors.push(...validateConsecutiveFootnoteCues(xml));
2304
2084
  for (const child of Array.from(xml.children)) {
2305
- errors.push(...validateElement(child, xml, elementsLinkedTo));
2085
+ errors.push(
2086
+ ...validateElement(
2087
+ child,
2088
+ xml,
2089
+ elementsLinkedTo,
2090
+ shouldValidateAgainstSchema
2091
+ )
2092
+ );
2306
2093
  }
2307
2094
  return errors;
2308
2095
  };
2309
2096
  // Annotate the CommonJS export names for ESM import in node:
2310
2097
  0 && (module.exports = {
2311
- ABSTRACT_SCHEMA,
2312
- ABSTRACT_TAG,
2313
- AFFILIATION_SCHEMA,
2314
- AFFILIATION_TAG,
2315
2098
  ALIGNMENT_ATTRIBUTE,
2316
- ALTTEXT_SCHEMA,
2317
- ALTTEXT_TAG,
2318
- APPENDIX_SCHEMA,
2319
- APPENDIX_TAG,
2320
2099
  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
2100
  ELEMENT_SCHEMAS,
2342
- ELEMENT_TAGS,
2343
2101
  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
2102
  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
2103
  ID_ATTRS,
2376
2104
  IGNORED_ATTRIBUTES,
2377
2105
  IGNORED_ATTRIBUTES_STARTS_WITH,
2378
2106
  IGNORED_ELEMENT_SELECTORS,
2379
- IMAGEOBJECT_SCHEMA,
2380
- IMAGEOBJECT_TAG,
2381
- IMG_SCHEMA,
2382
- IMG_TAG,
2383
2107
  INDENT_TYPE_ATTRIBUTE,
2384
- INFORMALFIGURE_SCHEMA,
2385
- INFORMALFIGURE_TAG,
2386
- INFO_SCHEMA,
2387
- INFO_TAG,
2388
- INLINEEQUATION_SCHEMA,
2389
- INLINEEQUATION_TAG,
2390
2108
  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
2109
  LAYOUT_ATTRIBUTES,
2401
2110
  LAYOUT_CELL_WIDTH,
2402
2111
  LAYOUT_USER_ATTRIBUTE,
2403
2112
  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
2113
  ORIENTATION_ATTRIBUTE,
2423
- PARA_SCHEMA,
2424
- PARA_TAG,
2425
- PERSONNAME_SCHEMA,
2426
- PERSONNAME_TAG,
2427
2114
  PLACEMENT_ATTRIBUTE,
2428
- POEM_SCHEMA,
2429
- POEM_TAG,
2430
- POSTNOMINALS_TAG,
2431
- PUNC_SCHEMA,
2432
- PUNC_TAG,
2433
- QUERY_SCHEMA,
2434
- REPLY_SCHEMA,
2435
2115
  RIGHT_INDENT_ATTRIBUTE,
2436
- RRH_SCHEMA,
2437
- RRH_TAG,
2438
2116
  SCHEMAS,
2439
- SCHEMA_MAP,
2440
- SC_SCHEMA,
2441
- SECTION_TAG,
2442
- SIDEBAR_TAG,
2443
- SOURCE_SCHEMA,
2444
- SOURCE_TAG,
2445
2117
  SPACE_ABOVE_ATTRIBUTE,
2446
2118
  SPACE_BELOW_ATTRIBUTE,
2447
- SPEAKER_SCHEMA,
2448
- SPEAKER_TAG,
2449
2119
  SPECIAL_INDENT_ATTRIBUTE,
2450
2120
  STORE_ATTRIBUTE,
2451
- STRIKE_SCHEMA,
2452
2121
  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
2122
  TRACK_CHANGES_ATTRS,
2482
2123
  TRACK_CHANGES_ATTR_DATA_DATE,
2483
2124
  TRACK_CHANGES_ATTR_DATA_TIME,
2484
2125
  TRACK_CHANGES_ATTR_DATA_USERID,
2485
2126
  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
2127
  createElement,
2494
2128
  findAttributeDefinitionByName,
2495
2129
  findSchemaByCode,
@@ -2498,13 +2132,5 @@ var validateXml = (xml, elementsLinkedTo) => {
2498
2132
  isAttributeRestricted,
2499
2133
  isIgnoredAttribute,
2500
2134
  isIgnoredElement,
2501
- validateAttributes,
2502
- validateConsecutiveFootnoteCues,
2503
- validateConsecutiveFootnotes,
2504
- validateElement,
2505
- validateElementAgainstSchema,
2506
- validateFootnoteCue,
2507
- validateFootnotes,
2508
- validateLinkend,
2509
2135
  validateXml
2510
2136
  });